タグ

関連タグで絞り込む (473)

タグの絞り込みを解除

Programmingとprogrammingに関するatsushifxのブックマーク (259)

  • コードレビューいろいろ - steps to phantasien

    コードレビューの話をいくつか見かけた. (1, 2, 3) 私もはやりにのってなにか書いてみたい. といってもリンク先についてどうこう言う気はない. ふだんからぼんやり感じていることをテキストにしてみたい. コードレビューの様式 コードレビューのやりかたは色々ある. 話の背景をあきらかにすべく, まずは私が参加したり見聞きしたりしてきた方法を紹介したい. ただとりとめなく列挙しても見通しが悪いから, 方法を評価する軸を見立てておこう. コードの粒度: 一回のレビューでレビュアが目を通すコードの量はどのくらいだろう. プロジェクト全体? モジュール単位, 機能単位, それともクラス単位? 古典的なレビュー様式はこれら <論理的な単位> でレビューをすることが多い. 最近はブランチやコミットのような <ひとまとまりの変更> を単位とする方法に人気がある. Github の Pull Reque

  • 設計書論争での独り言 - うさぎ組

    重要な事 これは僕の経験に基づくものであり、世の一般的な皆々様にはあてはまるかどうかは存じ上げません。 僕がマイノリティかマジョリティかどうかはよくって、こういう状況もあるというだけです。ツッコミは大歓迎ですが「それはコーナーケース過ぎる」というご意見には「そうかもしれませんね。」としか答えようがありません。 あと、基的に@otfに向けた記事なので、言葉足りていない部分が多いと思いますが、彼とは職場が一緒でいろいろ共有できるので気にしていません。皆さんには言葉足りていなくってすいません。という謝りはすれども、反省はしない程度の感じ。 追記>> 言いたい事書いてなかった。 ただし、 設計書否定するなら、ここにある事くらい論破するくらいの人じゃないと一緒に仕事したくない。逆に、ここに同意するくらいなら設計書否定すんなよ。自分の仕事を呪え。 と思ってる。 <<追記 ではちょいちょいカテゴリ分け

    設計書論争での独り言 - うさぎ組
    atsushifx
    atsushifx 2012/08/10
    まぁそうだねというしか。蛇足として付け加えると大事なのは設計の二重化をいかに防ぐかという話と、設計に必要十分な情報をいかに伝えるかという話がドキュメントのひつようのありなしとう形式の問題になってしまう
  • クリアなコードの作り方: 余計なことを書かない - 2012-05-21 - ククログ

    FileUtils.mkdir_p assets_path unless FileTest.exist? assets_path このコードを元に、「余計なコードを書かない」ことがどうして大事かを説明します。 余計なコード まずは、どこが余計なコードなのかを考えてみましょう。このコードではFileUtils.mkdir_pとFileTest.exist?メソッドを使っています。 FileUtils.mkdir_pは引数で指定されたディレクトリがなかったら親ディレクトリも含めて作成するメソッドです。すでにディレクトリが存在した場合は何もしませんし、エラーにもなりません。mkdir_pというメソッド名はmkdir -pコマンドが由来でしょう。 FileTest.exist?は引数で指定されたファイルが存在したら真を返すメソッドです。 このコードではunless FileTest.exist?の

    クリアなコードの作り方: 余計なことを書かない - 2012-05-21 - ククログ
  • ワイルドだろぅ? #ワイルドプログラマ まとめ 

    Kosei Kitahara @Surgo テストなんて 3 行で終わらせちゃうぜ。それも実行しないで番環境にデプロイしちゃうぜ。ワイルドだろぅ? #ワイルドプログラマ 2012-05-09 08:52:24

    ワイルドだろぅ? #ワイルドプログラマ まとめ 
    atsushifx
    atsushifx 2012/05/10
    いやすぎる
  • 復習がてらK-means法(もちろんawkで) - naoya_t@hatenablog

    awkでData Miningとか言ってる人、手始めにawkでk-means書いてgistにあげてください期待しております— Takahiro Inoueさん (@doryokujin) 4月 20, 2012 復習がてら書いてみた。 AWKは配列がファーストクラスオブジェクトじゃないので抽象化しにくくて面倒くさい。 Old Faithful間欠泉データ集合で試してみる(グラフ化はmatplotlibですごめんなさいごめんなさい)

    復習がてらK-means法(もちろんawkで) - naoya_t@hatenablog
    atsushifx
    atsushifx 2012/04/23
    ええっと。これは誰かがObjectiveAWKを作れっていうことかしら?
  • http://webworldblog.net/archives/931

    atsushifx
    atsushifx 2012/04/21
    あえて車輪を再発明することで車輪の構造と車輪の良し悪しがわかるようになる。
  • The Art of Readable Code - 2012-03-05 - ククログ

    2011年11月に「理解しやすい、読みやすいコードはどのように書けばよいか」という内容のがO'Reillyから出版されました。(英語です。) https://amazon.co.jp/dp/9780596802295 英語なので読む人はいないでしょうが紹介します。読みやすい英語で書かれているので、「読みやすいコードだけではなく英語の勉強にも興味がある」という人にはちょうどよいでしょう。ページ数も200ページにいかないぐらいとコンパクトにまとまっています。 さて内容ですが、第一部が「SURFACE-LEVEL IMPROVEMENTS」です。見た目をよくしようという話です。具体的な内容は読んでもらうとして、まず、見た目のよさから入っているところが「わかっている感」をだしていますね。 読みやすいコードにするテクニックはいろいろありますが、まずは見た目が整っていないと、どんなにテクニックを駆使

    The Art of Readable Code - 2012-03-05 - ククログ
    atsushifx
    atsushifx 2012/04/18
    ebookで半額だったので買ったのにまだ読んでない。ちなみに変数名が読みやすいようにといった感じのプログラミングリテラシーの基礎が書いてあるので初心者にこそ読んでほしい
  • 雑なメモ:PHPでお手軽なトークン作成 - がるの健忘録

    おおむねこんな感じを想定。 ベースになるのは /dev/urandom なので。「環境ノイズが以下略」的な話は、きっとなんとかなるだろうしてくれるだろうだからある程度暗号的に安全な擬似乱数であろう、ことを、期待(笑 shaが1ぢゃなくて512なのは、おおむね、おいちゃんの癖。長いほうが推測しにくいっしょ? で、ハッシュにはどうしても「ハッシュのbit数よりもでかいのを渡しておきたい」ほうなので、少し大きめに。 「処理にかかるCPUコスト」は、比較的軽視の方向で。 というような思考回路を経て作った、超ざっくりなトークン生成。 $token = hash('sha512', file_get_contents('/dev/urandom', false, NULL, 0, 128), false); var_dump($token); でもまぁ、ワンタイムトークン用で、かつ「ンなに長い寿命を持

    雑なメモ:PHPでお手軽なトークン作成 - がるの健忘録
    atsushifx
    atsushifx 2012/04/02
    簡単なトークン作成の方法。
  • プロとしての行為 Act as Proffesional

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

    プロとしての行為 Act as Proffesional
    atsushifx
    atsushifx 2012/03/31
    ところどころDisってるのを見ると春だと思う。
  • 言語女子会3: Pythonが恋愛に悩んでRubyに相談しましたの巻 - 西尾泰和のはてなダイアリー

    言語女子会: undefとnullは両方必要?、言語女子会2: varは必要?/privateがない?の続編です。 Ruby恋愛相談 Python: 最近悩んでるのよね… Ruby: んー、何に? Python: 自分はどんな人が好きなのかなぁ…とか… Ruby: あー、そんなの簡単よ!一緒にいて楽しいことよ! *1 Python: そんなの誰とだって仲良くなったら楽しいんだから差別化にならないじゃん Ruby: そうとは限らないわよ、たとえば、あっ… C: ごめーん、会議が長引いちゃって遅れちゃった!(髪の毛ファサーっ) Python: ああ…なるほど… C C: 何の話?え、恋愛に悩んでる?そんなの簡単よ。卓越性よ。 Python: 卓越性?? C: そうよ。なんらかの分野で「わたしが一番」という状況を作ることよ。そうすれば男の側からいくらでも寄ってくるわ。 Python: なるほど

    言語女子会3: Pythonが恋愛に悩んでRubyに相談しましたの巻 - 西尾泰和のはてなダイアリー
    atsushifx
    atsushifx 2012/03/24
    高評価なみたいなPHPだけど、プロ向け機能のtrait とかは人気なのかな
  • ちゅーん vs くいなちゃん ポインタ解ってる

    くいなちゃん @b2 @its_out_of_tune int を引数に取り、char を返す関数 の関数ポインタを格納する要素3の配列へのポインタ p を宣言してください 2012-02-22 23:35:07

    ちゅーん vs くいなちゃん ポインタ解ってる
    atsushifx
    atsushifx 2012/02/23
    [C/C++][ポインタ]Cの黒魔術。関数ポインタのポインタなんて理解超える
  • Commit Message Generator

    marks

  • デバッグする人にやさしいコードの書き方というものがあります - latest log

    (ε・◇・)з 分かりやすいコードは、ステップ実行もしやすいのです! (ε・◇・)з ループの先頭に、滅多に通らない大きな塊を配置するのはダメなのです! (ε・◇・)з ポチポチする毎に画面がスクロールするのは、余計なストレスなのです! (ε・﹏・)з ブラウザのデバッガ(IDE) などは、テキストエディタよりも領域が半分程度しかなかったりと、一度にみれる範囲が少ないのです for (i = 0; i < 10; ++i) { if (i === 5) { // 一度しか通らないルート : : : : : : : : : : : : : : : : : : : : : : : : : : : : } else { // 頻繁に通るルート : : // 短い処理 : } } (ε・◇・)з ループの先頭には、頻繁に通る短いコードを配置するのです (ε・◇・)з 滅多に通らない大きな塊は後ろに

    デバッグする人にやさしいコードの書き方というものがあります - latest log
    atsushifx
    atsushifx 2012/02/05
    リファクタリングとデザインパターンを読めばいいのでは? デバッグする人に優しいのはステップ実行よりもコードの読みやすさ、メンテナンスしやすさだろうに
  • 冷たい方程式(1) 技術力は勘定に入れません:Press Enter■:エンジニアライフ

    ふつーのプログラマです。主に企業内Webシステムの要件定義から保守まで何でもやってる、ふつーのプログラマです。 電話が鳴った。 あたしはワンコールで受話器を取り上げた。別に待ちかねていたわけではなく、朝から続くしつこい頭痛に干渉する電子音を一刻も早く断ち切りたかっただけだ。 「はい、日比野です」 『受付です。ホライゾンシステムサービス株式会社様がいらっしゃいました』 「すぐ行きます」 あたしは受話器を置いて時計を見た。14:12。約束の時間より約10分の遅刻だ。 ――まあ、遠いから仕方ないか 腰を上げたとたんに立ちくらみに襲われた。椅子にへたりこみそうになるのをぐっとこらえて、窓際の席でヒマそうにしている磯貝課長に呼びかけた。 「課長、ホライゾンシステムさん、いらっしゃいました」 「あいよ!」 磯貝課長の脳天気な返事を後頭部で受けておいて、あたしは頭を揺らさない程度に早足でフロアを出た。さ

    冷たい方程式(1) 技術力は勘定に入れません:Press Enter■:エンジニアライフ
    atsushifx
    atsushifx 2012/01/18
    エースシステム出た。アジャイラーな自分ならアジャイルでやろうだけど、あれは技術力があってこそだからな
  • グーグルはコードの品質向上のため「バグ予測アルゴリズム」を採用している

    グーグルでは、社内のプログラマによって作り出される大量のコードの品質を保つため、チェックイン前にユニットテストとコードレビューが行われているそうです。しかし、コードが大量になってくると、ユニットテストやレビューをすり抜けるバグも少なからず発生します。 そこでコードの品質をさらに高めるために、グーグルでは「バグ予測アルゴリズム」を採用。バグがありそうな部分をレビュアーにアドバイスする仕組みを採用したとのこと。 そのバグ予測アルゴリズムとはどんなものなのか。Google Engineering Toolsブログに投稿されたエントリ「Bug Prediction at Google」(グーグルにおけるバグ予測)で説明されています。 ソースコードの修正履歴を基に予測 コードの中にバグがありそうな箇所を分析する手法としては、「ソフトウェアメトリクス」がよく用いられます。これはコードを静的に分析して、

    グーグルはコードの品質向上のため「バグ予測アルゴリズム」を採用している
    atsushifx
    atsushifx 2011/12/16
    これはセンスがいい。現在、一番手に入れているところこそバグが発生しやすいってわけか。いわゆる根っこのバグには効かないかんじだけど
  • 「ソフトウェア設計とは何か?」がすごい - Lism.in * blog - nekoya (id:studio-m)

    結構前のエントリになりますが、cles::blogさんで紹介されている「プログラミングは設計か製造か?」に感銘を受けました。はてブを見ていると、最近になってwebarchiveから発掘されたようです。 ソフトウェア設計とは何か? 原文はこちらで公開されている模様。 What Is Software Design? by Jack W. Reeves - developer.*, Developer Dot Star 全編にわたって非常に示唆に富んだ内容となっています。印象深かったトピックは以下。 ソースコードは設計であり、ドキュメントである ソフトウェア開発における「製造」とはビルドである 製造はコンパイラとリンカの仕事であり、コストは非常に小さい テストやデバッグは設計の検証と洗練のプロセスである 他の工学分野のそれと等価で手を抜くべきでない 「コーディング」「テスト・デバッグ」「(俗に

    「ソフトウェア設計とは何か?」がすごい - Lism.in * blog - nekoya (id:studio-m)
    atsushifx
    atsushifx 2011/12/15
    ソフトウェアが設計ということはある程度年が行ったプログラマには自明な話。製造工程で内の改善は行わないだろ。あと、コメントに突っ込むとソースコードがドキュメントとは、ドキュメントになるように書けってこと
  • プログラマ35歳定年説、定年後の未来 - GoTheDistance

    株式会社クラステクノロジー代表の四倉氏の連載コラム「第151回」が、とても興味深いのでご紹介します。 【第151回】35歳定年説の真実-株式会社クラステクノロジー 詳しい内容は上記コラムをご覧頂きたく。 プログラマ35歳定年説とは 上記の四倉氏によれば、プログラマ35歳定年説とは「1Step,1Stepの生産性に比例するので、長い間労働すれば高いアウトプットが出せ収入が増える。体力が下り坂になってきて徹夜や残業ができなくなるのが、大体35歳前後。体力低下と共に収入も下り坂。それに限界を感じてIT業界去ってしまう」ということのようです。これをプログラマと呼ぶのかとか、ステップ数(笑)という憤りもあるでしょうが、「ステップ数と売上が比例するため、いっぱいコードを書けば収入が増える」という理屈は腑に落ちました。是非の問題ではなく、確かにその理屈なら体力勝負という表現も理解できる。 そして、この理

    プログラマ35歳定年説、定年後の未来 - GoTheDistance
    atsushifx
    atsushifx 2011/09/28
    40過ぎの自分は技術力が落ちたのを実感する。すなおに基本から学習しなおすしかないよ、40過ぎてもやれば能力があがるのがプログラミングだと思うし
  • プログラミングは「名前」が9割。 - このブログは証明できない。

    プログラミングというのは、名前をつける行為なんだと思う。 プログラミングで一番大切なこと。 もしも、プログラマーじゃない人に、「プログラミングで一番大切なことは?」と聞かれたら、迷わず「名前」だと答える。もちろん、人それぞれだし、自分はスキルの高いプログラマーじゃないよ、と前置きして。 名前が9割と言ったときの、9割という部分は人によってだいぶ差があるんだと思う。もっと小さいかもしれない。けれど、名前が重要だという点に関しては、反対するプログラマーはいないんじゃないだろうか。 時代や環境で変わる名前。 いま僕がイメージしてる名前というのは、変数名だったり関数名だったりクラス名だったり、とにかくいろいろ。さらに、JavaScriptとか高階関数をバリバリ使うような場合など、名前をつけないという選択肢もある。 なんとなくJavaScriptと書いたんだけど、名前はプログラミング言語や開発環境や

    プログラミングは「名前」が9割。 - このブログは証明できない。
    atsushifx
    atsushifx 2011/09/26
    プログラミングに大原則に、定義攻略といううのがあってだな http://objectclub.jp/technicaldoc/object-orientation/principle/principle05
  • Private Presentation

    Private content!This content has been marked as private by the uploader.

    Private Presentation
    atsushifx
    atsushifx 2011/09/18
    関数型プログラミングによる学習カリキュラム。プログミングの要を関数(Functions)としたのは慧眼。いかに名前をつけて抽象化するというのがプログラミングだし
  • Engadget | Technology News & Reviews

    The Stop Killing Games movement is nearing an official meeting with EU lawmakersOnce all the Stop Killing Games signatures are verified, the organizers will present the initiative to both the European Commission and Parliament.

    Engadget | Technology News & Reviews
    atsushifx
    atsushifx 2011/09/10
    構造化Webプログラミングか。HTML+CSS+Javascriptの代替にしようという感じ