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

  • 日報: 「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' )
  • PythonからRubyに移行した人間の印象 - Line 1: Error: Invalid Blog('by Esehara' )

    今日の料理 安物のねぎとろは、納豆と良くあう。 前提 はじめてのにき(2016-06-16) より。 このエントリの立ち位置について 元々はPythonを勉強していたのだけれども、仕事の関係上、Rubyを主軸にすることにした人間のエントリです。ちなみに、PythonRubyの立ち位置には詳しくなく、主観を元に構成されているので、客観的な部分に関しては弱いことをお断りしておく。また、現時点での知識が2.7になっているので、3.5では多少違う点があるかもしれない。 なぜならPythonのほうが「わかりやすかった」から まず最初に、Pythonのほうが機械科学系の人に支持されやすい傾向としてあるのは、Pythonのライブラリ、例えばNumpyであったり、Scipy、または各種機械学習系のライブラリなどの影響が大きいのは間違いない。最近の機械学習ブームのせいなのか、Pythonも「エモい人(エモ

    PythonからRubyに移行した人間の印象 - Line 1: Error: Invalid Blog('by Esehara' )
  • 『マンガでわかる!関数型プログラミング』という漫画を連載することになるようです - Line 1: Error: Invalid Blog('by Esehara' )

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

    『マンガでわかる!関数型プログラミング』という漫画を連載することになるようです - Line 1: Error: Invalid Blog('by Esehara' )
  • 『説得とヤル気の科学』を読んで、やる気について考える - Line 1: Error: Invalid Blog('by Esehara' )

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

    『説得とヤル気の科学』を読んで、やる気について考える - Line 1: Error: Invalid Blog('by Esehara' )
  • クズのための手帳術: 全部まとめて書く - Line 1: Error: Invalid Blog('by Esehara' )

    はじめに 自分はクズという自覚があるのだけれど、クズなりに手帳の使い方について、運用方法を考えたところ、これがうまくいっている感じだったので、ここに共有しておく。 クズの条件 自分が考えるに、クズの条件とは、下の三つのようなことをよく起こすことを指す: 整理が苦手 すぐモノを忘れる やるべきことを先延ばしにする 実は、以前はちゃんとした手帳を買っていたのだが、たいていは三ヶ月くらい運用したら無くしてしまうというバカみたいなことをやってしまっていた。手帳を無くすと、スケジュールが真っ白になるため、はっきりいって意味がない。 そうなると、クラウド上の、例えばGoogleなんかのカレンダーを使えばいいじゃないかという話になるのだけれども、しかしクズの皆さんは思い当たる節があると思われるのだが、現状としてカレンダーにメモするのは面倒臭い。あとで予定を入れておこうと思っても、それ自体を忘れてしまうの

    クズのための手帳術: 全部まとめて書く - Line 1: Error: Invalid Blog('by Esehara' )
  • ミスをエンジニアリングすることについて、例えばなぜ自動化するのかについて−−『「事務ミス」をナメるな!』を読んで - Line 1: Error: Invalid Blog('by Esehara' )

    はじめに 今更いうことではないのだけれど、自分は凡ミスの多い人間だという自覚がある。例えば、このブログを書いていたとしても、結構な割合で「てにをは」を間違えることが多いし、また予定等を勘違いして、実は期日を過ぎていたということもある。 そういうこともあってか、「こういう単純な凡ミスを無くす」ことが出来ないかなと思って、を手に取ったのだけど、いい意味で裏切られた。いい意味、というのは、そののタイトルに反して、要するに「ミスをエンジニアリングするということがどういうことか」ということが書かれていたからだ。このはタイトルで純粋に損しているとは思う。 個人において「ミスをする」ということはどういうことか 大抵、人間が何かをミスする場合、そのミスというのは無能であるか、あるいはうっかりといったような「能力の欠如」として捉えることが多い。しかし、書の場合、それよりかは、むしろ「人間の知恵が働き

    ミスをエンジニアリングすることについて、例えばなぜ自動化するのかについて−−『「事務ミス」をナメるな!』を読んで - Line 1: Error: Invalid Blog('by Esehara' )
  • 在宅勤務始めました - Line 1: Error: Invalid Blog('by Esehara' )

    この記事について この記事はHeartRails Advent Calendar3日目の筈でした。 趣旨 HeartRailsに入社した。そこで、リモートを通じて受託開発などを行っている。ちょうど1ヶ月ほど経ったので、リモートワークに関しての所感をメモしておこうというのが今回の記事の趣旨。 なぜリモートワークをやろうと考えたの? 割と働き方で体調を崩すことが多くあったので、「これは自分の働き方を見直さないとマズイな」と思い、あまり一般的な働き方に囚われず、自分にあった働き方を見つけようと思ったのがきっかけ。そうなると、現状として二つの働き方があって、「リモートワーク」か、あるいは「短時間勤務」になるかなと考えたので、そのあたりを中心に見直した結果、HeartRailsの働き方がマッチしているかなと思ったので、そういう経路で働き始めたという経路。 リモートワークを中心にすることに関して不安は

    在宅勤務始めました - Line 1: Error: Invalid Blog('by Esehara' )
  • ポモドーロ・テクニックを二ヶ月やってみた感想 - Line 1: Error: Invalid Blog('by Esehara' )

    二ヶ月間ポモドーロテクニックをやってみての雑感 だいぶ知見が溜まってきたので、セーブがてら記事にしておく。 方法 要するに 25分、集中してそのタスクをやったら5分休む = 1Pomodoro 4Pomodoroやったら15分休む というのを繰り返すというだけだ。 実際の運用 確かにもう少し厳密なフローとしては、例えばTodoリストを作成したり、それに対しての見積もりをする、という方法もあるのだけど、自分はそういう網羅的なToDoを作成するのが苦手だったりする(むしろ作業中にどんどんToDoを積み上げていくという方法)のほうが好きだったりするので、そういう風にしている(最初から完璧にやろうとすると絶対無理なので)。 意外とやってみてよかったというのは、集中できたときのアクティビティを記録しておくという方法だ。要するに何時にポモドーロテクニックを集中できてやれたのか、というのを一つずつ記録し

    ポモドーロ・テクニックを二ヶ月やってみた感想 - Line 1: Error: Invalid Blog('by Esehara' )
  • 自分がプログラマになったときに、Webアプリケーション開発の独習で学びにくかったところをまとめる - Line 1: Error: Invalid Blog('by Esehara' )

    はじめに 独学でプログラミングを勉強しても実務に通用しにくい理由 - 25歳ニートが35万円で上京を企むブログを読んだときに、僕自身もまた不安定労働から、ある程度「これだったら自分できそうだ」という気持ちで取り組み、独習のつもりで幾つものプログラムを書いたりしていた。だから、ニートからプログラマを目指して、社員として今頑張ってます、というのはすごく仲間意識を持ってしまうし、同じように頑張ってほしいという気持ちはある。 確かに、上の記事の趣旨自体、つまり「独習で学ぶことは、実務上でカバーできない部分がある」という側面があることは認めつつ、しかし、自分自身は独習したことが案外実務上で役に立っている部分もあり、その部分は明確にしたほうが、今後同じように独習して、今度プログラマを目指す人々において役に立つのではないか、と思うので、この記事を書こうと思う。 この記事で扱う「Webアプリケーション開発

    自分がプログラマになったときに、Webアプリケーション開発の独習で学びにくかったところをまとめる - Line 1: Error: Invalid Blog('by Esehara' )
  • 文系にして数学が苦手だった俺が、如何にして(初等)整数論にハマッたか - Line 1: Error: Invalid Blog('by Esehara' )

    はじめに 数学に対してコンプレックスがあるエンジニアというのは、多少なりともいるかとは思う。かくいう自分も、「数学」に対しては、出来ないというコンプレックスがあった。とはいえ、単なるコンプレックスならば、それを克服すればよく、取っ掛かりになる分野を探したりしていた。 もちろん、数学とはいえ、いろんな分野がある。例えば、論理学であったり、集合論であったり、あるいは解析学や、幾何学、巨大数論といったように、さまざまな分野がある。そして、これらの分野は、少なくともある程度までは、プログラミングの世界にも通じている。 例えば、条件分岐を考えるときに、ドモルガンの法則を使うとすっきりするパターンとかもある。だから、全ての数学の分野がそのまま実務に使えるとは限らないけれども、しかしその分野と密接な部分は少なからずあることは疑い得ない。 とはいえ、例えば微分・積分を現実の業務に使う必要性が出てきたからと

    文系にして数学が苦手だった俺が、如何にして(初等)整数論にハマッたか - Line 1: Error: Invalid Blog('by Esehara' )
  • バブルソートよりも非効率なソートアルゴリズムを探して ―― ストゥージソートとスローソート - Line 1: Error: Invalid Blog('by Esehara' )

    はじめに 恐らく、プログラマの中で配列内の要素を整列させたりするソートにお世話にならなかった人、というのは余り考えられないのではないでしょうか。しかし、とはいえ、大抵はソートを自前で実装せず、組み込み関数であったり、あるいは何らかのライブラリで済ませることが殆どだと思う。 車輪の再発明というよりも、バグとか、自分が考慮していなかった挙動などを避けるために、自前でソートを組むことは余りないのですが、とはいえ、自分なりにソートを実装して見ると、それがどういう特徴を持ったソートであるか、というのがわかりますし、また、ソートというのはいったいどういう操作で実現されるのかという洞察が深まってくるなあ、という実感があったりする。 なので、今回はあるソート二つについての話を書くのが趣旨です。 最高のアルゴリズムはある、だが最悪のアルゴリズムは何か 一口にソートといったところで、ソート自体にも銀の弾丸があ

    バブルソートよりも非効率なソートアルゴリズムを探して ―― ストゥージソートとスローソート - Line 1: Error: Invalid Blog('by Esehara' )
  • Webサービスのプログラミングに必要なことのだいたいは、スクレイピングに学んだ - Line 1: Error: Invalid Blog('by Esehara' )

    この記事を読み始める前に Rubyでやるんだったら、ちょうどそういうが出ているから、その買えばいいのではないでしょうか。 Rubyによるクローラー開発技法 巡回・解析機能の実装と21の運用例 作者: るびきち,佐々木拓郎出版社/メーカー: SBクリエイティブ発売日: 2014/08/25メディア: 大型この商品を含むブログ (1件) を見る はじめに プログラミングを勉強し始めて、だいたい基礎的な文法を覚えたあとに、次に何をしようかな、と悩む人も結構多いみたいで、明確に「これを作りたい」という場合は、それを作ればいいとは思うんですけど、場合によっては、別段作りたいものが無く、漠然としたプログラミングをしたい、という熱意によって勉強しているという人もいるのではないかと思います。 で、もちろん「作りたいものがないのに、プログラミング勉強してどうするの」という意見もあるかとは思いますが、往

    Webサービスのプログラミングに必要なことのだいたいは、スクレイピングに学んだ - Line 1: Error: Invalid Blog('by Esehara' )
  • スタートアップで働くプログラマが、非プログラマの皆さんにお願いしたいこと - Line 1: Error: Invalid Blog('by Esehara' )

    はじめに 自分の基はプログラマとして、サーバーサイドのサービスをゴリゴリ書くのが仕事だ。しかし、仕事をするとなると、いろいろな人が絡んでくる。もちろんマーケティング担当や戦略担当の人もいる。そして、僕はそういう人たちが実際にやっていることはわからないけれど、それはたぶんそういう人たちが「プログラマってどういう仕事なのか?」ということがわからないのは一緒なのだろうと思う。もちろん、お互いに相手の仕事を理解して、それに合わせてどういう風なことを共有して作ってもらうか、というのを話し合う機会は重要だ。 たぶん、自分たちがどのように仕事をしていて、どのように情報を共有してもらえれば、仕事がスムーズにいくのか、ということを説明しないことには、たぶん「プログラマが理解されない」ということを嘆いても仕方ないと思う。なので、まず自分が「プログラマとしての自分」が考えていることを共有する必要があるなあとい

    スタートアップで働くプログラマが、非プログラマの皆さんにお願いしたいこと - Line 1: Error: Invalid Blog('by Esehara' )
  • ユニットテストを書かないことについて - Line 1: Error: Invalid Blog('by Esehara' )

    はじめに 最近は、同じ職場で働いている人に対して、『テスト駆動開発入門』のを貸したり、自分自身でも全く更地のところにユニットテストを書くという作業をやったり、あるいは実装中にもユニットテストを書かないと、コードを書く手が少し滞ってしまうくらいには、テストに依存している自分がいる。 さて、ここ最近で一連のテストの話が各方面から出ていて、それらの議論について興味深く感じる一方で、たとえば自分はそうだけど、「執拗にテストを書いているけれども、これで前に進んでいるんだろうが」という罪悪感みたいなのを抱えている人というのは、それなりにいるんじゃないかと。特にユニットテストを腐らせて、テスト自体を負債にしてしまった人であるなら特に。 ここ最近の、アジャイル開発であったりとか、あるいはプログラマのためのみたいなのを開いたりすると、たいてい「他のことは良いからテスト書け」と載っている一方で、見回してみ

    ユニットテストを書かないことについて - Line 1: Error: Invalid Blog('by Esehara' )
  • 優秀なエンジニアがいなくてもやっていくために - Line 1: Error: Invalid Blog('by Esehara' )

    ITの世界には「銀の弾丸は存在しない」という合言葉がある。これはどうやら狼やドラキュラを退治するときの道具が「銀の弾」らしく、古典的な名著であり、未だに参照され続けている『人月の神話』というに収められている論文から来ているらしい。なぜ、「銀の弾丸は存在しない」と言われるのかというと、ある諸問題に関して一気に片付けられるような、そういう解決策は無い。少なくともそれらの問題に関しては泥臭く、忍耐を持って接しないといけないという話だ。川を綺麗にするためには根気よく缶を拾ったりしなければいけないのと似たようなものだろう。 元のドラキュラの話を知らないので、Wikipediaで聞きかじりに語るのだが、そもそも「銀の弾丸」といったところで、その「銀の弾丸」を使う存在というものがいる。ドラキュラの場合、それが「ヘルシング教授」である。ヘルシングといえば平野耕太の漫画を思い出すが、どうやら原作のドラキュ

    優秀なエンジニアがいなくてもやっていくために - Line 1: Error: Invalid Blog('by Esehara' )
  • 本を読むコツとしての「わからないところは飛ばす」 - Line 1: Error: Invalid Blog('by Esehara' )

    はじめに 一時期、自分は一週間に三冊のを消化することを目標にしていたことがあった。 もちろん、それでの内容を理解したとはとても言いがたいとは思うし、今はほぼやっていない。しかしそういう多読スタイルを続けていると、不思議なことに、おぼろげながらに「型」というものが出来てくる。どのようなアプローチでに取り組むべきなのか、ということがだいたいわかってくる気になる。 今回はその話をメモしておこうと思う。 追記 ちょっと誤解を生みやすいみたいなので、ここで補足します。 これから語られることは、どちらかというと「ちょっと難しいを少しずつ砕きながら読む」という形なので、例えば小説であったり、簡単なエッセイとか、そういうの読み方として期待するとちょっと違うという印象になるかもしれないです。 上のような記事を期待されたかたは、恐らくがっかりすると思うので、追記しました。 最初から全部理解してやろう

    本を読むコツとしての「わからないところは飛ばす」 - Line 1: Error: Invalid Blog('by Esehara' )
  • むしろ数式が苦手だけど統計を勉強したいという人はRをやるといいかもしれない - Line 1: Error: Invalid Blog('by Esehara' )

    はじめに なぜか唐突にRブームが俺の中でやってきてしまってどうしようもないので、Rのを注文しまくってたりしていたら、下のようなの山が出来てしまいました。 これらのを付箋でペタペタしながら読み進めていくうちに、段々とRというのはどういう言語で、どういう風に勉強するといいのか、という方針が固まってきたので、ここにメモをしておきます。 Rとはどのような言語か 一言で、しかも乱暴に言ってしまうならば「統計に特化したPHP」というのが一番雰囲気を伝えられるかもしれない。いや、PHPの悪評は知っているし、ガチでRをやっている人にとっては嫌がられることもわかっているけど、あえてそういう説明が、あくまで入り口としてはわかりやすいのではないかと。 どういうことかというのを言い訳します。 自分が読んだ感じだと、統計というのは、「何らかのデータ」と「分析するためのツールとしての数式」と「その数式が意図する

    むしろ数式が苦手だけど統計を勉強したいという人はRをやるといいかもしれない - Line 1: Error: Invalid Blog('by Esehara' )
  • 1