Hamlとは,簡単に正しい(X)HTMLを記述するためのマークアップ言語. インデントとCSSセレクタを用いた記述を行うことによって,少ない行数で正しい(X)HTMLを記述することができる. また,Ruby on RailsにおけるView Templateとしての利用を主眼にしており,以下のような主義をうたっている.
*1:Don't repeat yourself
こんにちは。サーバーサイドエンジニアの三村(@t_mimura)です。 主に保険薬局と患者さまを繋ぐ「かかりつけ薬局」化支援アプリ kakariのサーバーサイド開発(Ruby on Rails)を担当しています。 今回はRailsシステムのCI時間をコスト追加なしで半減した話をします。 目次 前提 対象プロジェクト CIの状況 改善結果 改善内容 前提知識: CIのキャッシュ機能 webpack buildのキャッシュを活用 RuboCopのキャッシュを活用 ESLintのキャッシュを活用 Jestのキャッシュを活用 RSpec Jobをテスト特性ごとに分割 CircleCIのリソースクラスと…
rails new して色々試すときにあれ?いつも何やるっけってことをなくすために、rails newのときによくすることを備忘録として残しました。 rails new データベース: postgresql JavaScriptライブラリー: esbuild CSSプロセッサ: bootstrap rails new sandbox -d postgresql -j esbuild --css bootstrap --skip-test I18n class Application < Rails::Application ... # デフォルトタイムゾーンを日本時間に config.time…
テックエキスパートにて ・Ruby ・RubyonRails ・HTML(haml) ・CSS(SCSS) ・JavaScript ・SQL ・AWS のことを学び実際にアプリ開発をチームでアジャイル開発という手法で行ったのが3年前。 今回、職業訓練で学習中なのが ・Java(現在進行形で基礎の練習問題を解く) ・Python(基礎学習部分は一旦終わっています) ・VBA(基礎を勉強中) ・AndroidStudio(現状:環境を整えたところです。) ※基礎(基本文法と関数や配列など) です。 個人学習として、 ・Scratchプログラミング で実際に、教科書の内容ではあるが、実際に入力し、動…
Rockon Social Clubさん「/ 7/14(金)19時〜 文化放送「WILD KNIGHTS」が限定復活! \ #成田昭次 #高橋和也 #岡本健一 #寺岡呼人 出演! ▼詳細 https://t.co/Mhtna559NI 番組名:文化放送「WILD KNIGHT 成田です」 番組メール:special@joqr.net 推奨ハッシュタグ:#ワイルドナイト #男闘呼組 #RockonSocialClub」https://twitter.com/rockonsocialclu/status/1671032523357585408 DEZERT SORA(4444)さん「Focus o…
はじめまして。今月から株式会社ヘンリーのフロントエンドエンジニアをしている kobayang です。この記事では Storybook を React や Vue などの UI ライブラリを使っていないプロジェクトでも活用できるかも、という話をしていこうと思います。 Storybook storybook.js.org もはや説明不要な気がしますが、Storybook は UI を実装する上で便利な、UI プレビューのためのライブラリです。また、プレビューだけでなく、Jest から Story を呼び出すことで簡単にテストが書けたり、Chromatic と連携することで、VRT ができるようにな…
この記事では、Prettier for Rubyを使って、Railsのコードを自動フォーマットする方法を紹介します。 VSCodeでファイルを保存する際に自動フォーマットできるようになります。 1. 検証環境 2. 設定手順 2-1. @prettier/plugin-rubyのインストール 2-2. gemのインストール 2-3. prettier-vscodeのインストール 2-4. rubocopと一緒に使う場合 3. フォーマット結果 1. 検証環境 Ruby:3.1.0 Rails:6.1.4.7 node:16.13.0 yarn:1.22.19 bundler:2.3.6 VSC…
こんにちは。DIGGLEエンジニアリングマネージャーのzakkyです。発売以来スプラトゥーン3のフェスに全敗しているので「zakkyと逆張りすれば勝てる説」が立証されつつあります。 はじめに 早速本題です。 弊社では、今年RubyKaigi 2023のPlatinum Sponsorsに初めて応募しまして、そして無事に当選することができました。 弊社以外のRubyKaigi 2023スポンサーには、本当に有名な企業が並んでおりまして、そんな有名企業に挟まれる初参加企業ということで、「何かかまさなきゃ! 何か目をひくものを作らなくちゃ!」という事で、弾幕シューティングゲームを作りましたのでご紹介…
progate Ruby on Rails 2講座目 Progateの、Ruby on Rails 2講座目をやったメモ 気になったことをメモしたのでprogateと関係ないこともある chatGPTさんと学習中 progate Ruby on Rails 2講座目 余談 RailsとDjangoのそれぞれ適した業界 railsで投稿ページを作る場合は、postsコントローラーを使う? postsの一覧ページはindexというアクション名が一般的? rails generate controller posts index で生成される主なファイル railsでwordpressみたいにレイア…
ざっとlint系を揃えたので、pre-commit のタイミングでlintをかけるようにしてみます。 ・standardとsnazzyでjsのlint結果をeslint風にする ・stylelintでscssのlintを行う ・haml-lintでrubocopのlintをviewに対しても実行する どのライブラリを使うか 選択肢は以下のようなものがあります(他にもあるかもですが)。 ・lefthook (Github Star: 2.8k) ・Husky (Github Star: 29.9k) ・pre-commit (Github Star: 10.1k) lefthookはgo製で高速…
なんかlint色々整理したくなってきたので、続いてはhamlです。 sds/haml-lint を入れればokです。 おすすめポイントは、rubocopも見てくれます(もちろんindentなどviewに適用できないやつ以外)。 個人的には 昔記事に書いたslim-lint同様、お仕事でも使いたいやつです。 Installtaion # Gemfile gem 'haml_lint', require: false bundle install すれば良いです。 実行 ディレクトリの指定なしでも動作しますが、対象は絞っておくと良いでしょう。 あとは、必要に応じて、.haml-lint.yml を…
ランキング参加中アプリ開発者 こんにちはウーオでエンジニア兼PdMをしている三京(t3qyo)です。 UUUOではモバイルアプリの開発言語にFlutterを採用しています。 最近そのモバイルアプリを既存のリソースを活かしながら同じリポジトリを使って(モノレポで)Webにデプロイしたので、デプロイの際の注意点や運用の感想を書きます。 デプロイしたのは以下の出品者用の管理画面です。 デプロイしたWebページ
はてなフォトっぽいやつを実装してみます。 やり方 view formのinput file は非表示にしておきます(d-noneスタイル)。 Stimulusのcontrollerは file-drop-controller というものを用意し、ドラッグ&ドロップの操作はここで行うようにします。 click時の操作は元々用意していた preview-controller にて実施します。 # haml .uploading-image.pt-3 = form_with url: user_images_path(@user), local: true, data: { controller: …
ググってもあんまり出てこなかったのでメモを残しておきます。 JSは Cropper.js を利用しています。ライセンスはMITです。 こんな感じ やり方 cropper.jsを使って画像を表示し、保存ボタン押下時に切り抜くための情報をRailsに送ります。 Rails側では保存前に切り抜き処理を行い、保存するだけ。 view ライブラリ yarn add で cropperjs を入れます。 file inputを用意します Stimulusでmodalを表示する設定も入れておきます。 # show.html.haml .uploading-images.pt-3 = form_with ur…
昨日の続きです。 RailsのTurboでAjaxで要素を削除したときにCSSアニメーションさせる方法2(Stimlus化) 画像の登録もTurbo/Stimulusで実施してなかったので修正してみます。 やってみる css fade-in用を追加。 .fade-in { animation: fade-in .4s linear; opacity: 1; } .fade-out { animation: fade-out .4s linear; opacity: 0; } @keyframes fade-in { 0% { opacity: 0; } 100% { opacity: 1; }…
Ajaxでデータ追加・削除するのにRailsのTurbo便利ですよね。 でも、CSSアニメーションが効かなくて困ってました。 Turbo以前 image-wrapperクラス以下に画像とxボタンを配置します。 # haml .image-wrapper.position-relative = image_tag image = link_to user_image_path(user, image), remote: true, data: { method: :delete, confirm: "Can I delete it?" }, class: "delete-image-link p…