Tallman

技術とか読書とかいろいろ

rails consoleに簡単にオプションを足せるようになるgemを作った

作ったgemはこれです github.com 使い方 config/application.rbに下のようにオプションをセットします。 Rails::Applicationの上に書くようにしてください。 Bundler.require(*Rails.groups) D4C::Console.add_option 'hello' do puts "hello" end module Yo…

クラスメソッドをPryのコマンドにできるGemをリリースしました

作ったGemはこれです github.com 使い方 まず.pryrc内で下のようにクラスをセットします。 PrySingular.make_commands HogeJob, FactoryBot これでPryの中で設定したクラスの特異メソッドをコマンドとして使うことができます。 pry(main)> perform_now 引数…

個人開発用マシンをThinkPad X1 Carbon with Ubuntuにしました

経緯 個人の開発マシンはプログラミング始めた去年の6月にMBP2014の13インチをヤフオクで落札して以来ずっとそれを使っていたのですが、5月末くらいにコーヒーを盛大にこぼしてトラックパッドが使用不能に…。 最新のMBPの13インチか迷ったけどLinux使ってみ…

SQL実践入門を読みました

SQL実践入門──高速でわかりやすいクエリの書き方 (WEB+DB PRESS plus)作者: ミック出版社/メーカー: 技術評論社発売日: 2015/04/11メディア: 単行本(ソフトカバー)この商品を含むブログ (7件) を見る SQLアンチパターンや失敗から学ぶRDBの正しい歩き方を…

SpotifyAPIとRuby2.7の新機能パターンマッチングで人気のある曲だけをフリーワードから検索して出力するスクリプトを書いた

Rubykaigi2019にてパターンマッチングについての発表がありました。 speakerdeck.com スライドにもある通りAPIからもらったJSONを扱うのに便利と感じました。 そこで実際に解析するスクリプトを書いてみたのがこちら。 github.com スタンドの名前つけるの楽…

プロになるためのWeb技術入門を読みました O/Rマッピングフレームワークの目的

先月、基本情報技術者試験をうけました。(受かってるといいな) 午後の問題は現代文の試験かな?というのもありましたが、CPU、メモリ、仮想メモリページングとかアルゴリズム、秘密鍵、公開鍵、プロトコルあたりは基礎体力をつけるのにいい内容が範囲に含…

大規模サービス技術入門を読みました。ついでにRubyでVB Codeを実装してみた

[Web開発者のための]大規模サービス技術入門 ―データ構造、メモリ、OS、DB、サーバ/インフラ (WEB+DB PRESS plusシリーズ)作者: 伊藤直也,田中慎司出版社/メーカー: 技術評論社発売日: 2010/07/07メディア: 単行本(ソフトカバー)購入: 80人 クリック: 1,84…

Riot Games API + Rails + React + Ant design でLeague of Legendでチャンピオンごとにガイドを共有できるwebアプリをつくりました

guidegg.herokuapp.com なにができるか チャンピオンを選んでそれぞれ関連する記事を保存できるってだけのアプリです。 名前を入れるとインクリメントサーチでキャラが絞り込まれるUIだけ凝りました。もっとアニメーションつけたりしたら面白そう アカウント…

「オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方」を読みました

オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方作者: Sandi Metz,?山泰基出版社/メーカー: 技術評論社発売日: 2016/09/02メディア: 大型本この商品を含むブログ (6件) を見る を読んだ備忘録です。 5章 ダック…

「失敗から学ぶRDBの正しい歩き方」を読んで

Twitterでおすすめされていたので 失敗から学ぶRDBの正しい歩き方 (Software Design plus)作者: 曽根壮大出版社/メーカー: 技術評論社発売日: 2019/03/06メディア: 単行本(ソフトカバー)この商品を含むブログを見る を読みました。わかりやすくていい本で…

オブジェクト指向設計実践ガイド 四章まで読んで気になったこと

序盤の章は具体的に自分のコードにしてみました。 メソッドの責任の分割 メソッドの責任を分割してみました。 自分より変更されないものに依存しなさい 引数の依存を避けるためにキーワード引数を導入してみました。 これで別の場所でインスタンスを作る際に…

はじめてのペアプログラミングをしたので感想とか

はじめてのペアプログラミング 会社でペアプログラミングをやる機会がありました。ペアプログラミングという経験は初めてだったのですがとてもいい経験だったので所感と反省を書きます。 今回ペアの方はベテランで、自分はエンジニア歴一ヶ月のペーペーなの…

SQLアンチパターン 第六章を読んで

SQLアンチパターンwww.oreilly.co.jp を読んでの要約、感想です。 目的 複数の親を持つテーブルが欲しい。例えばキャラクターに関するコメントもアイテムに関するコメントもおなじコメントテーブルに置きたいとうのが今回の目的です。 アンチパターン ポリモ…

