タグ

ブックマーク / udzura.hatenablog.jp (23)

  • 型付きRubyでパーサを書く(前編) - ローファイ日記

    K-Ruby という鹿児島のRubyコミュニティの忘年LT大会でRBSを使ってみた話をします。オンラインですが、九州盛り上げていきましょう! k-ruby.connpass.com それはそれとしてRBSというものに今回ちゃんと触れるので、触れた記録を雑にでも残していこうと思い、ブログを書きます。どれくらい後学のためになるのかならないのかわかりませんが、触ってみたライブな感想をなるべく残しておくのは意味があるでしょう、と。 @yoshikouki さんには「RailsにRBSを入れる方法を教えてください!」って言われてて、俺にRailsの話を聞くのか... って思ったんですけど、 まあその辺の面白そうなトピックは @yoshikouki さんのために取っておこうと思うので、僕はもうちょっと簡単なプログラム、そう、 プログラミング言語のパーサ をRubyで、型付きで書こうと思いました。 最初

    型付きRubyでパーサを書く(前編) - ローファイ日記
    mitukiii
    mitukiii 2021/11/01
  • Rubyで構造体を扱う(ただし、Cの)。あとELFの話。 - ローファイ日記

    飛び入りです。Rubyアドベントカレンダーその2 17日目の記事です。昨日はなんとなく似たような(?)、 Rubyの8進数と2進数の構文エラー文の違い の話です。 qiita.com 今日はRubyで構造体、と言うか、バイナリパックされた構造体を扱う話の触りをします。class Structの話はしない。 さてみなさんは String#unpack/Array#pack を使ってますか? docs.ruby-lang.org すこく正直な話をすると、おそらく多くの方は使っていなくて、使っている方も大半はbase64文字列を生成する m フォーマットぐらいしか使っていないのではないかと推測しています。 ["Hello World"].pack('m') #=> "SGVsbG8gV29ybGQ=\n" ぼくも今まではそうだったのですが、最近は他のフォーマットも急に使うようになりました。という

    Rubyで構造体を扱う(ただし、Cの)。あとELFの話。 - ローファイ日記
    mitukiii
    mitukiii 2020/12/17
  • 私のロールモデル: エンジニア立ち居振舞い番外編 - ローファイ日記

    お題「エンジニア立ち居振舞い」 pepabo Advent Calendar 2016 24日目の記事です。 割と飲みの席とか、某ポエムサービスでは語ってはいるんですが、そういえばブログで書いたことがないような気がしたので父の話をします。 実は今年の福岡での新卒研修で同じような話を若者にしていて、でもまあ、あまりに個人の話なのでとスライドも公開していなかったのですが、せっかくなので内容を加えて書き下します。 僕の父は欄間職人をやっていて、6X歳を超えるいまも自営で東三河の片隅に店を持ってやっていってるわけだけど、僕は子どもの頃からそういう背中を見て育ってきたからか、今の自分を振り返ってみると随分自分の仕事ぶりが影響を受けているなと思ったりする。 今日は、6X歳のいまも職人の父を見ていて思ったこと、あるいは直接言われたことなどいくつかをしたためてみる。 生涯、勉強すること これは僕の父の仕事

    私のロールモデル: エンジニア立ち居振舞い番外編 - ローファイ日記
    mitukiii
    mitukiii 2016/12/27
  • Emacsでmrubyをそこそこ快適に書く - ローファイ日記

    こんにちは、これはEmacs記事です。みなさんはEmacs記事...ではないですよね...。 Haconiwaのおかげですっかりmruby人間になって久しい id:udzura です。 https://t.co/1iLQyn2rV0 バージョン 0.2 系を出しました。rlimit系のリソース制限と、コンテナ内PID=1のuid/gidを変更できます #haconiwarb— Uchio KONDO (@udzura) 2016年7月20日 で、宣伝はこんなくらいにしておきまして、なんとなく流れでセットアップしたEmacsによるmruby環境をこの辺で整理しとこうと思ったので、書きます。というか、ほとんどC言語を書くための環境...。平成が終わるとか終わらないとか言っている2016年にEmacsでC言語を書く環境の記事を書きます。 なお僕は C言語をまともに書いて2ヶ月ぐらいだったり、あと

    Emacsでmrubyをそこそこ快適に書く - ローファイ日記
    mitukiii
    mitukiii 2016/07/22
  • 「それでもRailsを選択する3つの理由」を読んだ - ローファイ日記

    http://ppworks.hatenablog.jp/entry/2015/02/19/223552 ほぼほぼ同意なのですが、フームと思って(ppworksさんプロダクトだから、ということでもないが)ポエムをしたためた。 でもなんかこれをあえてポエムにとどめないで書いたらどういう反応があるかな〜と思ったのでブログにも転載してみよう。 規約縛りの哲学 これは文句なくその通りだと思っていて、Rails以外のフレームワークではこれらの実現が非常に中途半端であると言う印象を持っている。 サービス作りにおいて技術選定やら何やらからの議論をしていてはリリースは当然遅くなるし、あまりしたくないということである。議論するならもっとユーザに近い、正体のよく分からない不安点(このアプリほんとにユーザに受けるの? とか)に関してすべき。 議論は一般的に良いことのように思われているが凄い体力を使うし、当に必

    「それでもRailsを選択する3つの理由」を読んだ - ローファイ日記
    mitukiii
    mitukiii 2015/02/23
  • 東京はもう古い、これからは福岡 - ローファイ日記

    タイトルは言ってみただけだが、若干の補足をする。 元ネタ: 東京はもう古い、これからは京都 - ゆううきブログ とりあえず現在、天神と言うデパートが3軒とパルコその他と12軒程度のスターバックスがある都市の徒歩圏内に3LDKを借りて住んでいるが、非常にQoL高い感じはする。博多という阪急百貨店と新幹線がある駅にもすぐ出られる。 この条件だとインターネット情報では平均13万とか出てくるが、11万ぐらいであると思う。 あと僕はぶっちゃけ魚嫌いだったんだが好きになった。玄界灘はやばい感じがする。 米、鶏牛豚、魚、野菜など、日常の事に必要な材は実はほとんど九州島だけでまかなえるからか、とにかく国産の材がとんでもなくリーズナブルに手に入ってうまい。 福岡に住んでまだ一年なのでおすすめの店は地元民の紹介に譲るが、ベースの材がおいしい。後は分かっていただけるかと思う。大名、赤坂などの地域には隠れ

    東京はもう古い、これからは福岡 - ローファイ日記
    mitukiii
    mitukiii 2014/11/27
  • 最近のHubotの運用とか - ローファイ日記

    Hubot、前職から色々試して運用してきたが、1年半ぐらいいろいろいじくってるのもあってそろそろ一旦まとめてみたい感じ。 Hubotに関しては hubot/docs at master · github/hubot · GitHub あたりは一通り斜めに読んだが、「僕はこう思ったッス」ぐらいな感じでやっているコードや運用が多いので、適宜マサカリングしていただければと。 便利スクリプトのご紹介 とりあえずこんなの書いた自慢から。 リンク自動で取るやつ request = require('request') cheerio = require('cheerio') URI = require('URIjs') module.exports = (robot) -> getTitle = (msg, uri) -> request uri, (err, response, html) -> i

    最近のHubotの運用とか - ローファイ日記
    mitukiii
    mitukiii 2014/11/04
  • Capistrano3 プラグインの e2e test を CI する - Docker を添えて - - ローファイ日記

    tl;dr Comparing 8025d43...070e781 · asonas/capistrano3-puppet · GitHub 経緯 Capistrano3 割と使ってて、特に asonas/capistrano3-puppet · GitHub はギョームでバッチリ使ってる でも、ギョームで使ってるのに自動テストがないので気持ちが悪い。Capoistrano(3)のプラグインってほとんどテスト書かれてないのでは... 何も参考に出来ないので、どう書けば良いのか... Docker使えばsshロギンしてチェックアウトして実際動作で確認できるのでは Cap 3 からはタスクがタダの Rake Task になったので、Rake Taskのテストを書くのと同じようにテストできるかもしれないが、大量の stubbing が必要になる感じがしたので今回は e2e な感じのテストを雑に書

    Capistrano3 プラグインの e2e test を CI する - Docker を添えて - - ローファイ日記
    mitukiii
    mitukiii 2014/10/16
  • Railsバージョンアップ大変じゃんへの違和感 - ローファイ日記

    当該の件夜中に色々考えたら ロードマップ指向とエコシステム指向 - アンカテ という話である程度説明できるんかな〜と思った。で、求めてるものが違うんで議論にならないのも仕方ないな〜と言う。 なんかまあ、まず普通に 結局ちゃんと知識を持っている人がいるフレームワークを選んで保守して行くという話で、Railsな人がいればRails、Springな人がいればSpringでいいのでは。どっちかと言うと自分で選んでコミュニティに貢献して寿命延ばすみたいなほうが前向きでいいと思う— Uchio KONDO (@udzura) 2014, 8月 26 と思っていて、 その上で、Ruby on Railsは代表的なエコシステム型FLOSSなので、フレームワークとかに求めているのがただ便利とか、ただ堅牢とかだとそもそもずれが生じるよなあって思う。一時的ならともかくずっと付き合って行く前提ならなおさら。 Ra

    Railsバージョンアップ大変じゃんへの違和感 - ローファイ日記
    mitukiii
    mitukiii 2014/08/27
  • 第二新卒研修をしていた - ローファイ日記

    雇用流動情報の季節ですが、いかがお過ごしでしょうか。雇用流動と間接的に関係のある記事を書きます。 標記の通り、研修をしていたのでその内容をまとめたり振り返ったりする。 思ったより長くなったぞ... 背景とか がっつりとしたWeb開発の経験は無いが、情熱があり、コミュニケーション能力など基的な能力が高そうな、年齢の若い方が応募されたので、いわゆる「第二新卒」と言う扱いで研修を前提に採用した。で、その研修のカリキュラムを主にぼくが考えて実施していた。 といっても、今までに積み上げてきた新卒向け研修のカリキュラムやノウハウを眺めてエッセンスを抜き出すみたいな感じだった。 ペパボ新卒デザイナーとエンジニアの研修ブログ ペパボ新卒エンジニアの研修を開始している - HsbtDiary(2013-05-22) ペパボ新卒エンジニア研修 前編 | blog: takahiro okumura ペパボ新

    第二新卒研修をしていた - ローファイ日記
    mitukiii
    mitukiii 2014/08/01
  • NEW GAME! と言う漫画を読んで感極まってHubotプラグインを書いた - Beating the Averages(just like me)

    2014-07-29 NEW GAME! と言う漫画を読んで感極まってHubotプラグインを書いた NEW GAME! と言う漫画が流行していたので購入して読んだ。ドチャクソ良かった。 たまたま、 http://zoi.herokuapp.com というウェッブアプリケーションを見つけたので、インスパイアされて Hubot のプラグインを書いた。 hubot-zoi 使い方は大変簡単で、各人のHubotプロジェクトで以下を実行し、 $ npm install --save hubot-zoiexternal-scripts.jsonの中身に"hubot-zoi"をぶち込めば良い。設定もいらない。hubot, zoi で便利な画像がチャンネルに共有される。 しくみ はじめ、 http://zoi.herokuapp.com のトップからスクレーーピングすれば簡単やーんと思っていたらAngu

    NEW GAME! と言う漫画を読んで感極まってHubotプラグインを書いた - Beating the Averages(just like me)
    mitukiii
    mitukiii 2014/07/29
  • Sinatra frameworkに関する私見 - ローファイ日記

    エクスキューズとか 正直な話をすると、Webフレームワーク自体に関する興味は以前に比べて失われてきているので、最新のSinatraの細かいコミットまでは追っていない。 だが、2年強ほど Sinatra/Padrino 界隈を追いかけてきて得た知見と言うか考えについてまとめるのは一定の価値がある、少なくとも自分に取っての価値は非常に大きいと思うのでここに書いていきたい。 副次的には、ミスコンセプトによってSinatraを利用して、結果必要の無いイメージの悪化を招く事態を一件でも減らせればと思う。 Sinatraはmicroframework、あるいは「フレームワークではない」 公式の説明にある通りである。 具体的にどういうことかと言うと、Sinatra単体ではウェブサービスに必要な要件を満たさないかもしれないと言う話である。Sinatraが持っていないものについては、Sinatra以外の場所

    Sinatra frameworkに関する私見 - ローファイ日記
    mitukiii
    mitukiii 2014/07/24
  • パーフェクトRuby on Railsという本が出ます。 - ローファイ日記

    標題の通りが出て、それに関わっています。 まずは、共著者諸氏の記事その他をご参照ください。 パーフェクトなRailsを書きました - joker1007の日記 パーフェクト Ruby on Rails というを書きました - willnet.in Twitter / Search - #sugamasao_sushi の売りとか willnetさんとjokerさんのエントリの通りなんですが、Rails 4.1に滑り込みで対応したことはあります。あと何より、敢えて内容に「現場っぽい、仕事でずっと使っていたエンジニアの観点っぽい」バイアスを掛けているところだと思います。 個人的には、今まで書籍という形では取りこぼしていたようなRailsのフィーチャーの説明とか、中盤、ある程度きっちりしたアプリの設計、コーディング、テスト、サーバのプロビジョニング、デプロイ、監視設定までを一気通貫でや

    パーフェクトRuby on Railsという本が出ます。 - ローファイ日記
    mitukiii
    mitukiii 2014/05/05
  • 情報共有おじさん - ローファイ日記

    プロジェクト全体のMLにエラー通知メール飛ばすのうざい」、「〜についてはみんながいるチャンネルで相談すべきことではない」みたいな指摘がある。 個人的には情報は可能な限り広いスコープで公開してほしいし、自分でもそうしようとしている。まだ未熟なので霊力に負けることもあります...。 というのも、「情報が届いていない」ことによる不利は仕事上非常に大きいし、場合によって致命的になるので、むしろ冗長化して届けられているべきなのである。 あと、情報が多ければ多いほど普通は判断が適切になると思うので、情報が広く共有されていると言うことは、チームメンバー一人一人が自分で判断できる材料を持ちやすくなると言うことにもつながる。スクラムとか色々言われているけど「一人一人が自分で判断できる」ということはどういう開発スタイルでも大事だと思う。 なのでむしろみんながいる場で議論していたり、細かい情報をどんどん流して

    情報共有おじさん - ローファイ日記
    mitukiii
    mitukiii 2014/04/04
  • Ruby 連載最終回です - ローファイ日記

    http://gihyo.jp/magazine/wdpress/archive/2014/vol79 最終回は、mrubyとmod_mrubyに関する情報です。 査読はmod_mruby作者である@matsumotoryさんご自身に依頼させていただきました。ありがとうございました。それから、たまたまFukuoka.rbにきていらしたまつもとゆきひろさん人に見ていただいて、質問をしたり、感想をいただけたのもありがたいことでした。 最終回に、mrubyと、mod_mrubyという非常にクールで、未来を感じさせてくれるプロダクトを紹介できて大変良かったと思います。 そして11回に及ぶ連載、正確にはその一回前から記事を書かせていただいていたので、丸2年間WEB†DB PRESSという雑誌にお世話になりました。前担当ニタサカ氏と最終回までの担当である@inao編集長にはスーパーウルトラご迷惑をお

    Ruby 連載最終回です - ローファイ日記
    mitukiii
    mitukiii 2014/02/20
  • 過去の自分を救いたいプログラマの話 - ローファイ日記

    闇 Advent Calendar 2013では、青臭い話もネガティブな話もして良いそうなので、これから小説を書きたいと思います。 ぼくはプログラマなのだが、ぼくの仕事の考えの真ん中にあるのは、実は技術的なエッジに触れているとか、あるいは給与がいいだとか、そういうことは結構どうでも良くて、たとえば孤独なチームメイトを作らないとか、業務知識を一人で抱え込むのを辞めさせるとか、一人一人に当事者意識を持ってもらうとか、そんな青臭いけど単純なことである。 ただのスクラムの影響、言われればそれまでだが、その根底にあるのは「過去の自分を救いたい」と言う感情だと思っているし、この考えの根底が作られた当時はスクラムなんかろくに読んでいなかった。 過去、とある会社に所属していたとき、辞めるまでの後半の1年ほどは当に辛くて、入社して2年ほどしかたっていないぼくが、2000年代の初めだかに誕生したレガシー

    過去の自分を救いたいプログラマの話 - ローファイ日記
    mitukiii
    mitukiii 2013/12/26
  • Joined paperboy&co., and will move to Fukuoka - ローファイ日記

    と言うことで paperboy&co. に入社しています。 技術基盤グループのエンジニアとして働いていますが、今後はロースおじさんの中の人ポジションを狙ってがんばろうと思います。 それから、11月下旬より福岡支社勤務となります予定です。つまり生活の基盤を福岡市近辺に移します。特に福岡周辺のエンジニアやWeb系の方々、よろしくお願いいたします。仲良くしてください。 ではまた! (TODO: ナイスな画像を探す)

    Joined paperboy&co., and will move to Fukuoka - ローファイ日記
    mitukiii
    mitukiii 2013/11/12
  • あんまりエモくない自分のキャリアまとめ(もうすぐ30だしね!) - ローファイ日記

    B社時代 たまにひとに言ってるんだけどぼくは元々新卒の頃マスコミばかり受けていて、最初のキャリアは新聞社で始まった。ただし社内SE。 当時のジョーシ氏は技術畑の人では無かった(むろんLinuxRDBの知識などは当時のぼくが敵わないレベルには勉強していた)のだけれど、今でも割と影響を受けていて、なんか「人にフォーカスする」みたいなことを盗んだような気がしている。今でもチームや他部署の人を観察するのとか、人間関係も基的にP2Pでつくる癖があるんだけどこの辺の動きが影響を受けている。 「人にフォーカスする」はぼくのプログラマとしての働き方の根底にある気がする。ルビーコミュニティーの影響もあると思うけど多分当時のジョーシの影響の方が強い気がするな、と最近久しぶりに呑んで思った。 F社時代 自分の未熟さ故に自分の思ったモノ作りはできていなかったかもしれない。学んだこととしては主に3つあった。 ひ

    あんまりエモくない自分のキャリアまとめ(もうすぐ30だしね!) - ローファイ日記
    mitukiii
    mitukiii 2013/11/12
  • もしぼくが採用するなら - ローファイ日記

    今後役立つ日も来るかもしれないのでメモしておく。Rubyist寄り。 CSに全く興味がない人はきつい 計算機に関する学科を出ていなければ門戸を開かないと言うのは、人不足の現実から言っても厳しいだろうが、我々の用いる道具に関する最低限の足腰は欲しい。 エラストテネスの篩を説明できるとか クイックソートの計算量のオーダは何で、それはなぜか説明できるとか サブネットマスクとは何かを説明できるとか 簡単な帳票を見せて、それをすらすら正規化できるとか 別に「たまたま知らない」とかはあり得るんだが、ポロポロ欠けていると、それまでの勉強の仕方を疑わざるを得ない感じがする。 とはいえ、Rubyistならウェッブ系と言うかサーバ寄りだろうからRDBやネットワークの知識はある場合が多い気もする(経験上身に付きやすいですよね)。でも、ぼくも割とアルゴリズムを勉強してるとかは大事だと思う。単純にいろいろな技術的ド

    もしぼくが採用するなら - ローファイ日記
    mitukiii
    mitukiii 2013/08/18
  • 小さなgemの代わりにプロジェクトに含む形で機能をホストすること - ローファイ日記

    理想的には共通化できる機能は切り出してgemにすることだけれど、次の理由から標記のパターンもなくはないのかも、と思いつつある。 外部gemより、同じプロジェクトのlibに転がっていた方が、正直トラブルがあったときに追いやすい 数行で実装できるものを外部gemにするのは大仰な感想を受ける 現実問題、まだbundlerがそこまで賢くない時がある。また、gemであると依存関係を解決できない場合もある 外部gemのオーナーは我々ではなくそのgemの開発者である。よって必要十分な機能をgemが有しているとは限らない。要らないコードが邪魔をするパターンすらあり得る。といいつつむやみなforkはやっぱり不格好 正直、次に挙げる程度の機能はプロジェクトに入っていた方が小回りが利くね、という気がしている。実装のコードを思い浮かべてほしい。ホントに数行だし、ActiveSupport::Concernを使えば

    小さなgemの代わりにプロジェクトに含む形で機能をホストすること - ローファイ日記
    mitukiii
    mitukiii 2013/05/17