タグ

programmingに関するkotaro-onoのブックマーク (10)

  • 機械学習/Deep Learningが気になる人も要注目、「アルゴリズム」の基本が学べる無料の電子書籍150ページ

    アルゴリズムとは、問題を解く、課題を解決するための手順です。それを学ぶことで人は何を得るのでしょうか。 2008年8月から始まり2009年5月に終わった人気連載「コーディングに役立つ!アルゴリズムの基」の第1回「いまさらアルゴリズムを学ぶ意味」で筆者は、下記のように述べています。 「IT技術者である読者の皆さんなら、普段から何げなく「アルゴリズム」という言葉はよく使っていることでしょう。しかしあらためて「『アルゴリズム』とは何か」と問われて、すぐに明快に答えられるでしょうか。 また、IT技術者であってもアルゴリズムをきちんと勉強した人は意外と多くないのではないでしょうか。大学で学んだ、入社後の新人研修で学んだという人もいるかもしれません。それでもしばらく開発の現場に出ているうちに忘れてしまった、という人もいることでしょう。 この連載ではアルゴリズムを学ぶ、または学び直すことで、プログラミ

    機械学習/Deep Learningが気になる人も要注目、「アルゴリズム」の基本が学べる無料の電子書籍150ページ
  • www.phptherightway.com

    Welcome There’s a lot of outdated information on the Web that leads new PHP users astray, propagating bad practices and insecure code. PHP: The Right Way is an easy-to-read, quick reference for PHP popular coding standards, links to authoritative tutorials around the Web, and what the contributors consider to be best practices at present. There is no canonical way to use PHP. This website aims to

  • List of freely available programming books - Stack Overflow

    I'm trying to amass a list of programming books with opensource licenses, like Creative Commons, GPL, etc. The books can be about a particular programming language or about computers in general. Hoping you guys could help: Languages Python Dive Into Python How to Think Like a Computer Scientist A Byte of Python Python for Fun Ruby Why's (Poignant) Guide to Ruby PHP Practical PHP Programming Perl E

    kotaro-ono
    kotaro-ono 2012/11/21
    無料で利用できるプログラミング本
  • プログラムを書こう!

    みなさま こんにちは。ここには、C++Javaなど、プログラミングの入門記事を書いていこうと思っています。 一応、製品版がありますが、ここはもちろん無料です。更新はとてもゆっくりになると思いますが、よろしければ、気長につきあってください。一緒に楽しくプログラミングしていきましょう。 入門記事の読み方 細部にこだわるより、全体の流れを見てください。最初に解説をざっと読んだら、サンプルをコンパイル・実行し、うまくいったら、少しだけ書き換えてまた実行してみてください。書き換えがうまくいったら、わかっていることになるのです。それから、少しゆっくり解説を読んでみてください。 そういう勉強方法を嫌う人がいることも知っています。しかし、「すべてをひとつひとつ理解してから進もう」として身動きが取れなくなってしまう人もたくさんいるのです。20歳頃の私がそうでした。それが、「わかってきたな」、「おもしろい

    kotaro-ono
    kotaro-ono 2012/02/15
    C++, Javaのまとめ
  • クロージャ - Wikipedia

    クロージャ(クロージャー、英語: closure)、関数閉包はプログラミング言語における関数オブジェクトの一種。いくつかの言語ではラムダ式や無名関数にて利用可能な機能・概念である。引数以外の変数を実行時の環境ではなく、自身が定義された環境(静的スコープ)において解決することを特徴とする。関数とそれを評価する環境のペアであるともいえる。この概念は少なくとも1960年代のSECDマシンまで遡ることができる。まれに、関数ではなくとも、環境に紐付けられたデータ構造のことをクロージャと呼ぶ場合もある。クロージャをサポートする言語によるプログラミングでは、単に関数の中に関数を定義することができるだけでなく、その際に、外側の関数(エンクロージャ)で宣言された変数を暗黙的に内側の関数に取り込んで操作することができる。主な利点としてはグローバル変数の削減やコールバック関数記述の簡素化が挙げられる。 典型的に

    kotaro-ono
    kotaro-ono 2011/07/04
    クロージャとは
  • 値渡しか、参照渡しか

    スタックオーバーフロー 値渡しでは、関数を呼び出すたびに、引数に渡したデータがコピーされ、スタックに積まれます。そのため、サイズの大きいデータを値渡しで渡していると、実行時にスタックが溢れてしまうことがあります。これは、C言語でもC++言語でも同様です。 コピーによるオーバーヘッド 値渡しでは、関数を呼び出すたびに、引数に渡したインスタンスのコピーが発生します。このオーバーヘッドのために、参照渡しに比べて、パフォーマンスが悪くなります。 C言語でも、サイズの大きい構造体は参照渡しとして、パフォーマンスの悪化を防ぐ、という指針が知られています。C++言語の場合は、データサイズの他に、データの複雑さも影響してきます。というのも、インスタンスのコピーが行われる際に、コピーコンストラクタが呼び出されるためです。 複雑な構造を持つクラスであれば、コピーコンストラクタに複雑なコピー処理が実装されている

    kotaro-ono
    kotaro-ono 2011/06/21
    値渡し、参照渡し
  • プログラミング基礎文法最速マスターまとめ - ネットサービス研究室

    現在73エントリー。新たな基礎文法最速マスター記事を見つけ次第随時追加していきます。 リンク切れしているものはURLを記載しておくので、Internet Archive Wayback Machineなどで過去の履歴を閲覧してみてください。 基礎文法最速マスター ActionScript 3.0(http://blog.livedoor.jp/takaaki_bb/archives/51374100.html) awk(http://gauc.no-ip.org/awk-users-jp/blis.cgi/awk_fastest) Bash Brainf*ck(http://d.hatena.ne.jp/shunsuk/20100130/1264842323) Bシェルスクリプト(http://chaichan.web.infoseek.co.jp/src/BSH.htm) C++0x C

    プログラミング基礎文法最速マスターまとめ - ネットサービス研究室
    kotaro-ono
    kotaro-ono 2011/06/18
    基礎文法最速マスターまとめ
  • inetd の仕組みを見てみる - naoyaのはてなダイアリー

    inetd や xinetd (以下 inetd) はインターネットサービスをデーモン化するのに共通している処理を担い、ほとんどの時間をアイドル状態で過ごすその手のサービスに必要なリソースを節約する役割を果たします。 inetd のひとつ面白いところは、inetd でサービス化したいプログラムの標準入力/標準出力がクライアントソケットの入出力に接続されるところです。例えば daytime 相当のサービスを自分で作ろうと思った場合 #!/usr/local/bin/perl # daytime.pl use strict; use warnings; use DateTime; use IO::Handle; STDOUT->autoflush(1); STDOUT->printf( "%s\n", DateTime->now(time_zone => 'Asia/Tokyo') ); と標

    inetd の仕組みを見てみる - naoyaのはてなダイアリー
    kotaro-ono
    kotaro-ono 2011/04/23
    inetdの仕組み
  • MapReduce - naoyaのはてなダイアリー

    "MapReduce" は Google のバックエンドで利用されている並列計算システムです。検索エンジンのインデックス作成をはじめとする、大規模な入力データに対するバッチ処理を想定して作られたシステムです。 MapReduce の面白いところは、map() と reduce() という二つの関数の組み合わせを定義するだけで、大規模データに対する様々な計算問題を解決することができる点です。 MapReduce の計算モデル map() にはその計算問題のデータとしての key-value ペアが次々に渡ってきます。map() では key-value 値のペアを異なる複数の key-value ペアに変換します。reduce() には、map() で作った key-value ペアを同一の key で束ねたものが順番に渡ってきます。その key-values ペアを任意の形式に変換すること

    MapReduce - naoyaのはてなダイアリー
    kotaro-ono
    kotaro-ono 2011/04/23
    MapReduceについて
  • 矢沢久雄の早わかりGoFデザインパターン 目次:ITpro

    VMware問題でIIJNTTコムなどが大幅値上げ、クラウド料金が2~3倍になる場合も 2024.06.14

    矢沢久雄の早わかりGoFデザインパターン 目次:ITpro
    kotaro-ono
    kotaro-ono 2010/12/31
    デザインパターン早わかり
  • 1