@ledsun blog

Hのキーがhellで、Sのキーがslaveだ、と彼は思った。そしてYのキーがyouだ。

Ruby2.6 に関数合成オペレータが追加されたのでFizzBuzzで遊ぶ その2

ledsun.hatenablog.com の続きです。 もうちょっと関数合成しがいのある書き方を思いつきました。 fizz = -> x {[x, ('Fizz' if x % 3 == 0)]} buzz = -> (x) {[x[0], x[0] % 5 == 0 ? "#{x[1]}Buzz" : x[1]]} filter = -> (x) {x[1] || x[0]} do_fizzbuzz =…

RubyKaigiに行く意味とは?

結論をいうと「RubyKaigiに行くと自分が世界最高のエンジニアになる可能性」が得られます。どういうことでしょうか? 目的地を知らないとどうがんばっても目的地にたどりつけません。当たり前の話です。エンジニアとしての成長も一緒です。自分がエンジニア…

SIerでのプログラマ教育

現状は次の記事に非常にリアルに書かれていると思います。 www.megamouth.info 現状わかったから、じゃあ、どうしようか?という話を書きます。 今回扱わない話 適性ミスマッチについては扱いません。 新卒でIT企業に開発職で入ってみたが、プログラマが向い…

2018年のふりかえりだとか2019年の目標だとか

2018年のふりかえり 発表 5回発表しました。 speakerdeck.com Qiitaの記事のテキスト処理をして遊んでいたので、Qiitaのファンミーティングで紹介していみました。 PANQは今でも動いてはいますが、最近は開発を止めています。 speakerdeck.com RubyKaigiでの…

Ruby2.6 に関数合成オペレータが追加されたのでFizzBuzzで遊ぶ

fizzbuzz = -> x { x % 15 == 0 ? 'FizzBuzz' : x % 5 == 0 ? 'Buzz' : x % 3 == 0 ? 'Fizz' : x } p_fizzbuzz = -> x { p x } << fizzbuzz 1.upto(15){ | n | p_fizzbuzz.call(n) } pと合成するだけでは面白くないですね。 fizz = -> x { (x.is_a? Integer)…

#railsdm Rails Developers Meetup 2018 Day 4 Nouvelle Vague で発表しました

Rails Developers Meetup 2018 Day 4 Nouvelle Vague で発表してきました。 趣旨は「ActiveRecordやActiveJobなどのRailsの用意した抽象インタフェースを使うと、アプリケーションのミドルウェア構成、ひいてはアーキテクチャの決定を遅らせる事ができる。そ…

builderscon tokyo 2018 で得たもの #builderscon

一ヶ月前の話ですが、やはり印象深かったので書きます。 植山類さんのセッション るいさんのセッション大変良かった。伝説のロックバンドのライブを見た気分。ライブビデオを発売して欲しい。10年後、若者に「おじさんこのセッション生で見たんだぜ」て自慢…

メンバーの教育を(有期の)プロジェクトリーダーの責務に入れてはいけない

t.co を読んで考えた話です。 30歳近くになっても無能、ということは、そいつはほとんどの場合、一生無能だ と刺激的な言葉が使われています。 状況を限定すれば、一理あると感じる点があります。 表題の「メンバーの教育を(有期の)プロジェクトリーダーの…

革ベルトを作る計画を立案せよ

動機 レザーパンチを買ってベルトに穴を開けていたら、革ベルトが作りたくなりました。 予算と手順を立ててみます。 方針 なるべく工数を下げ、可能な限り早く完成にたどり着いて、お手軽に達成感を得ます。 そのため、 手作業での革のカット 手作業での革の…

ミントチョコレートの起源

アイスに限らずにミントとチョコレートの組み合わせの起源を探ります。 1962年 アフターエイト アフターエイトは初めて知った大人のミントチョコレート : イギリスの食、イギリスの料理&菓子 アフターエイトは、1962年にイギリスで生まれたチョコレート菓子…

Ruby on Railsの開発環境でマルチスレッドでクラス定義を探索すると刺さるが再現できなかった話

現象 Ruby on Railsの、ActiveJob内で起動したスレッドで非同期にDBに書き込もうとすると、ActiveRercordのクラス探索で無限に待って固まります。 わかっている条件 ActiveJobで起きる ActiveJobのQueueAdapterにはAsync adapterを使っている DBへの接続以前…

<Repository (class)> yielded |nil| to block with

RSpecMockで見慣れないエラーが起こせました。 再現コードをメモります。 class Repository; end RSpec.describe do it do expect(Repository).to receive(:doc).and_yield(nil) Repository.doc {} end end 実行すると ~ rspec spec.rb F Failures: 1) shoul…

Node学園 31時限目でLTしました #tng31

Node.jsの並列プログラミングについて話してきました。 大量のhtmlファイルをパースする処理を、 child_process.forkを使って複数プロセスへ分散した話をしました。 また、worker_threadsを試した話をしました。 めっちゃフィードバックがもらえて楽しかった…

#rubykaigi 2018でLTしました

会社がお金を出してくれるのでRubyKaigiへの参加が決まっていました。 どうせ参加するなら何かしら発表したいです。 LTに応募したら通りました。 資料です。 speakerdeck.com 結論に被さるぐらいの勢いで銅鑼が鳴りました。 英語で発表 英語での発表にチャレ…

Roy Fieldingの論文

qiita.com RESTについてRoy Fieldingの論文原著を必ず読んでください 本文は読んでいません。周辺情報を調べてみました。 Architectural Styles and the Design of Network-based Software Architectures が論文全体です。 ネットワークを使ったアプリケーシ…

