タグ

programmingに関するsisidovskiのブックマーク (76)

  • ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習

    最近、あまりプログラミングが得意でない人のサポートをする形で、長い時間にわたってペアプログラミングを行っている。そのなかで、気がついた悪い習慣と成長するための良い習慣というものをまとめてみる。 この記事のバックグラウンドとなる体系的知識がになりました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング あわせて読みたい 経営者マインドが足りない!vs. 現場に任せてくれない!の対立をなくすカードゲームをつくった話 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 あきらめるにはまだ早い!ソースコードの品質向上に効果的なアプローチ 心理的安全性ガイドライン(あるいは権威勾配に関する一

    ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習
  • ソースコードって実際のところどういうふうに書いていますか?|Rui Ueyama

    私はプログラミングは結構自信があるんですが、他の人の作業をつぶさに観察したことがあるわけでもないので、自分で当たり前だと思っているコーディングの方法が他の人にとってはそうではないこともあると思ってます。上手い人がどういうふうにしてプログラムを書いているのか知りたいんですよね。 逆に私はどういうふうに書いているかちょっとまとめてみました。自分はこうしている、というのがあったらぜひ教えてください。 まず私の場合、ゼロからコードを書くよりも現在のプロジェクトのためのコードを書くことのほうが多いので、コードを書くというのは既存のコードに変更を加えることがほとんどです。既存のコードに手を加えるときは、新機能追加か、リファクタリング(動作は変えずにコードをきれいにすること)のどちらかになるわけですが、まず前者をどうしているかどうかをできるだけ説明してみます。 まず必要なのは考えることです。よく知ってい

    ソースコードって実際のところどういうふうに書いていますか?|Rui Ueyama
  • The Twelve-Factor App

    Introduction In the modern era, software is commonly delivered as a service: called web apps, or software-as-a-service. The twelve-factor app is a methodology for building software-as-a-service apps that: Use declarative formats for setup automation, to minimize time and cost for new developers joining the project; Have a clean contract with the underlying operating system, offering maximum portab

  • 「現在時刻」を外部入力とする設計と、その実装のこと - クックパッド開発者ブログ

    こんにちは。技術部 開発基盤グループの諸橋です。 クックパッドでは昨今の多くのWeb企業と同じように、GitHub EnterpriseのPull Requestを使ったコードレビューを広範に実施しています。わたしたちのコードレビューでは、ソースコードの字面にとどまらず、サービスの機能として魅力的かどうかや、保守性を含めた設計が適切かといった議論に発展することも良くあります。 きょうはそんななかで話題に上がった「現在時刻」の扱いかたに関する設計の話を書きます。 背景 サービスを開発・運営している我々には、時間帯によって出し分けたり、特定の期間のみに表示したいコンテンツがたくさんあります。 そのたびにデプロイし直すというのはつらいので(特に24:00に出なくなるコンテンツなど)なんとかしたくなりますが、一方で時限式のコンテンツはその時になるまでちゃんと動いているか確証が取れないので怖いです。

    「現在時刻」を外部入力とする設計と、その実装のこと - クックパッド開発者ブログ
  • ロシアの天才ハッカーによる【新人エンジニアサバイバルガイド】 - Qiita

    弊社に5年間在籍していたロシアの天才ハッカーが先日退職しました。 ハッキング世界大会優勝の経歴を持ち、テレビ出演の経験もある彼ですが、正直こんなに長く活躍してくれるとは思っていませんでした。彼のようなタレントが入社した場合、得てして日の大企業にありがちな官僚主義に辟易してすぐに退職するか、もしくはマスコットキャラとして落ち着くかのどちらかのケースがほとんどなのですが、彼は最後まで現場の第一線で活躍してくれました。 そんな彼が最後に残していった退職メールがなかなか印象的だったので、その拙訳をここに掲載します(転載について人同意済み。弊社特有の部分は一部省いています。) ああ、なんという長い旅だったろう。この会社で5年間もセキュリティを担当していたよ(諸々の失敗は許してくれ) 俺は他の退職者のように面白いことは書けないが、私のこの退職メールを読んでくれている人、特に新人エンジニアのために、

    ロシアの天才ハッカーによる【新人エンジニアサバイバルガイド】 - Qiita
  • ネットワークプログラミングの基礎知識

    ネットワークプログラミングの基礎知識 ここでは IP アドレスやポート番号、クライアントとサーバの役割などを説明し、 perl・C言語・Java などでソケット (Socket) を使った HTTP クライアントや POP3 クライアント、簡単なサーバを作成してみます。 要はネットワークプログラミングをやってみよう、ということです。 このページのサンプルプログラムは、RFC などの規格に準拠した「正しい」プログラムではありません。 また、全体的にエラー処理が不十分です (今後改善する予定です)。 あくまでも概要を理解するためのサンプルととらえてください。 もし気でしっかりとしたクライアントやサーバを書きたいなら、このページを読んだ上で、 さらに RFC を熟読し、そして wget・Apache・ftp コマンドなどのソースを参考にしてください。 このページに間違いを見付けたら、掲示板

  • 読んで良かった基礎知識の入門書 - Qiita

    Help us understand the problem. What is going on with this article?

    読んで良かった基礎知識の入門書 - Qiita
  • Hacker Newsのコメント欄で紹介される数の多い30冊 - YAMDAS現更新履歴

    Top 30 Books on Amazon Based on Links in Hacker News Comments 面白いことを調べる人がいるものだ。テック系ニュースサイトとしておなじみ Hacker News におけるコメント欄で紹介される数の多いを30冊選んでいる。 調べてみたら、だいたい邦訳が出ていた。やはりプログラマのニーズに違いはないということだろうか。邦訳のあるものを紹介数が上のものから並べておく。 アントレプレナーの教科書[新装版] アルゴリズムイントロダクション 第3版 第1巻: 基礎・ソート・データ構造・数学 (世界標準MIT教科書)、アルゴリズムイントロダクション 第3版 第2巻: 高度な設計と解析手法・高度なデータ構造・グラフアルゴリズム (世界標準MIT教科書) 影響力の正体 説得のカラクリを心理学があばく ピープルウエア 第3版 CODE コードから見た

    Hacker Newsのコメント欄で紹介される数の多い30冊 - YAMDAS現更新履歴
  • IIJ Research Laboratory

    ネットワークの計測と解析 インターネットの使われ方やネットワークの挙動を把握する事は、ネットワークを運用し、その技術開発を行う ために欠かせません。しかし、観測で得られるデータ量は膨大ですがノイズが多く、また、観測できるのは極めて限られた部分でしかありません。そこで、膨大なデータから意味のある情報を抽出したり、部分的な観測からより一般的な傾向を推測する事が必要となります。... インターネット基盤技術 速くて、安全で、信頼性が高く、使いやすく、など、インターネットサービスへの要求はますます高まっています。これらの要求に応えるために、インターネットの 基盤技術も日々進歩しています。いまやインターネットはつながるだけのサービスではなく、高度で複雑な機能を備えた社会基盤となりました。IIJ技術研究所は、インターネットの基盤として実現が期待される機能を提供するために、さまざまな技術課題に取り組んで

  • エンジニアの採用面接におけるコーディングテストとフィボナッチ数列

    ソフトウェア開発者採用面接のコーディングテストについて。最低限のコーディング能力があるかどうかを見極めるのに、フィボナッチ数を求める関数が出題される事がある。というか自分も出題した事がある。 ホワイトボードに書く形式だと、どうしても行数の少ない実装になってしまうが。手元の端末で自由に書いて良いとなれば、いろいろな解法が出てきて、想定していないコミュニケーションが生まれるかもしれない。最近は専ら採用する側になってしまったのだが、とりあえず自分ならどう書くかなと列挙してみた。使った環境はIPython Notebookである。

    エンジニアの採用面接におけるコーディングテストとフィボナッチ数列
  • あるエンジニアの緩慢な死、あるいはエンジニア35歳定年説。 - Qiita

    エンジニア35歳定年説」が許されるのは小学生までだよねーとか思っていたら、実際にはそんな感じになってしまったあるエンジニアの半生を振り返ります。ご参考まで。 第一期 サービスリリース前 自分でサービスをガリガリ作っている というかサービスを作ることしかしていない 1日16時間くらい仕事をしても、プログラミングしかしていないので疲れない 仕様の検討をしながら作るので、基全ての時間は開発をしているという認識 フルスタックエンジニアというある種の全能感を満喫する 第二期 サービスリリース後 運用(ユーザーサポートなども含む)が入ってくるのでサービス開発のスピードが落ちる エンジニアを採用(業務委託含む)する 仕様の調整やコードレビューなど、開発以外の仕事が少しずつ増えてくる でもまだまだ自分が圧倒的にメイン開発者 コードレビューやマージ、リリースは自分が全てやる システムの全体からディテール

    あるエンジニアの緩慢な死、あるいはエンジニア35歳定年説。 - Qiita
  • プログラマ向けニュースキュレーションサービスを作ってみた話 - Qiita

    はじめに 2015年度新卒でドワンゴに入社しました@ytanakaといいます。普段はAndroidアプリ開発を主に担当していますが、大学院時代は増井俊之先生のもとでユーザインタフェースと情報推薦システムの研究をしていました。 ドワンゴに入社後、それまでの研究を活かしプログラマ向けのニュースキュレーションサービスMenthas(メンタス)を個人開発しました。今回はせっかくの機会なので、開発の経緯と概要そして仕組みについて述べたいと思います。 追記: 続編を書きました こちらの記事は以前のバージョンの内容になります。現行のMenthasの仕組み・構成は以下にまとめています。 約3年かけてプログラマ向けニュース推薦アプリを作り直した話 背景 さて、この記事をご覧になっているのはプログラマの方が多いと思いますが皆さん普段どうやって情報収集をしていますか? 自分の見聞きする限りではTwitterやは

    プログラマ向けニュースキュレーションサービスを作ってみた話 - Qiita
  • クラス設計の原則 — みんなのウェディングエンジニアリングブログ

    みんなのウェディングの高井です。 クラスベースのオブジェクト指向プログラミング言語を利用している人であれば、クラスとは、ありふれていて普段から利用するものです。にもかかわらず、良いクラスをつくるというのは、なかなかに難しいことです。 先日、みんなのウェディングでアルバイトをしてくれている学生さんのコードレビューをしていたときにも、それを強く感じました。 実践的プラグマティックには「ソフトウェアの規模や文脈にあわせて、適切に抽象化していただきたい」という以上のことを言っても仕方がないところなのですが、それだけでは経験の浅いプログラマーにとって、まったく分からないという話になってしまいます。 というわけで、今回はクラス設計の原則についてのお話しです。 Bertrand Meyerのクラス設計の原則 Bertrand Meyerは『オブジェクト指向入門 第2版』の中で、クラス設計について章をひと

    クラス設計の原則 — みんなのウェディングエンジニアリングブログ
  • Webエンジニアが知っておきたいインフラの基本 インフラの設計から構成、監視、チューニングまで

    Webエンジニアが知っておきたいインフラの基 インフラの設計から構成、監視、チューニングまで 馬場俊彰 マイナビ出版 2,948円 (2,680円+税) Webサービスを高速化し、可用性を高めるスキルを身につける! Webエンジニア仕事の幅を広げるためのインフラの知識をピックアップしてまとめました。インフラまわりの技術の基から、インフラ基盤の手配の方法、設計のセオリー、システム監視、チューニングまで、ツボを押さえてまとめています。 関連サイト書の関連ページが用意されています。 Webエンジニアが知っておきたいインフラの基|マイナビブックス内容紹介書は、Webアプリケーションエンジニアや、フロントエンドエンジニアを対象に、知っておくと便利なインフラの知識をまとめたです。 担当しているWebサービスをもっと高速化させたい方や、バックエンドと最適化された無駄のないアプリケーションを

    Webエンジニアが知っておきたいインフラの基本 インフラの設計から構成、監視、チューニングまで
  • 関数型プログラミングとは結局何なのか | 黒曜の吹き溜まり

    この記事はドワンゴ Advent Calendar 2014の14日目です。 ちなみに前日は@erukitiさんでした。 他の方は「こんなもの作ってみた!」系の記事が多いのですが、技術系の話題であれば特に縛りはないようなので、今回はひたすら文章をつらつらと綴っていきたいと思います。 ここ数年、「マルチコア時代の主流は関数型だ」とか「Javaはもう古い! 時代は関数型!」といった記事をよく見かけるようになった気がします。 大学でOCamlを学んできた自分としては嬉しい限りなのですが、なんだか関数型という言葉がバズワード的な使われ方をしている気がして、まるで「現在起こっている全ての問題を解決する銀の矢だ!」といわんばかりの雰囲気を感じるのが気になっています。 最近うちの部署でもにわかに「関数型っぽく書こう」みたいな機運が高まってることもあるので、この機に関数型プログラミングとはなにか、どのよう

  • 僕はもうプログラミングしなくていいんだ

    大学四回生の夏、下宿の扉に「出入禁止」とチョークで大書し、親を呼ばれて精神病院に連れて行かれた。 パソコンを買ってもらったのは小学三年生の冬だった。今でも覚えている。1996年12月2日のことだ。Windows95発売で世間は揺れていた。インターネット回線がうちに来たのは翌97年の1月、これはそこそこ早い導入だったと思う。さらに翌々年の99年にはケーブルテレビで常時接続になった。親には先見の明があったが、しかしパソコンには詳しくなかった。PC-8001も確かそうだ。親はこれが次世代の必需品になると確信して買っていたが、買った一方で使い道が分からなくてオブジェとして放置していた。親はPC-8001をパソコンだと言っていたけれど、僕にとってパソコンはおっきなテレビが標準で付属しているものだったし、マウスもなかったので、それがパソコンだとは到底思えなかった。でも親は言った。今度来るのは違うんだ、

    僕はもうプログラミングしなくていいんだ
  • 難しいプログラムでは自分がいままで書いたコードが正しく動くと信じて残りのコードを書く必要がある | by Rui Ueyama | Medium

    Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

    難しいプログラムでは自分がいままで書いたコードが正しく動くと信じて残りのコードを書く必要がある | by Rui Ueyama | Medium
  • 凄腕エンジニアが選ぶ【値段以上の価値があった良書26選】 - paiza times

    Photo by Andy Lamb こんにちは。谷口です。 読書の秋ですが(既に冬並みに寒いですが……)、皆さんは最近何かを読まれましたか? ITエンジニアの皆さんは技術書を読まれることが多いかと思いますが、今回は弊社で私が特に凄腕だと思っているエンジニア達に読んで値段以上に価値があると感じたを聞いてきましたので、ご紹介いたします。 ■弊社エンジニアが選ぶ役に立った26選 佐藤です。paizaの開発や分析などを担当しています。 今回はエンジニアとして、考え方の面で影響を受けたをピックアップしてみました。 ◆1.新C++言語入門 シニア編〈上〉基機能 (C++言語実用マスターシリーズ) 新C++言語入門 シニア編〈上〉基機能 (C++言語実用マスターシリーズ) 作者: 林晴比古出版社/メーカー: ソフトバンククリエイティブ発売日: 2001/05メディア: 単行購入: 1人

    凄腕エンジニアが選ぶ【値段以上の価値があった良書26選】 - paiza times
  • プログラミングの勉強で重要だなとおもったこと

    1、あらゆる意見について盲信してはいけないインターネット上ではとりわけ多いけれど、ある意見を適当に述べている人というのは多い。適当に述べている……とは、別に悪気があってそうなったわけじゃなくて、人もよくわかっていないけど「なんかうまくいったからとりあえずブログに書いた」風のものがあるということだ。例えばブログに書いてあったソースをそのまま貼付けてコンパイルエラーになることがあるけれど、それには色々要因があって「人がブログ上で書いたまま検証していない」「サイト上でレイアウトが崩れた」「環境が違う」等いろいろある。自分のわからないものに関しては「そうなんだ。まぁとりあえずそういうことにしておこう」ぐらいでいい。断定口調で「絶対こうだ」と書いている人も、間違っていることが多々ある。それはでもそうだ。「ほんとうかなぁ?」と思ったら疑った方がいい。自分しか信じてはいけないし、その自分すら疑った

  • 新鋭の言語: この5年を振り返る

    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が最近リリースされ、重要な変...

    新鋭の言語: この5年を振り返る