Tallman

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

2019-01-01から1年間の記事一覧

2019年を振り返る

はじめてのふりかえり 1月 エンジニアとして働いてなかった。2月に転職することがわかってたのでソワソワしていた気がする。新卒から一年と十ヶ月の短い期間だったけど迷惑かけまくったなぁと反省しています。 東京に引っ越した。 有給消化中にOSSにはじめて…

「エンジニアの知的生産術」を読んだ

エンジニアの知的生産術 ──効率的に学び、整理し、アウトプットする (WEB+DB PRESS plusシリーズ)作者:西尾 泰和出版社/メーカー: 技術評論社発売日: 2018/08/10メディア: 単行本(ソフトカバー) 読んだ理由 エンジニアとして働き始めたこの一年間、どうに…

「食事する哲学者」で学ぶデッドロック

最近 プログラミング言語Rustを読んでるのですが、並行処理のチュートリアルで「食事する哲学者」という問題を知りました。 昔々、裕福な慈善家が、5人の高名な哲学者が宿泊できるカレッジを寄付しました。それぞれの哲学者には思索活動にふさわしい部屋が与…

Punditにコミットした

github.com 結果的には破壊的変更をしてしまったのでPR送った経緯を書いておこうと思う。 もちろんこのままリリースされるかはわからないけど。 ちなみにPunditは以下のように明瞭な形でリソースに対しての行動に制約を設定できるようになるGemだ。 class Po…

「コーディングを支える技術」を読んだ

チームの人が読んでいて面白そうだったので、またElixirの諸々でプログラミング言語というものに関心があったので読んだ コーディングを支える技術 ~成り立ちから学ぶプログラミング作法 (WEB+DB PRESS plus)作者: 西尾泰和出版社/メーカー: 技術評論社発売…

Elixirにコントリビュートしてみよう!

最近ElixirにPRをだしてマージされました。 github.com Elixir 1.10からEnum.frequencies/1とEnum.frequencies_by/2が多分生えます。 iex> Enum.frequencies(~w{ant buffalo ant ant buffalo dingo}) %{"ant" => 3, "buffalo" => 2, "dingo" => 1} iex> Enum…

tokyo.ex#13 elixir本体ソースコードもくもくリード会に参加してEnum.tally書いてみた

「tokyo.ex #13 elixir本体ソースコードもくもくリード会」に参加してきました。 beam-lang.connpass.com Elixirのソースコードを事前にcloneしておいてMakefileなんかを見ながらエリクサーのコンパイルの流れを解説していただきました。 speakerdeck.com sp…

Elixirについて社内LTで発表したよ

最近Elixirに興味をもってプログラミングElixirという本で勉強してます 社内LTでそのことについて発表してみました https://speakerdeck.com/qwyng/elixirtopatanmatuti 再代入の説明に@cedretaber氏のこの記事 qiita.com を参考にしたところがあります。 sp…

超絶怒涛のゆるふわコードリーディング GraphQL gem篇

GraphQL gemをふんわり読んだ ふんわり読んで見ました、とりあえずよく使われてそうなDSLをおったメモ versionはv1.9.12 が最新リリースである時期のmasterブランチ読みました。 ゆるふわの極みです とりあえず最初に公式のGetting Startedで出てくるやつ mo…

エンジニアとして働いて

エンジニアとして働き初めて半年がたった。まだまだわからないこと、初めて知ることばかりであり、周りの方の助けを借りながらなんとかやっている。 なんとなく書きたくなったのでエンジニアとして働き初めて感じたこととかをまとめようと思う。 エンジニア…

「試して理解 Linuxのしくみ」を読んだ

[試して理解]Linuxのしくみ ~実験と図解で学ぶOSとハードウェアの基礎知識作者: 武内覚出版社/メーカー: 技術評論社発売日: 2018/02/23メディア: 単行本(ソフトカバー)この商品を含むブログ (1件) を見る 読んだ理由 せっかく自宅の環境をUbuntuにしたので…

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 このテーブルの関係では、本はタグを複数持っていてタグは複数の本につけられています。この多対多の関係を…