タグ

programmingに関するihagのブックマーク (80)

  • The Programming Language Lua

    Lua 5.4.6 released Lua Programming Gems freely available Lua Workshop 2023 held in Rio de Janeiro Building a Programming Language course Mailing list moved

  • Wataru's memo(2006-08-05): Programming in Lua

    ● [Books] Programming in Lua 自費出版にいたる過程で、ひとつのきっかけになってくれた書籍をご紹介します。 そのの名は、"Programming in Lua"。 現在、各界で注目を浴びつつある "組込型スクリプト言語Lua" の設計者 Roberto Ierusalimschy 氏による解説書です。2003年に第一版が出版され、今年2006年に第二版が発売されました(第一版はオンラインで公開中)。 Lua is my favorite extensible language Lua の詳細についてはいつかご紹介したいと思いますが、私が心惹かれている特徴は以下の通りです。 コンパクトで見通しの良いソースツリー(version 5.1 は約17000行) ANSI C compiler でビルド可能 真の "組込型" スクリプト言語 C 言語との相性の良さ 設計者

  • 第1回 関数型プログラミングの世界へようこそ - 本物のプログラマはHaskellを使う:ITpro

    Haskellというプログラミング言語を知っていますか? 全く聞いたことがないという人が多いかもしれません。そういう名前の言語があるのは知っているけど,どんな言語かは知らないという人もいるかもしれませんね。でも最近では,一部の先進的なソフトウエア開発者の間で,一種のブームと言えるほど熱狂的に受け入れられています。 なぜならば,Haskellは様々な優れた特徴を持っているからです。最初に,他の言語にはあまり見られない際だった特長を一つだけ紹介してみましょう。「遅延評価(lazy evaluation,怠惰評価ともいう)」です。 遅延評価とは,与えられた値を必要になるまで評価(計算)しないということです。この性質により,不必要な計算が行われる無駄をなくすことができます。また,「潜在的に無限の大きさを持つデータ構造」といった通常のプログラミング言語では扱いの難しいものを直接扱えるため,より直接的

    第1回 関数型プログラミングの世界へようこそ - 本物のプログラマはHaskellを使う:ITpro
  • Graphviz チュートリアル

    Graphviz というツールは、 「DOT 言語」という言語で書かれたグラフ表現を GIF や PNG などのファイルフォーマットに変換してくれるシステムです。 家のホームページは http://www.graphviz.org/ です。 ここでは、Graphviz のインストールと使い方についてまとめてみました。 なお、ここでインストール/使用する Graphviz は version 2.4(2005-08-01 現在)です。 また、インストール先の環境は Cygwin です。 ダウンロードとインストール 簡単なサンプル グラフ全体の属性 ノードの属性 エッジの属性 その他の事項 レコード サブグラフ 無向グラフ 形の一覧 トップへ ↑

  • IBM Developer

    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 Developer
    ihag
    ihag 2006/07/31
    これはおもしろそう。解析に使えそう。
  • 【ハウツー】祝2歳!! Ruby on Rails 1.1 + MySQL Administratorで日記システムを作ろう | エンタープライズ | マイコミジャーナル

    Ruby on Rails David Heinemeier Hansson氏は6月26日(米国時間)、Ruby on Rrails 1.1を公開、27日にはセキュリティフィックスリリースとして1.1.3、30日にはエラッタリリースとして1.1.4を公開した。RoRはRubyで作成されたフルスタックのWebアプリケーションフレームワーク。スクリプト言語Rubyの特性を活かして開発されたフルスタックフレームワークで、Webアプリケーション開発の負荷を軽減するものとして高い人気を誇る。 そして7月25日(米国時間)には最初にリリースされた0.5.0から数えて2歳の誕生日をむかえた。ここでいったんRoRを振り返るとともに、ぜひとも実際に試してみてほしいとおもう。簡単な日記システムを作る方法を紹介するので、参考にしていただきたい。 RoR 1.1 インストール RoR 1.1をインストールするには

  • るびま

    『るびま』は、Ruby に関する技術記事はもちろんのこと、Rubyist へのインタビューやエッセイ、その他をお届けするウェブ雑誌です。 Rubyist Magazine について 『Rubyist Magazine』、略して『るびま』は、日 Ruby の会の有志による Rubyist の Rubyist による、Rubyist とそうでない人のためのウェブ雑誌です。 最新号 Rubyist Magazine 0058 号 バックナンバー Rubyist Magazine 0058 号 RubyKaigi 2018 直前特集号 Rubyist Magazine 0057 号 RubyKaigi 2017 直前特集号 Rubyist Magazine 0056 号 Rubyist Magazine 0055 号 Rubyist Magazine 0054 号 東京 Ruby 会議 11 直

  • ソースコードの盗み方|悪態のプログラマ

    悪態のプログラマとある職業プログラマの悪態を綴る。 入門書が書かないプログラミングのための知識、会社の研修が教えないシステム開発業界の裏話は、新人プログラマや、これからプログラマを目指す人たちへのメッセージでもある。 プログラミングを行う際に、既存のソースコードを流用することは多い。自分が過去に書いたコード、周囲の仲間が持っているコード、ヘルプや書籍に掲載されているコード。ネットで探せば、最新技術やマイナーな技術のものでも、何かしら発見できることだろう。 Yahoo!Google のような一般的な検索エンジンでも、適切なキーワードを指定すれば、ソースコードを検索することができる。コードによく出てくる文字列(例えば、C言語なら「include」や「void」など)を含めて検索すればよいだろう。 こうした一般のページ検索では、コードの解説や関連情報なども見つかるので有意義だ。しかし、一方

    ソースコードの盗み方|悪態のプログラマ
  • 法大奥山研究室 C言語

    法政大学奥山研究室 <webmaster_okuyama_at_hosei_313@yahoo.co.jp> 法政大学 | 経済学部 | 教員/ゼミ一覧 Last modified: 2014/10/11 11:42:01 Accessed: 2024/03/22 10:39:35 /unix/C/index.html, 0.3625 Copyright (C) 2001-2024 Toshiyuki Okuyama. All Rights Reserved.

  • ValgrindでApacheモジュールのメモリバグを見つけよう - ひげぽん OSとか作っちゃうかMona-

    mod_uploaderの作者さんがまとめている開発Tips(http://acapulco.dyndns.org/mod_uploader/module_dev.htm)にあったデバッグ方法を試してみました。 Valgrind http://valgrind.org/ Valgrindはメモリ周りのバグや、スレッド系のバグを自動的に検出してくれるツールです。 インストールは ./configure make make install で完了です。 a.out(-gオプションでコンパイルしてください)のメモリ周りのチェックを行う場合は valgrind --leak-check=yes a.out とやると、こんな結果が出力されてメモリリークしている場所がずばり表示されます。 ==19182== 40 bytes in 1 blocks are definitely lost in los

    ValgrindでApacheモジュールのメモリバグを見つけよう - ひげぽん OSとか作っちゃうかMona-
  • C - ring buffer による queue : 404 Blog Not Found

    2006年06月26日15:30 カテゴリ C - ring buffer による queue 同感。 Kazuho@Cybozu Labs: C で tail に queue は不要 C で書くとしたら、やはり目的に特化したデータ構造を使うことで、速度と可読性を稼ぐべきではないでしょうか。 なので、今度はRing BufferによるQueueの実装。 そのためには、「404 Blog Not Found:C - tailとqueue」のqueue.hを以下のように差し替えればOK。ここでtail.cはいっさい書き換える必要がないことに注意。 #define DIE_OUT_OF_MEMORY { fprintf(stderr, "Out of memory!\n"); exit(-1); } struct queue{ int max, cur; void **ring; }; type

    C - ring buffer による queue : 404 Blog Not Found
  • CipherSaber / サイファセイバー

    Writing your own strong encryption program Hiroshi Yuki <hyuki@hyuki.com> 目次 このページをお読みになる方へ 暗号を使うことについて重要な注意(無保証と免責)謝辞 CipherSaberとは何かCipherSaberの暗号化/復号化の概要詳細:CipherSaberの暗号化 暗号化の手順暗号化の手順の図式 詳細:CipherSaberの復号化 復号化の手順復号化の手順の図式 詳細:留意点 初期化ベクタの意味ヘッダがないバイナリモードファイル形式を「改良」しようと思わないことRC4 について (必ずお読み下さい) ダウンロード C言語で書かれたCipherSaberのソースコード検証用のテストデータ リンク CipherSaber関連ページ結城浩のプライバシー関連ページ Legal Notices更新履歴 このページを

    ihag
    ihag 2006/05/23
    自分で作る暗号化プログラム
  • Standard Template Library プログラミング on the Web

    1985年、AT&TのBjarne StroustrupがC++をこの世に送り出しました。その後C++は様々な拡張を繰り返しながら進化してきました。 1991年、ISOはC++の国際標準(standard C++)を定める作業を開始しました。標準C++の最終草案は1997年にISO C++標準化委員会に承認されました。 標準C++が規定するのは言語仕様だけなく、C++標準ライブラリも規格の中で明確に定められています。それまでC++のライブラリといえばiostreamぐらいのものでしたし、それもあくまで"事実上の標準"でしかありませんでした。 そしてそのC++標準ライブラリの一部として組み入れられたのがSTL(Standard Template Library)です。すなわちSTLは標準C++の仕様の一部ということです。 僕がSTLを知ったのは1995年、いくつかのコンパイラがtemplat

  • 楽々ERDレッスン 第1回:「お持ち帰りご注文用紙」編:CodeZine

    はじめに システム構築においてデータベース設計は不可欠です。そこで多くの方がデータベースの設計技法について書籍で学んだりするのですが、なかなか身についたと感じられないことも多いのではないかと感じます。 その理由は、実務で任せられる機会というのが少ないからというのが大きなものとして挙げられます。データベース設計というのは、やはり重要な箇所ですから自然と経験のある人に任せられることが多いのが実態です。しかもデータベース設計を担当するのはプロジェクト全体の中でもごく少数だけになりますから、なかなかチャンスが巡ってきません。 しかし、それを嘆いているばかりではスキルが身につかないのも道理です。そこで身近にあるものを何でも手当たり次第にデータベース設計のネタにしてしまうことで、コツコツと地力をつけていこうというのがこのシリーズの主旨です。 合言葉は、「表組みを見たらERDを描け!」 。では、

  • 遅いコードを貯蓄する - Backnumbers: Steps to Phantasien

    2005-08-21 遅いコードを貯蓄する 私は仕事柄, 書いたコードに実行速度を要求されることがある. 当はいつも要求されていて, たまにそれに応えるという方が正しいかもしれない... とにかく, 権力者(上司, 顧客, 同僚)から "遅いので速くしろ" というお言葉を日常的に頂く. とはいえできる範囲の高速化は既に済んでいる. 無い袖は振れない. まわりからの圧力を前にすると, 高速化の余地あるコードがある種の資産に思えてくる. 高速化の "余地" にも色々ある. 直せは確実に速くなる性質の良いもの. 複雑さ故に速くなる "かもしれない" ように見える 不確実性の高い不良債権, まだプロファイルをとっていない未公開株のストックオプション, など. そこで, 優良な財をなす投資の方法 ... つまり遅くてかつ簡単に高速化できるコードを書く方法を, いくつか提案しておく. アクセサ変数を

  • ソフトウェア工学・ソフトウェア工学特論

    平成23年度 ソフトウェア工学 ソフトウェア工学特論 2012年後期(2単位)月曜日1限、電算機演習室 2012年後期(2単位)火曜日2限、73号教室 最終更新日:2013.1.27 - 渕田孝康 講義の目的 ソフトウェア工学の究極の目的はソフトウェア作成の自動化にある。「こういうソフトがほしい」と伝えれば、分析・設計・実装をすべて自動で行ってソフトウェアが出てくるような仕組みがあれば、ソフトウェア開発者は不要である。しかし、実際にはそこまで行くとは思われないし、行ったとしてもはるか未来の話だろう。もちろん、講義もそのような高みを目指してはいない(思ってもない)。 ソフトウェア開発方法論は歴史的にいくつかの段階を踏んで発達してきたが、現在では大きく2つの種類に大別できる。構造化技法とオブジェクト指向技法である。この講義では、それぞれの技法がどのような考えに基づいてソフトウェアの開発プロ

  • 三項演算子の正しい書き方

    C・C++JavaPerl などのプログラミング言語では、条件演算子として三項演算子?:が用意されている。条件演算子の書き方として、以下のような説明がされることが多い。 condition ? true-expression : false-expression この説明は、以下のプログラムと同じ程度、間違っている。 #include <stdio.h> main( ){printf ("hel" "lo, world\n" );} 条件演算子は、正しくは以下のように書く。 condition ? true-expression : false-expression 使い方の例を示す。 compare = obj1 == null ? obj2 == null ? 0 : -1 : obj2 == null ? 1 : obj1.toString().compareTo(obj2.to

    ihag
    ihag 2005/08/10
    かっこいい
  • Joel on Software - 環境をコントロールできれば楽しく感じるもの

    Joel Spolsky ジョエル・スポルスキ 翻訳: Yasushi Aoki 青木靖 2000/10/24 私の知っている筋金入りのC++プログラマたちの多くは、ユーザインタフェースプログラミングを嫌っている。これは私にとっては驚くべきことだ 。それというのも、UIプログラミングが質的にやさしく、直感的で、楽しいものだと知っているからだ。 それがやさしいというのは、どうやって矩形を別な矩形の真ん中に配置するか、という以上に複雑なアルゴリズムは、通常必要にならないからだ。それが直感的であるというのは、もしあなたが間違ったならたちどころにそのことがわかり、修正できるからだ。楽しいというのは、あなたの作業の結果を即座に見ることができるからだ。あなたは自分がプログラムを直接彫刻しているかのように感じるだろう。 私の考えでは、プログラマがUIプログラミングを怖れるのは、ほとんどの場合彼らのUI

  • http://digit.que.ne.jp/work/index.cgi?Perl%A5%E1%A5%E2%2FRFC%23822%B7%C1%BC%B0%A4%CE%C6%FC%BB%FE%A4%CE%B2%F2%C0%CF

  • 曜日計算のやり方

    研究日誌 (幸三郎)  2002.11.01 (金) 先日、あるソフトウェアのソースを覗く機会がありまして・・・(^^; なんということはなく、たらたらと見ていたら・・・ 曜日計算のところで吹き出してしまいました。 (曜日計算というのは、たとえば「2002年11月1日」と入力したら、「金曜日」と出力されるようなところです。) なんと、このソフト、2000年1月1日を基準日(?)にして、そこから日数を数えて7で割って曜日を算出していたのです。 つまり2000年1月1日が土曜日ですから、2002年11月1日は・・・ 365(2000年の日数)+1(2000年は、うるう年)+365(2001年の日数)+31(1月の日数)+28(2月の日数)+31(3月の日数)+30(4月の日数)+31(5月の日数)+30(6月の日数)+31(7月の日数)+31(8月の日数)+30(9月の日数)+31