タグ

programmingに関するkesuuyofのブックマーク (223)

  • switch文を使ってはいけない

    昔Qiitaで書いた内容なんですが、PHPswitch文は悪名高い「==」演算子で比較を行います。 <?php switch (true) { case 0: echo '数字の0'; break; case '0': echo '文字列の0'; break; case '0.0': echo '文字列の0.0'; break; case true: echo '真偽値のtrue'; break; } このコードは「文字列の0.0」を出力します。大変分かりにくいですね。 この点はif ... elseif ...を使えば解決するんですが、switchで書きたくなるようなコードをelseifにするとおそらく読みにくくなるでしょう。 ではどうするか。 正解はオブジェクトのポリモーフィズム(多態性)機能を使うことです。 といっても、多態性で調べて出てくる記事とか書籍に関しては抽象的な説明が多い

    switch文を使ってはいけない
  • ペアプログラミングのやりかた -

    ペアプログラミングのやりかた - 目次 http://www.wikihow.com/Pair-Program 7つのステップ123 1. 作業を決める 2. 最初の目標を決める 3. パートナーを頼りにし、支えてやる 4. 喋る 5. お互い何をやっているか把握する 6. 喜ぶ 7. 交代する コツ http://www.wikihow.com/Pair-Program ペアプログラミングとは、二人が一つのキーボードでプログラミングをすること。 driverはキーボードを叩き、observer(あるいはnavigator)はdriverの書くコードを眺め、エラーや設計を吟味する。 7つのステップ123 1. 作業を決める 座る前に、1〜2時間程度で終わると確信できるはっきりした仕事を決める。 例:「引越しトラックのデータベースに『修理履歴』の機能をつける」 2. 最初の目標を決める 数

  • いまさら聞けない「コードの英語」超入門 - クックパッド開発者ブログ

    広告事業部の鈴木達矢です。コーディングをしてると変数やメソッド名の付け方に悩むことって多々ありますよね。逆にコードを読んでいると単語の選択がこれでいいのかなという時や、動詞の活用形が間違っていてよく意味がわからない、時に潔く日語の変数名になっていることも見かけます。でもプログラミング言語の単語が英語をベースにしていますし、Railsを使っている場合は日語が規約(Convention)に合わなかったりします(複数形が無いなど)。それから動詞の活用形が違っていると主語(動作の主体)が変わってしまい、意味が変わってしまいます。その結果コードの可読性が落ち混乱を招きやすくなります。 いくつかの基的な法則だけおさえておけばコーディング中に可読性の高い単語の選択ができるようになります。今回はそれを目的に、英語の扱いに都度時間を費やしてしまうような方に向けていくつかの法則をご紹介します。*1 変数

    いまさら聞けない「コードの英語」超入門 - クックパッド開発者ブログ
  • クーポンコードの打ち間違えを防ぐために工夫した話 - クックパッド開発者ブログ

    こんにちは。会員事業部ビジネス開発グループの高田です。 クックパッドは今年、株主優待制度として、プレミアムサービス一年間無料クーポンを贈呈しました。エントリではクーポンコードを打ち間違えて、意図せず他の人のクーポンコードを使用するのを防ぐために工夫した話をご紹介します。 はじめに クーポンコードは入力のしやすさを優先して数字だけの文字列にしました。はじめは rand 関数を使って生成しようとしていたのですが、数字の打ち間違えや順序間違いで、意図せず誤使用してしまうのを防ぐためにチェックサムを加えるのがいい、と同僚から助言をもらいました。 いくつか調べて見たところ、Luhn アルゴリズムが上記を満たしていたので利用することにしました。 Luhn アルゴリズムの利用 Luhn アルゴリズムとは、誤り検出のためのチェックサム符号で、1 桁の間違いや隣接する数字の順序間違いを検出できるという特徴

    クーポンコードの打ち間違えを防ぐために工夫した話 - クックパッド開発者ブログ
  • Code Review Best Practices

    At my current company, we do a fair amount of code reviews. I had never done one before I started here so it was a new experience for me. I think it’s a good idea to crystalize some of the things I look for when I’m doing code reviews and talk about the best way I’ve found to approach them. Briefly, a code review is a discussion between two or more developers about changes to the code to address a

  • K のこと -- steps to phantasien t(2007-11-03)

    友人の話をしよう. 先達に敬意を表し, 仮に彼を K と呼ぶ. (イニシャルは便宜的なものだ; 向上心云々と罵ったこともないし, 恋人を寝取ってもいない.) ある時期, 私は K と一緒に働いていた. 今は違う会社にいるけれど, 互いに暇なのか, このごろもよく二人で管を巻いている. 1 K は優秀なプログラマだ. いつも敵わないと思う. 一緒に仕事をしていたこともあり, プログラマとしての私は K から強い影響をうけている. たとえば私が自動テストを始めた発端には K がいる. コードレビューもそう. この日記に出てくる話も K の影響は色濃い. 私は K のあとを追いかけるようにプログラマを続けている. K と働いてはじめて, ああ, 物事とはこう改善していくものなのかと知った. 何か問題を感じると K は試行錯誤を始める. 問題は私が諦めていたものもあるし, そもそも気付かないものも

  • 言語処理100本ノック 2015

    言語処理100ノックは,実践的な課題に取り組みながら,プログラミング,データ分析,研究のスキルを楽しく習得することを目指した問題集です 実用的でワクワクするような題材を厳選しました 言語処理に加えて,統計や機械学習などの周辺分野にも親しめます 研究やデータ分析の進め方,作法,スキルを修得できます 問題を解くのに必要なデータ・コーパスを配布しています 言語はPythonを想定していますが,他の言語にも対応しています

  • プログラミングで変数名や関数名のネーミングに迷ったときに便利なカンニングペーパーまとめ

    僕は、プログラムをする上で変数や関数に良い名前を付けるのはとても重要と考えています。 というのも、良い名前を付ければ、それだけでそのコードがしたいことの説明になり、コメントと同等の働きをすることもあるからです。 自分がちゃんとそれをできているのかはさておき、僕は普段から、できれば読みやすくて分かりやすい名前を付けたいと思っています。他の人も読むコードであれば、できればプログラムでよく使われるような単語を利用して書いた方がより分かりやすいです。 ただ、よい名前を考えるのって、ちょっと面倒くさいんですよね。僕はこれまで、英語の辞書を利用して、考えたりしていたのですが、「何か、プログラムでよく使われる単語をまとめたものはないか?」と探したら、ドンピシャのものがいくつかあったので、それらをまとめて以下で紹介します。 photo by Michael Coté codic codic – デベロッパ

    プログラミングで変数名や関数名のネーミングに迷ったときに便利なカンニングペーパーまとめ
  • CEDEC2014 「ライブラリを作ってはいけない ~それでも作りたいあなたへのアドバイス~」

    社内ライブラリを8年間に渡って作り、サポートし続けてきた講演者が、1~2年で完成するだろうという当初の想定とは裏腹に、なかなか進まない作業、得られないサポート、バグの押し付け合い、それら数々の修羅場から得られた、技術面およびサポート面でのノウハウをお伝えします。 http://cedec.cesa.or.jp/2014/session/ENG/8073.html ※2014/9/4にCEDEC2014@パシフィコ横浜で行った講演です。Read less

    CEDEC2014 「ライブラリを作ってはいけない ~それでも作りたいあなたへのアドバイス~」
  • dfltweb1.onamae.com – このドメインはお名前.comで取得されています。

    このドメインは、お名前.comで取得されています。 お名前.comのトップページへ Copyright © 2020 GMO Internet, Inc. All Rights Reserved.

    dfltweb1.onamae.com – このドメインはお名前.comで取得されています。
  • Coding Games and Programming Challenges to Code Better

    Level up your coding with games, puzzles, and challenges.

    Coding Games and Programming Challenges to Code Better
  • 『ゾーン』に入る方法

    『ゾーン』とは、極度に集中した精神の状態のことです。『フロー状態』とも言います。 極度に集中した状態では、時間の流れが遅くなり、作業は、なめらかに転がるように、よどみなく進んでいきます。 私はプログラマーですが、『ゾーン』に入ってバリバリ書きまくれるときもあれば、躓いてばかりでちっともコーディングが進まない時もあります。 今日は私が実践している『ゾーン』に入るための方法を説明します。 あらかじめ断っておきますが、私がこの方法で『ゾーン』に入れるのは、10回に3回です。 気温の変化、体調の変化、途中で割り込みがないか、前日よく眠れたか、合コンで意中の相手に無視されたか、などなど、 ありとあらゆる影響が『ゾーン』に入ることを妨げます。 それでも知りたい、という方は続きをお読みください。 事前準備人の脳のうち、自覚して使われていない部分を「無意識」の領域と呼びます。 「無意識」には、「意識」下に

    『ゾーン』に入る方法
  • プログラミングで使う記号の英語の読み方 [Updated]

    “[ ]”などを個別に読む場合はleft/open bracket, right/close bracketと読んでください。 “<“はless than、”>”はgreater thanとも読みます。 Dave Thomasは”<<“を”less than, less than”と読んでいました。 “-“がdashなのかminusという話しについては、The difference between a dash and a minus signを参考にしてください。 あまり、この読み方はしないよ!とか、私はこう読むよ!とかあれば、@masuidriveまでmentionください。 [2013/11/21 14:00:00] 色々な方々にコメントを頂き追加しました。 速く・正確に読む ITエンジニア英語 ITエンジニアの ゼロから始める 英語勉強法

  • Popular Coding Convention on Github

    Dec 27, 2014I made this project about a year ago. At that time, I just started it for The GitHub Data Challenge II. So, it was very simple and concise implementaion for proof of concept. I've been aggregated convention data for a year. However, It is not analyze conventions of our codes deeply. I think therefore it's meaningless to keep aggregating more data. Finally, I decided to stop aggregating

  • 小物エンジニア会でお金の話をした

    あー、楽しかった 小物エンジニアの会 : ATND http://atnd.org/events/41091 ※スライドの最後に重要な情報が書いてあります 新宿の公園で小物エンジニア達に Leap Motion 自慢してきた。LT も Leap Motion でやりたかったんだけど、発表用マシンが固定されてて断念。会場が公園なので iPad 配って発表用マシンから VNC でスライド見せる形式です。次回も9月くらいにあるっぽいのでまたなんかはなしたい

  • 日本の全エンジニアに捧ぐ!現在公開されているAPI一覧【2013年版】 | Find Job ! Startup

    2013年のいま、API界隈が熱い! 今年に入り、官公庁の統計データやNHKの番組情報など、今までなかなか利用できなかったデータがAPIとして扱えるようになってきました。このエントリでは現在公開されているAPIを一覧でまとめます。いま使えるAPIはこれだけ読めば大丈夫。2013年の最新マッシュアップ事情をあますとこなく網羅します! HOT! API 総務省 次世代統計利用システム(国勢調査、人口推計、就業構造、企業統計、物価統計 etc.) NHK番組表(※未公開) 行政・自治体・公共サービス 郵便番号 郵便番号検索API郵便番号 → 住所) 郵便専門ネット(郵便番号 → 住所、郵便番号の簡易存在チェック) ぽすたん(郵便番号 → 住所、住所 → 郵便番号) IW3 PROJECT(郵便番号 → 住所、住所 → 郵便番号) 宇宙 Google+ JAXA PR(※現在一部の学生に限定公開

    日本の全エンジニアに捧ぐ!現在公開されているAPI一覧【2013年版】 | Find Job ! Startup
  • 「学びたい、全ての人へ」creiveより

    いつもcreive(クリーブ)をお読みいただきありがとうございます。 この記事は「いつもの記事」とは少し違います。 インターネットさえ繋がっていれば、学びたいコトが学べる時代になりました。 好きな時に好きなだけ学べて、何度でも繰り返して復習できる。 インターネットが提供してくれた価値は、計り知れない威力があります。 この記事は当初、 「ネットさえあれば自由に学べる!日語で学習できるWebサービス」 というタイトルで作成するつもりでした。 ただそんな一発単体の記事では、世の中は1ミリも動かないと考えました。 私たちcreive(クリーブ)は、このメディアを通して「学びたいヒトが、学びたいコトを、自由に学べる世界」を創ります。 いまこの記事を読んでくださっている方は、ネットリテラシーが高く、すでに知っている情報ばかりかもしれません。 ただ、普段インターネットに触れない人たち(私の場合、地元の

    「学びたい、全ての人へ」creiveより
  • Matzにっき(2013-06-12) - ちょっと待った!小中学校でのプログラミング教育

    先日、Webronza というところに寄稿したのだが、有料登録しないと後半が読めなくなっていた。で、交渉して公開許可を頂いたので、ここで全文掲載。 「ちょっと待った!小中学校でのプログラミング教育」 現代社会はもはやコンピュータがなければ成り立ちません。そして、コンピュータは誰かが作ってソフトウェアがなければ、まったく役に立ちません。コンピュータは自発的に仕事をしてくれないどころか、誰か人間がソフトウェアという形でどのように仕事をすれば良いのか教えてやらなければ、なんの働きもできないのです。コンピュータが社会に役に立っているのは、ソフトウェアがあるからです。 どんなに賢いように感じられるコンピュータでも、自らソフトウェアを開発することはできません。コンピュータは単純な計算をものすごく速く行うことができますし、それを積み重ねることで人間を越える能力を備えていますが、その一方で、なにか新しいこ

  • 優れたプログラマーの7つの資質

    印刷する メールで送る テキスト HTML 電子書籍 PDF ダウンロード テキスト 電子書籍 PDF クリップした記事をMyページから読むことができます 優秀なプログラマーであるためには、自分の持つスキル、経験、知識から、動くコードを生産するための資質を持っている必要がある。技術的なスキルは持っていても、必要な資質を持っていないために優秀なプログラマーになれない人もいる。この記事では、偉大なプログラマーになるために必要な7つの資質を紹介する。 1.自発的に新しい技術的・非技術的スキルを習得する だめなプログラマーは、どうしても必要になった時にしか学ぼうとしない。よいプログラマーは、積極的に新しい技術的スキルを習得する。偉大なプログラマーは自ら新しい技術的なスキルを学ぶだけでなく、技術以外のスキルも学び、ほかの人なら考えもしないような情報源に対してもオープンな態度で接する。 具体的に例を挙

    優れたプログラマーの7つの資質
  • プログラマのための言語別コーディング規約まとめ | Web活メモ帳

    みなさんはコーディング規約を利用していますか。 個人で開発している時はオレオレルールで良かったのですが、 複数人で開発するようになると共通のルールがあった方がストレス無く開発が出来るようになります。 WEB系の言語のコーディング規約について、調べ物が必要だったので、 まとめたものをブログでもシェアします。 HTMLCSS Google HTML/CSS Style Guide の推奨ガイドラインまとめ HTML5 コーディングガイドライン(HTML5)ver1.0 JavaScript JavaScriptのいろいろなコーディングルールをまとめてみた PHP PHPのコーディング規約 PSR-0、PSR-1、PSR-2、PSR-3とは WordPress コーディング基準 Pear Manual :: 標準コーディング規約 Zend Framework PHP 標準コーディング規約 Ca

    プログラマのための言語別コーディング規約まとめ | Web活メモ帳