タグ

programmingに関するmotchangのブックマーク (709)

  • 今はコードがお偉いさんなんだからMOBは雁首揃えろって話 - アンカテ

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

    今はコードがお偉いさんなんだからMOBは雁首揃えろって話 - アンカテ
  • スピード感のために品質を落とすということはチームの成長を諦めるということ - ネットの海の片隅で

    サービスを開発していると、スピードが重視される。 そのこと自体にはまったく問題はなくて正当なことだと思っている。 ユーザーに対して一刻も早く価値を届けるためには必要なことだ。 そもそも、自分がいる Web 界隈ではこの点について異論のあるサービス開発者はあまりいないんじゃないかと思っている。 ただ、それを達成するための方法になると途端に意見が分かれはじめて、人によって重視することが全然違ってくる。 ある人は「スピード感が大事」と言い、ある人は「ちゃんと作ったほうがトータルでは速い」と主張する。 しかし、こういうときに意識される品質と速度についてのトレードオフは、実際には完全なトレードオフではないと思っている。 技術力のある人はある程度急いで作ったとしても一定以上の品質のコードを書くし、意図的に品質を落としたとしても速度はあまり上がらない。 逆に、技術力が高くない人が時間をかけて作ったとして

    スピード感のために品質を落とすということはチームの成長を諦めるということ - ネットの海の片隅で
  • Ruby書いたことないけどRuby書いた人の講演に行った - みたぬメモ

    【まつもとゆきひろ氏 特別講演】若手エンジニアの生存戦略 - connpassに参加してきました。若手エンジニアないしはエンジニアを目指す学生向けに、生存戦略を説く主旨の講演でした。まつもとゆきひろ氏とは、プログラミング言語・Rubyを作った人です。 全体的な内容はこちらのブログで非常にコンパクトに紹介されているのでご参照ください。 zuckey17.hatenablog.com 私のブログではまつもとゆきひろ氏もといMatz氏が語ったことを前半に紹介しつつ、後半に主観感想もまとめたいと思います。 ■生き残るには? -死ななければいい。 「エンジニアの生存戦略、つまり生き残るには?」 その問いに「単純ながら、死ななければいい。」という皮切りでスタートした。 じゃあこの"死なない"ためにはどうするか。 そもそも生き残るとはどのような戦略を取ればいいのか? Matz氏は「背景や環境など当然違う

    Ruby書いたことないけどRuby書いた人の講演に行った - みたぬメモ
    motchang
    motchang 2017/05/21
    熱中してやってることを外野が「努力」と表現するの気分悪いし他人に注入しないでほしい。 / No deal はほんとそのままで面接だと企業側が使うのに労働者が行使しないのが謎。自分が流動性の高い職種だからだろうけど。
  • 非同期とノンブロッキングとあと何か | κeenのHappy Hacκing Blog

    κeenです。最近同期/非同期、ブロッキング/ノンブロッキング、直接形式/継続渡し形式あたりが混乱してきたので個人的に整理します。 あくまで私個人の理解を纏めただけなので誤謬などに注意して下さい。 追記: @tanaka_akrさんから指摘されたのですが、用語の説明が間違っていそうだったので書き直しました。 diffはこちら 非同期とノンブロッキングはよく混同されます。また、非同期処理の記述形式として直接形式や継続渡し形式などがあります。 私自身違う言葉だなとは思いつつも混同したり違いを忘れたりしています。 非同期もノンブロッキングもナイーブなIOに比べると速い方式だな程度の理解でいてそんなに困らないと思ってますし混同や誤用に目くじらを立てるつもりもありません。 しかしながら3者を区別しないと意味を成さない文脈で3者を混同している技術を何度か見掛けたので(自分の中で)整理しようと思ったのが

    非同期とノンブロッキングとあと何か | κeenのHappy Hacκing Blog
  • 新卒2年目が鍛えられたコードレビュー道場 #jjug_ccc #ccc_l3

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

    新卒2年目が鍛えられたコードレビュー道場 #jjug_ccc #ccc_l3
    motchang
    motchang 2017/05/21
    すばら
  • DB(ドイツ鉄道)オープンデータハッカソンに参加してきました - Qiita

    2017年5月12日(金)から13日(土)にかけて開催されたDBドイツ鉄道)オープンデータハッカソンに参加してきました。友人であるドイツ人の大学教授から、4月末に「こんなイベントがあるんだけど来ない?」と誘われて、反射的に「行く!」と答えてしまったのですが、あれ?もう2週間しかないじゃん、しかも場所がベルリンってドイツじゃん、ってなって、でも、行ってしまいました。学生も、場所のことを隠して「面白そうなハッカソンがあるんだけど一緒に行かない?」って誘ったんですが、さすがにバレちゃいました。 今回のハッカソンはJR東日がパートナー? Webページに大きく、E5系新幹線とドイツのICEが手を繋いでいる絵が出ていますね。実は今回のハッカソンの目玉として、JR東日がパートナーとして参加しているのです。だからドイツ人の先生も私を誘ってくれたのですね。JR東日DB技術提携をしており、それが今

    DB(ドイツ鉄道)オープンデータハッカソンに参加してきました - Qiita
  • 【画像45枚あり】フーリエ変換を宇宙一わかりやすく解説してみる|迫佑樹オフィシャルブログ

    こんにちは,学生エンジニアの迫佑樹(@yuki_99_s)です. 工学系の大学生なら絶対に触れるはずのフーリエ変換ですが,「イマイチなにをしているのかよくわからずに終わってしまった」という方も多いのではないでしょうか? 難しいのに加えて,教科書もちょっと不親切で,いきなり論理が飛躍したりするんですよね(僕の理解力の問題かもしれませんが) 僕がフーリエ変換について学んだ時に,以下のような疑問を抱きました. 出来る限り難しい式変形は使わずにこれらの疑問を解決できるようにフーリエ変換についてまとめてみました!! 多少厳密性を欠いても,とりあえず理解するという目的の記事なので,これを読んだあとに教科書と付き合わせてみることをおすすめします. それでは,いってみましょう!! 今回の記事は結構気で書きました. フーリエ変換の公式 今回のゴールを確認するべく,まずはフーリエ変換及びフーリエ逆変換の公式

    【画像45枚あり】フーリエ変換を宇宙一わかりやすく解説してみる|迫佑樹オフィシャルブログ
  • 「エンジニア専門転職支援のポテパン」と「急成長スタートアップCTO」のタッグで贈る、仕事獲得に特化したエンジニアスクールが実質無料でついにオープン

    株式会社ポテパン(社:東京都渋谷区、代表取締役:宮﨑大地、以下ポテパン)は、転職サポート付きエンジニアスクール「ポテパンキャンプ」の募集を開始したことをお知らせいたします。 ■ 概要 ポテパンキャンプ(https://camp.potepan.com)は、「エンジニア専門転職支援のポテパン」と「急成長スタートアップCTO」のタッグで贈る、仕事獲得に特化したエンジニアスクールです。 1500人以上のエンジニアから選ばれたポテパンの転職ノウハウで、プログラミングを勉強したけど開発の仕事につけていない方や、新しい技術にスキルチェンジしたい現エンジニアの方の希望を叶える転職を実現いたします。 ■ サービスの特徴 1.エンジニア転職専門のポテパンがサポート ポテパンでは毎月、数千件更新されるエンジニア求人情報を分析し、最短でニーズの高いエンジニアになれるようキャリアプランを一緒に考えます。キャリア

    「エンジニア専門転職支援のポテパン」と「急成長スタートアップCTO」のタッグで贈る、仕事獲得に特化したエンジニアスクールが実質無料でついにオープン
  • Composition on Ruby

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    Composition on Ruby
  • Python: ソケットプログラミングのアーキテクチャパターン - CUBE SUGAR CONTAINER

    今回はソケットプログラミングについて。 ソケットというのは Unix 系のシステムでネットワークを扱うとしたら、ほぼ必ずといっていいほど使われているもの。 ホスト間の通信やホスト内での IPC など、ネットワークを抽象化したインターフェースになっている。 そんな幅広く使われているソケットだけど、取り扱うときには色々なアーキテクチャパターンが考えられる。 また、比較的低レイヤーな部分なので、効率的に扱うためにはシステムコールなどの、割りと OS レベルに近い知識も必要になってくる。 ここらへんの話は、体系的に語られているドキュメントが少ないし、あっても鈍器のようなだったりする。 そこで、今回はそれらについてざっくりと見ていくことにした。 尚、今回はプログラミング言語として Python を使うけど、何もこれは特定の言語に限った話ではない。 どんな言語を使うにしても、あるいは表面上は抽象化さ

    Python: ソケットプログラミングのアーキテクチャパターン - CUBE SUGAR CONTAINER
  • The eigenvector of "Why we moved from language X to language Y"

    The eigenvector of "Why we moved from language X to language Y" 2017-03-15 I was reading yet another blog post titled “Why our team moved from <language X> to <language Y>” (I forgot which one) and I started wondering if you can generalize it a bit. Is it possible to generate a N * N contingency table of moving from language X to language Y? Someone should make a N*N contingency table of all engin

    The eigenvector of "Why we moved from language X to language Y"
  • 10分で振り返るソフトウェアアーキテクチャの歴史2017

    CAMPFIRE iOS #1 - connpass https://yj-meetup.connpass.com/event/51735/ での発表資料です。 (2017/3/23追記): 各所からいただいたフィードバックに基づき、不正確な記述を修正しました。(Nyohoさん、あんざいゆきさん、かとじゅんさん、ありがとうございます) また、参考リンク集を追加しました。 ## 参考リンク ■ MVC Pattern http://heim.ifi.uio.no/~trygver/2003/javazone-jaoo/MVC_pattern.pdf ■ Understanding JavaServer Pages Model 2 architecture | JavaWorld http://www.javaworld.com/article/2076557/java-web-develop

    10分で振り返るソフトウェアアーキテクチャの歴史2017
  • Big Sky :: golang と Generics と私

    以下の記事は Java について触れていますが、Java を dis っている訳でもありませんし、冗長に見える例を意図的に使っています。 最近 Twittergolang に Generics が無い事についてずいぶんと盛り上がったのですが、僕の意見をこのブログにも書いておこうと思います。 golang に多相が無いのはアレだとか開発者の怠慢だみたいな話はだいたい他の言語を覚えた人から出る感想で、静的型付言語である golang を見ると確かにそう見えるかもしれない。ただ golangJava や他の言語と違って Duck Type を採用している。 — Vim芸人 (@mattn_jp) March 7, 2017 スクリプト言語の多くに多相が求められないのと同じ様に golang を深く触る人達から多相が欲しいという意見がそれほど出ないのは golang の型が Duck

    Big Sky :: golang と Generics と私
  • 外国人が語る:英語でクラスやメソッド等の名付け方 - Qiita

    アメリカ人です。 Hello 👋 この記事の目的 多くの日人は自分の英語力には自信がないではないでしょうか。残念ながら「英語がわからん」、「英語が全然できない」という声をしょっちゅう聞いています。でも、今まで英語ができて意味がちゃんと伝わる何人かの日人に会ったがあります。完璧な英語ではないけど(外国人も英語でミスる時もある...)、がんばって話そうとするので充分仕事ができる人たち。そういうがんばる姿勢はオープンソースのプログラムや英語圏のプログラムに手を出すためには一番大事なことだと思います(外国人側もすごく助かります)。日文化では「私はできる!」と自慢することは少ない中、この記事を通して、流暢に話せなくても自分のプログラミングの命名の仕方にはちょっとだけでも自信を持たせたいなと思います。完璧じゃなくていいです。Let's go! 合わせて読んでいただきたい 【日エンジニア

    外国人が語る:英語でクラスやメソッド等の名付け方 - Qiita
  • 技術フェローが名古屋を流していたのでペアプロの手ほどきを受けたら捗った - 弥生開発者ブログ

    Misoca開発チームの黒曜(@kokuyouwind)です。 先日大須演芸場で開催された名古屋Ruby会議03ではTwitterでひたすら実況していました。大喜利が思った以上に大喜利で面白かったです。 お題「みなさんRubocopになってもらって『直しました』といってください。『何を直したんですか?』と聞くので、直したところを答えてください」 須藤さん「直しました」「何を直したんですか?」「RSpecをTestUnitにしました」 #nagoyark03— 黒曜@技術書典2 か-13 (@kokuyouwind) 2017年2月11日 流しの技術フェローに教わったペアプロのコツ 先日、弊社技術フェローのkakutaniさん(@kakutani)からペアプログラミング(以下ペアプロ)のコツを教わり、社内でのペアプロ機運が高まっています。 今回はkakutaniさんから教わった内容のまとめと

    技術フェローが名古屋を流していたのでペアプロの手ほどきを受けたら捗った - 弥生開発者ブログ
    motchang
    motchang 2017/02/17
    よさ
  • デバッグ情報の歩き方 - Qiita

    はじめに すごーい!きみはでばっぐじょーほーがよめるフレンズなんだね! (雑な挨拶) 実行時に解釈するスクリプト言語ではなく、ソースコードをコンパイルしてマシン語バイナリを作るコンパイル言語では、プログラムを実行する時に出たバグを解析するのに、ソースコードとの突き合わせ作業が必要になります。とはいえIDEやエディタの拡張機能を使っていれば、ユーザはほとんど何も気にすることなく、プログラムのソースコード上のある行番号で実行を止めたり、その時の変数の値を調べたりすることが出来るでしょう。 この記事では、そうした技術の裏側にあるデバッグ情報について説明をし、デコードしたデバッグ情報からある程度の情報を得られることを目指します。前半部分ではデコードしたデバッグ情報を読むためのDWARFの基礎知識について説明し、後半部分ではサンプルコードをコンパイルし、そこからデバッグ情報を実際に表示させて辿ってみ

    デバッグ情報の歩き方 - Qiita
  • WebKit ソースコードのコメント議論(1)

    WebKit 開発者のメーリングリスト webkit-dev を見ていたら、興味深い話題で盛り上がっていた。WebKit のソースコードや ChangeLog のコメントに関する議論だ。 WebKit に限らず、ハッカーというのはソースコードにコメントを書きたがらない。 コメントが古くなってしまい、実情と合わなくなってしまうから、というのが理由としてはよく聞かれる。すぐ古くなってしまうコメントを書くより、元々コメントを書かなくて済むような綺麗なコードを書けよ、とハッカー達はよく言う。 個人的には、コードでは処理の内容は記述できるけれど、意図を記述できないので、意図を補足するコメントぐらいは必要なんじゃないか、と思っているけれども、それすらダメと言う人も時々見かける。 ともかく、今回の議論は自分にとっては興味深かった。 そこでその内容を紹介してみようと思う。 議論はいくつかのトピックに分かれ

  • どうぶつしょうぎ名人 - まめめも

    どうぶつしょうぎ AI を作りました。絶対に勝てません。無力感を味わってください。 ref: http://mame.github.io/dobutsu-shogi-master どうぶつしょうぎとは 3 マス x 4 マスの単純化された将棋です。ライオン(王相当)、ぞう(1 マスしか進めない角行)、キリン(1 マスしか進めない飛車)、ひよこ(歩相当、にわとりに成ったら金相当)の 4 種類の駒を動かして、相手のライオンを取るか、トライ(ライオンを一番奥の行まで運ぶ、ただし直後に取られる場合はだめ)に成功すれば勝ちです。詳しくは Wikipedia の記事を見てください。 どうぶつしょうぎは後手必勝であることが知られています(研究報告)。つまり、後手が正しくプレイする限り、先手は絶対に勝てません。どうぶつしょうぎ名人は常に正しくプレイするので、先手のあなたは絶対に勝てません。 なんで作ったの

    どうぶつしょうぎ名人 - まめめも
  • Big Sky :: Ruby の a = a + 1 はなぜ undefined method '+' for nil:NilClass なのか

    以前からずっと疑問に思っていた事があった。 ruby の後置 if/unless で条件が偽になった場合でも代入構文が実行されるのはどうしてだろう 例えば以下のコードを irb や pry で実行してみて欲しい。 a = 1 if false 続けて a をタイプする。すると nil が表示される。 僕のこれまでの理解だと後置if/unlessは、ステートメントに作用するのでそのステートメント自体が無効になる、つまり代入自体されなかった事になるという理解だった。ruby のパーサのソースコードを見ても後置ifはステートメントに作用している様だった。 | stmt modifier_if expr_value { /*%%%*/ $$ = new_if($3, remove_begin($1), 0); fixpos($$, $3); /*% $$ = dispatch2(if_mod, $

    Big Sky :: Ruby の a = a + 1 はなぜ undefined method '+' for nil:NilClass なのか
  • CodeReviewComments

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    CodeReviewComments