タグ

programmingに関するaroma_blackのブックマーク (253)

  • プログラミングを教えるときの10のポイント (という論文の紹介)

    1. ギークの遺伝子なんてないことを心に留めようよく、「プログラミングには得意不得意がある(some kids get it, and some kids don’t)」とか、さらには「プログラミングには向いていない子がいる」とか聞きますね。 大学のコンピュータサイエンスの授業の成績分布が、とても良く理解できる生徒と何もわかっていない生徒にくっきりわかれる、という話も聞きます。当でしょうか?Patitsasらの最新の研究によると、実際にはそんなことはなく、くっきりと成績の分布が分れてしまったコンピュータサイエンス入門のクラスは、5.8%に過ぎなかったそうです。 この論文では、「プログラミングには得意不得意がある」という迷信は、プログラミングを学びだしたときに躓きがちな生徒でなく(意識的か無意識的かにかかわらず)、スムーズに学ぶ生徒の方へ教える時間や熱意を費やすことにつながり、ひいてはコン

    プログラミングを教えるときの10のポイント (という論文の紹介)
  • ISUCON7予選の上位陣の戦略まとめ - Bit Journey's Tech Blog

    Speee社でISUCON7の復習会をやったのでその資料を公開します。 ISUCON7復習会 2017/11/08 at Speee Lounge. original repo: https://github.com/isucon/isucon7-qualify 概要 ISUCON7の予選突破組の上位陣の戦略をいくつか分析してみました。 †空中庭園†《ガーデンプレイス》 repo: https://github.com/ryotarai/isucon7q http://eagletmt.hateblo.jp/entry/2017/10/24/010832 https://mozami.me/2017/10/24/isucon7_qualify.html スギャブロエックス repo: https://github.com/gfx/isucon7-qualify http://memo.su

    ISUCON7予選の上位陣の戦略まとめ - Bit Journey's Tech Blog
  • 良いエラーメッセージの書き方 - Qiita

    エラーには大抵「エラーメッセージ」が付いています。 自分は過去に、エラーメッセージの内容を雑にしてしまい後悔することがよくありました。 その経験から、良いエラーメッセージの書き方を考えました。 エラーメッセージを2つに分類する まず、エラーメッセージといっても次の2つのパターンで大きく異なってきます。 (1) ユーザーが見るエラーメッセージ (2) 開発者が見るエラーメッセージ (1) ユーザーが見るエラーメッセージ 内部実装のことは書かないようにする

    良いエラーメッセージの書き方 - Qiita
  • TechCrunch

    Calendar apps are essential for productivity but it is hard to differentiate enough to have sustained growth from just the core usage. Y Combinator-backed Superpowered, which is an AI-powered notetake

    TechCrunch
  • 入社からの半年間でコードレビューで指摘されたことのまとめ - 30歳からのプログラミング

    実務未経験でプログラマとして入社して半年以上が経った。 コードレビューで指摘されたことを備忘録としてまとめておく。 自分なりにまとめたものなので、レビュアーが言いたかったこととニュアンスや解釈がずれている可能性はある。 初歩的な内容ばかりで我ながらうんざりする。 せっかく優秀な同僚ばかりなのだからもっと高度なことを学びたいが、こういう初歩的なことが出来ないのが俺の現状なのだから、仕方ない。 そもそもPullRequestを送ったこともなかったわけだし。入社初日は、一人でPullRequestの出し方を練習していた。 それを考えればまあ、こんなものだろうか。 当たり前のことをちゃんと当たり前に出来るようになって、早く、次のステージに進みたい。 PullRequest(PR) PRのタイトルは分かりやすいものに。必要に応じてチケットの番号なども入れる。 コミットやPRは出来るだけ粒度を細かくす

    入社からの半年間でコードレビューで指摘されたことのまとめ - 30歳からのプログラミング
  • 新卒2年目が鍛えられたコードレビュー道場 #jjug_ccc #ccc_l3

    JJUG CCC 2017 Springで話した内容になります。 http://www.java-users.jp/ccc2017spring/

    新卒2年目が鍛えられたコードレビュー道場 #jjug_ccc #ccc_l3
  • コードレビューの極意。それは「自分のことは棚に上げる」こと!! - Qiita

    はじめに:コードを良くするためなら遠慮は不要 昨日Twitterに投稿した内容が思った以上に拡散されていたので、タイムラインに流れてしまわないようにQiitaにも書いておきます。 内容は上に書いてあるとおりです。 コードレビューはコードの問題点を指摘し、そのコードを良くすることが第一の目的です。 そのため、少しでもおかしいと思った部分は遠慮せずにどんどんツッコむ必要があります。 しかし、レビューする側が「これ、自分もあまりできてないんだよなあ」「お前もできてないじゃん!って言われたら返す言葉もないし・・・」などと思って遠慮してしまうと、コードを改善できるせっかくのチャンスが失われてしまいます。 「自分ができているかどうか」と「そのコードを改善すること」は、それぞれ別の問題です。 なので、レビューする人は自分のことを棚に上げてでも、コードの問題点を指摘する必要があります。 また、レビューされ

    コードレビューの極意。それは「自分のことは棚に上げる」こと!! - Qiita
    aroma_black
    aroma_black 2017/07/19
    “遠慮してしまうと、コードを改善できるせっかくのチャンスが失われてしまいます。 「自分ができているかどうか」と「そのコードを改善すること」は、それぞれ別の問題です。”
  • コーディングに対する考え方を変える6つのプログラミングパラダイム | POSTD

    私は時折、コーディングに対する考え方を変えさせられるような、従来と非常に異なるプログラミング言語に出会います。記事では、その中でも特に気に入っている発見をいくつかご紹介したいと思います。 これは、先賢による「関数型プログラミングは世界を変える!」的な投稿ではありません。記事で挙げるのは、もっと「知る人ぞ知る」的なリストです。多くの読者の方にとって、以下の言語やパラダイムは聞いたことのないものが大半だと思いますので、私が経験したように、これらの新しい概念を学ぶ楽しさを感じていただければ幸いです。 注:私は以下の言語の多くに関して最低限の経験しかありません。その発想に引き込まれたのであって、専門的知識は持ち合わせていないため、訂正すべき点や誤りがあればどうぞご指摘ください。また、記事で取り上げていない新しいパラダイムや概念に出会った方は、ぜひお知らせください。 最新情報:記事が r/p

    コーディングに対する考え方を変える6つのプログラミングパラダイム | POSTD
  • 今はコードがお偉いさんなんだからMOBは雁首揃えろって話 - アンカテ

    技術なきマネジメントの衰退とその対策 - メソッド屋のブログ Mob Programmingって初めて聞いたけど、とてもいい方法に思える。 コードを書く時に、今現在の仕様はわかっていたとしても、今後どうなるか、どういう方向に発展するのか気になって、ビジネス的にその分野に詳しい人の所に聞きに行ってから書きはじめることがあるし、性能的に大丈夫かDBに詳しい人の意見を聞いたり、何か迷った時に過去のプロジェクトで似たようなケースをどっちの方法で解決したか調べたりすることもある。 書き出すとすぐ終わる短いコードでも、書き出す前に、聞きにいったり議論したりする時間が随分かかっていることもある。この時間をかけないと、結局、後で変更になるので、先に聞きにいくのがベターなんだが、チーム全員集まってひとつのコードを書けば、そういう時間を省略できるような気はする。 だから、これが生産性が高いということは感覚的に

    今はコードがお偉いさんなんだからMOBは雁首揃えろって話 - アンカテ
    aroma_black
    aroma_black 2017/06/25
    “今はコードの影響力の方が社長より大きくて、社長が右へ行けと言っても、コードが右へ行けるようにできてなければ、会社は右へ行けない。”
  • もういい加減「nullチェックをしたら安全」とかわけのわからないことを言うのはやめよう - Qiita

    (僕の主観で)クソな記事をたまたま読んでしまってもにょったので愚痴。 Safe Harbor Statement 以下の事項は個人の見解であり所属する組織の公式見解ではありませんし、明日になったら違うことを思っているかもしれませんがそういう類のものです。 某所で危険と言われていたコード public void hogeMethod(Hoge hoge) { //hogeを使った処理 hoge.doSomething(); return; } 安全な理由: NullPointerExceptionが発生しない 僕がいいたかったこと それ、NPEを握りつぶしているだけですから!!!!!!! (とくにJavaの世界においては)非検査例外というのはコーディングバグを示してくれるものですから、へんなnullチェックをいれるのではなく、積極的にNPEを発生させていきましょう。 こういうわけのわからない

    もういい加減「nullチェックをしたら安全」とかわけのわからないことを言うのはやめよう - Qiita
  • あっと驚かせるJavaプログラミング(をやめよう) - Qiita

    はじめに 驚き最小の原則(法則)という言葉があります。 Wikipediaの記事を引用すると http://ja.wikipedia.org/wiki/%E9%A9%9A%E3%81%8D%E6%9C%80%E5%B0%8F%E3%81%AE%E5%8E%9F%E5%89%87 ユーザインタフェースやプログラミング言語の設計および人間工学において、インタフェースの2つの要素が互いに矛盾あるいは不明瞭だったときに、その動作としては人間のユーザやプログラマが最も自然に思える(驚きが少ない)ものを選択すべきだとする考え方である。 要するに、使うときに「おやっ?」という驚きが少ないほうが良いプログラムであるといえます1。 この記事では敢えて驚きの多いプログラムの書き方を紹介します。驚きの多いプログラムを読むとどんな気分になるか、実際に体験してみてください。もちろん、当は驚きが少ないプログラムを書

    あっと驚かせるJavaプログラミング(をやめよう) - Qiita
  • http://www.qcontokyo.com/data_2016/pdf/C-3_ASAMI,%20Tomoharu.pdf

    aroma_black
    aroma_black 2017/06/02
    "オブジェクト・関数型プログラミングからオブジェクト・関数型分析設計へ"
  • 知っているようで知らないWebサーバアーキテクチャ

    第6回ゲームサーバ勉強会用資料です。 Webの技術の根幹となるHTTPやTCP/IPを軽くおさらいしたあと、 マルチプロセス、マルチスレッド、イベント駆動といったサーバアーキテクチャについて解析し、 さらにイベント駆動を実現するための非ブロッキングI/OとI/Oの多重化について解説します。

    知っているようで知らないWebサーバアーキテクチャ
  • モノリスあるいはマイクロサービスの技術的負債を占う水晶玉 - Amam Tornhill氏の考察

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    モノリスあるいはマイクロサービスの技術的負債を占う水晶玉 - Amam Tornhill氏の考察
    aroma_black
    aroma_black 2017/05/22
    “技術的負債の大部分が実際には“技術的”ではない – 技術的負債とコードを作成した組織との間に強い因果関係があること” この辺はピープルウェアと同じ見解なのかな
  • レガシーコードの触り方 / Working Effectively with Legacy Code

    オープンセミナー2017@岡山

    レガシーコードの触り方 / Working Effectively with Legacy Code
    aroma_black
    aroma_black 2017/05/22
    最初から良いテストにこだわらない、再現性があり独立している、テストは品質がわかるだけである
  • ドメイン駆動設計基礎講座〜戦略編〜

    ChatWork社内勉強会で発表した際の資料

    ドメイン駆動設計基礎講座〜戦略編〜
  • テスト自動化研究会 - テスト自動化の8原則

    1. 手動テストはなくならない 2. 手動でおこなって効果のないテストを自動化しても無駄である 3. 自動テストは書いたことしかテストしない 4. テスト自動化の効用はコスト削減だけではない 5. 自動テストシステムの開発は継続的におこなうものである 6. 自動化検討はプロジェクト初期から 7. 自動テストで新種のバグが見つかることは稀である 8. テスト結果分析という新たなタスクが生まれる これらの原則は、どのようなドメイン、プロセス、ツールの現場におけるテスト自動化であっても共通して言える、テスト自動化に取り組む前に留意しておくべきことがら=原則を、テスト自動化研究会のメンバーによる議論のうえ、絞り込んだものです。これからテスト自動化に取り組まれる方、現在取り組まれている方、これから見直しをされたい方にご参考いただければ幸いです。 解説 1. 手動テストはなくならない ユーザビリティテ

    テスト自動化研究会 - テスト自動化の8原則
  • コードレビューをより効果的にする方法

    ツールに任せることができないどんなことを人間は指摘できるのだろうか? 驚くほど多数の事柄があることがわかっている。この記事の残りで幅広い重要事項のリストに触れ、2つの特定の領域、パフォーマンスとセキュリティに関してはもう少し深く言及する。 設計 新しいコードは全体アーキテクチャに適合しているだろうか? コードはSOLID原則、ドメイン駆動設計、もしくはチームが採用する他の設計手法に従っているだろうか? 新しいコードでデザインパターンは使用されているだろうか?これらは適切だろうか? コードベースの標準や設計スタイルが混合されている場合は、新しいコードは現在の原則に従っているだろうか?コードは現在の方向性を引き継いでいるか、徐々に除去される古いコードの例に従っているだろうか? コードは正しい場所に配置されているだろうか?例えば、コードが注文に関係する場合は、それは注文サービスの中にあるだろうか

    コードレビューをより効果的にする方法
  • フリーエンジニアのIT案件ならレバテックフリーランス

    2016年11月3日(祝)、大田区産業プラザPiOにて開催された国内最大のPHPイベント「PHPカンファレンス2016」。レバテックフリーランスでは、カンファレンスセッションの登壇者のひとり・和田卓人氏にインタビューを実施しました。 テスト駆動開発の先駆者として知られる和田氏ですが、今回の講演テーマは「PHP7で堅牢なコードを書く-例外処理、表明プログラミング、契約による設計」。あえてテスト以外のテーマを設定した理由をはじめ、PHPの優位性や今注目している言語、初心者エンジニアへのアドバイスなど、幅広くお話を伺ってきました。 <この記事の要約> 1. PHPの良い点は、ゆるふわな言語に見せかけて堅牢なコードも書けるところ。悪い点は、覚えることが多くて難しいところ。 2. テストを書いていればコードの品質が高いわけではない。また、テストが書けないくらい問題を抱えたコードでも、中から改善してい

    フリーエンジニアのIT案件ならレバテックフリーランス
  • DRYと不当な抽象化によるコストについて | POSTD

    記事は、もう随分と長い間、私がToDoリストに記したままになっていたものです。ですが今日だけは、その考えを実行に移すエネルギーと時間があったようです。私は今、少し前に最初の記事を投稿した時と同じカフェにいます。たまたまなのか、それとも……。店員が私に出した飲み物に何か入れていたに違いありません。 ベストプラクティスにならえ、という古き良きアドバイスがありますよね。そうした情報は常に耳に入ってきます。私たちは、どういうわけかテクニカルな会話の中で DRY とか KISS といった頭字語を第一の原則としてきました。熱心に、まずそうした概念に従っています。たまたま、知識欲があるために、あるいは知識がなかったために、そうした概念から外れたことをする人がいようものなら、確実にその人に嵐のような批判を浴びせます。この原則にとらわれすぎていて、そこに背を向けることを拒んでいるのです。 念のためですが、

    DRYと不当な抽象化によるコストについて | POSTD