React チュートリアルをやってみた感想とか

はじめに ぎょーむでReactをつかうらしいのでチュートリアルやってみました reactjs.org すごい良くできていて、途中のコードも全てサンプル載せていて、ローカルの準備までかいてあり、アロー関数宣言とかもコラムにまとめてあったり、なんでこの処理をする…

SQLアンチパターン 第5章を読んで

SQLアンチパターンwww.oreilly.co.jp を読んでの要約、感想です。 目的 同じ属性を持ちつつも、例えばSmartphoneというオブジェクトがあるとして方やandroid_version、方やios_versionを持っている場合に対応したいというのが今回の目的です。 アンチパター…

SQLアンチパターン 第四章を読んで

SQLアンチパターンwww.oreilly.co.jp を読んでの要約、感想です。 目的 データベースのアーキテクチャを単純にしたい データベースのアーキテクチャ、複数のテーブルが複雑にからみあう中で、その関係をもっと柔軟にしたいとういのが今回の目的です。 アンチ…

SQLアンチパターン 第三章を読んで

アンチパターン 行の存在の重複をさけるため、主キーを定めることが多くあります。idというカラムを作って主キーの役割をもたせることも多いです。 今回のアンチパターンは全てのテーブルはidというカラムを持たせる、というものです。Railsなんかでもデフォ…

SQLアンチパターン 2章

アンチパターン この章ではツリー指向のデータ構造を格納する際のアンチパターンになります。 ツリー指向のデータ構造では、ノードは一つ以上の子ノード及び一つの親ノードを持ち一番上がルート、一番下がリーフとなります。文章だと難しいので視覚で、 SQL…

SQLアンチパターン 第一章を読んで

アンチパターンのテーブル例 Books book_id book_name tag_id 1 SQL-anti-pattern 1, 2 2 Readable Code 2 Tags tag_id tag_name 1 SQL 2 O'Reilly このテーブルの関係では、本はタグを複数持っていてタグは複数の本につけられています。この多対多の関係を…

情熱プログラマーを読んで

はじめに 僕が好きなVtuberできりみんちゃんさんという方がいます。小学生です。 kirimin.hatenablog.com 話し方から伝わる人柄の良さとか努力の過程を公開している感じが好きです。この方が動画でおすすめしていた本が情熱プログラマーという本です。 エン…

メタプログラミングRuby 6章コードを記述するコード

eval(string) evalメソッドに文字列を渡すと実行してくれます。 irbもevalで実行されています。 式展開してメソッドを定義したいときなんかに便利。 しかし文字列をコードとして実行してしまうということはコードインジェクションに弱くなってしまうので、ev…

メタプログラミングRuby 5章 クラス定義

特異メソッド カレントクラス クラスインスタンス変数 特異メソッド クラスマクロ 特異クラス 大統一理論 Object#extend メソッドラッパー アラウンドエイリアス Refinements Prependラッパー 5章のクイズ まとめ 特異メソッド カレントクラス Rubyのプログ…

メタプログラミングRuby 四章 ブロックの読書録

はじめに ブロックは強力なツール ブロックは束縛を包んでくれる instance_eval 呼び出し可能オブジェクト Procオブジェクト Methodオブジェクト 四章のクイズ おわりに はじめに 前職の出勤が16日に終わり、しばしニートしております。 最近discordbとい…

erbからslimへ html2slimの変換で少し気になったこと

erbからslimへ 年末の空いた時間に、個人でたたき台として使っているrailsアプリのviewをerbからslimに変えて見ました。 GitHub - QWYNG/GuideGG: チャンピオンに対するガイド記事のブックマークサイト slimとhtml2slim、2つのgemを入れて for i in app/vie…

正規化理論 (第三正規形まで)

正規化理論とは データベース技術 [実践] 入門を読んで第二弾 データベース設計で行うべき手順 第1正規形から第5正規形まであります。 基本的には第三正規形までやれば十分といわれているらしいです。 第一正規形 テーブル構成において重複や繰り返し、複…

B+Treeインデックス (webエンジニアのためのデータベース技術[実践]入門)

はじめに webエンジニアのためのデータベース技術[実践]入門を読み進めているのですが、なかなか腹に落ちる感じがないので少量ずつ文字にして理解を勧めていきたい B+Treeインデックス ルートブロック、ブランチブロック、リーフブロックという木のような構…

RESTとはなにか webを支える技術を読んで

はじめに エンジニアとして働くための予習としておすすめされた技術書を業務のあとに読んでいるのですが、なにかしらアウトプットしないと身につかないなぁという思いがありブログをしたためました。本のまとめ的な内容なのでQiitaにあげるのも違うよなぁと…