ブックマーク / bugrammer.hateblo.jp (15)

  • 日報: とある企業に面接に行ってきた(1) - Line 1: Error: Invalid Blog('by Esehara' )

    今日の風景 転職しようとする人のモノマネです 文 シリーズもののように、連番は付けているが、これが続くかどうかはわからないが、感触からすれば続くだろうなと思ったので連番にしようと思った。 一般的に、最近の企業ならば、面接者にコードを書かせるかと思われる。とある企業では、事前に聞いていたテストだったので、ここで種あかしするのは野暮であり、と同時に一部には「とある企業」の「とある」が分かってしまうので、曖昧にぼかすのだけれども、基的に自分はREPLに甘やかされていて、それで通らないコードを提出してしまった。 なので、今からでもいいから「そのソース書きなおさせろ」と殴りこみをかけたいものだが、良識を分きまえているつもりなので、それは知なかったが、動かないコードが、あとから動かないと気がついて、面接会場から出るというのは、当に恥かしい経験で、穴があったら入りたいどころか、穴二つ分作りたい気分

    日報: とある企業に面接に行ってきた(1) - Line 1: Error: Invalid Blog('by Esehara' )
    tbpg
    tbpg 2016/10/25
    each_entry_with_meshitero
  • Rubyのグラフライブラリ(gnuplot)で砲台ゲームを実装しよう - Line 1: Error: Invalid Blog('by Esehara' )

    今日の風景 寿司の電子工作 はじめに 今は廃刊してしまった、昔懐しい『ベーシックマガジン』という雑誌には、大抵簡単なゲームのコードが載っていた。俺を含めたパソコン少年は、そのコードを見ながらパチパチとコードを打っていたわけだが、そういったサンプルコードリストの一つに、大抵は「砲台ゲーム」というものが存在していた。 仕様としては、ある範囲が的になっており、角度と強さを指定し、投射線を描写する。的の範囲に入っていたら的中となり、的の外になっていたら外れということになる。 大抵、このゲームに関しては、30代から40代にBASICを触っていたおじさんであるならば、何処かで見たことがあると思うのだけれども、舞台がWebになった現代には、このような「砲台ゲーム」を作るといったようなサンプルを見ることは殆どなくなった。 で、前回にRubyからgnuplotを触るエントリを書いたわけだけれど、「あれ、グラ

    Rubyのグラフライブラリ(gnuplot)で砲台ゲームを実装しよう - Line 1: Error: Invalid Blog('by Esehara' )
    tbpg
    tbpg 2016/10/15
  • 日報: 「0点を50点にする人」と「50点を100点に近づけていく人」 - Line 1: Error: Invalid Blog('by Esehara' )

    今日の風景 プロトタイプとプロダクトの違いを視覚化したものです 雑談 今現在、プログラミングのリハビリもかねて、自分のできる範囲で知人のプロダクトを手伝っている。進捗的にはそこそこ理想的な進捗になっている。これはVue.jsのおかげであるのが殆どで、たぶん、普通にjQueryでスクラッチで書いたら、今の工数の5倍はかかっていたと思う。それだけ、UI周りの挙動をライブラリに丸投げできることは、とてもいいことである。そのあたりについては、過去のエントリに書いたので参考にしてもらえれば、と思う。 「日報」という題名が付いているときは、大抵は証拠の無いことを、自分が思ったままに書くエントリということになるんだけど、今回もそういったエントリになる。最近ちょっと思ったのは、いわゆるWeb系エンジニアと呼ばれる人達には、プロトタイプを作るのが得意な人と、プロダクトとしてリリースするのに品質を上げていくの

    日報: 「0点を50点にする人」と「50点を100点に近づけていく人」 - Line 1: Error: Invalid Blog('by Esehara' )
    tbpg
    tbpg 2016/10/09
    "自分が「0点から50点にするのに向いている人間」か、あるいは「50点から限りなく100点に近づけていくのに向いている人間か」を意識すること"
  • Jupyter Notebook + RISE でスライド作ってトークしてきたというお話 - Line 1: Error: Invalid Blog('by Esehara' )

    今日の料理 Cookdo麻婆豆腐と手作り麻婆豆腐の自炊戦争が行なわれてから十数年たつが、正直Cookdoの麻婆豆腐の味は忘れてしまった。とはいえ、あらためてCookdoで作る気にはならんなー、ということで、丸善屋の麻婆豆腐の素を手にいれて作った。 メリットとしては、素には挽肉も入っているので、挽肉を炒めるという工程、同様に量にあわせて豆板醤を混ぜあわせるといった行為をしなくてもいいという部分にある。しかし、辛口を買ってきたつもりが、意外と辛くなく、がっかりするということもある。辛めの麻婆豆腐が好きであるならば、自炊したほうがいいのかもしれないな、というのが現状の結論である。 概要 Jupyter Notebookという、ブラウザ上で使えるREPL環境がある。これを使うと、RubyPythonのコード結果を書き残しながら操作できるという利点がある。またこのJupyter Notebookに

    Jupyter Notebook + RISE でスライド作ってトークしてきたというお話 - Line 1: Error: Invalid Blog('by Esehara' )
    tbpg
    tbpg 2016/07/05
    アイキャッチ画像を見て麻婆豆腐を食べたくなって、麻婆ラーメンを出している店にランチを食べに行きました
  • 何故、「そのプログラミング言語」で関数型プログラミングをするのが難しいのか - Line 1: Error: Invalid Blog('by Esehara' )

    近況 未来が脅す右手の指 ナイフが滑る左手首 朦朧と過ぎる日曜日 消えた秒針 数えた生久伸 このままでいいのか 俺はお前は 迷路の中 IT'S MY WORLD ――『KOKORO WARP』SHAKKAZOMBIE 問題 多くの人々にとって、既存の慣れ親しんだプログラミング言語で、最新のスタイルを身に着けたいと思うのが人の常だと思う。今宵、流行りのスタイルと言えば、恐らく「関数型プログラミング」になると思う。 混乱を避けるために、ここで一つ定義をする。ここで言う「関数型プログラミング」の定義とは、「副作用を出来るだけ避け、関数の連続によって書くプログラミング手法」という風にする。そして、このときの「関数」とは、「ある入力に対して、一定の出力を返すもの」という風に定義することが出来る。 さて、ここで二つの主題がある。まずひとつに、「副作用を出来るだけ避ける」という点と、「関数の連続によって

    何故、「そのプログラミング言語」で関数型プログラミングをするのが難しいのか - Line 1: Error: Invalid Blog('by Esehara' )
    tbpg
    tbpg 2015/08/11
  • 出社準備完了 - Line 1: Error: Invalid Blog('by Esehara' )

    はじめに 21世紀になっても、まだ人類の課題として残されているのは、「出社」という概念だろう。IT業界だと、リモートワークも増えつつあるけれども、やはりまだ出社に縛られているというのが現状といったところだろう。 たいてい、出社のアンチパターンは二つあって、「そもそも朝起きられないから遅刻するパターン」と、「朝起きられるのだけれども、出社までに精神のブートが間に合わずに、遅刻するパターン」がある。このようなことを書いている僕は後者のパターンである。そこで、これの改善策に「出社へのモチベーションを高める」というのがあるというのに気がついた。出社へのモチベーションを高めるには、出社したくなるようなことをすればいい。そこで、「出社準備完了」の準備をするという方法を取ることにした。 出社準備完了の歴史 その前に、出社準備完了の歴史みたいなのを書いておかないといけない。 元々「出社準備完了」とは、to

    出社準備完了 - Line 1: Error: Invalid Blog('by Esehara' )
    tbpg
    tbpg 2015/08/10
  • 今日のポエム: なぜ、その抽象化は失敗してしまうのか - Line 1: Error: Invalid Blog('by Esehara' )

    近況 打ち捨てられた過去について 要旨 この記事を興味深く読む一方で、やはり違和感を覚える人も多くいるようで、自分もその一人だった。恐らく、この違和感は、「抽象化」が「具体性を奪取していくもの」といったような対立項として述べられているからだ、というように思われる。しかし、果たして具体性無しに「抽象化」することが有益なことなのだろうか。それが一つの違和感のように思われる。 文 プログラミングの世界には、YAGNI原則(You ain't gonna need it)というものがある。また、YAGNIという言葉を使わなくても、「過度な汎用化が足を引っ張る失敗例」というのは、プログラマとしての心構えを書いたの中で、ちらほらと自嘲気味に述べられることがある。 僕も、一度そのような失敗例を見たことがあるけれど、なぜこういう失敗が起こるのか。確かにデザインパターンで組み立てられたアーキテクチャは「

    今日のポエム: なぜ、その抽象化は失敗してしまうのか - Line 1: Error: Invalid Blog('by Esehara' )
    tbpg
    tbpg 2015/08/06
    "哲学者のヘーゲルというおっさん"
  • Rubyで実行可能な遺書 - Line 1: Error: Invalid Blog('by Esehara' )

    近況 はじめに 恥の多い生涯を送って来ました。 自分には、人間の生活というものが、検討つかないのです。 このような身分の人間が、稀代の文豪と比較されるのも痴がましいのですが、自分は時折、まるで「太宰治のやうだ」と比喩ーーもしかすると揶揄なのかもしれませぬがーーされることが多くありました。 今日は舶来の行事であるところのエイプリルフウルが行われ、企業が浮かれ気分で犬にも与えられぬようなサイトを立ち上げるのが流行るので御座います。自分は、性根が心の底から腐っており、「ふん、莫迦々々しい」などと不貞寝し、一晩明けました。 「おれはどうしたのだろう?」と自分は思いました。というのも、自分の部屋、少し小さすぎるが見慣れた部屋が、どうもイツモの感じではありません。テーブルの上には、マックブックの他に、睡眠薬であるカルモチンがコロコロと転がっているではありませんか。自分はレヰルズで生計を立てるルビヰスト

    Rubyで実行可能な遺書 - Line 1: Error: Invalid Blog('by Esehara' )
    tbpg
    tbpg 2015/07/30
  • 『マンガでわかる!関数型プログラミング』という漫画を連載することになるようです - Line 1: Error: Invalid Blog('by Esehara' )

    近況 ふとした瞬間に虚しくなることがある いきさつ 今年、秀和システムから関数型プログラミングに関するが出て、良くも悪くも、そのが注目を集めることになってしまいました。そんな中で色々な人が反応していましたし、自分もこのようなかたちで感想を書きました。 一方で、このようなを書かれるくらいであるならば、自分で真っ当なを書けばいいわけだし、技術書を書くことなんて、そんな敷居の高いことではないというカウンターもあり、個人的にはそれも最もだなあ、という印象がありました。その中で自分なりに関数型プログラミングについて理解したことを元にQiitaに駄文をアップしたりしていました。間違ってたら、誰かが訂正してくれるだろうし、そのほうが自分にとって勉強になるだろう、と思うので。 ですが、「関数型プログラミング」というのは「なんだか難しい」という印象を覚えるのも事実のようです。実際に、最新の『Soft

    『マンガでわかる!関数型プログラミング』という漫画を連載することになるようです - Line 1: Error: Invalid Blog('by Esehara' )
    tbpg
    tbpg 2015/07/12
    副業持ちが個人契約で使うesa、私もヨサを実感している
  • 定時を超えるとBotに罵倒される社内文化 - Line 1: Error: Invalid Blog('by Esehara' )

    近況 これはPKSHA Technology Inc.で行われたもくもく会の様子です。 はじめに 株式会社ログバーでは、フレックスタイム制が導入されていて、だいたいコアタイム時間中勤務して、かつ全体の労働時間が8時間になれば良いという運用になっている。とはいえ、フレックスタイムであったり、こういうベンチャーだったりすると、ついつい時間の感覚が無くなって何時までも働いてしまったり、ダラダラとオフィスに残ってしまったりする。 問題は、そういう風にダラダラとやってしまうと、集中して働いたら6時間で終わるようなことをつい10時間かけてしまうことになったりする。なので、だらだら働いていると怒るような役割が必要だったりする。 それを人間がやると刺が立つのだけれど、Botだと、割りときついことを言われても、「Botだから」というわけで、上手い具合に刺が立たない。一時期、各エンジニアがHubotを持つとい

    定時を超えるとBotに罵倒される社内文化 - Line 1: Error: Invalid Blog('by Esehara' )
    tbpg
    tbpg 2015/06/26
    休日出勤を罵倒する社内文化も追加で。
  • 社会人の常識として、チャット上の挨拶をきちんと行う - Line 1: Error: Invalid Blog('by Esehara' )

    近況 部屋のが爆発しそうだったので、職場に並べたらカオスになった事例。 はじめに ログバーでは、コアタイム・フレックス制であって、その為に割りと出社時間に関してはマチマチだったりする。自分とかは、フラっと12時くらいにやってくる、みたいなダメな生活をやっており、社会人的にはダメなのだが、そういうゆるい感じで働けるので、働く環境としては、とても良い感じとなっている。 そこで、社会人といえば挨拶だろう、という勝手な偏見があるので、職場では「おはようございます」と「お疲れさまです」というのを言うようにしていていて、仕事を始めるときには、Slackに以下のようなシェルを流し込んで、仕事を始めたことを通知してりしている(別にリモートだからというわけではないのだけれど)。 curl "https://slack.com/api/chat.postMessage" \ -d token=$SLACK_

    社会人の常識として、チャット上の挨拶をきちんと行う - Line 1: Error: Invalid Blog('by Esehara' )
    tbpg
    tbpg 2015/06/24
    "早起きは三文の得"
  • 『説得とヤル気の科学』を読んで、やる気について考える - Line 1: Error: Invalid Blog('by Esehara' )

    はじめに もともと、自分の根っこは怠惰であり、休日になっては「やる気がしないな」とか言いながら、家でゴロゴロしたりするのが常態化していたりする。なので、何かやる気を出すためのヒントとして、書を読んだりしていた。 実際、この文章も、昨日くらいに「もうそろそろ何かエントリの一つでもあげようかな」と思って書こうとしたところ、一文も文章が進まなかったという諸事情もあるので、読んでなんにも身についてねえじゃねえか、ということにもなりかねないので、ちゃんと記録に残しておこうと思った次第。 書について このの名前が『説得とヤル気の科学』と書いてあるとおり、そもそも人(=を読んでいる人)が「やる気を出す」という側面だけではなく、マネージャーの人が、以下に自分たちがマネージしているメンバーに対して、如何にやる気を持ってやってもらうか。そしてそれを通じて如何に話を通すか、といった側面も含まれている

    『説得とヤル気の科学』を読んで、やる気について考える - Line 1: Error: Invalid Blog('by Esehara' )
    tbpg
    tbpg 2015/05/15
  • スタートアップで働くプログラマとして、非プログラマに対して気を付けなきゃいけないと感じていること - Line 1: Error: Invalid Blog('by Esehara' )

    はじめに 前回、非プログラマに対してプログラマに理解してほしいことというのを書いたら、なんかあとから伸びてきて、みんな思っていたことだったんだなーと思う反面、逆に一方通行に、プログラマだけが理解しろ!というのではなく、自分がプログラマとして働く上において、ちょっとだけ意識していることをあげておいたら、お互いにWin-Winかもね、と思う。そもそも、何かを要求するのに何も与えないというのも都合のいい話だろう。 もちろん、プログラマというのは一括りにできないし、前回の如く、当たり前にやっていることかもしれない。また「気を付けている」ということなので、気を付けている程度で当はできていないかもしれない。 ただ、自分としては、非プログラマに対してこういうコミュニケーションが出来たら理想だなと思っている。そして、これはスタートアップの話である。すべての組織に適応できればベターだけど、そう簡単ではない

    スタートアップで働くプログラマとして、非プログラマに対して気を付けなきゃいけないと感じていること - Line 1: Error: Invalid Blog('by Esehara' )
    tbpg
    tbpg 2015/05/11
    "なにか応答するときは「今来た三行」を意識してみる"
  • Word2Vec + MeCabで「ボケる」ための単語候補をピックアップするやつをやってみる - Line 1: Error: Invalid Blog('by Esehara' )

    近況 はじめに 最近、ちょっと大喜利を始めていて、如何に面白いことを言えるのか、ということを考えたりしているんだけど、考えてみれば、自分は少しプログラミングができるし、むしろ形態素解析や自然言語処理という観点から「質問」と「ボケ」を考えてみると面白いかもしれない、と思って、力技でそういうことをやってみた次第。 今回の方針 とはいえ、何となく「質問に対して上手いボケを返してほしいな」ということであるならば、それこそ単語のランダム検出でもいいという話になってしまうので、ある程度仮説を立てて実装する。今回の仮説としては、「ある文が連想する知識の、派生する知識がその文と結びつけられた場合、人は上手いと思うのではないか」ということだ。 どういうことか。 例えば、謎かけの場合、「Aとときまして、Bととく。その心はCです」と言った際に、一見無関係の文(あるいは単語)が、Cという意味づけによって接続するこ

    Word2Vec + MeCabで「ボケる」ための単語候補をピックアップするやつをやってみる - Line 1: Error: Invalid Blog('by Esehara' )
    tbpg
    tbpg 2015/05/02
    "こんな忍者嫌だ" "任命がオンライン"
  • カリー化、部分適用、クロージャという間違いやすい三種についての簡単なメモ書き - Line 1: Error: Invalid Blog('by Esehara' )

    追記 カリー化を間違えてカーリー化という表記をしていたのを修正しました。 そもそもカリー化とは何か 複数の引数を取る関数は、一つの引数を取る、関数を返す関数の連続として表現できるということ、と言葉で表現しても抽象的すぎるので、ちょっと式で表してみる。 まず初めにラムダの導入 例として、ある整数に対してプラス1する関数を定義する。このような関数は、として表現できる。 ここでこの関数はplusoneという名前を与えられているが、このx + 1という関数そのものを表現するような記法があると便利だろう。そこで、をそのような記法として定義する。 この記法を用いることにより、上記のはとして表現できるようになる。つまり、関数それ自体を表す記法を導入することによって、関数の名前と、関数それ自体を区別することができるようになる。 カリー化 このような考え方が便利なのは、関数を返す関数というものを表現できるよ

    tbpg
    tbpg 2015/03/17
  • 1