ブックマーク / hkdnet.hatenablog.com (51)

  • 雑記 - Smoky God Express

    久々の雑記です。書き始めてから1ヶ月経ってて自分でびっくりしました。 生活 いろいろ変わった。コロナがありみんなの生活様式が変わり始めてから1年半、自分はもともと基的には引きこもりなので特に影響がないかと思っていたがそれなりに変わった。といってもコロナの影響はWFH100%になったこと、外に飲みに行けなくなったことくらいだろうか。外に飲みに行けないのは非常に困っている。実利的に困っているわけではなく、娯楽がないのでつらい、というくらいだが、娯楽が禁じられているのはそりゃつらい。なんとかなってほしいが、まあしばらくはこんな感じだろう、はい。 コロナの影響ではない生活の変化要因として、引っ越しと結婚があげられる。というわけで結婚しました。ツイッターとかだといつ書いていいのかわからないし特に報告する意味がなさすぎて書いてなかった。生活に関するところでは共働きで配偶者は出勤せざるを得ない業種、か

    雑記 - Smoky God Express
    tbpg
    tbpg 2021/09/19
    ご結婚おめでとうございます!
  • 平成Ruby会議01 に参加してきました #heiseirubykaigi - Smoky God Express

    めちゃくちゃ楽しかったです。 トーク感想 What is expected? かねこさんのキーノート。パーザーの話。トーク前に expectってかいときゃ rspec だと思われるでしょ、などと邪悪な発言をしており治安が悪いなと思いました。 僕はスライドのチェックを依頼されたので事前に資料だけは見ていたのですが、なかなか骨太な内容でしたね。state の遷移図が結構くせもので、あれがあると state 自体が変化していくように思っちゃうのですが、実際には state の stack になっているのがミソです。あの図がないと遷移のイメージがわかない一方で、あれがあると誤解しやすいという。 まあたぶん誰も質問しない(できない)だろうと思って質問したいなーと思っていたのですが、なにせスライドを事前に読んでわからないところを聞いてるから質問が思い浮かばない。これはマズいと思っていたところ、資料チェ

    平成Ruby会議01 に参加してきました #heiseirubykaigi - Smoky God Express
    tbpg
    tbpg 2019/12/15
  • Ruby でリファクタリングをした際にテスト要否を判断したい - Smoky God Express

    TL; DR rubocop の自動修正とかが正しいのか不安になる Ruby なら ISeq に差分があるか調べればよい line number, column number 問題は体に手をいれておけばある程度乗り越えられる 前提 tech-blog.monotaro.com qiita.com $ ruby -v ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin17] $ bundle exec rubocop -V 0.59.2 (using Parser 2.5.1.2, running on ruby 2.5.1 x86_64-darwin17) モチベ rubocop には自動修正機能がついているわけですが、実際に rubocop のソースを読んでいない身としては盲信するわけにもいかない、というつらいところがありま

    Ruby でリファクタリングをした際にテスト要否を判断したい - Smoky God Express
    tbpg
    tbpg 2018/10/15
    「20 万行超のコードベースをテストせずにリファクタリングリリースした話」のRubyコンテキストのお話だ
  • RubyVM::AST を便利に使いたいので gem を作った - Smoky God Express

    github.com さっと作りました。 rubygems には登録してません(名前が重複してるかすら調べてないや) 経緯 Ruby 2.6.0preview2 から RubyVM::AST モジュールが使えるようになりました。 Ruby 2.6.0-preview2 Released RubyVM::AST [Experimental] Ruby 2.6 introduces RubyVM::AST module. This module has parse method which parses a given ruby code of string and returns AST (Abstract Syntax Tree) nodes, and parse_file method which parses a given ruby code file and returns AST

    RubyVM::AST を便利に使いたいので gem を作った - Smoky God Express
    tbpg
    tbpg 2018/06/06
  • Re: Rubyのdefの後に何を書けるか調べる実験 - Smoky God Express

    sinsoku.hatenablog.com 最後のHashが印象的。以下引用。 # no error def ({}).foo puts "foo" end # 別インスタンスなのでメソッドは呼べない {}.foo #=> (NoMethodError) 引用終了。 さて、別インスタンスなので呼べないというが、まあ呼びたいじゃん?オブジェクト作ってるんだから ObjectSpace から引っ張ってくればええやん? def show_hash(h) if h p h p (h.methods - ({}.methods)) else puts "nil" end end def search_object_with_method(name:) ObjectSpace.each_object.find { |e| e.methods.include?(name) } end def ({})

    Re: Rubyのdefの後に何を書けるか調べる実験 - Smoky God Express
    tbpg
    tbpg 2018/05/11
  • Swift製webアプリケーションフレームワーク Vapor を読むやつ #2 - Smoky God Express

    hkdnet.hatenablog.com 前回テンプレートの configure まで読んだので boot 以降を読もうかと思いましたが、routesのところを読み損ねていたことに気づいた ので読みます。 https://github.com/vapor/api-template/blob/3df9b5518b510f5959c75ad04c1b51996a75e367/Sources/App/configure.swift#L11 /// Sources/App/routes.swift import Vapor /// Register your application's routes here. public func routes(_ router: Router) throws { // Basic "Hello, world!" example router.get("he

    Swift製webアプリケーションフレームワーク Vapor を読むやつ #2 - Smoky God Express
    tbpg
    tbpg 2018/05/10
    "予想が外れるのもまたコードリーディングの楽しみ"
  • macOS 10.13.3 -> 10.13.4 のアップデートをするとSEGVするやつ - Smoky God Express

    概要 朝起きたら macOS のアプデがかかったらしくログインを要求された。 いつも通りユーザーを選択しパスワードをいれて FileVault の解除を待つと見たことない画面へ。 「アプデ適用に失敗しちゃったっぽいよてへぺろ とりあえず再起動する?」と聞かれたので再起動するが症状が改善しない。 TL;DR cmd + option + R を押しながら起動 wifi を選択して接続、アプデ内容をDL OS再インストール NOTE: この操作によりデータが消えたりはしてないです 試したこと 再起動 無限ループ セーフモード + アプデ再適用 セーフモードで起動すると App Store には「OSアプデがあるよ」と出ている。ので適用。 症状改善せず。 リカバリモードで起動 cmd + R のやつ。アプデ内容が落ちてこなくて終わり。 mcd + option + R のやつ。上述の通りなんとか

    macOS 10.13.3 -> 10.13.4 のアップデートをするとSEGVするやつ - Smoky God Express
    tbpg
    tbpg 2018/05/05
  • 『わかばちゃんと学ぶ Googleアナリティクス』の献本をいただきました - Smoky God Express

    はいどうも、 ハイクオリティ神レビューア のはくどーです。 頂いたの3月末なのですが……。遅くなりましてすみません。 感想 ざっくりGAの使い方が紹介されていてよいんじゃないでしょうか。アクセス解析にまつわる諸概念についてもざっと紹介され、各概念を混同しないように説明しようという意思を感じました。 また、いつもの湊川節で「どうしてそれやるんだっけ?」「それってほんとにちゃんと目標に沿ってるんですか?」と優しく詰められるのが心地よかったです。 経緯 え!では今私が書いてるGoogleアナリティクスのレビューアになっていただけないでしょうか! インセンティブは焼肉(の予定)です🍖🍖🍖— 湊川あい🌱技術書典 DL販売中! (@llminatoll) 2017年11月19日 Twitterすごい(こなみかん ふりかえり 実際にやってたこと GitHub ベースでのレビューでした。 レポジ

    『わかばちゃんと学ぶ Googleアナリティクス』の献本をいただきました - Smoky God Express
    tbpg
    tbpg 2018/04/22
    "いつもの湊川節で「どうしてそれやるんだっけ?」「それってほんとにちゃんと目標に沿ってるんですか?」と優しく詰められるのが心地よかった"
  • 秒速でサイト作ったら反響がよかったので振り返り - Smoky God Express

    github.com きっかけは、隣に座ってた人がいきなりやり始めたんだけど、検索ロジックとかが ガバそう 改善の余地がありそうだったので口出ししてたところから。 やったことは主にこんな感じです。 (PRになってないけど) 検索ロジックに口出しした とりあえず \s+ で分けて、それぞれに対してマッチするかでANDとればいいと思うよ、と話した むかーし slack の検索を自前でやろうとしたときに似たようなことをした そのときは単語の順番も考慮したいので new RegExp(str.split(/\s+/).join('.*')) みたいな感じだった 当時も今もパフォーマンスは気にしない前提 bulma 導入 element-ui を使おうとしてたっぽいけど設定ミスって中国語になってた だったらもう bulma 使おうぜと提案して勝手に導入 use strict した IE11対応 ar

    秒速でサイト作ったら反響がよかったので振り返り - Smoky God Express
    tbpg
    tbpg 2018/04/11
    "スタイルはまだまだ貧弱なのですがそこは苦手な分野なので PR をお待ちしております。"
  • 入社していくらか経ったので自分がどんな価値を出してたのか確認したよ - Smoky God Express

    はいどうも。入社してから7ヶ月くらい経ってるんですが、俺って何したんだっけ?どういう価値を提供したんだっけ?というのをふと確認したくなったので確認しました。今回はそれを外に出せる部分だけ出しておこうと思います。 業務中にメインで使っているレポジトリは1つなので1ざっとPRのタイトルを抜き出して分類してまとめました。 定期的に振り返るとか苦手でまとめてざっと傾向見るくらいがちょうどいいのかもという試みです。 ざっと集計したところ404PR作っていたそうです。うちマージされなかったのが23個。マージされてないのは、POC的に「こんなんどう?」って出したあとで閉じたり、CI落ちてる原因を確かめるために試行錯誤してたり、書いてみたけどやっぱ微妙で大幅な方針転換が必要だったりという感じです。 Release っていうのはリリースするのに必要なものであったり、masterの変更をマイルストーンにマージ

    入社していくらか経ったので自分がどんな価値を出してたのか確認したよ - Smoky God Express
    tbpg
    tbpg 2018/02/11
    数字で分かる hkdnet さんの働き比率
  • gitコミットしぐさ - Smoky God Express

    はいどうも。最近気をつけているコミットのやり方について備忘録的に書きます。1 前提として、現在はある程度成熟しているアプリケーションについての話です。新アプリの新画面ばーんってつくっていくぞみたいなときはもっと雑にコミットしてもいいんじゃないでしょうか。不具合修正であったりちょこちょこした機能追加だったりがメインな文脈です。 commit を verbose にする いいコミットの第一歩はたぶんこれです。git CLI使っている人は git config --global commit.verbose true でOKです。あるいは git commit -v って打つか。2 これはどういうオプションかというと、コミットメッセージを書くときに下にdiffが出ます。 -v, --verbose Show unified diff between the HEAD commit and wha

    gitコミットしぐさ - Smoky God Express
    tbpg
    tbpg 2018/01/28
  • 2017年を振り返って - Smoky God Express

    定量的な振り返りとしてGitHubの草を置いてみる。 3331 contributions 仕事とプライベート両方見えてるので結構すくなめかも。 一応草活は続いてる。 言語別のコーディング時間 定性的な振り返りとして隔月のことを思い出して適当に書く。 ……予定だったんだけど1-6月のことを思い出すのがめちゃくちゃ難しいのでやめた。 今年一番のニュースは、うーん、やっぱり転職ですかねえ。 転職したことでいろんな人に会って、いろんなことを教えてもらって、世界が広がったなーと思いました。 具体的には Ruby コミッタの人と話すようになって、crubyのソースを普通に読むようになったことですね。 「やればできる」の幅が広がったのが嬉しいし、C言語とかを普通に読み書きできるようになりつつあります。 言語とかOSとかのレイヤまでちゃんと降りていって話ができるようになるよいきっかけだったと思います。

    2017年を振り返って - Smoky God Express
    tbpg
    tbpg 2017/12/31
    "転職したことでいろんな人に会って、いろんなことを教えてもらって、世界が広がったなーと思いました。 具体的には Ruby コミッタの人と話すようになって、crubyのソースを普通に読むようになった"
  • Speee×Asakusa.rb Ruby2.5リリースパーティー に参加してきました - Smoky God Express

    speee.connpass.com 行ってきました。 twitter に適当に投稿はしましたがだいぶはしょっているのでそれの補完を。 「突然CentOSが落ちるコードをコミットする人はちょっと」とか聞こえた— はくどー (@HKDnet) 2017年12月26日 なんか別方面にささったらしく妙にRTされましたが。これはnobuがCentOS6で落ちるコードをコミットしたことをネタにしていたそうです。コミッタ同士の仲が良さそうで微笑ましいですね。 最初は Matz からの挨拶がありました。無事リリースできましたねーというところと反省点。 2.5の反省。ギリギリのゴーサイン— はくどー (@HKDnet) 2017年12月26日 知り合いのコミッタも12月になってからも気合いれていろいろやっていて、11月にはもうフィーチャーフリーズしてるもんだと思ってたのですがそうでもないんだなあと思ってい

    Speee×Asakusa.rb Ruby2.5リリースパーティー に参加してきました - Smoky God Express
    tbpg
    tbpg 2017/12/27
  • #しがないラジオ とキャラ付け - Smoky God Express

    この記事は しがないラジオAdventCalendar 5日目の記事です。 adventar.org すでに2回もゲストとして出演させていただきまして、自分のキャリアについては話しきった感覚があります。そのため今回はしがないラジオに出会って何が起きたのか、何を考えることになったのかということ書こうと思います。 転職ネタが知りたい方はどうぞ過去の sp3 と sp5 をどうぞ(宣伝 最初にぼくとガミさんの関係性を確認しておこうかと思います。 1年ほど前の僕にとってのガミさんは、小中高の同級生であり、ときたま酒を飲むような仲でした。どっかのSIerに就職したらしい1と思っていたのですが、いつの間にかweb系に転職することが決まっていて、そこからまた交流が増えた気がします。これがたぶん去年の9月くらい。Rebuild.fm の話をしたり、青春のアフター1〜3巻をガミさんにその場で購入させたりとい

    #しがないラジオ とキャラ付け - Smoky God Express
    tbpg
    tbpg 2017/12/05
    wktk "すでにネタ帳は存在する"
  • ruby/ruby にパッチ送ろうとしたけど失敗してる話 part2 - Smoky God Express

    注: part2といいつつpart1は書き上がってないのでこれが最初です 背景 るりまのサンプルコードを整備しようというプロジェクトがあるのはご存知ですか。 tbpgr.hatenablog.com id:tbpg さんがこちらで精力的に活動されているのですが、ある日こういう話を聞きました。 「Enumerator::Lazy#chunk の定義が可変長引数に見えるんだけど実際は引数渡すとエラーになるんだよね〜」 で、サンプルを書こうとしたときにちょっと詰まったと聞いたので、定義を可変長引数でなくできないだろうかと Ruby hack Challenge もくもく会#2 のネタにさせてもらいました。 connpass.com 事前調査 まずはざっと定義をみておきましょう。ruby/rubyにおいて組込みで用意されているクラスのメソッドはC言語で書かれていることが多く、その場合は rb_de

    ruby/ruby にパッチ送ろうとしたけど失敗してる話 part2 - Smoky God Express
    tbpg
    tbpg 2017/11/12
  • MDNのドキュメントにコントリビュートしてみたのでやり方書くよ - Smoky God Express

    MDN、ご存知ですか。jsとかcssとかでググってみるとだいたいひっかかると思います。 developer.mozilla.org んで、これをちょっと読んでたんですがサンプルコードがわけわかんなかったんですよね。 僕が作った例のがイケてるんじゃね?と思ったのでコントリビュートしてみました。 やってみると結構かんたんだったので日語でやったよってブログを書いたら、みんなもMDN書いてくれないかなー、ついでにブログのアクセス数増えないかなーみたいなお気持ちでこの記事を書いてます。 元ドキュメントのなにがわからんかったのか arrow function は独自の arguments を持たないっていうところ1の説明のサンプルが3つあってこんな感じでした。 var arguments = 42; var arr = () => arguments; arr(); // 42 レキシカルスコープ上

    MDNのドキュメントにコントリビュートしてみたのでやり方書くよ - Smoky God Express
    tbpg
    tbpg 2017/10/22
  • Ruby hack Challenge もくもく会 に参加してきました - Smoky God Express

    connpass.com 一言感想。コミッターの方が多数いてすげーなーという気持ちになりました えーとこの会自体は Ruby hack Challenge という企画のもくもく会です。 企画自体はこちらのレポを参照するのがよいかと。 codeiq.jp 僕は rhc 自体には参加してないのですが RubyKaigi 以降はよく ruby/ruby を眺めているのでいってきました。 もくもく会なのでみんな適当になんかする、という感じだったのですが、僕はあまり何をするか考えていませんでした。とりあえずruby/rubyよんで気になったとこを見ようかなという気持ちです。 特に目的も定めずにざーっと読んで読んで、読み進めて。 気になったのが array.c の Array#uniq! の実装。frozen チェックのあたりがちょっと気になります。 static VALUE rb_ary_uniq_

    Ruby hack Challenge もくもく会 に参加してきました - Smoky God Express
    tbpg
    tbpg 2017/10/15
  • Ruby本体読みはじめた人に届けたいドキュメント - Smoky God Express

    RubyKaigi2017に参加してやる気が高まったので最近は ruby/ruby のコードを読むようになってます。 github.com しかしこれがなかなか読むのにコツがいる感じです。 RubyKaigi参加前は “Ruby under a microscope”1 を読んで「Rubyの内側面白い!!!」ってなってたのですが、実際にCのソース読みはじめると全然違いますね。マクロ多いし、C言語のこともわからんし……。 Ruby Hacking Guide こと 『Rubyソースコード完全解説』2 を読んだほうがいいのかもと悩むようになりました。 でもそんな悩みも今日解決されました。これ読めばとりあえずはRubyのレポジトリを泳げるようになりそうです。 ruby/extension.ja.rdoc at trunk · ruby/ruby · GitHub これが非常によいです。まず読んで

    Ruby本体読みはじめた人に届けたいドキュメント - Smoky God Express
    tbpg
    tbpg 2017/09/27
  • 転職して1ヶ月が経っていたようです - Smoky God Express

    タイトルのとおりです。 いつものも置いておくのでよろしくお願い致します。誰からかわかるとうれしいです http://amzn.asia/ehpcSIc (毎度のことなんだけどkindle版をほしいものリストから贈れるようにしてほしいし、並び替えはかんたんにできるようにして欲しいし、並び順は覚えておいて欲しいんだけどなあ……) さて、2017年6月末日づけで某社を退職し、7月1日づけで、某お金を前にするような会社に勤めています。 職種としてはいわゆるWEB系プログラマー(サーバー寄り)という感じです。変わんないですね。 インフラまわりに手を出さなくなったのが前職との違いだと思います。 これは転職とはあんまり関係ないのですが、ついでにせっかくの機会なので一人暮らしを始めてみました。 さらには脱vimしてRubymineを使ってみたりスプラトゥーン2で3D酔いしてみたりしています。 引っ越しのド

    転職して1ヶ月が経っていたようです - Smoky God Express
    tbpg
    tbpg 2017/08/01
    何フォワードなのだろう? "某お金を前にするような会社"
  • podcast #しがないラジオ sp03 にゲストでいってきました - Smoky God Express

    友人podcastを始めたというのは以前に書きましたがそれにゲスト出演してきました。 shiganai.org 好き放題喋ってたら3話構成(3a, 3b, 3c)になるくらい喋っていたようです。3aでは仕事の話、3bでは勉強会とかの話、3cではキモオタトークをしています。ちなみに僕はオタクではないです。 初めてのpodcast出演だったのでちょっと思ったことをまとめておきます。 喋り方について どうも自分の喋り方として声のボリュームの調節を多く使っているようです。強く主張したいときには声を大きく、自信がなさげなときには声を小さくというような表現。たぶん誰もがやってるとは思うのですが僕のは他の人より顕著だと思いました。この手法、普通に話してる分にはいいけどpodcastだと結構厳しい印象です。小さく話しているときにボソボソ声になりすぎている箇所があったと思います。3aから3bの間に休憩いれ

    podcast #しがないラジオ sp03 にゲストでいってきました - Smoky God Express
    tbpg
    tbpg 2017/06/11
    "友人がpodcastを始めたというのは以前に書きましたがそれにゲスト出演してきました。" "3aでは仕事の話、3bでは勉強会とかの話、3cではキモオタトークをしています。"