タグ

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

タグの絞り込みを解除

Programmingとprogrammingに関するdecoy2004のブックマーク (905)

  • Google guava overview

    This document provides an introduction and overview of the Google Guava libraries. It describes what Guava is, why developers would use it, how it compares to Apache Commons libraries, its design principles and release cycles. It provides descriptions of some key Guava packages and classes for common Java utilities, including Preconditions, Optional, Objects, Strings, Charsets, CaseFormat, CharMat

    Google guava overview
  • コードコメントに書くべきは「意図」 - プログラマーの脳みそ

    2.トリッキーな実装 ソースを読んだだけではすぐにわからないようなアルゴリズムを採用している場合や、使用しているライブラリのバグ回避のための特殊な処理を行っている場合、または他の人が見たときや自分が数年後に見た時に「なぜここでこんなことを?」と感じる可能性がある場合にはソースコードにコメントを追加するべきだ。これは言わばトリッキーな実装である。 ソースコードのコメント率は20%を切ることが望ましい : 小野和俊のブログ 私はこの部分にはもうちょっと汎用的に「意図」を書くべき、とすることを提案しよう。*1 トリッキーな実装というのは、「普通」ということが分かっていて初めてトリッキーかが分かる。普通か、トリッキーか、というのは時代背景*2というかハード的な制約も関係するだろう。常識は移ろいゆく。人がトリッキーではないと確信して書かれるコードと、トリッキーなコードとの線引きはどうしたらよいのだ

    コードコメントに書くべきは「意図」 - プログラマーの脳みそ
    decoy2004
    decoy2004 2015/02/14
    なぜこうしたかをコメントに記す。
  • CodeIQについてのお知らせ

    2018年4月25日をもちまして、 『CodeIQ』のプログラミング腕試しサービス、年収確約スカウトサービスは、 ITエンジニアのための年収確約スカウトサービス『moffers by CodeIQ』https://moffers.jp/ へ一化いたしました。 これまで多くのITエンジニアの方に『CodeIQ』をご利用いただきまして、 改めて心より深く御礼申し上げます。 また、エンジニアのためのWebマガジン「CodeIQ MAGAZINE」は、 リクナビNEXTジャーナル( https://next.rikunabi.com/journal/ )に一部の記事の移行を予定しております。 今後は『moffers by CodeIQ』にて、 ITエンジニアの皆様のより良い転職をサポートするために、より一層努めてまいりますので、 引き続きご愛顧のほど何卒よろしくお願い申し上げます。 また、Cod

    CodeIQについてのお知らせ
    decoy2004
    decoy2004 2015/02/14
    汚なさが足りない。『Cプログラミング診断室』を見習おう。
  • 「The Healthy Programmer」を読んで自宅を快適なプログラミング環境にする - 八発白中

    柄にもなく健康の話をします。 去年の今頃は京都から東京に引っ越してきたところでした。まだはてなで働いていましたが、勤務形態は自宅からのリモートが主になっていました。週に6日は家から出ずに家でコードを書いていました。昼から早朝まで書いて昼からまた早朝までコードを書くような、ある意味規則的な生活です*1。 この間、生産性はかなり上がっていて、起きているときはもちろん、寝ている間も脳が活動を続け、睡眠中に考えたアイデアを唐突に起き上がってホワイトボードに書き込むみたいな状態でした。 しかし、1ヶ月くらいすると体調が悪くなってきます。なんか左脳の後ろ側が死んでるみたいな。 なんか脳が欠けてる感じがする— fukamachi (@nitro_idiot) January 12, 2014 あと心臓が異常にバクバクする。座るのもきつくなってくるのでだいたいダメ人間ソファに沈んでHHKB叩いてるみたいな

    「The Healthy Programmer」を読んで自宅を快適なプログラミング環境にする - 八発白中
  • Phacility - Home

    Phabricator is a set of tools for developing software. It includes applications for code review, repository hosting, bug tracking, project management, and more.

  • プログラミングが捗りすぎる!コーディングに最適なフォント12選 -

    Photo by Linux Screenshots こんにちは。谷口です。 エンジニアの皆さんは、プログラミングをする際にどんなフォントを使用していますか? 「特にこだわりないからデフォルトのまま」という方も多いとは思いますが、プログラミング中は大量の文字を読んだり書いたりし続けるわけですから、なるべく可読性が高くてストレスが少なく、また自分の気に入ったフォントを見つけた方がよいのではないでしょうか。 そこで今回は、エンジニアの皆さんにお勧めの、プログラミングに最適な無料フォントを11個ご紹介いたします。 ■どういうフォントが見やすいの? フォントには、セリフ体というものとサンセリフ体というものがあります。 セリフとは、文字の線の端につけられる「ひげ」のような、線・飾りのことを言います。 例えば、上の図でいいますと、上のフォント(MS明朝)がセリフ体、下のフォント(MSゴシック)がサンセ

    プログラミングが捗りすぎる!コーディングに最適なフォント12選 -
  • JavaScriptのデバッグ方法 – JSを嫌いにならないためのTips | POSTD

    この記事のオリジナルは voxxed に投稿されたものです。 JavaScript関連の問題を抱えるチームをサポートする仕事を通じて、いくつか共通の問題点があることに気づきました。もしあなたもJavaScriptに対するイライラを感じているのであれば、この記事は何らかの助けになるかもしれません。おことわり:私がお教えするヒントはすでにご存知のものもあるとは思いますが、うまくいけば、多少なりとも有用な情報があるかもしれません。特にエンタープライズアプリケーションやCMSソリューションを構築する際に有効なヒントです。チームの誰もが話したがらないCMSのコードについてお話しします。いずれも必要に応じて採用できるものです。 debuggerステートメント 大半のブラウザでサポートされているにもかかわらず、JavaScriptを書く際に最も活用しきれていない機能の1つです。debuggerステートメ

    JavaScriptのデバッグ方法 – JSを嫌いにならないためのTips | POSTD
  • 「10倍プログラマ」の神話、Ruby on Railsの生みの親が語った高い生産性のカギとは!? | HRナビ by リクルート

    ずいぶん前のことだが、Webアプリケーション開発フレームワーク「Ruby on Rails」が00年代後半にブームを巻き起こしたとき、強い主張を持つソフトウェアとしてRailsは多くの議論を呼び起こした。その中でも最大のものはプログラマの生産性に関するもの。当時、すでにいくつも存在していたJavaベースのWebアプリケーション開発フレームワークに比べて、Ruby on Railsは10倍の生産性を達成できるという主張だ。 Rubyの生産性はJavaの10倍――。この主張が多くのエンジニアの琴線、もしくは逆鱗に触れた。「さすがに10倍は大げさだ」、「いや、現実に設定ファイルやコードを書く行数が劇的に減るのだから、そのぐらい当然だ」と意見が分かれたのだ。 2005年のリリースから約10年。Railsの生みの親で、今もプロジェクトをリードするデイビッド・ハイネマイヤー・ハンソン氏は当時を振り返り

    「10倍プログラマ」の神話、Ruby on Railsの生みの親が語った高い生産性のカギとは!? | HRナビ by リクルート
    decoy2004
    decoy2004 2015/01/31
    『やらないこと:会議、新規プロジェクト、人材採用』
  • プログラマを悩ませること Top 10 | POSTD

    10. 「何か」は分かるが「なぜ」が分からないコメント プログラミング入門コースでは、早い段階かつ頻繁にコメントを記述することを生徒に教えます。プログラムを書き始めた初期段階(ごく単純なコードであっても、時に理解し難いことがあります)では、これは実際に役立つことなのですが、習慣にとらわれてしまうプログラマが多くいます。 上記のコードが何をするのか分かりますか? 私は分かりません。 問題は、多くのコメントがそのコードが 何をする のかを説明していますが、 なぜ そのコードが書かれているかが説明されていません。では、異なるコメントが書かれた同じコードを見てみましょう。 こちらの方が分かりやすいですね。何が起きているのかを完全に理解できるとは言えませんが、最低でもなぜこのコードが必要なのかが文脈から判断することができます。 コメントは、構文を理解してもらうためにではなく、読み手がコードを理解しや

    プログラマを悩ませること Top 10 | POSTD
    decoy2004
    decoy2004 2015/01/29
    『10. 「何か」は分かるが「なぜ」が分からないコメント』
  • プロのプログラマーになるために本当に必要なスキルとは | ライフハッカー・ジャパン

    プロのプログラマーになりたいなら、コードを書けるだけでは足りません。チームでの問題解決やバージョン管理など、コーディング以外にも身につけるべき重要なスキルがいくつもあります。今回は、米Lifehacker読者のみなさまの声をもとに、プロの開発者として必要不可欠なスキルとは何かを見ていきます。 コードを学ぶための情報は世の中に溢れています。そのせいか、プログラミング言語さえ習得すれば、プロの開発者になれると思い込む人がたくさんいます。しかし、他の職業と同じく、優れたプロフェッショナルになるには、たった1つのスキルで足りるはずがありません。開発者に必要なスキルをここですべて列挙することはできませんが、以下に、当に重要なスキルをいくつか紹介しておきます。 コミュニケーションを学ぶ プログラマーは孤高の職人である、と喧伝するメディアもありますが、実際は、他者とのコミュニケーションや共同作業が欠か

    プロのプログラマーになるために本当に必要なスキルとは | ライフハッカー・ジャパン
    decoy2004
    decoy2004 2015/01/28
    本来なら問題解決のためのコミュニケーション能力なのだが、仲良しクラブを維持するだけで問題解決してない人がいて困る。
  • プログラマが知るべき97のこと

    プログラマが知るべき97のこと大人気の書籍『プログラマが知るべき97のこと』のエッセイを無料で公開中!すべてのプログラマにおすすめのがウェブで読めるようになりました。 エッセイ一覧分別のある行動関数型プログラミングを学ぶことの重要性ユーザが何をするかを観察する(あなたはユーザではない)コーディング規約を自動化する美はシンプルさに宿るリファクタリングの際に注意すべきこと共有は慎重にボーイスカウト・ルール他人よりまず自分を疑うツールの選択は慎重にドメインの言葉を使ったコードコードは設計であるコードレイアウトの重要性コードレビューコードの論理的検証コメントについてのコメントコードに書けないことのみをコメントにする学び続ける姿勢誰にとっての「利便性」かすばやくデプロイ、こまめにデプロイ技術的例外とビジネス例外を明確に区別する1万時間の訓練ドメイン特化言語変更を恐れない見られて恥ず

    プログラマが知るべき97のこと
  • 私がコーディングで垂直方向にそろえるインデントをとる理由 | POSTD

    先週、 Hacker News上で興味深い議論が行われました 。テーマは Linux Kernelのコーディングスタイル についてです。 議論の中で私は、 コーディングで垂直方向にそろえるインデントをとるべきか というささやかな聖戦を仕掛けました。私は全面的に賛成です。理由を説明しましょう。 垂直方向にそろえるインデントをとるとは? 簡単な例を挙げてみます。 int robert_age = 32; int annalouise_age = 25; int bob_age = 250; int dorothy_age = 56; ちょっと見ただけで、「bob_age」がおかしいと分かるでしょう。また、目視であちこち探さなくても、全ての値が整数であることが簡単に確認できます。 この考え方は 一般的に 共有 されているわけではありません。ですので、なぜ 多くの 人たち がこれを有効なスタイルガ

    私がコーディングで垂直方向にそろえるインデントをとる理由 | POSTD
    decoy2004
    decoy2004 2015/01/21
    svn や git blame でインデント変更をスキップするのは可能だっけ?
  • Sublime、Vim、Emacs、AtomなどにIntelliSense機能を追加する「OmniSharp」、マイクロソフトがデモ

    Sublime、VimEmacs、AtomなどにIntelliSense機能を追加する「OmniSharp」、マイクロソフトがデモ Sublime TextやVimEmacsなど既存のテキストエディタに対して、マイクロソフトのVisual Studioが備えているIntelliSense機能を追加できるオープンソースソフトウェア「OmniSharp」のデモが、日マイクロソフトが1月16日に開催したイベント「GoAzure」の基調講演で披露されました。 OmniSharpのデモを行ったのは、米マイクロソフト Principal Program ManagerのScott Hanselman氏。.NET CoreがオープンソースとなってMacOS XやLinuxに移植され、C#も使えるようになることを紹介した上で、「MacLinuxでのソースコード修正は手間だ、IntelliSense

    Sublime、Vim、Emacs、AtomなどにIntelliSense機能を追加する「OmniSharp」、マイクロソフトがデモ
  • 多種多様な基準から見るプログラマの市場価値 | POSTD

    私は毎日、 Teamed.io で働くことに興味のあるプログラマから何通かメールをもらいます。彼らへの最初の質問は「あなたのレートは?」( 当社は時給ベースで給与を計算します )ということです。何より驚かされるのは、2つの方向性で、誤った試算をしているプログラマが多く見られるということです。 時給5ドルから500ドル(600円から60,000円)まで答えはさまざまです。決して否定はしませんが、私自身で代案を出してみます。このブログ記事では、どういった要素を計算に入れるか、または入れないかを述べたいと思います。私の個人的なキャリアもありますが、これが業界のスタンダードとは思わないでください。あくまで客観的で論理的だと思っていますが。それでは説明しましょう。 オープンソースへのコントリビューション ソフトウェア開発者にとってまずポイントとなり、かつ重要となる特性です。あなたはオープンソースプロ

    多種多様な基準から見るプログラマの市場価値 | POSTD
  • 状態遷移図/表、すなわち設計をコードでテストする

    状態遷移表からひな型コードを生成する この状態遷移表からコードを起こすわけですが、状態遷移の実装については『StateパターンでCSVを読む』を書きました。デザイン・パターンの一つ:Stateによる実装です。今回の実装はC、継承も仮想関数も使えないという利き腕を封じられた条件なので戦術を大きく変えにゃならんです。 状態遷移の実装は要するに「(1)現状態 と (2)受理したイベント の組」に対応する「(3)アクション と (4)遷移先(新たな状態)」を引き当てることに他なりません。ならば上記(1)~(4)の並びをレコードとし、そのレコード列(=状態遷移表)から「(1)現状態 と (2)受理したイベント の組」に一致するレコードを探し出して「(3)アクション を実行して (4)新たな状態 に遷移」すればいい。 状態遷移表からひな型コードの生成には使い慣れた「T4-template」を用います。

    状態遷移図/表、すなわち設計をコードでテストする
  • ソフトウェアエンジニアを目指す人へのコードに関するアドバイス | POSTD

    この短い記事で私は、ある素晴らしいアイデアを提案します。それは、製品品質のコードは、下記リストに挙げた特性で説明することができるということです。それぞれ、重要性の高いものから順番に記述しています。もしあなたが、学校もしくは独学でプログラミングを学ぶ、真面目な学生なのであれば、製品品質のシステムを構成するコードの特性を学びたいと思うのではないでしょうか。 是非、 ご意見・ご感想 をお寄せください。 読みやすさ 言うまでもなく、読みやすいコードである。 読みやすいコードは、必要に応じて簡単に変更できる。 読みやすいコードは、他の人も理解することができ、共有することができる。

    ソフトウェアエンジニアを目指す人へのコードに関するアドバイス | POSTD
    decoy2004
    decoy2004 2015/01/07
    『コードが読みにくかったら、予測可能とは言い難い。予測可能でなかったら、正確ではない。正確でなかったら、役に立たない。』
  • 1/30 発売!「プログラミングコンテスト攻略のためのアルゴリズムとデータ構造」 - iwiwiの日記

    書籍「プログラミングコンテスト攻略のためのアルゴリズムとデータ構造」が近日中に発売される予定です.会津大の渡部先生が著者で,Short Coding の Ozy さんと私が協力としての参加です.どうかよろしくお願いします. プログラミングコンテスト攻略のためのアルゴリズムとデータ構造 作者: 渡部有隆,Ozy(協力),秋葉拓哉(協力)出版社/メーカー: マイナビ発売日: 2015/01/30メディア: 単行(ソフトカバー)この商品を含むブログ (4件) を見る 書はアルゴリズムとデータ構造の入門書です.整列,探索,木構造などをはじめとする基礎的なアルゴリズムとデータ構造を初学者向けに説明します.前提とするのは基礎的なプログラミング能力のみです.コード例では C++ を用いています. これだけだと,よくあるのように思われるかもしれません.しかし,書は非常にユニークな特徴として,オン

    1/30 発売!「プログラミングコンテスト攻略のためのアルゴリズムとデータ構造」 - iwiwiの日記
    decoy2004
    decoy2004 2015/01/06
    『オンラインジャッジシステムとの密な連携をしています.実装を行い,正しさのチェックを受けてから次に進むことで,基礎を着実に身に付けることのできる本になっています』
  • https://qiita.com/falsandtru/items/13c2c2eb3852ffc7e859

    decoy2004
    decoy2004 2015/01/05
    面白そう。デバッグしづらくないか心配。
  • オブジェクト指向vs関数型プログラミングの壮絶な宗教戦争っていつしてたの……? - Qiita

    なんか荒れてますが、私も一言いいたいです!! オブジェクト指向がそうであるように、関数型も銀の弾丸ではありません!!! 参照透過性はすばらしい この記事をぼやーんと眺めてました。 高精度煽り除去フィルタを通して読むと、関数型のアプローチがよい、と言う話ですね。 実際コードを書いてると、自分の書いたコードに関するバグは、体感、8割くらいが副作用に起因するものです。 副作用があると、呼び出し元が考慮すべきパターンが増えます。Mの状態を持つオブジェクトと、Nの状態を持つオブジェクトをつなぐと、MxNのパターンになるわけです。これはつなぐたびに積算されるため、爆発します。 副作用が無い場合、状態数は1なわけです。1x1は?1です!!よって、状態の組み合わせ爆発は起きません。考慮すべきは、入力値のパターンだけで十分なわけです。 他にもいろいろメリットが!! すばらしき参照透過性!!関数世界最高ですね

    オブジェクト指向vs関数型プログラミングの壮絶な宗教戦争っていつしてたの……? - Qiita
    decoy2004
    decoy2004 2015/01/01
    現実は副作用やメモリに収まらないサイズのデータを解決することがプログラミングには必要。 #関数型プログラミング で全ての解決法が普及しているんだろうか。あと、 XSLT はどこいったんだろう?
  • https://qiita.com/kenokabe/items/7bc03b751776ec080da8

    decoy2004
    decoy2004 2015/01/01
    Immutable がいいというは分かる。ただし、データが大きすぎていちいち生成していたらメモリと生成時間が多くて実用的ではなくなるのは解決できないのだろうか。あと、 XSLT はどこいったんだろう?