面白かったけど役に立てられる気がしないセッション #rubykaigi

Hijacking Ruby Syntax in Ruby Hijacking Ruby Syntax in Ruby from SATOSHI TAGOMORI クレイジーでした。Binding#local_variable_set や TracePoint を使ってRubyの言語仕様を拡張しようという趣旨です。 CRuby本体を拡張せずに、新文法のProof of concept…

印象に残ったセッション #rubykaigi

Ferrari Driven Development: superfast Ruby with Rubex Parallel and Thread-Safe Ruby at High-Speed with TruffleRuby (Keynote) Ferrari Driven Development: superfast Ruby with Rubex RubyのC拡張を作るためのプログラミング言語の話でした。 グルー…

仙台駅から国際センターまで歩く #rubykaigi

1.5kmぐらいですが、だらだらと見物しながら歩いて1時間ぐらいでした。 市街 街に歴史あり 大町西公園駅から広瀬川を渡る 主要部から徒歩圏内でこの景観 ゴール 伊達家の家臣のお家の跡にカンファレンスセンター

アルゴリズムとデータ構造をたどるWebサーフィン

#rustfestの発表 yoshが #rustfest の発表が、すごい面白かったとツイートしているのを見ました。 Reading list:- https://t.co/CSO8OCB3jM- https://t.co/Zr6BBRa1yeAnd more, linked in the slides: pic.twitter.com/eafHj3oTDj— yosh at rustfest (@yoshu…

fluxのstoreはMVCのモデルではない

結論 要約 背景 本文 MVCが考えられた時代 PDSとMVC 現代Webフロントエンドの複雑さ PDS適用の困難さ PDSの放棄とプレゼンテーションモデル 結論 宣伝 結論 fluxのstoreは、(意味があって)「プレゼンテーションとドメインの分離」(PDS)に則っていないの…

RubyKaigi 2018 参加に関するお金の話

弊社では、今年からRubyKaigi 2018への参加支援を始めました。 今年は3人の参加者がいます。 主にお金周りの準備の仕方のメモを残します。 参加費 参加者個人で申し込んで支払いました。 以下の文書で経費精算 doorkeeperからの支払い確認メール Paypalから…

#技術書典 #技術書典4 で「現代Webフロントエンドデザインパターン」を頒布しました

#技術書典 #技術書典4 設営完了 pic.twitter.com/JA8bUWU1zt— ぎゃばん@技術書典4 か-20 (@ledsun) 2018年4月22日 サマリ 完売。 赤字にならなかった点で成功、真の需要がわからなかった点で失敗でした。 電子版 在庫切れてしまったので、電子版を用意しま…

#技術書典 #技術書典4 で「現代Webフロントエンドデザインパターン」を頒布します

techbookfest.org モチベーション これを解消したくて「現代Webフロントエンドデザインパターン」書いているけど、とてもSPA/SSRまではたどりつかない。(それ以前の部分で、僕の書く同人誌としては、十分のボリュームになっている。) https://t.co/BSMQwPR…

また又・エンジニアの採用面接対策 コメントへの回答

愛の告白 就職活動は愛の告白のような活動です。 面接官と応募者は、何かに怒っているのだろうか?意見を交換して「価値観が合いそうですね、一緒にやりましょう。」or「価値観あわなさそうですね、やめましょう」を判断する場なので、怒る必要はないと思う…

続々・エンジニアの採用面接対策 コメントへの回答

学習力無力感 給与と待遇 志望動機 写経 業務時間外の学習の強要 学習力無力感 エンジニアの採用面接対策 - @ledsun blog組織内での過去の経験から、相談が無駄だと思われてしまったケースもありそう "一人で不満を溜め込んで、やめることを決めてしまう人"2…

続・エンジニアの採用面接対策 コメントへの回答

エンジニアの採用面接対策 - @ledsun blog技術的なことについて自学自習できる人を見抜くコツが知りたい。簡単なテストをしてもあまり無意味な気もするし、めちゃくちゃ勉強はできるけど、仕事に全く活かせないorスピード感を掴めない人もいるし。2018/02/02…

エンジニアの採用面接対策

paiza.hatenablog.com に、面接で落とした理由があります。 最近は技術者が面接をすることが多いです。 技術者は採用面接に不慣れなことが多く、質問が下手くそです。 面接官側の不手際で、コミュニケーションに齟齬があって落ちていることもあると思います…

2017年にやった技術的なチャレンジ

一年を通して チャレンジ UIのデザイン変更のためにDOM更新アルゴリズムの共通化 サーバサイドのクエリ生成・実行処理の無限リスト化 Wampリクエスト処理の並列化 RailsのDBコネクションプールの統計値を取得 その他 Redmineプラグインの作成 IoTゲートウェ…

「有名な統計力学ゲーム」をcanvasで表示してみる

今回のテーマ 前回の ledsun.hatenablog.com では、やり取りの結果をSVGのレーダーチャートで表示しました。 SVGではやり取りが1000回を超えると快適に表示できませんでした。 今回は、canvasのレーダーチャートに表示します。 チャート See the Pen statist…

「有名な統計力学ゲーム」をレーダーチャートで表示してみる

今回のテーマ 前回の ledsun.hatenablog.com では、分配アルゴリズムの実装と結果を数値で表示しました。 今回は、アルゴリズムには変更を加えずに結果をレーダーチャートで表示します。 チャート See the Pen statistical_mechanism_on_chart by shigeru.na…