タグ

プログラミングとprogrammingに関するdecoy2004のブックマーク (87)

  • プログラミングが難しくなったのはなぜか、原因はC言語のあの記法?

    プログラミングを全くしたことのない人がプログラミングの学習を始めた場合、どこでつまずくかを考えることがよくある。小学校でプログラミング教育が始まったこともあり、プログラマー以外の人も少しはプログラミングを知っておいたほうがいいと思うからだ。 初心者がつまずく場所としてよく聞くのが「繰り返し」だ。プログラミングには、処理の流れを制御する構文として、主に「条件分岐」と繰り返しの2つがある。初心者にとって、条件分岐は理解しやすいが、繰り返しは理解が難しいのだという。 たしかに日常生活の中でも「条件によってやることを変える」という場面は多い。プログラミングを知らない人でも普段から慣れている考え方だろう。 これに対し、プログラミングにおける繰り返しは、同じことを繰り返す場合もあるが、たいていは「ルールに従って値を連続的に変えながら処理を繰り返す」というものになる。日常生活では、同じ作業を繰り返すこと

    プログラミングが難しくなったのはなぜか、原因はC言語のあの記法?
    decoy2004
    decoy2004 2023/03/10
    Lisp なら代入に = 使わないから難しくないな!
  • JavaScriptのコメントは不要か? | POSTD

    コード中にコメントを書くべきでしょうか? 是が非でも避けるべきでしょうか? それとも控えめに書けばいいでしょうか? 開発者たちはそれぞれ、ソフトウェアを開発する際にどのように、そしてどんな時にコメントを書くかについて、独自の考え方を持っています。この記事では私の意見を述べますが、これが誰にも当てはまるというわけではありません。 なお、関数型プログラミングまたはオブジェクト指向プログラミングの原則に則ってJavaScriptで書かれたソフトウェアに絞った上で、私の意見を述べることにします。 コメントと保守性 この記事では、保守性のあるコードを書く場合について考えます。つまり、以下のようなコードです。 簡単に理解できる 簡単に拡張できる 簡単にデバッグできる 簡単にテストできる 保守性のあるコードには、大量のコメントが必要でしょうか? 明確に書かれたコードであるならば、大量のコメントは不要だと

    JavaScriptのコメントは不要か? | POSTD
  • うまくメソッド名を付けるための参考情報 - Qiita

    クラス名編をつくりました あるメソッドを定義しようとするとき、そのメソッドを使う人達が名前からどんなことをするか理解できるようにするには、メソッドの内容に応じて適切な情報量の命名が求められます。 この記事では、メソッド名に用いることでどのような情報が提供できるかを見ていきたいと思います。 真偽値を返すメソッド 場所 単語 意味 例

    うまくメソッド名を付けるための参考情報 - Qiita
  • 本当に実用的なたったひとつのソートアルゴリズム - CARTA TECH BLOG

    コンテンツメディア事業部の新卒エンジニアがお送りいたします。 突然ですが、皆さんの好きなソートアルゴリズムはなんですか? 私は基数ソートのスマートでストイックな雰囲気に惹かれます。 とはいえ、普段の開発では「どのソートアルゴリズムを使うか」を意識することは少ないのではないでしょうか。 むしろ現実世界で「トランプが全部揃ってるか」を手作業で確認するときとかのほうが、実はソートアルゴリズムが必要なのかもしれません。 ということで(?)、そのような現実的な場面で、当に実用的なソートアルゴリズムを決める戦いが始まりました。 選手紹介 今回試したソートアルゴリズムは、独断と偏見で選んだ以下の5種類。 1 挿入ソート シンプル・イズ・ベスト!正直言ってベンチマークの噛ませ犬! 2 クイックソート 「クイック」の名前はダテじゃない!王者の貫禄を見せてやれ! 3 マージソート 安定感のある隠れた実

    本当に実用的なたったひとつのソートアルゴリズム - CARTA TECH BLOG
  • APIを探そう。国内外のインデックスサービスまとめ | NTT Communications Developer Portal

    APIAPIを組み合わせてマッシュアップサービスを作ろうと思った場合、まず自分が欲しいデータを提供しているAPIを探す必要があります。今回はそんなAPIのディレクトリを提供しているサービスをまとめて紹介します。 PublicAPIs 執筆時点で5,330のAPIから検索ができるAPIインデックスサービスになっています。名前やAPI名などを入れることで、新しいAPIの登録申請もできるようになっています。 PublicAPIs | Directory of public APIs for web and mobile API For That 検索、ソーシャル、ファイナンスなど約20のカテゴリに分かれて登録されています。約300種類くらいのAPIが登録されています。 API For That | An API Directory Zapier IFTTTのビジネス版と言った雰囲気のサービスに

    APIを探そう。国内外のインデックスサービスまとめ | NTT Communications Developer Portal
  • 長文日記

    長文日記
  • OracleとGoogleの判決文を斜め読む - Qiita

    (7/7追記)僕は斜め読みだったんですが、もっときちんと読んだ上で解釈を書いてくれている方がいます。僕も時間をとって全文を読みたいとは思っていますが、まだ時間がかかりますし、yudaiさんの会社の方が妥当性は高いと思いますので、そちらをご参照ください↓ 朝っぱらから色々衝撃が走った第一四半期の最終日ですが、OracleGoogleの裁判について、どのあたりが問題だったとされるのか気になるので判決文等を読んでみました。 経緯 2010年8月、OracleGoogleを訴える。当初の争点は特許侵害 (publicKey1) 2012年4月、サンフランシスコ連邦地裁の法廷開始 2012年5月、Googleの特許侵害はないとの陪審評決。ただし、フェアユースは意見が別れる。 2012年6月: OracleGoogleJava/Android訴訟、損害賠償金ゼロで合意。今回議論された37件のJ

    OracleとGoogleの判決文を斜め読む - Qiita
  • 君のための本 -- ソフトウェア開発を一生の仕事としていいのか悩んでいる開発者に贈りたい1冊:2015年版 - 思っているよりもずっとずっと人生は短い。

    (これは、『100人のプロが選んだソフトウェア開発の名著 君のために選んだ1冊』に寄稿した原稿の草稿を元に、XP完全新訳版に合わせて加筆修正したものです。なんで完成稿ではなく草稿を元にしたかというと、草稿の方が長かったため短くまとめたものが完成稿になったからです。完成稿の方は『100人のプロが選んだソフトウェア開発の名著 君のために選んだ1冊』をどうぞ。) エクストリームプログラミング 作者:ベック,ケント,アンドレス,シンシア発売日: 2015/06/26メディア: 単行 コンピュータ書を読むのが好きだ。だから「誰かに贈りたい」と言われると、たくさんのが思い浮かぶ。 たとえば君の問題が「プログラミングのスキル向上に思い悩んでいる」という話であれば、『Code Complete』辺りを勧めるだろう。プログラミング技術を10冊あげろと言われれば20冊くらいあげるかもしれない。 け

    君のための本 -- ソフトウェア開発を一生の仕事としていいのか悩んでいる開発者に贈りたい1冊:2015年版 - 思っているよりもずっとずっと人生は短い。
    decoy2004
    decoy2004 2015/06/26
    『尊重しあっていない人々同士の集まりでも、それなりのプロダクトを安く作り上げるにはどうすればよいか」ということにフォーカスした手法も少なくないだろう。しかしそのような態度が本当に優れたプロダクトを』
  • コーディング面接の例 - soutaroブログ

    プログラマの面接をするときには実際にコーディングをしてもらうべきという話は良く聞くが、もうちょっと細かくどういうお題を出したら良いかとか、どういう風に評価したら良いかとかの話はあんまり聞かない気がする。せっかくなので、ユビレジでの面接で私がコーディングについて確認するときのパターンを、いくつか紹介してみようと思う。 実際にコードを書いてもらうパターン 候補者がどのくらいプログラミングできそうかの予備情報がない場合に、簡単なアルゴリズムを書いてもらうことが多い。例としては、 Linked Listを書いてください Stackを書いてください など。ここで、おもむろに int main(int argc, char* argv[]) { などと書き始める人は、あまり良い印象をもたれない。 class Stack などと書き始める人は上よりは期待できる。 このとき、わざと出題で詳細をあまり明らか

    コーディング面接の例 - soutaroブログ
  • 残業とプログラミングの効率について

    プログラマーの残業についての質問です。 人月の神話などの教訓もあると思うのですが、どのくらいやるとどのくらい一人のプログラマーアウトプットが落ちるのかなどのグラフやデータはあるのでしょうか。 コーディングする文字数の低下や、工数などの単位で示されているグラフはあるのでしょうか。 この辺について、自分を実験台にするのは悲しいので、参考に知りたいです。 例えば、ちょっと違いますが睡眠時間はこういうのがありました。 http://laugh-raku.com/wp-content/uploads/2013/05/7ae61a6d2298f57c5a19f9a46b49e7531.png こういうデータや考え方についてなにか知っている人いましたら、教えてください。 よろしくお願いします。

    残業とプログラミングの効率について
  • コーディングに最適な日本語対応の等幅フォントSource Han Code JPとは – ICS MEDIA

    コーディング向けの日語対応の等幅フォント「Sourceソース Hanハン Codeコード JPジェイピー(和名:源ノ角ゴシック Code JP)」が、2015年6月4日に公開されました。「源ノ角ゴシック Code JP」は、プログラミングやHTML/CSSのコーディング、ターミナルでのテキスト表示など、和欧表示用フォントとしての利用を想定されたフォントです。 ダウンロードはこちらから Release Fonts (OTF, OTC) · adobe-fonts/source-han-code-jp · GitHub ※このフォントは無償でダウンロード可能です。OTCとTTFの両方のフォーマットで配布されているので、Windows/macOSともに簡単にインストールできます。 ※上記リンクの「Fonts version [バージョン番号] (OTF, OTC)」となってい箇所の[Sourc

    コーディングに最適な日本語対応の等幅フォントSource Han Code JPとは – ICS MEDIA
  • Javaで1行ずつテキストデータを読み込むイディオムの変遷 - argius note

    テキストデータを読み込む場合、言語にかかわらず1行ずつ読み込んで処理します。ここではこのイディオムを"read-lines"と呼ぶことにします。 スクリプト言語なんかだと大抵、最初からforeachで済んでしまっていたりしますが、初期のJavaではちょっと面倒な手順が必要でした。 新しいバージョンではだいぶ簡単簡潔に書けるようになりましたが、今度はたくさんありすぎて、どれがなんなのかが良くわからなくなっています(大袈裟)。 そこで今回は、"read-lines"の変遷についてまとめてみました。 最近Javaを始めた方がバージョンが古い時に書かれたソースコードを読むときに役に立つ...かも知れません。 目次 基 BufferedReader (Java1.1~) Scannerと拡張for文 (Java5~) java.nio.file.Filesとtry-with-resources(J

    Javaで1行ずつテキストデータを読み込むイディオムの変遷 - argius note
    decoy2004
    decoy2004 2015/06/07
    『CloseShieldInputStreamでラップすれば、外側でcloseした場合でもいちばん内側のSystem.inまでcloseが伝播しません。』
  • ソフトウェア開発で得た教訓22箇条 | POSTD

    1. 小規模なものから徐々に拡張していく。 私は日頃、新たなシステムを作るにせよ既存のシステムに機能を追加するにせよ、必要な機能すら殆ど持たないようなとてもシンプルなバージョンを作るところから始めるようにしています。そこから当初予定していた機能まで、段階的にソリューションを拡張していきます。私は初めから細部にわたって計画をできたことはありませんが、代わりに開発を進めていく中で新しく見つけた情報をソリューションに役立たせます。 私はJohn Gallの、この言葉が好きです。 “複雑なシステムというのは、往々にしてシンプルなシステムから発展したものだ。” 2. 同時に複数のものを変えない。 開発中にテストが失敗したとき、あるいは機能がうまく動作しなかったとき、1つだけ変更すれば、問題発見が格段に容易になるでしょう。言い換えるなら、短いイテレーションを行いなさいということです。1つずつ変更を行い

    ソフトウェア開発で得た教訓22箇条 | POSTD
  • プログラマ能力指標表 | POSTD

    2015年05月27日: 表が見にくいというご意見を頂いたため、原文著者に連絡のうえ体裁を修正しました。 上位のレベルには下位のレベルの知識も蓄積されているということに注意してください。つまり、レベル n であれば n より低いレベルの知識も全てあります。 コンピュータサイエンス データ構造

    プログラマ能力指標表 | POSTD
  • 海外の技術系掲示板に英語で質問する際の文例・定型文 | PHP Archive

    Stack Overflow に日語版ができたとはいえ、やはり英語圏のフォーラムに助けを求めなければならないことは多いと思います。 義務教育で習った英語で内容を読み解くことはできても、英作文となるとなかなか思ったことを表現できず、質問をためらってしまうことがあります。 そこで、実際の海外掲示板のやりとりの中で一般的なフレーズを集め、どのように書けば自然な英文で質問できるのか考えてみることにしました。 質問の流れは次のような構成を取ることが一般的です。 1. 何をしようとしているのか 2. 何が起こったのか 3. 何を試してみたのか 4. 何を知りたいのか 5. 結びの言葉(省略可) つまり、「こういうプログラムを作っていて、次のようなコードを書きましたが、このようなエラーが起きます。こうしてみても同じでした。何が原因なのでしょうか?宜しくお願い致します。」という順番で文を組み立てていけ

  • [翻訳] Elixir - 次に来る大物Web言語 - Qiita

    Lau Taarnskovさんの2015年4月19日付のブログ記事、Elixir - The next big language for the webの翻訳です。 ElixirはErlangのVM上で走る、Rubyにちょっと似た(というのも作者(José Valim)がRuby on Railsのcoreチームメンバーなので)関数型言語です。 2012年に登場していてQiitaでもAdvent Calendarなどが既にあるようですがまだあまり知られていないですね。ElixirとPhoenix Frameworkを組み合わせたものがマイクロ秒のオーダーで反応が帰る爆速だそう(ホントかな~)で興味を持ちました。 しかしほんの10年前ぐらいの話がもう遥かな昔話に聞こえますね…。 (追記:実際にプログラムを書いてみました → Elixirで試しに何か書いてみる(その1) Elixirで試しに何

    [翻訳] Elixir - 次に来る大物Web言語 - Qiita
    decoy2004
    decoy2004 2015/05/14
    『Erlangはゲームサーバーとしても人気があります。何百万ものユーザーがマルチプレイヤーゲーム、例えばCall of DutyやGame of WarをErlangで動くゲームサーバーインフラでプレイしています。』
  • データサイエンティストなら年収1000万円!?無料&日本語でプログラミングの勉強をする方法

    21世紀初頭に「IT革命」という言葉が世の中を席巻してから、インターネットはもはや車やガスなどと同じ社会的なインフラになったと言っても過言ではないのではないでしょうか。 そんな中、データサイエンティストという仕事に注目が集まっています。年収1000万円を越えることも夢ではない職業です。そんなデータサイエンティストにとって不可欠なデータ解析に関する知識を無料で学べる「UDACITYonEdmaps」の使い方を紹介します。 UDACITYonEdmapsとは何か UDACITYとはアメリカ発のオンライン学習サービスの一つで、無料でデータサイエンスが学べるツールです。アメリカでスタートしたこのサービスは、リクルートホールディングスとの契約締結を経て、現在日ではUDACITYonEdmapsとして展開しています。 UDACITYonEdmapsの前身であるUDACITYでは各企業の開発者などが講

    データサイエンティストなら年収1000万円!?無料&日本語でプログラミングの勉強をする方法
  • 無料でプログラミングが学べる三大動画学習サイト+α

    ドットインストールは、1回のレッスン動画が約3分と短めで、気軽に勉強に取り組めるのが大きな特徴だ。schooの特徴は生放送というスタイルにある。その時間に間に合うようにディスプレーの前に座る(努力をする)ことで、自然と勉強への意欲が高まる。MVAはマイクロソフトが純正で提供する学習コンテンツであり、「マイクロソフトテクノロジー」全般にわたって豊富なコンテンツが用意されている。 では、個々のサイトの特徴を見ていこう。 ドットインストール 日国内でプログラミングの動画学習サイトといったときに、真っ先に名前が挙がるのがドットインストールだ。 前述した通り、ドットインストールでは1回に見る動画の長さは約3分なので、気軽に学習に取り組めるのがよいところだ。3分の動画で伝えられる情報量は限られたものだが、逆に通勤時間など、ちょっと時間が空いたときに手軽に動画を見られるし、頭が疲れる前に次の動画へ進み

    無料でプログラミングが学べる三大動画学習サイト+α
    decoy2004
    decoy2004 2015/04/22
    『MVAの一番の特徴は、.NET開発者/ITプロの両者にとって重要な技術が豊富に取り上げられていることだ。動画は数分程度の短いものから60分を超えるものまでトピックによって異なる。』
  • ITエンジニアのレベルアップに最適!競技プログラミングサイト10選 - paiza times

    Photo by Nic McPhee こんにちは。谷口です。 ITエンジニアの皆さんは、競技プログラミングに参加されたことはありますでしょうか? 競技プログラミングとは、一般に、出題されたプログラミング問題を制限時間内に解いて競い合う競技大会のことです。出題者側はテストデータを使い、回答が正しいかどうか判定されるといった流れで行われるものが多くなっています。 今回は、競技プログラミングを実施しているサイトを10件ご紹介します。 ■競技プログラミングサイト ◆1.TopCoder http://www.topcoder.com TopCoderはTopCoder社が主催する、世界中で約60万人の人々が参加する世界最大規模の競技プログラミングコンテストです。 TopCoderの各種目に参加すると、プログラミングスキルを表すレーティングと呼ばれる数値が付けられます。一定以上の高いレーティングを

    ITエンジニアのレベルアップに最適!競技プログラミングサイト10選 - paiza times
    decoy2004
    decoy2004 2015/04/17
    『TopCoderはTopCoder社が主催する、世界中で約60万人の人々が参加する世界最大規模の競技プログラミングコンテストです。』
  • 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/04/13
    『Coqにバグがあって、ある定理を使うと全部溶けてしまうことがわかった。』