Code IQ 感謝祭メモ

落合陽一さん、澤円さん、ちょまどさん登壇決定!CodeIQ感謝祭~聞いて触って感じるデジタルアートな1日!~ #codeiq39 : ATND に参加したメモ。全然まとまってない。すみません。 前回までは「第n回」と銘打っていたけど、今回は無いらしい。 落合さん、胡…

【翻訳】「イベント駆動」と言ったら、あなたは何を指しますか?

この記事は、Martin Fowler 氏の What do you mean by “Event-Driven”? を翻訳したものです。 もともと Serverless Architectures を翻訳しようとしていたのですが長すぎて諦めました。。 イベント実施状態転送 (Event-Carried State Transfer) の訳がイマイ…

目的を意識していますか

会社の新人くんから、「常に目的を意識していますか?」と聞かれた。 そのときは「している時もあるし、していない時もある」と答えたが、振り返ってみるとなんだかすっきりしないので一人で考えた。 この問いは、(私にとっては)二つの観点があると気づい…

JavaScript で連続値からカラーコードに変換する

Number の値から赤さを変えたいことがあったので書いてみた。 Number.prototype.toString(radix) なんてあるのね。便利。 でも線形だとイマイチな気もする。あと真っ赤になるのも芸がない。 jsfiddle.net

[ASP.NET MVC] Controller から Json を Camel Case でシリアライズして返す

C#

