こんにちは。 あけましておめでとうございます。 さて、新年早々プログラミング教育とエンジニア業界の闇について議論(?)が盛り上がっていますね。 この話題に関してはぼくはわりと思うところがたくさんあり、書き始めると延々と書き続けてしまいそうなんですが、今回は「プログラミングは体系的な教育方法が確立されていず殆どの人間はプログラミングに向いていない」という内容について体験談をもとに言及してみたいと思います。 人はどのようにプログラミングを学習するか ぼくの観測範囲では、バリバリに活躍しているエンジニアはだいたい「大学で情報工学系の教育を受ける一環としてプログラミングを習得した」「文系だったけど趣味や研究などでプログラミングを独習してプログラマになった」という人が多いようです。 特に、コーディングノウハウそのものに関しては独習で学んだため、どうやって他人にプログラミングを教えればいいのかなんて分
O'Reilly Japan, Inc. 様に献本頂きました。ありがとうございます。 そして献本頂く際にお声を掛けて頂いた、本書の翻訳を担当された ymotongpoo さんにもお礼を申し上げます。ありがとうございます。 本書の訳は非常に素晴らしく、とても原文が英文であったとは思えないほど綺麗で、読んでいく中で「原文でどの様に表現されているんだろう」といった引っかかりも無く、とてもスムーズに読み進められました。 Go 言語に関わって随分と長くなってきました。初めて Go を知ってからユーザがどんどん増える様を見る事が出来るのは正直に言って非常に嬉しいです。 ふと Go の魅力は何かと聞かれたら幾つか挙げる事が出来ますが、間違いなく選ぶのが「非同期処理の簡単さ」です。これまで多くの開発者が OS スレッドで実現してきた非同期処理を、Go 言語は少ないイディオムとインテリジェントなランタイムを
現在、C++によるプログラミングの入門書を書いているので、初心者のプログラミングの学習過程にとても興味がある。私自身も初心者の気持ちを取り戻すためにHaskellを学んでみた。最初の数日は頭が痛くなるほど難しかったが、そこを過ぎてみれば後は楽になってしまった。結局、初心者の気持ちはあまりわからなかった。結局、プログラミングの基礎はすでに学んでしまっているので、 先日、FizzBuzzがわからないから教えてくれという知人がいたので、これは初心者の気持ちを知るいい機会と話を聞いてみたところ、想像を絶する世界が見えてきた。 まずこれが動かないと悩んでいたコードだ。 for ( int i = 0 ; i <= 100 ; i++ ) { } else if ( i % 15 == 0 ) { Debug.log("FizzBuzz") ; } else if ( i % 3 == 0 ) { D
プログラマーはクソコードが大好きです。プログラマーが仕事を進める上でクソコードは本来全力で回避するべき対象であるにも関わらず、プログラマーはクソコードの話題が大好きです。みんな張り切って自分が経験してきたクソコードの話で盛り上がります。 昨日こんなツイートをしました。 プログラマーとして数年経験していれば誰でもクソコードの1つや2つ見たことあると思いますが、今まで「これはクソ」と思ったコードにはどんなものがありましたか?リプ欄で共有いただければ幸いです。 — 米村歩@日本一残業の少ないIT企業社長 (@yonemura2006) April 26, 2018 そうしたら出るわ出るわ。皆さんのクソコード事例集があっという間に集合知として蓄積されていきました。エンジニアであれば誰しもクソコードの話題では盛り上がらざるを得ないわけですが、今回上記のツイートを私はある意図があって投稿しました。 そ
東京住まいの外国人プログラマーが日本人のプログラミング世界について記事を書いて (Jawaad Mahmood 氏のブログ記事)、その記事が Hacker News で取り上げられて、話題になった。 "My hypothesis is that a lot of Japanese companies produce little new because they have people solving solved problems over and over again." 以下、拙訳。(*) がついているところは訳していて意味がくみ取れなかった部分なのでコメント頂ければ幸い。誰か Hacker News へのコメントも要約してくれると助かる。 昨日、コーヒーを飲みながらアール氏とアキバに関する話題やらボードゲームやビジネスについて話していた。まじめな話題としてはプログラミングについて、
.app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads
現在ではREST APIはとても一般的な話題です。ほとんどすべてのWebアプリケーションの一部分となっています。シンプルで一貫性があり実際的なインターフェースは必須です。これは皆さんのAPIを他の人が使うことをとても容易にします。皆さんにとってはRESTの実践が日常的に感じられるかもしれませんが、RESTをあまり尊重しない人々もよく見かけます。これがRESTについて投稿するきっかけでした。 この記事にはRESTfulなAPIを設計する時に考慮すべきベストプラクティスがあります。 注意 : ここでのベストプラクティスは、私が過去の経験に基づいて良いと考える事例です。もし違う考えをお持ちであれば、お気軽にメールをくだされば意見交換できると思います。 APIのバージョンを示す APIのバージョンは必須であるべきです。これがあると時間が経ってAPIが変わっても影響を受けません。その方法の1つはUR
Joel Spolsky ジョエル・スポルスキ 翻訳: Yasushi Aoki 青木靖 2000/10/24 私の知っている筋金入りのC++プログラマたちの多くは、ユーザインタフェースプログラミングを嫌っている。これは私にとっては驚くべきことだ 。それというのも、UIプログラミングが本質的にやさしく、直感的で、楽しいものだと知っているからだ。 それがやさしいというのは、どうやって矩形を別な矩形の真ん中に配置するか、という以上に複雑なアルゴリズムは、通常必要にならないからだ。それが直感的であるというのは、もしあなたが間違ったならたちどころにそのことがわかり、修正できるからだ。楽しいというのは、あなたの作業の結果を即座に見ることができるからだ。あなたは自分がプログラムを直接彫刻しているかのように感じるだろう。 私の考えでは、プログラマがUIプログラミングを怖れるのは、ほとんどの場合彼らのUI
所要期間 着手しはじめたのが2010年12月ごろ、完了したのが2013年9月だったので何と3年近くかかったことになります。 長引いた原因は、日々の機能追加や運用をしながら孤独に片手間で細々とやってたからです。(単純に人手不足とも言う) また、PHPバージョンアップと同時にCentOSサーバを5から6にあげることにしたのでサーバ再構築のための工数も含まれています。 後半は仕事仲間が増えてその人が専業でバージョンアップ作業をやってくれたのでだいぶ楽できました。 それと専任のテスターさんたちにも参加していただいたので本番で大きなトラブルなく完了することができました。 感謝感謝です。 サーバ入れ替え作業が終わってPHP5.1の入った古いサーバを削除したときの、まさに「技術的負債」を返済し終わった瞬間の、あのスッキリ感、もう言葉にはできません。 終わってみてこの件に関するRedmineのチケットを数
β版からパワーアップして全39章、正式版に相応しいボリュームになりました。10/19午後に更新予定です(現在はβ版を販売中です)。 10月19日 正式版 : β版の全21章に加え、18章分の新規書下ろしを追加します。 β版から正式版へのバージョンアップは達人出版会さまのWebサイトより無償でダウンロードしていただけます。 また合わせて紙の書籍販売も決まりました。インプレスジャパンさまより年内発売予定です。 (紙の書籍での校正や編集結果を電子書籍版にも取り込んだアップデートを計画してます。その際、電子書籍には一部の紙面構成(紙のみの付録、索引など)が取り込まれない可能性があります) Effective Android 正式版 章構成
自分ところの新人向けこんなことをするといいよーとメモ書きしてたら結構な量になってきたのでブログに晒してみます。大きくインプットとアウトプットに分けて書いてます。 アウトプット インプットよりアウトプット大事!ということでアウトプットからいきます。 コードを書こう なにはともあれ。 Shut the fuck up and write some code ぐだぐだ言ってないでコード書けよ、ハゲ後ほど紹介する「Webサービスのつくり方 ~「新しい」を生み出すための33のエッセイ (Software Design plus)」に載っている言葉です。 まぁ、載っているというかプログラマー界隈で良く言われる言葉です。 仕事で書くだけだと足りないのでプライベートでもガシガシ書きましょう。そして晒しましょう。 別にアプリである必要もありません。僕はこんなの書いたりしてます。 Google Apps Sc
ペアプロで if-then-else 文が出てきた際、「これ、else if の順序、こっちの方が良くない?」というような会話をすることが時折ある。 どれも当たり前のものかもしれないが、「ああ、確かに」という反応があることもあるので、今日はそんな会話の際に出てくる視点についてまとめてみた。 if (よくあるケース/正常なケース) { // 処理 } else if (比較的特殊なケース) { // 処理 } else if (さらに特殊なケース) { // 処理 } else { // 処理 } 条件式の結果がtrueになる確率が高く、「ノーマル」に近いものを上に書く。可読性が上がる他、特に2.で触れる条件式の判定に時間のかかる場合や、ループの最奥にある処理などのif-then-else文の実行される回数が極めて多い場合には体感レベルで実行速度にも大きな差が出ることもある。 Code Co
こんにちは。yukiです。 今日はテストや普段の開発に便利なツールのご紹介をしたいと思います。PHP限定のツールですので、ご了承下さい。 ZyngaJapanでは、昨日リニューアルオープンした「ファームビレッジ」でも、Jenkins(旧Hudson)によるCIを行って開発しており、TDDやJenkinsでのCIを利用する文化がだんだんと浸透してきています。Jenkinsのプラグインとして利用できるものも多くありますが、当然ながらコマンドラインからも利用出来ますので、コミット前に自分のコードをチェックすることもできます。 phpcpd コードの中でコピー&ペーストで記述されている部分を検出してくれます。 どの程度の重複から検出するかを柔軟に設定できるので、まず大きな部分から修正するなど判断ができ便利です。 $ phpcpd /path/to/project phpcpd @package_v
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く