タグ

ブックマーク / hiroki.jp (21)

  • 昔の自分に教えてあげたい、新人プログラマへ伝えていること | Act as Professional

    最近、この春に職業プログラマになった人達と話す機会に恵まれているので、共通して話すことを書いてみる。 大概、○○について、聞かせてください。とか、いろいろ聞いてくる人達は、羨ましいぐらい、すごく意識高い。 彼らは会社での仕事のプログラミングを上手にやりたい。ってのは、あたり前だし、 どうやってテストを綺麗に書くか? テスト書きながらプログラミングするってのをどう学ぶか? 綺麗な設計はどうやるのか? 仕事でコードを書いていくってのは、どういうことなのかとか? すごいコードはどうやって書くのか?とか、いろんな事を学びたくて、何から学ぶべきなのか見失っているのではないかというぐらい、やる気に満ちあふれている。人それぞれ、やる気の方向性や現在のスキルセットが違うから何をしたいのか、した方が良いのかは異なっている。 だけど、ざっくり共通しているのは、結局のところ「ある程度のプログラマとしての実力をつ

    昔の自分に教えてあげたい、新人プログラマへ伝えていること | Act as Professional
    tuki0918
    tuki0918 2014/06/01
  • GitHubKaigi資料公開「GitHub実践入門は活用するためのガイドブック」 | Act as Professional

    GitHubKaigiに登壇しました。その際の資料を公開します。 当日はLiveStreamの調子が良くなかったようなので、期待して頂いていた方、ご迷惑をおかけしました。後ほど動画が公開されるはずです。(公開され次第こちらにリンクも追加する予定です。) GitHubを利用した開発の世界(日常)を知る GitHubを(利用|活用)する違いを知る GitHub実践入門はガイドブックGitHubを日常的に使ってない人もいるので、その日常の風景を想像できる話しをしました。 また、使っている世界の中でも、使っているだけの人と十分に活用できている人や状態を解説しました。 GitHubを使っている人達が、いち早く十分に活用できるようになるために体型系的な知識を「GitHub実践入門」にまとめました。個人的には多くなエンジニアGitHub利用している状態や、活用している状態になって欲しいです。 そのため

    GitHubKaigi資料公開「GitHub実践入門は活用するためのガイドブック」 | Act as Professional
    tuki0918
    tuki0918 2014/06/01
  • dockerが正式サポートしたOS Xの環境を構築してみた! | Act as Professional

    正式サポートの概要DockerはこれまでもOS Xの上で動かそうと思えば、動かすことはできました。これはOS Xの上でVagrant(実稼働しているのはVirtualBox)などを利用した仮想マシンで通常のUbuntuやCentOSなどのLinuxを立ち上げて、そのLinux環境の中でDockerを稼働させるというものが中心でした。もちろん公式サポートはされていませんでした。 これはDockerそのものがLXC (Linux Containers) と呼ばれるLinuxのOSレベルでの仮想化技術を利用したものなので、Linuxの上でしか利用できなかったからです。よって、バージョン0.8からもOS Xの上でネイティブに動作するわけではありません。 では、どのようにして正式サポートしたのかというと、Dockerが専用の軽量仮想マシンイメージを用意し、OS Xからこの仮想マシンに対してDocke

    dockerが正式サポートしたOS Xの環境を構築してみた! | Act as Professional
    tuki0918
    tuki0918 2014/02/09
  • WEB+DB PRESS vol.61 本当のプログラマになりたいヤツは読んでおけ | Act as Professional

    Rubyの自動テストといったらRSpecもう、当たり前すぎて、多くを語る必要がないと思うが、今Rubyで自動テスト書くならRSpecできまり。 http://rspec.info/ エンドツーエンドのテストはCapybaraいわゆるブラウザ操作からの自動テストツールである。標準でSeleniumをサポートしていてビックリ。 手元のMac環境でFirefoxやChromeを勝手に動かしてテストしてくれました。すごいですねーこれ。 https://github.com/jnicklas/capybara fixtureを書く必要はもうない。factory_girlをつかえ!Fixture Replacementってジャンルのツール。大量のfixtureを書くのを卒業させてくれるのです。 あぁ、こうやってつかうのね。ってのが参考になる。この手のツールはRubyは充実していて羨ましい。 https

    WEB+DB PRESS vol.61 本当のプログラマになりたいヤツは読んでおけ | Act as Professional
  • 自動テストの知識をプログラマは知らないと恥ずかしい | Act as Professional - hiroki.jp by HIROCASTER

    1.テストやデバッグに使う時間を削減して、プロダクトコードの品質をあげる 単体・結合・統合テストは全体の8〜25%が費やされるべきであるといわれています。ですが、デバッグは開発の50%におよぶ場合があると言われています。これは、テストには来多くの時間を割くべきであるが、デバッグが膨大な時間に及ぶことが事実としてあるということです。 プログラミングについてあまり知られていない7つのことより 1.スキルのレベルにかかわらず、プログラマーは全時間のおよそ10~20%をコードを書くのにあてており、たいていのプログラマーは完成品ができるまで一日あたりおよそ10~12行のコードを書いています。優秀なプログラマーは残りの90%のうち大部分を、考えること・調べること・最高の設計を見つけるための検証作業に費やします。ダメなプログラマーは残りの90%のうち大部分を、やみくもに変更と検証を繰り返すようなデバッ

    自動テストの知識をプログラマは知らないと恥ずかしい | Act as Professional - hiroki.jp by HIROCASTER
  • Fizz Buzz 問題 プログラムを書けないプログラマを雇うのは雇う側の問題 | Act as Professional

    プログラマの中途募集をしたら、「PHPできます」という技術者が応募してきて、1週間使って、WEBメールフォーム1つすら仕様通りにできなかったというノンフィクションがあるらしい。 もう、そういうレベルになると、応募する方にも問題あるだろうし、その応募者を採用する人の責任(能力)問題だろう。(そもそも仕様の要件定義がシッカリしてるの?) 採用人事権がある人間は応募者よりも能力がある必要はないが、応募者の能力を判断する能力や経験は必要である。 とか、考えたけど、自分は大丈夫かな。と思ってしまった。 小飼弾「転職活動する暇があったらブログを書け」に 「1から100までの数をプリントするプログラムを書け。ただし3の倍数のときは数の代わりに「Fizz」と、5の倍数のときは「Buzz」とプリント し、3と5両方の倍数の場合には「FizzBuzz」とプリントすること。」(「どうしてプログラマに・・・プログ

    Fizz Buzz 問題 プログラムを書けないプログラマを雇うのは雇う側の問題 | Act as Professional
  • コードレビューツール 6選 どれが最適? | Act as Professional - hiroki.jp by HIROCASTER

    Pythonで書かれたレビューツールです。VMware社内で利用されていることで有名なツールです。 プレコミットレビューという概念のレビューツールです。つまり、コミット前にレビューをするという事が前提になっているツールです。よって、結果的に差分を重点的に確認していくツールのつくりになっています。 rietveld rietveld – Code Review, hosted on Google App Engine – Google Project Hosting Google社内で使われているコードレビューツールである「Mondrian」のオープンソース版です。基的にGoogle App Engineで動くことが前提になっています。 GAEの上のコードのデータを置くということがオトナの事情的に難しいかもしれませんが、検討してみてください。 Phabricator Phabricator

    コードレビューツール 6選 どれが最適? | Act as Professional - hiroki.jp by HIROCASTER
  • プロとしての行為 Act as Proffesional

    オブジェクト指向エクササイズ下記のルールで、1000行程度のソフトウェアを書いてください。 1. 1つのメソッドにつきインデントは1段階までにすること 2. else句を使用しないこと 3. すべてのプリミティブ型と文字列型をラップすること 4. 1行につきドットは1つまでにすること 5. 名前を省略しないこと 6. すべてのエンティティを小さくすること 7. 1つのクラスにつきインスタンス変数は2つまでにすること 8. ファーストクラスコレクションを使用すること 9. Getter、Setter、プロパティを使用しないこと というルールが適応できない場合は優先すべきルールを選択し、どのルールを適応するのか判断して欲しいとの旨が記載されています。 9つのうち 7つがデータのカプセル化 1つポリモフィズの適切な利用(else句をつかわない) 1つが明確でわかりやすい命名標準 オブジェクト指向

    プロとしての行為 Act as Proffesional
  • chef-solo はじめてのLinux環境構築の自動化入門 | Act as Professional

    環境構築を自動化すれば数分でサーバ構築して投入できますよ?@HIROCASTERでございませう。 vagrantで開発環境(仮想マシン)を自動構築しようの記事で、仮想マシンにchefやpuppetを自動的に実行させて開発環境を自動で構築する手順を紹介しました。 環境構築を自動化する内容をchefであれば、レシピと呼ばれるものを、puppetであればマニフェストと呼ばれるものを記述しなければなりません。 今回はパッケージ(NTP)を導入して、NTPの設定ファイルを自動的に配備して、サービスを立ち上げるという環境構築の自動化をchef-soloを使って、紹介したいと思います。基的に他のソフトになっても手順は同じです。参考にしてください。 chefとchef-soloの違いchefはクライアントとサーバの形を取っており、chefを実行するためにはサーバにレシピや付随する数多くのデータがなければ

    chef-solo はじめてのLinux環境構築の自動化入門 | Act as Professional
  • PHPer必見!PHPのベストプラクティスをまとめるプロジェクト | Act as Professional

    PHP (The Right Way)PHPをはじめた初心者がWEBにはびこるクソな情報に揉まれて、残念なコードを書いたり、バッドプラクティスを平気でやってしまうことをストップさせるべく立ち上がったプロジェクトのようです。 PHPの開発に携わる人へ、ベストプラクティスや厳選した情報をまとめています。 当にPHPを使えるPHPerになるためには必読な内容ばかりです。日々進化するPHP回りの技術もシッカリ押さえてます。 こちらのサイト → PHP (The Right Way) 最近発売された小川さんのもモダンにまとめられてますが、それのもっと技術的な所を押さえてます。

    PHPer必見!PHPのベストプラクティスをまとめるプロジェクト | Act as Professional
    tuki0918
    tuki0918 2012/07/09
  • プロとしての行為 Act as Proffesional

    先週おこなわれたTEDxTokyoで改めて考えさせられた内容がありました。 長時間労働が常習化している社員・経営者これから家庭を持つ人、持った人これから(現在)出産や育児に携わる人のような人に特に見て頂きたいと思います。 日の労働近年の日人の労働の実体は 平均残業時間60時間/月労働生産性は先進国の中で最下位とのことである。国土も、人口も、資源も、少ないと言われる国なのに、そのうえ生産性が低いときたら…。 だが一方で…「30%の残業が減っても、売上の上がる企業がある」 これは、私の経験からも事実であると感じます。 私は過去に経営に携わった会社では、月の残業時間が20時間を超えると人事評価を落とす制度にしたことがあります。 もちろん、これが平社員であれば、マネージャーの評価も同時に落としました。。マネージャー来の仕事ができていない証拠だからです。 もし、ずっと長時間労働を続けると…経営

    プロとしての行為 Act as Proffesional
  • 2012年上半期 プログラマだったら読んでおきたい書籍11選 | Act as Professional

    このブログを読んでいる、あなた、ねこ背になっていませんか? 「胸を張って背筋を伸ばす」というのは、ねこ背を治す方法として無意味です。腹筋や背筋などの姿勢を支える筋力が足りないからというのも間違っています。 ねこ背にならない立ち方、座り方というのがあるのです。それを知らないのが一番の原因です。 詳しくは「一般人の常識を覆す“ねこ背”の治し方がここにある「ねこ背は治る!」 」にて、衝撃を受けたポイントを書いています。 ねこ背に悩んでいるあなたに、ぜひ手にとって頂きたい1冊です。 リーダブルコード ハッカーは読むな。必要ない。 良いコードを書くために悩み、ミスもする普通のプログラマに読んで欲しい。 発売1週目で増刷が決定するほど、上半期に圧倒的な注目をされた書籍です。私も一押しです。 デザインパターンよりも、こっちの方が毎日使う知識なのです。 良いコードとは人間が最短で理解できるように書かれたコ

    2012年上半期 プログラマだったら読んでおきたい書籍11選 | Act as Professional
  • プログラマがGitHubとどう関わっているのか垣間見て感じたこと | Act as Professional

    関係各所の協力により実現した1日にとても感謝している@HIROCASTERでございませう。 スタッフとして協力してくれる仲間がいたり、突発LTやってくれたりなど、Agile渋谷のおなじみのの雰囲気がアウェイの銀座も垣間見れたのもよかったです。 1日暇になったからLTやりにきてくれる仲間がいたり、おもしろかった。 Book1st銀座コア店では、Web+DB PRESSを1冊ずつ持った人が7人以上並ぶという光景があったとか。 「The GitHub」イベント詳細発表!話題のあの人が登壇 #Agile渋谷こちらのイベントのまとめです。 感想個人的な感想としては、やはり感じていたとおり、GitHubを使いまくってる人とほとんど使っていない人にグッサリわかれてしまっているのかなと。 仕事じゃ使えないけど、プライベートだと使いまくってるなんて、ケースはあまり聞かない。 そして、GitHubを使っていな

    プログラマがGitHubとどう関わっているのか垣間見て感じたこと | Act as Professional
  • これはマネしたい!スーパーエンジニア達の習慣 | Act as Professional

    いままで勉強会に顔を出し、すばらしいエンジニアと数多く会うことができた。そして、スーパーエンジニアと共に仕事をすることもできたし、できている。そんなスーパーエンジニア達が持っていた習慣を僕の経験と視点からまとめてみる。 自分が使う道具を厳選して選んで手入れをしているエンジニアでいえばエディタやツールなど。皆が使っているIDEやエディタを何も考えずに使い始めたりしない。 厳選したエディタやツールを使って、手になじませるのである。手になじませるというのは、2つの意味がある。 1つは操作性に慣れること。呼吸をするように自然に、キーボードの上を駆け回る心地よいリズムを奏でるエディタを選ぶ。 2つめは、自分に合わせて拡張しているということ。プラグインのON/OFFだけではなく、オリジナルのショートカットを設定し、適切なハイライト、シンタックスのチェック、コーディングルールのチェック、様々な言語への対

    これはマネしたい!スーパーエンジニア達の習慣 | Act as Professional
  • GWにプログラマがコードから離れて、熱くなれる15冊 | Act as Professional - hiroki.jp by HIROCASTER

    コードを書き続けていれば、良いものをつくれるようになるわけではなく、考え方や気持ちも大事であると考えている@HIROCASTERでございませう。 もうすぐ、ゴールデンウィークです。 プログラマがプログラミング言語から離れて、ハッカーとしての考え方や気持ちを学ぶための読み物系の書籍をご紹介します。 お休みの間や帰省の移動中にでも読んでみてください。休み明けに気持ちが高まって、最高の状態でコードに向きあえることでしょう。 読んだことがあるがあったら、ぜひ感想をTwitterでつぶやいて他の人にも教えてあげてください。

    GWにプログラマがコードから離れて、熱くなれる15冊 | Act as Professional - hiroki.jp by HIROCASTER
  • プロとしての行為 Act as Proffesional

    心底、プログラマとして生きていくのが幸せなんだなと思える人に出会ったことのある@HIROCASTERでございませう。 プログラミングが上達するベストプラクティスってあるんでしょうか? 大学でコンピュータ教えている教授なんかは、そのあたり教えてくれるんでしょうか? あなたの先輩は教えてくれましたか? 昔ながらの職人がいう、見て、まねて、盗め。ですかね? 僕の経験で、いくつか書いてみました。 毎日コードを書くとにかく毎日コードを書いている。 息を吸うように、歯磨きををするように、顔を洗うように、事を取るように毎日コードを書いている。 テストコードも書く動くソフトウェア側のコードだけでなく、テストコードも書いている。 必然と設計も考える癖が付くわけで…。 ソフトウェア全体を仕上げるまで書く例えば、小さなメソッドだけでなく、クラス全体を。 ソフトウェアとして動作するまで全体を。 全体を仕上げるま

    プロとしての行為 Act as Proffesional
  • プロとしての行為 Act as Proffesional

    僕が新社会人になったときには、「このを読んで学ぶと良いよ!」なんて、紹介してくれる先輩がいなかった。 だから、無駄な書籍を読んで、あんなクソな読んでる暇があったら、この読んでおけば良かった。と、何度も思った@HIROCASTERでございませう。 新社会人の皆様に技術書は高価なので、厳選してオススメを紹介します。カテゴリ・言語別で上の方に並んでいる者が初級者にオススメ、下にいくほど、上級者向けです。数ヶ月かけてステップアップすれば良いのではないでしょうか。 新しいプログラマの教育担当者やメンターになった人は、この記事を教えてあげれば良いんじゃないかな。

    プロとしての行為 Act as Proffesional
  • 本当のJavaScriptを知っているか!具体的にコードで学べる「テスト駆動 JavaScript」 | Act as Professional

    書は裏表紙に「中級技術者向け」と明記されている。JavaScriptの言語仕様に関して、入門したことない人や、関数型の言語に見地のない人は、パーフェクトJavaScriptやサイあたりで、JavaScriptの言語仕様を身につけてから、取り扱うことを推奨する。それぐらい価値のある内容に書は仕上がっている。 そして、 正統派なTDD(テスト駆動開発)について理解したい JavaScript自身の言語的な特徴を押さえておきたい テストできるJavaScriptのコードを多く閲覧したい 実際のプロダクトに活用できるアプローチを数多く知りたいと、考えているJavaScriptを日頃から書いている人、携わっている人に、必ず読んでもらいたい1冊である。 全体を通じて、テストできるコードの特徴は何か、単体テストとテスト駆動環境の利点を享受できる優れた単体テストはどのようなものかをサンプルとともに示

    本当のJavaScriptを知っているか!具体的にコードで学べる「テスト駆動 JavaScript」 | Act as Professional
  • PHPを使っているすべての人が知るべき無料のPaaSサービス | Act as Professional

    先日発売されたsymfonyの執筆に携わらせて頂いたので、今回はPHPのPaaSホスティングサービスである cloudControl で、無料で symfony1.4 を稼働させます。きっと、cakePHPやCodeigniterも稼働させることができるのではないでしょうか。 cloudControlって? 1時間あたり1BoxというcloudControlで定義している独自の単位は無料で使えます。簡単に言うと、少ないアクセスのサイトだったら無料で使えます。それ以上のアクセスを提供するためにはunlockの手続き(有料)が別途必要です。 また、無料で提供しているアドオンが利用できます。その中にはMySQLがあるので、PHPMySQLで稼働するフレームワークは大抵稼働するのではないでしょうか。 cloudControl で symfony1.4 を稼働させるところまで、解説することにしま

    PHPを使っているすべての人が知るべき無料のPaaSサービス | Act as Professional
  • プロとしての行為 Act as Proffesional

    1.一般的なコーディング規約に目を通し、エレガントなコードを知るエレガントなコードを書くためには、エレガントなコードを知らなければならい。その土台を築いているコーディング規約について、オープンソースではどのようなものが使われているのか理解しておこう。入社する予定の会社が採用している言語については必ず目を通しておこう。 PHPPEAR 標準コーディング規約symfony CodingStandards Perlperlstyle Ruby クックパッド株式会社のRubyコーディング規準 Matzスタイル NaClで採用している規約 Python PEP 8そして、あなたの身近にあるオープンソースのコードを実際に読んでみよう。この時点でコードの仕組みや設計が理解できなくても良い。コードがエレガントかどうか?を感じ取って欲しい。こう書いた方が、良いのではないか?など、考えてみよう。

    プロとしての行為 Act as Proffesional