タグ

programmingに関するsiroccoのブックマーク (263)

  • Y Combinator - LoveRubyNet

    $Id: ycombinator.html,v 1.6 2002/06/27 23:37:39 aamine Exp $ [ruby-list:35058] に刺激を受けて Y combinator を解読してみた。 こんなもん読むくらいなら以下の参考ページを読んだほうがいい。 参考にした (というかほとんどそのままな) ページ (英語) http://www.ececs.uc.edu/~franco/C511/html/Scheme/ycomb.html 動機 再帰関数は再帰するときに自分自身を名前で呼ぶのが普通である。 これをなんとかして名前を使わず、関数そのものを呼ぶように させたい。 求めかた まず単純な fact (階乗) を以下に示す。言語は Scheme である。 (define fact (lambda (n) (if (zero? n) 1 (* n (fact (- n

  • はてなでLuaプログラミング - so what

    こちらのアイデアがおもしろかったので、真似してみた。 こんな感じでエントリにコードを書いて >|lua| response.content_type = 'text/html' response.puts 'hello, world!' < エントリのurlをパラメータとしてrun_luaに渡すとLuaのコードを実行する。 http://storehouse.quickvps.net/run_lua/?src=http://d.hatena.ne.jp/winebarrel/20080108/p1 例)みさくら誤変換 [実行] --簡易みさくら誤変換機出張所(http://scrap.web.infoseek.co.jp/misakura.html)の --コードを利用させてもらいました function conv(url) local c ; open(url, function(f)

    はてなでLuaプログラミング - so what
  • コードを書く全ての人に - builder by ZDNet Japan

    PHP技術者認定機構、ウェブセキュリティ試験を導入--サイバー攻撃の激化を受け ウェブサイトを狙うサイバー攻撃の脅威が高まっていることから、PHP技術者認定機構は開発者やユーサーを対象にウェブセキュリティ試験を導入する。 2018-12-12 11:25:00 「etcd」がCloud Native Computing FoundationのインキュベーティングプロジェクトKubernetesクラスタの情報を保持する分散KVSプロジェクトetcdが、Cloud Native Coputing Foundation(CNCF)にインキュベーティングプロジェクトとして加わった。 2018-12-12 11:07:00

  • Google Code デベロッパー交流会

    Google Developer Day 2008 Japan を取材し、ご自身のブログにレポート掲載する Google Developer Day サポーターの一覧を公開しました。 サポーターの方々はさまざまな視点から Google Developer Day をレポートします。中には Google Developer Day に先立って米国で開催される Google I/O に参加される方もいます。一覧はこちらでご覧いただけます。 Google Developer Day サポーターの方々が作成した Web アプリケーション、サービスはこちらでご覧いだけます。

  • わずか565バイトテトリスのプログラミング解説

    「往年の名作「スーパーマリオブラザーズ」、あの濃い内容でわずか40キロバイト」に載っていたわずか565バイトのテトリス。文字数にして551文字。79文字*7行のプログラミングで、テトリスが動きます。 以下のソースコードをメモ帳に貼り付けて、htmlで保存すればテトリスが動きます。 <body onKeyDown=K=event.keyCode><script>X=[Z=[B=A=12]];h=e=K=t=P=0;function Y() {C=[d=K-38];c=0;for(i=4;i--*K;K-13?c+=!Z[h+p+d]:c-=!Z[h+(C[i]=p*A-Math.round(p/ A)*145)])p=B[i];!t|c+4?c-4?0:h+=d:B=C;for(f=K=i=0;i<4;f+=Z[A+p])X[p=h+B[i++]]=1 if(e=!e){if(f|B){fo

    わずか565バイトテトリスのプログラミング解説
  • Super Technique 講座~有限状態機械:

    「有限状態機械(有限オートマトン)」とは、計算モデルの1つである。これは来コンピュータ科学の中でも「計算論」に属する話題であり、通常のコンピュータを形式化したチューリング機械よりも能力の低い計算モデルなのだが、アルゴリズムとしてこの形式化を利用することが出来、しかもこの「有限状態機械」は広い応用を持っている。いわゆる「正規表現」を処理するライブラリはこの「有限状態機械」の典型的な応用なのだが、それ以外にもプログラマとして知っていると、アルゴリズムの可読性と処理速度を上げるヒントを得られるアイデアである。 有限状態機械とは? 正規表現とは? 正規表現ライブラリの使い方 オートマトンと正規表現 簡単な応用~JIS →EUC 変換 より複雑な応用~FORTRAN風書式の処理 State デザインパターン 有限状態機械とは? 「有限状態機械」とは、コンピュータ科学(とは言っても数学寄りの奴)の「

  • B3 OS/Programming

    シラバス コースは、プログラミングの基について、ひととおりの技術を学び終えた受講者を対象とする。コースの目的は、実際のソフトウェアを開発する際に、具体的にどのようにプログラムを設計し、またどのように OS の機能を利用していけばよいか、感覚をつかんでもらうことである。このため、コースは講義中心ではなく、いくつかのソフトウェアの作成演習をとおして、そのソフトウェアのプログラムはなぜそのように設計されているのか等を考えてもらう。 1. 簡単な C コンパイラ 言語仕様を簡略化したCコンパイラを作成し、言語処理系の基構成を学ぶ。また関数呼び出しや配列参照など、C言語の各基機能が実際にどのような機械語に変換されていくのかを学ぶ。 実際に作成する処理系は2つで、まずはじめに字句解析の練習として、ごく簡単なLispインタプリタを作る。 その後、構文解析、コード生成の演習のため、C言語風の手続

  • Python 2.4 ドキュメント - June 27, 2006

    グローバルモジュールインデクス (全ドキュメントにすばやくアクセスできます) ライブラリリファレンス (枕の下にいつも置いておきましょう) Macintosh モジュールリファレンス (Macintosh を使っているならこれも) Python モジュールのインストール (管理者向け) Python モジュールの配布 (開発者,パッケージ作成者向け)

  • Life is beautiful: 私のとっておきのプログラミングスタイル

    404 Blog Not Found の「LiveCoding に学ぶプログラミングの三原則」を読んでいたらどうしても書きたくなったので。あくまで私のスタイルなので、参考にするもしないもご自由に。 1. スタードダッシュでできるだけはやくめどをつける 学生時代から夏休みの宿題は7月中に終わらせていた私とすれば、ラストスパートよりはスタートダッシュで勝負する。どのみち、どこかで思いっきり頑張らなければならないのであれば、締め切り間際ではなく、スタート間際に頑張るべきというのが私のポリシー。十週間のプロジェクトであれば、最初の二週間が勝負。そこで八割がたのめどをつけておき、後は流す。最初の二週間がめどが立てられなければ、十週間で完成できる可能性は低いと考える。常にそういう姿勢でいれば、締め切りぎりぎりになって致命的な欠陥が見つかって痛いめにあったり、当は大幅な設計変更をすべきなのに応急処置で

  • ソフトウェアに価値はない : やむにやまれず

    2007年09月11日09:48 by 山崎泰宏 ソフトウェアに価値はない カテゴリ開発スタイル Tweet sparklegate Comment(0)Trackback(0) ここで言う価値とは「守るべき価値はない」という意味です。 投資したお金や人的リソースが無意味であるとか、ソフトウェアがもたらす効果についても無価値になると言っているわけではありません。 優れたソフトウェアは、誰かに真似されオープンにされてしまうどうでもいいソフトウェアは最初から価値はない ゆえに、どんなソフトウェアも価値は無くなる。 だったら最初からオープンで良いんじゃないでしょうか。 それでもライセンスが気にわないとか出てきて、別のクローンが誕生するわけですが。 「開発スタイル」カテゴリの最新記事 タグ :#ソースコード

    ソフトウェアに価値はない : やむにやまれず
  • Comparison of server-side web frameworks - Wikipedia

    This is a comparison of notable web frameworks, software used to build and deploy web applications. General[edit] Basic information about each framework. Systems listed on a light purple background are no longer in active development. ASP.NET[edit]

  • ユメのチカラ: デバッグ方法論

    実践的なデバッグ方法論(デバッグの仕方、事例研究)も強く求められている。デバッガーというツール依存のTipsではなく、ソフトウェアのデバッグというプロセスそのものの形式化である。 人々は誰に教わるでもなく自分のデバッグのスタイルを持っている。自分なりな定石を獲得している。しかしそれを明示化して人に伝えようと試みる人は少ない。伝承がまったく不可能なような議論も少なくない。 わたしはオープンソースの時代こそデバッグの方法論を広く共有できるチャンスに満ちた時代だと考えている。いくつか事例を紹介しつつ解説する。 優れたプログラマは優れたデバッグ方法論を持つ。そのデバッグ方法論をぜひ共有化したい。そのためには情報公開が要である。 デバッグとはプログラムの不具合を修正するプロセスである。テストなどによって発見された何らかの不具合を期待する結果に修正する作業である。テストとデバッグの区別が十分ついていな

    sirocco
    sirocco 2007/08/31
    gdbの実践的使い方: printfデバッグは百害あって一利なし。でもやるやつは後をたたない。
  • ユメのチカラ: ソースコードの読み方

    ソフトウェア工学の標準的なカリキュラムにソースコードの読み方というのがあるのかないのか知らないが、プログラマとして最も重要な資質の一つにコードの読解力というのがある。 ついでに言えば、大学や専門学校であまり教えられているとはいえないけど、実践では常に必要とされているものとして、テストの方法論、デバッグの方法論、性能向上の方法論、メモリなど各種資源の削減方法論などなどがある。国際化、移植性なども重要な単元であるがソフトウェア工学の中で教授されていると言う話はあまり聞かない。コードのハック一般についてどこかで議論されているのだろうか。経団連あたりで議論しているのだろうか? 閑話休題。 ソースコードの読み方ということで、最近では「コード・リーディング」というそのものずばりの教科書も出ているので状況は好転しつつある。コードの読み方はオープンソースの時代になり、間違いなく広く情報を共有できるようにな

  • Windchase - GUI のイベントスクリプティング

    http://subtech.g.hatena.ne.jp/secondlife/20070813/1186999047 より まずイベントドリブンなプログラミングに慣れてないのが一つで。Flex のイベントや自前イベントやをただ単に投げまくってると、とりあえずは動くけど後からメンテし辛いスパゲッティコードができあがる。このスパゲッティコードは goto 文が乱立するコードよりも酷く、goto だったら割と行き先は把握できるけど、イベントを投げまくってるだけだと、どこでどのオブジェクトがこのイベントを受け取るかが解らない。解りづらい。いちいちソースコード grep ですね、おめでたいですね。あのイベントが発生してから、そのイベントが終了したら発生するイベントが終了したらウィンドウ閉じて、その間は別のイベントはブロックして/発生しないようにして、とかもうわけわかんない。これも GUI プログ

    Windchase - GUI のイベントスクリプティング
  • C++と Pthreads でミニマルなHTTPサーバを書く - いやなブログ

    C++と Pthreads でミニマルなHTTPサーバを書く 『UNIXネットワークプログラミング』を読んでいると、自分でも何かネットワーク系の小さなプログラムを書いてみたくなりました。そこで、ミニマルなHTTPサーバを C++と Pthreads で書いてみました。 同じ著者の「詳解UNIXプログラミング」もそうだったように、今回のもほとんどすべてのページに、重要なことが書かれています(最後のほうのXTIの部分は例外かもしれませんが)。 たとえば、27章ではネットワークサーバの実装として、次の設計方針がそれぞれ検討され、実際のコード付きで解説されています。 クライアントごとに fork 事前に fork - 各プロセスで accept 事前に fork - ファイルロックで accept を保護 事前に fork - Mutex ロックで accept を保護 (PTHREAD_PRO

  • IBM わかりやすいコードを作成するための 6 つの方法 - Japan

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM わかりやすいコードを作成するための 6 つの方法 - Japan
  • Concepts Principles - プログラミングの原則 - Concepts Principles - Top

    ここはプログラミングの原則を集める Wiki です。巨人の肩に乗って、ふつうの人がよいプログラムを書くための指針を集めたいなと思ってます。 目次 よいデザインのための Concepts + Principles DRY (Don'tRepeatYourself) 名前重要 直交性 トラッシュではなくクラッシュ DuckTyping よいルーチンを書く 凝集性 結合性 契約による設計 (DesignByContract) ルーチンを作る正当な理由 よいモジュールを書く 適切なモジュール性を確保するために守らなければならない5つの原則 開放/閉鎖原則 (OpenClosedPrinciple) よいアプローチのための Concepts + Principles 曳光弾 可逆性

  • 404 Blog Not Found:Cで強引にたらいを後回し

    2007年05月22日22:00 カテゴリLightweight Languages Cで強引にたらいを後回し 404 Blog Not Found:λ萌え - たらいを後回しを書いた後、なんとかCでも出来ないかと、車輪の再発明する代わりに横車を押してみた。 GCCにはclosureがある! 実は以外と知られていないが、gccでは無名関数は使えなくとも、closureは使える。最近では無名関数をサポートしている言語が人気ということもあり、また無名関数の多くがclosureとしても用いられているため、無名関数の別名としてclosureという呼び方をすることもあるが(私もときどきやる)。この二つは来は別物である。JavaScriptで書くと、 var outer = 1; var closure = function(x){ return outer++ }; var nonclosure

    404 Blog Not Found:Cで強引にたらいを後回し
  • JavaScriptの開発等にかなり使えるJavaScriptシェル「Jash」:phpspot開発日誌

    Jash: JavaScript Shell Jash is a DHTML-based window that gives you command-line JavaScript access to the current browser window. JavaScriptの開発等にかなり使えるJavaScriptシェル「Jash」。 Jashサイトのダウンロードページでブックマークレットがダウンロードでき、このブックマークレットを設定し、実行することでサイト内に小窓が開きます。 小窓には JavaScript シェルが統合されていて、小窓にJavaScriptコードを入力して、JavaScript の対話的な実行が可能です。 (入力欄は、TABキーによる補完も可能です) Jashを使って、例えば、次のようなことが可能になります。 サイト上で定義されているJavaScript変数の中身

  • Processing 1.0

    Download and open the 'Processing' application. Select something from the Examples. Hit the Run button. Lather, rinse, repeat as necessary. More information on using Processing itself is can be found in the environment section of the reference. To learn the Processing language, we recommend you try a few of the built-in examples, and check out the reference. A group of diverse books have been writ

    Processing 1.0