タグ

programmingに関するKoutetsu666のブックマーク (49)

  • About - Project Euler

    About Project Euler What is Project Euler? Project Euler is a series of challenging mathematical/computer programming problems that will require more than just mathematical insights to solve. Although mathematics will help you arrive at elegant and efficient methods, the use of a computer and programming skills will be required to solve most problems. The motivation for starting Project Euler, and

    About - Project Euler
  • ひしだまのコンピューター関連技術メモ

    S-JIS[1998-01-11/2024-07-12] 変更履歴 ひしだま's 技術メモページ 自作ソフトを作った時などに気付いた事などをメモにしています。(自分のノート代わり) Access [/2005-03-15] Ant [/2015-12-28] Apache [/2007-09-28] AsakusaFW [/2021-12-21] awk [/2014-05-01] AWS [/2021-07-13] C言語 [/2016-04-09] Cassandra [/2010-10-21] CMake [/2016-04-27] CVS [/2007-10-04] Cygwin [/2016-11-26] DigDag [/2021-10-30] Docker [2023-10-07] DOS [/2016-12-10] Eclipse [/2018-09-22] Embulk

  • Code Jam 2012 Statistics

    Code Jam Language Stats This website presents information about programming languages used to solve the Google Code Jam problems in 2008 – 2017. Find solutions: find solutions for a specific problem in a specific language. Language popularity: lists languages used to solve Code Jam problems. Represented countries: lists the number of advancing participants by represented country. Contestants using

  • プログラマーとしての練習: 柴田 芳樹 (Yoshiki Shibata)

    The Clean Coder: A Code of Conduct for Professional Programmers (Robert C. Martin Series) 作者: Robert C. Martin出版社/メーカー: Prentice Hall発売日: 2011/05/23メディア: ペーパーバック このの「Practice」という節には、プロフェッショナルなプログラマとしての練習(practice)について次のように述べられています。 Practice Professionals practice. True professionals work hard to keep their skills sharp and ready. It is not enough to simply do your daily job and call that practice

    プログラマーとしての練習: 柴田 芳樹 (Yoshiki Shibata)
  • 先輩教えて!プログラミングのabc(第1回)---コンパイルとビルドって何が違うの(上)

    「先輩,前から疑問に思ってたんですが,これ何のエラーですか」 「ああ,これはリンクのときのエラー・メッセージだよ」 「リンクって,何ですか」 「え?知らないの。最近のツールは,コンパイルだリンクだって言わないからなぁ・・・。リンクってのは,コンパイルしてできたものを全部つなげることだよ。ビルドすると,コンパイルの後にリンクまでやってるんだ」 「???。全然わかんないです。大体,ビルドとコンパイルって,やってること同じに見えるんですけど。違うんですか?」 「よし,じゃぁちょっと,腰をいれて説明しようか」 Visual StudioやDelphiなどのツールを利用してプログラムを作っていると,見えてこないのが実行モジュールができるまでのプロセスである。当たり前のことだが,ソース・コードは人間が理解できる形でプログラムを表現したものであり,コンピュータは理解できない。だからコンピュータが理解で

    先輩教えて!プログラミングのabc(第1回)---コンパイルとビルドって何が違うの(上)
  • サルでもわかる 逆引きデザインパターン 第3章 逆引きカタログ J2EE編 Facade(ファサード)

    イントロダクション みなさんのサーブレット(Strutsを使用している場合はアクションクラス)の行数は、平均どれくらいでしょうか? データベースアクセスや業務処理など、すべての処理をサーブレットに詰め込もうとして、あっという間に1000行を越すような「太ったサーブレット」を作ってしまったことありませんか? サーブレットを初めて書いたときは筆者もそうでした。 このような「長く」「すべての処理が入った」サーブレットのことをすべてのことを行う魔法のようなサーブレットということで「マジックサーブレット」と呼びます。 マジックサーブレットは保守や機能拡張が難しいのはもちろんのこと、「アプリケーションが提供する機能」を把握することが難しくなるという弊害があります。 機能を把握できないと「あの機能ってどこにあったっけ?」という状況を生み出しがちになります。 そのような状況を避けるためにも、「サービスを提

  • 演算子の記法 — ありえるえりあ

    Recent entries Apache2.4のリリース予定は来年(2011年)初め(あくまで予定) inoue 2010-12-23 Herokuの発音 inoue 2010-12-20 雑誌記事「ソフトウェア・テストPRESS Vol.9」の原稿公開 inoue 2010-12-18 IPA未踏のニュース inoue 2010-12-15 労基法とチキンゲーム inoue 2010-12-06 フロントエンドエンジニア inoue 2010-12-03 ASCII.technologies誌にMapReduceの記事を書きました inoue 2010-11-25 技術評論社パーフェクトシリーズ絶賛発売中 inoue 2010-11-24 雑誌連載「Emacsのトラノマキ」の原稿(part8)公開 inoue 2010-11-22 RESTの当惑 inoue 2010-11-22 「プ

    Koutetsu666
    Koutetsu666 2010/02/03
    while (count-- > 0){} を while (count --> 0){} と書けるらしい.へー.カッコいいような悪いような….
  • Java変態文法最速マスター - プログラマーの脳みそ

    Java基礎文法最速マスター - いろいろ解析日記をリスペクト。 Javaの変態文法・技法一覧です。Javaの基礎をある程度知っている人はこれを読めばJavaの変態をマスターしてJavaを書くことができるようになっています。簡易リファレンスとしても利用できると思いますので、これは足りないと思うものがあれば教えてください。 1.基礎 エンクロージング型内部classの作成 外部classのインスタンスに紐付くインスタンスを生成します。外部クラスのインスタンス - 内部クラスのインスタンス間に、クラス - インスタンスのような関係を持たせることができます。 public class Outer { public class Inner { } } というようなクラスを作った場合、 Outer o = new Outer(); Inner i = o.new Inner(); となります。new

    Java変態文法最速マスター - プログラマーの脳みそ
  • Bash基礎文法最速マスター - いろいろ解析日記

    Bashの文法一覧です。他の言語をある程度知っている人はこれを読めばBashの基礎をマスターしてBashを書くことができるようになっています。簡易リファレンスとしても利用できると思いますので、これは足りないと思うものがあれば教えてください。 1.基礎 echo文 echo文です。 echo "Hello world" コメント コメントです。 # コメント 変数の宣言 変数の宣言です。 # 文字列変数 declare str # 数値変数 declare -i num # 配列変数 declare -a array スクリプトの実行 スクリプトを実行するにはコマンドラインで次のようにします。 bash script.sh 出力結果をファイルに書き出すにはリダイレクトを使います。 bash script.sh > file.txt 文法チェック 事前に文法チェックを行うには、次のようにします

    Bash基礎文法最速マスター - いろいろ解析日記
  • Java基礎文法最速マスター - いろいろ解析日記

    Javaの文法一覧です。他の言語をある程度知っている人はこれを読めばJavaの基礎をマスターしてJavaを書くことができるようになっています。簡易リファレンスとしても利用できると思いますので、これは足りないと思うものがあれば教えてください。 1. 基礎 classの作成 プログラムはclassに記述します。たとえばSampleという名前のclassを作る場合、Sample.javaファイル内に次のように書きます。 public class Sample { } mainメソッドの作成 プログラムはclass内のmainメソッドの先頭から実行されます。mainメソッドは次のように書きます。 public class Sample { public static void main( String[] args ) { // 処理を書く } } System.out.printlnメソッド 文

    Java基礎文法最速マスター - いろいろ解析日記
  • Python基礎文法最速マスター - D++のはまり日誌

    ↓に便乗してPython版も書いてみました。 Perl基礎文法最速マスター - Perl入門〜サンプルコードによるPerl入門〜 Ruby基礎文法最速マスター - Route 477 PHP基礎文法最速マスター - Shin x blog ほとんど上記の記事と同じような内容で書いたのでPython入門記事としては色々抜けていたりしますがご了承ください。 Pythonは現在3.x系がリリースされていますが記事では基的にPython2.6について書きます。 参考文献: 初めてのPython (asin:4873113938) Python Documentation Index http://www.python.org/doc/ Python 和訳Document http://docs.python.jp/2/ 0. 対話環境として使う 対話環境 pythonはそのまま実行すると対話環

    Python基礎文法最速マスター - D++のはまり日誌
  • Route 477 - Ruby基礎文法最速マスター&Ruby書籍紹介

    Perl基礎文法最速マスターをだいたいそのまま、Rubyに置き換えてみました。 他の言語をある程度知っている人はこれを読めばRubyの基礎をマスターしてRubyを書くことができるようになる…かも知れません。無保証です。 参考: オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル (1.9.2) オブジェクト指向スクリプト言語 Ruby リファレンスマニュアル (1.8.7) ■ 1. 基礎 インタラクティブRuby (irb) irbを使うと、Rubyのプログラムを簡単に練習することができます。 /Users/yhara $ irb irb(main):001:0> puts "hello" hello => nil irb(main):002:0> 1 + 1 => 2 以下の説明は、irbを起動して、自分で試しながら読むと習得が早いと思います。 表示 (print,

    Route 477 - Ruby基礎文法最速マスター&Ruby書籍紹介
  • Perl基礎文法最速マスター - Perl入門ゼミ

    Perl › 基礎文法 ITの現場でPerlが必要になって、今勉強しているという方はおられませんか? 他の言語をある程度知っている方が「Perl基礎文法最速マスター」を読めば、Perlの使い方の基礎をマスターしてPerlを書くことができるようになっています。 基礎 文法チェック 文法をチェックを厳しくするために最初に必ず次の2行を書くようにします。 use strict; use warnings; 「use strict」と「use warnings」という2行を加えることで事前に文法チェックが行われるので、ソースコードを記述する作業は速くなり、コードの品質が上がります。 print関数 文字列を出力するにはprint関数を使用します。 print "Hello world"; Perlでは標準関数や事前に定義されている関数で括弧を省略することができます。 コメント Perlのコメントで

    Perl基礎文法最速マスター - Perl入門ゼミ
  • Google Python スタイルガイド

    概要¶ これは Google Python Style Guide Revision 2.29 を日語に訳したものです。 家ガイドは CC-By 3.0 ライセンス の基で公開されています。また、ガイドも同ライセンスを継承します。 家ガイドの著者は以下の通りです。 Amit Patel Antoine Picard Eugene Jhong Jeremy Hylton Matt Smart Mike Shields また、ガイドの翻訳者は以下の通りです。 Kosei Kitahara ガイドに誤植、誤訳があった場合は issue で教えてください。 その他ガイドに関する問い合わせは、サイト最下部に記載のメールアドレスか @Surgo にお願いします。 はじめに¶ PythonGoogle で使われている主要なスクリプト言語です。 このスタイルガイドは Python によ

  • 3D版!「K-Means法」ビジュアライズしてみた - てっく煮ブログ

    前回の クラスタリングの定番アルゴリズム「K-means法」をビジュアライズしてみた が好評だったので、3D空間でも K平均法をビジュアライズしてみました。ちょっと重めなのでクリックすると始まります。さらにクリックして、1ステップずつ動かしてみてください。3次元にしてみると、宇宙空間のように見えてきて美しいです。前回からは数式の上ではほとんど変わってなくて、2次元空間上での距離だったのが3次元での距離になったぐらいです。K平均法については、前回のエントリ クラスタリングの定番アルゴリズム「K-means法」をビジュアライズしてみた をご覧ください。ちなみに、3次元座標の計算は、Flash 10 から導入された Matrix3D を使っています。ソースは [as]FP10をそろそろ。Matrix3Dとか [NUTSU] を参考にさせてもらいました。Zソートしてないので、たまに奥のものが手前に

  • クラスタリングの定番アルゴリズム「K-means法」をビジュアライズしてみた - てっく煮ブログ

    集合知プログラミング を読んでいたら、K-means 法(K平均法)の説明が出てきました。K-means 法はクラスタリングを行うための定番のアルゴリズムらしいです。存在は知っていたんだけどいまいちピンときていなかったので、動作を理解するためにサンプルを作ってみました。クリックすると1ステップずつ動かすことができます。クラスタの数や点の数を変更して、RESET を押すと好きなパラメータで試すことができます。こうやって1ステップずつ確認しながら動かしてみると、意外に単純な仕組みなのが実感できました。K-means 法とはK平均法 - Wikipedia に詳しく書いてあるけど、もうすこしザックリと書くとこんなイメージになります。各点にランダムにクラスタを割り当てるクラスタの重心を計算する。点のクラスタを、一番近い重心のクラスタに変更する変化がなければ終了。変化がある限りは 2. に戻る。これ

  • update it, Inc. 社長のブログ

    Koutetsu666
    Koutetsu666 2009/12/21
    「質問することに心理的抵抗があって抱え込みやすい人は、ぜひ今、何を質問するのが一番適切なのか?を考えて欲しい。これは、自分がわからないことは何か?を明確にすることだと思うんです。」
  • ググるな危険:プログラマで、生きている:エンジニアライフ

    だいぶ前の話になりますけど、「新人にデータ移行ツールのコーディングを任せるので、面倒をみてやってくれ」と頼まれたことがありました。 その新人はやたらとGoogle検索に頼る人で、とにかくわからないことがあると、わたしに聞かずにGoogle先生に尋ねるんですね。 検索サイトにはわたしもかなりお世話になっていますし、昔に比べるととても使い勝手がよくなっていますけれど、その人の技術レベルに対応して検索結果を出してくれるほど高機能なわけではありません。 そのため新人の書いてくるコードは、つぎはぎというかちぐはぐというか、身についてない知識に振り回されてる感が満載でした。 そういう弊害を気にしつつも、自分で調べようとする気持ちは尊重するべきなのかなあ、と思ってとりあえず黙認していたんですが、あるとき「ちょっと考えが甘かった」と思い知らされるトラブルが発生しました。 その新人が「Windowsのレジス

    ググるな危険:プログラマで、生きている:エンジニアライフ
    Koutetsu666
    Koutetsu666 2009/12/21
    「自分で説明できないコードを1行たりとも書くな!」ググることが悪いんではなくて、思考停止してコードをコピペしてしまうことが悪いってことだよね。たまにあるから気をつけよう。
  • 値渡しと参照渡し (と参照の値渡し) - ぐるぐる~

    値渡しと参照渡しは、分かってしまえば何も難しいところはないんだけど、分かるまでにちょっとした壁があるというかなんとうか・・・ てことでちょっとまとめておきますねー 値渡し (call-by-value) と参照渡し (call-by-reference) の違い 値渡しと参照渡しの違いは、「呼出し元の値自体を変更できるかどうか」と説明されることが多い。 しかし、例えば Java ではミュータブルなオブジェクト *1 を渡した場合、呼出し元の値自体を変更できるという勘違いをする可能性があるため、この説明はあまり好ましくない。 そのため、参照渡しを「呼出し元の別名を渡している」と覚えるのが分かりやすいと思う。 値渡しは「何かの値をコピーして渡している」と覚える*2。 Java の場合 Java には値渡ししか存在しないが、「参照型」のためにややこしく感じる。 参照型は参照渡しとは無関係で、C

    値渡しと参照渡し (と参照の値渡し) - ぐるぐる~
    Koutetsu666
    Koutetsu666 2009/12/17
    Javaはすべて値渡し
  • WindowsとLinuxの両方で動作するコードを書く

    JavaはOS非依存? JavaのクラスファイルはOSに依存せず、Java仮想マシン上で動くことになっています。しかしJavaプログラムでOSに依存するプロパティを直接指定することもできるため、例えばLinux上でないと正しく動作しないJavaプログラムもあります。 WindowsLinuxを並行して開発するといった状況では、この辺りの事情を考慮する必要があります。TIPSでは、JavaでOSのシステムプロパティを用いるためのjava.lang.SystemクラスのgetPropertyメソッドを紹介します。

    WindowsとLinuxの両方で動作するコードを書く
    Koutetsu666
    Koutetsu666 2009/12/15
    OSによるディレクトリの区切り文字の違いを吸収