Tallman

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

RubyでPriority Queue

精進でこの問題を解いてたらPriority Queueがでてきました。 atcoder.jp "Ruby Priority Queue"でググれば実装はたくさんでてくるのですが、実際自分で組んだ方が身につくと思い実装してみました。 github.com MaxHeapかMinHeapかを外部から注入するのについ…

Atcoderで茶色になりました

ratedやった~~~33回目にしてついに茶色! pic.twitter.com/MgVolhexeU— とるめん (@qwyngg) May 2, 2020 というわけでなんとかやりました。 数学の素養が全く無い人間でも数こなせばなんとかなるものですね。 茶色に必要なこと 有名な記事で茶色について…

OSSコードリーディング Batch-loader

Batch-loaderというRubyでバッチローディングをするGemを読んで、そのきれいな実装に感心したのでまとめた。 github.com 実装自体はシンプルだけど、特定のGemに依存しているわけではないので使い方に融通が効くし、困った時にトラブルシューティングしやす…

Gatsby.jsとTypeScriptでミニブログを作った

Scalaをそこそこやって型いいじゃん!とすこしづつ思いはじめてきたのでTypeScriptとReactで遊ぶがてらGatsby.jsでブログを書いてみた。 tallmanlog.netlify.app なんのOGPもなくて寂しい。 ソースコードはこれ github.com TypeScript とりあえずTypeScript …

ScalaとRubyで関数合成してみる

N予備校でScala応用編を受講したのでRubyと比較して色々やってみたくなった。 まえおき ScalaはRubyと似てる気がする これは思想が似てる(オブジェクト思考と関数型の融合)だからなのかもしれないけどscalaとrubyって似てる気がするんだよなDSLかけたりとか…

N予備校が無料だったのでプログラミングコースをちょっとやってみた

N予備校が世の中のもろもろで無料だったのでプログラミングコースを少し受講してみた。 www.nnn.ed.nico 良かったところ 教材の質が尋常じゃない 本来有償のものなので具体的なリンクは貼れないのだけど、教材一つ一つの質がとんでもなく高い。 「とにかくコ…

League of legendsでダイヤモンドに昇格した。サポートでsoloQを勝ちぬくには

League of legends(以下LOL)で自分語りしていきたい。大学入学から20代前半はずっとこのゲームをやっていた。最後にめっちゃためになるsoloQ tipsも書いたので読んで欲しい。 これがマイOP.GG。 jp.op.gg シーズン4 最初は「簡単、強い」でチャンピオン検…

「UNIXという考え方」を読んだ

電子書籍がなかったので久々に物理で読んだ UNIXという考え方―その設計思想と哲学作者:Mike Gancarz発売日: 2001/02/01メディア: 単行本 UNIXの定理への感想 小さいものは美しい 小さいとわかりやすく、保守しやすい、組み合わせやすい、計算機のリソースに…

一人暮らしリモートワークで本当に捗るもの、それは沼

一人暮らしのリモートワークで困るもの、それは食事である。 会社であれば周りのコンビニや社食で買えばいいが、一日家にいるとなると話が違う。 また、出社していれば「通勤のついでに何かを買う」という行為ができたのでコンビニやお店に行くのも対して手…

Ginza.rb#80でLTをしてきた

当日の概要 Ginza.rb#80でLTをしてきた ginzarb.doorkeeper.jp LT イベントの空気感的にはかなりカジュアルよりだったけど、社外でのLTは初めてでガチガチに緊張していた。当日のスライドは以下。 speakerdeck.com OSSへのコントリビュートを一年やってきて…

graphql-rubyにコミットした

業務でgraphql-rubyを色々いじってたら「おや?」と思う挙動があった。調べてみると同じ内容でissueを立てている人がいた。 github.com graphql-rubyでは_idといった引数を受け取った時にloadsオプションを指定しているとHogeSchema.object_from_idを呼んで…

みんなのコンピューターサイエンスとプログラマの数学を読んだ

最近以下の二冊を読んだ みんなのコンピュータサイエンス作者:Wladston Ferreira Filho出版社/メーカー: 翔泳社発売日: 2019/01/15メディア: Kindle版 プログラマの数学第2版作者:結城 浩出版社/メーカー: SBクリエイティブ発売日: 2018/01/17メディア: 単行…

RustでGithubのissueひっぱてくるCLIアプリを書いた

Ruby、Elixirときて完全に別軸の静的型付け低級言語としてRustで遊んでいる。 お正月に泣きながらRustのコンパイラといろいろしてた。 github.com ユーザー名とレポジトリ名を下のように渡すと github-issue rails rails number |title |created_at | 38237 …

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、メモリ、仮想メモリページングとかアルゴリズム、秘密鍵、公開鍵、プロトコルあたりは基礎体力をつけるのにいい内容が範囲に含…