タグ

ブックマーク / sue445.hatenablog.com (12)

  • Ruby 3.1.2 with YJIT vs Ruby 3.2.0-dev with YJIT - くりにっき

    tl;dr; モチベーション Ruby 3.2.0-devの何がすごいか Ruby 3.2.0-devでRust版のYJITを使う方法 計測対象のアプリケーション 使ったバージョン 比較 CPU ホスト全体 Ruby 3.1.2 + YJIT Ruby 3.2.0-dev + YJIT pumaのmasterプロセスとworkerプロセスをピックアップ Ruby 3.1.2 + YJIT Ruby 3.2.0-dev + YJIT Memory ホスト全体 Ruby 3.1.2 + YJIT Ruby 3.2.0-dev + YJIT pumaのmasterプロセスとworkerプロセスをピックアップ Ruby 3.1.2 + YJIT Ruby 3.2.0-dev + YJIT Ruby 3.2.0-devをデプロイした瞬間のグラフ スコア Ruby 3.1.2 + YJIT Ruby

    Ruby 3.1.2 with YJIT vs Ruby 3.2.0-dev with YJIT - くりにっき
  • ERDをPlantUML形式で自動生成するツールを作った - くりにっき

    PlantUML + ERDでPlantERDです github.com モチベーション PlantERDの特徴 使い方 出力するテーブル数の制限について 技術的に頑張ったこと テストのこと Foreign keyで隣接している別のテーブルを探す方法 複数DB対応のつらみ 追記:2019/12/13 9:45 モチベーション 既存プロダクトへの不満が一番大きいです。 https://github.com/voormedia/rails-erd は出力が画像なので取り回ししづらい そもそもRails前提なので他言語とかでは使えない https://github.com/schemaspy/schemaspy も悪くなさそうなんだけどここまでリッチじゃなくていい テーブル数個の小規模アプリならいいんだけど、中規模以上のアプリで使うと人間が読むに耐えないERDが生成されて精神が崩壊する 僕は初め

    ERDをPlantUML形式で自動生成するツールを作った - くりにっき
  • GitHub Actionsのpushイベントとpull_requestイベントではGITHUB_SHAが異なる - くりにっき

    tl;dr; 検証内容 サンプルコード masterブランチに普通にpushした時 PullRequestに対してpushした場合 pushイベントの結果 pull_requestイベントの結果 解説 2021/01/08 追記 GITHUB_SHAが異なることで何が困るか 余談:tfnotifyでpull_requestイベントの時にもPullRequestにコメントをつけたい FAQ Q. だったらpull_requestは不要では? 今の心境 tl;dr; タイトルが全て 検証内容 サンプルコード GitHub Actionsで使える(事前定義済みの)環境変数 *1を列挙するだけのシンプルなワークフローです on: - push - pull_request jobs: show_env: runs-on: ubuntu-latest steps: - run: env | grep

    GitHub Actionsのpushイベントとpull_requestイベントではGITHUB_SHAが異なる - くりにっき
    iga_k
    iga_k 2021/01/07
    知見〜
  • 【追記あり】Travis CIでMJITを有効にしたビルドマトリクスを作る - くりにっき

    何番煎じか分からないけど自分用メモ tl;dr; 実行結果 2019/6/19 追記 tl;dr; .travis.yml に下記のようなものを書くだけ script: - RUBYOPT=$RSPEC_RUBYOPT bundle exec rspec matrix: include: - rvm: 2.6 env: RSPEC_RUBYOPT="--jit" - rvm: ruby-head env: RSPEC_RUBYOPT="--jit" 実行結果 https://travis-ci.org/sue445/rubicure/builds/473290010 ビルドスクリプト内で RUBYOPT="--jit" bundle exec rspec とかしてもいいんですが、それだとビルドがコケた時にJIT起因の問題なのかそうじゃないのかが分かりづらくなるのでこっちを推奨です。 あと、

    【追記あり】Travis CIでMJITを有効にしたビルドマトリクスを作る - くりにっき
    iga_k
    iga_k 2020/04/23
    MJIT有効にする方法
  • wgetでPOSTする - くりにっき

    tl;dr; wget --post-data="key1=value1&key2=value2" https://example.com/webhook -O /dev/null 経緯 CIの実行中に通知用のwebhookをPOSTして通知をやりたかったんだけど、CIで使ってるDockerイメージに curl が入っていなくて困った 具体的には https://hub.docker.com/r/hashicorp/terraform/ 素直に curl 入れればよかったんだけど、パッケージのインストールはスロービルドの原因になるのでなるべくインストールしたくなかった curl はなかったけど wget は入ってたので wget でPOSTしてみた 解説 冒頭のコマンドが全てなのですが、特筆するとしたら最後の -O /dev/null 辺りです。 wgetするとPOSTであってもカレントデ

    wgetでPOSTする - くりにっき
    iga_k
    iga_k 2020/03/20
    いつも忘れるのでメモ
  • Dependabotの設定ファイルを置くようにした - くりにっき

    なにげなくDependabotを見てたらリポジトリに .dependabot/config.yml を置けることを気づいたので置いてみた https://dependabot.com/docs/config-file/ 設定ファイルを置くメリット いつも使ってる設定晒し 解説 default_assignees allowed_updates automerged_updates version_requirement_updates まとめ ちなみに .dependabot/config.yml をコミットしてると設定画面でこんな表示になります 設定ファイルを置くメリット 新しくリポジトリを作ってDependabotを導入する時にボタンをポチらずに済む 別リポジトリから設定ファイルをコピーしてくればいつもの設定が導入できる 設定をgitで履歴管理 いつも使ってる設定晒し Rubyだとこれ

    Dependabotの設定ファイルを置くようにした - くりにっき
    iga_k
    iga_k 2020/02/25
    CIチョットデキルsueさんの知見、めっちゃ便利やん〜〜〜。
  • CIマニアから見た各種CIツールの使い所 - くりにっき

    社内外でちょいちょい聞かれるのでメモ。 前置き GitHubを使ってる場合 ライブラリを作ってる場合 Travis CIを選択する理由 2020/4/21追記 Travis CIを選択しない理由 アプリを作ってる場合 CircleCIとWerckerの共通点 CircleCIとWerckerの機能差異 GitLabを使ってる場合 GitLab CIの優位点 Jenkinsなどを使った方がいい場合 追記:2018/12/8 前置き 100%自分の主観なので偏ってます SaaSかオンプレならSaaS派。(自分でサーバの面倒身たくない) 自分が使ったことがないものは紹介していません 今回紹介してるTravis CI, CircleCI, Wercker, GitLab CI, Jenkinsに関しては仕事趣味で各3〜4年くらいは使ってるはず GitHubを使ってる場合 ライブラリを作ってる場合

    CIマニアから見た各種CIツールの使い所 - くりにっき
    iga_k
    iga_k 2020/01/09
  • CIマニアから見たGitHub Actions(Beta)の使い所 - くりにっき

    1ヶ月くらい使って勘所が見えてきたのでメモ メリット 1リポジトリ辺り20並列までジョブを並列実行できる ジョブ実行時はアクセストークンが勝手に設定されている マトリクステストがやりやすい 実際にGitHub Actionsに移行したプロダクト zatsu_monitor activerecord-compatible_legacy_migration index_shotgun デメリット yamlのanchorが使えない マトリクステストだとSlack通知がつらい 合わせて読みたい メリット 1リポジトリ辺り20並列までジョブを並列実行できる これに尽きる。 CircleCIにしろTravis CIにしろorganization(user) *1単位で並列数が縛られているため、例えば同じuserの他のリポジトリでジョブが詰まっていると別リポジトリではqueueが詰まってジョブが実行され

    CIマニアから見たGitHub Actions(Beta)の使い所 - くりにっき
    iga_k
    iga_k 2019/09/11
    並列実行数多いの便利〜
  • gemを作る時に気をつけていること - くりにっき

    公私含めて2年間でたぶん30個以上はgemを作ってますが、なんとなく体得はしたもののこういうことは誰も教えてくれなかった気がするので残しておきます アンダースコアとハイフンを使い分ける gemを作る第一歩は bundle gem <作りたいgemの名前> ってやると思いますが、単語区切りであればアンスコ、ネームスペースの区切りだったらハイフンを使います アンダースコア区切り $ bundle gem go_princess_precure Creating gem 'go_princess_precure'... create go_princess_precure/Gemfile create go_princess_precure/.gitignore create go_princess_precure/lib/go_princess_precure.rb create go_pri

    gemを作る時に気をつけていること - くりにっき
    iga_k
    iga_k 2019/09/05
    知見! “そのgemの開発だけに必要なものは add_development_dependency に書く”
  • ドリコムを支える中間ポイントシステム - くりにっき

    はじめに これは ドリコムAdventCalendar の1日目です はじめに 1日目:ドリコムを支える中間ポイントシステム 一応自己紹介 プリキュアおじさん 嫁はキュアピース 開発の背景 ソーシャルゲーム歴史 中間ポイントについて 前受金と資金決済法について 有償ポイントと無償ポイント 複雑な売上計算 ドリコムの中間ポイントシステム(dpoint)について 自分の役割 重要なこと dpointが導入されているアプリ 課金フロー iTunesでの中間ポイント購入 GooglePlayでの中間ポイント購入 ポイント消費 dpointのリリースノート gemのボリューム date_discreterというgemを作りました どういうgem? 月の歯抜けを調べる 日の歯抜けを調べる 時間の歯抜けを調べる dpoint改修時のつらみ DBのスキーマ変更する場合は導入してるアプリ全部での影響を調べ

    ドリコムを支える中間ポイントシステム - くりにっき
    iga_k
    iga_k 2018/12/27
    sue445さんのゲーム内ポイントシステム詳解。ノウハウ〜。
  • 勉強会のスライドにもマンガルーが使えそう - くりにっき

    tl;dr マンガルーとは? ある予感がしてFAQを読んでみた 実際に問い合わせてみた まとめ tl;dr HTMLにマンガルーのタグを埋め込む形式であれば勉強会のスライドにも利用可能 マンガルーとは? マンガのコマをwebサイトやSNSに貼り付けることができるサービスです mangaloo.jp このサイトのすごいところは「権利者より正式に許諾を受けた作品」を使えるということです ある予感がしてFAQを読んでみた http://mangaloo.jp/info/faq.html コマをSNSにシェアするにはどうすればよいですか? 「コマをつくる」のコマの範囲確定後、または「コマをさがす」でコマをクリックした際に出るポップアップから、下図赤丸の「共有URL」をコピーしてSNSにはりつけてください。twitterやfacebookなどのOGP(リンクからの画像表示機能)に対応しているSNS

    勉強会のスライドにもマンガルーが使えそう - くりにっき
    iga_k
    iga_k 2017/03/03
    sue445さんGJ。そしてこれは合法的にesaにネタを貼りまくれるということでは。
  • Railsアプリやgem作る時にいつも入れているgem一覧 - くりにっき

    id:joker1007 さんに触発されました。 Ginza.rb 21回の発表資料。rails_adminのつらみとオススメgem達。 1年間で10個以上アプリやgemを作っている中でよく使うgemをまとめてみます Railsアプリ(rails new した直後に必ず入れる) annotate https://github.com/ctran/annotate_models modelのソースの先頭にテーブルのスキーマ情報を付加してくれるgem。いちいちschema.rbを見に行く必要がなくなるので超ベンリ こんな感じ # == Schema Information # # Table name: plugins # # id :integer not null, primary key # name :string # title :string # version :string #

    Railsアプリやgem作る時にいつも入れているgem一覧 - くりにっき
    iga_k
    iga_k 2016/08/20
    "global : Railsでいい感じの設定ファイルを使うためのgem"
  • 1