public class User { public string Id { get; set; } public string Name { get; set; } } public class DefaultController : Controller { [HttpGet] public ActionResult GetPerson() { IEnumerable<User> users; // DB からとってきたりする return Json(users</user>…

画像の解像度を変換する

C#

【注意】画像エンコードのことは全然詳しくないので、本質的に正しいやり方なのか不明。 System.Drawing.Image で読み込んで .SetResolution してもいいのだが、 var image = Image.FromFile(path); image.SetResolution(dpiX, dpiY); System.Drawing は ASP…

2016年に読んだ本から再読したいものを5冊挙げる

去年に引き続き。 自分の中に毒を持て―あなたは“常識人間"を捨てられるか (青春文庫) 不連続的に人生を変えるレベルの一冊。迷ったら困難な方を選べ。困難は、経験して必ずしも成長するわけじゃない。困難を味わうことが人生の醍醐味だ。……なんて書いていた…

定期的に GitHub API を叩いて Slack にポストしたい (3)

最終回 メッセージを Slack に投げる function sendToSlack(message, attachments) { var url = "https://slack.com/api/chat.postMessage"; var token = "token" // Slack のアクセストークン var channel = "#channel"; // 投稿する先のチャンネル var tex…

定期的に GitHub API を叩いて Slack にポストしたい (2)

前回 では PR 一覧を取得したが、ラベルでの絞込やコメントが追加されたかどうかを判定できていなかった。 PR のラベル、コメント数を取得 PR 取得の API ではラベルとコメントを取得できないので別途 API をたたく。 /// ある PR に付与されたラベルを取得…

定期的に GitHub API を叩いて Slack にポストしたい (1)

発端 GitHub でレビューコメントきたら Slack に通知ほしい かといって全部のコメント通知されてもウザい 定期的に GitHub をみにいってコメントが増えてたら Slack に投げる、みたいなの bot を作ろう 全3回の予定。 調べた 「GitHub Slack」で検索すると大…

TransactionScope のネスト

C#

System.Transactions.TransactionScope は Complete を呼ばない限り Dispose されたときにロールバックしてくれる。 テストとか例外処理とかで便利だ。 using (var ts = new TransactionScope()) { // DB に書き込み ts.Complete(); } ネストしてもつかえる…

話しをきく

(この記事は Sansan Advent Calendar 2016 - Qiita 8日目の記事です。技術系の記事にはさまれてますが全然違うことを書きます。) みなさん、コミュニケーションは得意ですか?私は苦手です! しかし、苦手意識というのは人を成長させるもので、私も昔よりは…

HttpClient と using

C#

C# の REST クライアントといえば HttpClient 。コイツは IDisposable の実装なので、例えばこんな感じで using したくなる。 public class MyClient { public async Task<string> Get(string url) { using(var client = new HttpClient()) { var response = await c</string>…

MemoryCache でアプリケーション内キャッシュ

C#

System.Runtime.Caching.Cache を使うと、アプリケーション単位にデータをキャッシュさせることができる。 Web サーバー起動時にデータを読み込んで永続化させたい時などに便利だ。 string GetContent() { var cache = MemoryCache.Default; var content = c…

SI から Web に転職して半年が経った

ので、「よくある SI への不満」に対して、現状がどうなっているかを考える。 私は、 SI が嫌で嫌で辞めた……というクチではないので、そういう人たちの為になるかどうかは自信がない。 最新の技術、開発環境が利用できない 最新の技術ガンガン使っていこう!…

エンジニアとコミュニケーション

前職で学生と面談するとき、次の質問が非常に多かった。 「エンジニア(SE)にはコミュニケーション能力が求められると言われるが、何故か?」 答えやすい回答としては「プロジェクトはチームで進めるものだから」がある。私も就職活動中にいろんなエンジニ…

CodeIQ感謝祭 春のエンジニアまつり

【Jason Danielson氏登壇決定!】第3回CodeIQ感謝祭「春のエンジニアまつり」 #codeiq39 : ATND 行ってきた。 講演者も懇親会も豪華。この規模のイベントを来場者無料でできるのがスゴイ。 どうやってスポンサーに営業かけてるんだろうな。 求人でマッチング…

2015年に読んだ本から再読したいものを5冊挙げる

40冊ちょいから5冊選んだ。観点は「再読したい」なので、「面白かった」「勉強になった」とは少しずれる。 熊とワルツを - リスクを愉しむプロジェクト管理 リスク管理。なんでリスク管理やらないといけないの?という話から、方法論の導入まで。結果的にう…

「道は開ける」読んだ

「不安と闘う術を知らないビジネスマンは若くして死ぬことになる。」アレクシス・カレル 不安といかに立ち向かうか。簡単に書くと以下の内容である。 - 最悪の事態を想定する - ほとんどの場合それよりマシだろう- 紙に書きだしてみる - 後で読み返したら大…

SEのやりがいの話

先日会社で仕事のやりがいについて話す機会があった。 「大変だったプロジェクトをやり遂げた後の達成感」「休日の素晴らしさを感じられる」 多くの先輩からこんな意見が出たが、冗談でなければストックホルム症候群の一種じゃなかろうか。 もちろんそのとき…

「ソフトウェア見積り - 人月の暗黙知を解き明かす」

社内勉強会で発表しました。 Reveal.js で作った資料を GitHub Pages で公開。 http://takerutakahashi.github.io/SoftwareEstimation/

実践ポモドーロテクニック

最近ポモドーロテクニックを実践しています。 ポモドーロテクニックとは タスクを決める 25分間、タスクに集中する 5分間休憩する 1.~3を4回繰り返したら15分~30分休憩する 今日から始める生産性アップ術。ポモドーロ・テクニック再入門ガイド | ライフハ…

「エンジニアのための【業務知識】がわかる本」読んだ

結構なボリュームだが、呼んでみると拍子抜けするほど浅い(悪い意味ではない)。各分野のプロフェッショナルになるには相当の知識が要るのだろうと思い知らされる。 あと会計は本気で勉強しなきゃいかんなと思った。 業務アプリケーションとは何か(何をシ…

オブジェクト指向とコミュニケーション

ソフトウェア開発の原則、高凝集、低結合。 機能を疎結合、責務を分割、データ・振る舞いの隠蔽…… 多くのエンジニアは、業務だけでなく日常的にこれらのオブジェクト指向的な考えを磨いているだろう。 しかし、チーム開発はこの逆があるべき姿なんじゃないだ…

「なぜ人と組織は変われないのか」を読んだ

タイトルはどう見てもありがちな自己啓発本だが、充実した内容だった。 本書に寄れば、その答えは「自らを守る免疫が作用しているから」となろう。 人と組織は、自らの何かを変えようと願うがうまくいかない。このとき、以下のようなメカニズムが生じててい…

結婚式二次会のBGM

先日友人の結婚式の二次会があり、BGMを選曲しました。 参加者からの反響はゼロでしたが、不評が無かったってことはBGMとして正解だったってことで…… 受付〜乾杯 落ち着いたジャズ中心。 Clifford Brown / Hymn Of The OrientClifford Brown / CherokeeWynto…

第3回G-Study参加しました

第3回G-Study ~ 多忙なアナタのための120分!ワカラナイを楽しむオールジャンルなITエンジニア向け勉強会 ~ - G-Study | Doorkeeper 参加してきました。全体として和やかな雰囲気で、敷居の低さ、質問のしやすさが心地よかったです。 LT枠 「おススメした…

Clean Coder

ソフトウェアエンジニアの「プロ」はどうでなければならないか、について述べられている。 技術的なことはほとんど触れられていない。 そこそこのコードを書いて(またはそこそこの設計書を書いて、あるいは勘と経験でチームをマネジメントして……)稼ぎを得…

インテグレーション崩壊

だいたいこんな感じ↓です。 人月単価の計算はダメ ウォーターフォールやめてアジャイルにしろ IT中心のビジネスを考えろ SIerもユーザーも努力しないと泥沼 そんなに間違ったことは書かれてないと思いますが、内容は薄い(2時間もあれば読み終わる)。 あと…

リーダブルコード

読みました。 今日ひさびさに仕事でコード書いたんですが(VBA)、本当に直ぐ効果が出て驚き。 職業プログラマは全員読むべき。 翻訳が自然なので読み返すのが楽な点もすごく良い。