Web
こんにちは。 id:Pocke です。 今日は activerecord-originator という gem を作ったので紹介します。 github.com なにこれ Active Record が発行するSQLの各部分に、それがどこで作られたものかをコメントとして入れ込む gem です。 理解するには実例を見る…
先日Kaigi on Rails 2021で、Cache on Railsというテーマで登壇しました。 参加者としての感想は雑に日記に書きましたので、この記事では登壇者としての感想を書きます。 各種資料 スライド スピーカーノートを開くと(ほぼ完全な)トークスクリプトもついてい…
結論 実装に無理があるので、OpalからReactを使いたい。 これ何 Ovtoはhyperappをベースにしている。Ovtoではstateはappに対して1つのツリーしかない。 つまり、各コンポーネントに閉じたstateを持つことはできず、全てはグローバルなstateを触ることになる…
ある時「アプリケーションがどういうタイミングでどういうメールを送るか、エンジニア以外も把握したい」という要望が社内で上がりました。 これはもっともな要望で、アプリケーションがどういうメールを送っているのか分からずユーザーサポートするのはしん…
Bacon Cannon とは? bacon-cannon.herokuapp.com Ruby 用のオンラインパーサーです。Web上から Ripper 及び Parser gem を使用して Ruby のコードをパースし、AST を眺めることが出来ます。 シェア機能 今回は、この Bacon Cannon にパース結果をシェアする…
TL;DR git blame しない人は読まなくていい。 nnoremap <F3> :silent! !tig blame +<C-r>=line('.')<CR> %<CR>:redraw!<CR> .gvimrc では nnoremap <F3> :silent! !sakura -x 'tig blame +<C-r>=line('.')<CR> %'<CR> sakura は適当なターミナルエミュレータの名前に置き換える。 <F3> は完全に趣味なの</f3></cr></cr></c-r></f3></cr></cr></cr></c-r></f3>…
github.com TL;DR StackProf でボトルネック検出 String#present?は遅いから使わない。 何度も呼び出される毎回同じ値を返すメソッドをメモ化 上記により3~4倍のパフォーマンス改善 はじめに Rails Best PracticesはRailsに特化したコードメトリックツールで…
最近、rails-apiでcookieを使うような機会が何度かあったので、その方法をメモしておきます。 tl;dr rails-api with cookie · pocke/rails-api-with-cookie-sample@11ccaf1 前置き rails-apiのデフォルトでは、cookieが無効化されています。 そのため、セッ…
前置き Railsには、DBのマイグレーションファイルを作成する為のジェネレータ、rails g migrationがあります。 例えば、usersテーブルにemailカラムを追加したい場合、このジェネレータは以下のように使います。 $ bin/rails g migration AddEmailToUsers em…
つくりました github.com todofuken | RubyGems.org | your community gem host Ruby on Rails 用に、都道府県のマスタテーブルを作成するGemです。 Rails の generator を利用しています。 Installation 普通のGemと同じように、Gemfileに以下を記載します…
www のバージョン 0.3.0 をリリースしました。 :tada: github.com www 自体の説明は以前別の記事(楽々静的HTTPサーバー - pockestrap)でしているので、もしご存知なければそちらをご覧ください。 --binding オプション このリリースでは、--bindingオプショ…
静的なHTTPサーバーが欲しくなること、多々あると思います。 SPAを作っている時 クライアントサイドのみのWebアプリを作っている時 人にちょっとファイルを渡したい時 こんな時に、カレントディレクトリ以下をサーブするだけのHTTPサーバーが欲しくなると思…
Migration だけ先にがーーーっと書いたらモデルを作るのがめんどくさくなったので、Rakeのタスクを書きました。 gist.github.com 上記ファイルをlib/tasks/model_from_schema.rakeなどとして保存して、下記のようにコマンドを実行すると使用することが出来ま…
こんにちは。私は現在 bearfruits という GitHub と連携した就活支援Webサービスを作成、運営しています。 bearfruits はRuby on Railsで開発しています。 エラーページがRailsデフォルトのままだったのを改善したので、手順をまとめます。 環境 Ruby on Rai…
先日、ポート株式会社様で開催されている、もくもく会に行ってきました。 第10回【フリースタイル】もくもく会【学生歓迎!】 - connpass 当日、LT発表者が3名しかいなかったため、飛び込みLTと言う形で突然LTしてきました。 実際飛び込みが多くて、結局8人…
speak-js mattytemple/speak-js · GitHub 作ったもの pocke/speak.js-sample · GitHub speak-js とは クライアントサイドJavaScriptだけで喋る。 speak('foo')でfooって喋る。 楽しい感じがしますね。 作ったもの Speak.js Sample テキストエリアに入力した…
辞書の使い方とかはneocomplete用にRubyの辞書を作った(るりま編) - pockestrapを見れば良いと思います。 Script require 'open-uri' require 'json' url_base = 'https://api.github.com' owner = 'jquery' repo = 'api.jquery.com' ep_base = "#{url_base}…
kramdownならできるよ、それ。 class [hoge](http://example.com){: .fuga} # => <a class="fuga" href="http://example.com">hoge</a> id [hoge](http://example.com){: #fuga} # => <a id="fuga" href="http://example.com">hoge</a> attributes [hoge](http://example.com){: target="_blank"} # =>
作ったページ レポジトリ Github pagesでホスティングされた静的Webページを、Jekyllを使ってMarkdownで書いてみました。 ページを作成して、Githubにレポジトリを作成して、独自ドメインを割り当てるまでのまとめ。 ローカルにWebページを作成する まずは、…
世の中には、Vim戦闘力と言う概念があります。 Vim-users.jp - Hack #39: Vimの戦闘力を計測する 簡単に言うと、.vimrcの行数です。 ただし、単純に行数で見てしまうとコメントや空行、行継続などでいくらでも戦闘力を水増し出来てしまいます。 そのような点…