タグ

programmingとProgrammingに関するtztのブックマーク (522)

  • 職業としての基盤系プログラマ - 未来のいつか/hyoshiokの日記

    職業としてオープンソースソフトウェア(OSS)に関わるというのは、10年前であれば、冗談にもならなかったのであるが、今では、そう多くはないけど、なくはない選択肢になった。 基盤系ソフトウェア開発に従事するなんていうことも、わたしが大学を卒業したころは、大手ハードウェアベンダーくらいしか選択肢がなかったのであるが、最近ではWeb2.0系でサービスを開発している会社でも基盤系OSSのパッチを作っていたりして、選択肢がむしろぐぐっと広がった感じがする。ここで、基盤系というっているのは、OSとかRDBMSとか言語処理系とか、そーゆーやつね。Webアプリケーションだとか、業務アプリケーションだとか、ゲームとか、そーゆーやつじゃなくて。 例えば、90年代、RDBMSの開発をしたければ、Oracle/Informix/Sybase/IBM/MSなどのベンダーに行くしかなかった。日では日立製作所や富士通

    職業としての基盤系プログラマ - 未来のいつか/hyoshiokの日記
  • わたしがprintf()デバッグをしない理由 2009-03-22 - 未来のいつか/hyoshiokの日記

    プログラマという職業について、もう25年くらいになるのであるが、その間にコンピュータのコストパフォーマンスは、それこそムーアの法則に従って、10万倍〜100万倍くらい向上した。にもかかわらづ、デバッグの方法というものの劇的な変化はほとんどみられない。 プログラミング入門書では、デバッグについて、ほとんど議論されていないし、仮にふれられていても、おざなりな方法というか、かなり邪険にあつかわれていたりする。プログラマの多くの時間がデバッグについやされていたとしてもだ。 たまたま手元にあった、C実践プログラミング(ISBN4-900900-64-8)という10年くらい前に買った参考書では、450ページのうちデバッガの利用については、4行ほど記述がある。たった4行である。診断用のprintf()を挿入するということは3ページにわたって記述されているのにだ。 流石に21世紀になってprintf()デ

    わたしがprintf()デバッグをしない理由 2009-03-22 - 未来のいつか/hyoshiokの日記
    tzt
    tzt 2009/03/23
    一度でいいからデバッガが必要になるような大規模なプロダクトにかかわってみたい。
  • フルスクラッチでWebサーバを書いてみた - Yet Another Ranha

    フルスクラッチっていうのは、既存のOSの上に書くとかでは無くて、言ってしまえばOSから作った様なものです。 結果から言うと、Webブラウザでアクセスすると苺ましまろのリンクが出るとかっていう程度のものは作れました。 3-wayhandshake出来ますし、FINも裁けます。まぁ"何とか動く"程度にして満足したので止めましたけど... 今度の自分の為のメモとして。もしかしたら他の人の参考に成るかも。 何故そんな事をしたのか? まず、先日のエントリにも書いた通りだが圧倒的にやる事が無かったから。虚しい毎日。これはWebサーバを書く事で解消されるに違いないとかっていう事では無くてですね。 こうカーネルとのオーバーヘッドがどうこうで、どの処理をするのにどのシステムコールを使って云々。 スレッドとイベントはどうこうで、たくさん過ぎるetcetc 皆さん大変だなーと。でもまぁ用途が決まってるんだったら

    フルスクラッチでWebサーバを書いてみた - Yet Another Ranha
  • 八角研究所 : Series: 高速スクリプト言語「Lua」を始めよう! «

    稿では動作速度が高速で、非常に移植性が高い組み込み向けのプログラミング言語「Lua」の使い方について紹介します。Lua は、JavaScript や Pascal に似ていることから、とても手に馴染みやすいのが特徴です。自作アプリケーションにちょっとしたスクリプト言語を組み込みたい場合に重宝します。そこで、Lua のインストールから、簡単な使い方を紹介し、簡単なアプリケーションに組み込んで使うまでの過程を解説します。 稿では動作速度が高速で、非常に移植性が高い組み込み向けのプログラミング言語「Lua」の使い方について紹介します。Lua は、JavaScript や Pascal に似ていることから、とても手に馴染みやすいのが特徴です。自作アプリケーションにちょっとしたスクリプト言語を組み込みたい場合に重宝します。そこで、Lua のインストールから、簡単な使い方を紹介し、簡単なアプリケー

  • Hadoopで、かんたん分散処理 (Yahoo! JAPAN Tech Blog)

    ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、地域サービス事業部の吉田一星です。 今回は、Hadoopについて、Yahoo! JAPANでの実際の使用例を交えながら書きたいと思います。Hadoopとは、大量のデータを手軽に複数のマシンに分散して処理できるオープンソースのプラットフォームです。 複数のマシンへの分散処理は、プロセス間通信や、障害時への対応などを考えなければならず、プログラマにとって敷居が高いものですが、 Hadoopはそういった面倒くさい分散処理を一手に引き受けてくれます。 1台では処理にかなり時間がかかるような大量のデータも、複数マシンに分散させることで、驚くべきスピードで処理を行うことができます。 例えば、今まで1台でやっていた、あるログ集計処理

    Hadoopで、かんたん分散処理 (Yahoo! JAPAN Tech Blog)
  • 安全性の高いログ・サーバへの乗り換えのススメ(1)~ syslogサーバからsyslog-ngへの乗り換え ~

    ※ご注意 稿の内容を検証する場合は、必ず影響を及ぼさない限られた環境下で行って下さい。また、稿を利用した行為による問題に関しましては、筆者および株式会社アットマーク・アイティは一切責任を負いかねます。ご了承ください。 前回は、syslogによるログ転送の説明をした。今回は、安全性がより考慮されたsyslogサーバのsyslog-ng(syslog-next generation)への乗り換えについて2回に分けて述べる。では、syslogサーバのセキュリティ上の課題やsyslog-ngの主な機能を紹介しよう。 syslogdからsyslog-ngへ 前回までに説明したオリジナルのsyslogサーバ(syslogd)には、きめ細かなログの制御・監査が行えない、あるいはセキュリティがあまり考慮されていないなどの課題が残されている。 もちろん、それでも十分にログの運用管理は行えるが、稿ではさ

    安全性の高いログ・サーバへの乗り換えのススメ(1)~ syslogサーバからsyslog-ngへの乗り換え ~
  • インフォサイエンス株式会社

  • Subversion によるバージョン管理

  • Gaucheでメタプログラミング - @IT

    プログラムの実行はどのようにして行われるのか、Linuxカーネルのコードから探る (2017/7/20) C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。最終回は、Linuxカーネルの中では、プログラムの起動時にはどのような処理が行われているのかを探る エンジニアならC言語プログラムの終わりに呼び出されるexit()の中身分かってますよね? (2017/7/13) C言語の「Hello World!」プログラムで使われる、「printf()」「main()」関数の中身を、デバッガによる解析と逆アセンブル、ソースコード読解などのさまざまな側面から探る連載。今回は、プログラムの終わりに呼び出されるexit()の中身を探る VBAにおけるFileDial

  • もはや入門書というよりバイブル - 書評 - 初めてのPython 第3版 : 404 Blog Not Found

    2009年03月01日23:00 カテゴリ書評/画評/品評Lightweight Languages もはや入門書というよりバイブル - 書評 - 初めてのPython 第3版 オライリー矢野様より献御礼。 初めてのPython 第3版 Mark Lutz / 夏目大訳 [原著:Learning Python (3rd Ed.)] 私のような Occasional Pythonistas には、これまで書かれた最良の Python 。 だけど、初心者向けのとしては、どうなのだろう。 書「初めてのPython 第三版」は、タイトルどおり、プログラミング言語Pythonの初心者向けのであり、そしてオライリーという出版社がだしているだけあって、その決定版であることを運命づけられた一冊。 Book:初めてのPython 第3版より はじめに I部 Pythonの基礎知識 1章 Pytho

    もはや入門書というよりバイブル - 書評 - 初めてのPython 第3版 : 404 Blog Not Found
  • 「キー・バリュー型データストア」開発者が大集合した夜

    「発表者が自分よりも若い人ばかりだ」。外見が20代にしか見えない東京工業大学の首藤一幸准教授(1973年生)の驚くさまが、少し面白かった。2009年2月20日の夜、多くのWeb企業が注目する「キー・バリュー型データストア」を開発する若手技術者が、東京・六木のグリー社に一堂に会した。 キー・バリュー型データストア(またはキー・バリュー型データベース)は、大量のユーザーとデータを抱え、データベースのパフォーマンス問題とコスト高に頭を悩ませるWeb企業が注目する技術である。記者は同日に開催された「Key-Value Store 勉強会」に参加させてもらった。午後7時から11時まで、キー・バリュー型データストアを開発・研究する若手技術者が立て続けに登場し、1人15分の持ち時間で成果を発表し、議論を重ねるという集まりだ。 呼びかけ人であるプリファードインフラストラクチャー(PFI)最高技術責任者

    「キー・バリュー型データストア」開発者が大集合した夜
  • 頑健なJavaプログラムの書き方

    日頃より、アレスネットをご愛顧いただきまして誠にありがとうございます。 「ホームページサービス」のサービス提供は2016年1月31日をもちまして終了させていただきました。 これまで長らくご利用いただき、誠にありがとうございました。 今後も、皆様によりよいサービスをご提供させていただけるよう、サービス品質向上に努めて参りますので、何卒、ご理解いただけますようお願 い申し上げます。 <アレスネットをご契約のお客様へ> 後継サービスとして「userwebサービス」を提供させていただいております。 詳しくは、以下のリンクをご参照ください。 ▼「userwebサービス」のご案内 http://www.ejworks.info/userhp/alles/index.html 今後ともアレスネットをご愛顧いただけますようお願い申し上げます。 株式会社イージェーワークス アレスネット カスタマーサポート

  • モダンPerlの世界へようこそ 記事一覧 | gihyo.jp

    第43回Text::Xslate⁠⁠:永続環境に特化したテンプレートエンジン 石垣憲一 2011-07-22

    モダンPerlの世界へようこそ 記事一覧 | gihyo.jp
  • CVS/Subversionを使ったバージョン管理(後編:SVNを使ったバージョン管理) | OSDN Magazine

    特集ではバージョン管理システムの基的な考え方や用語を解説するとともに、SubversionやCVSを使ったバージョン管理方法について説明していく。前編、中編ではバージョン管理の基事項やCVSについて解説してきたが、後編となる記事では、Subversionの利用について解説する。 Subversionは、CVSの後継として開発されたバージョン管理システムだ。CVSでは対応していない、ファイルのリネームや移動、「アトミックなコミット」といった機能が実装されており、リポジトリ管理がより柔軟に行えるため、近年ではバージョン管理にSubversionを利用する例も多い。 Subversionの導入 SubversionはUNIX/Linuxのほか、WindowsMac OS Xといったさまざまなプラットフォームで利用できる。Subversionのソースコードやバイナリは、Subversio

    CVS/Subversionを使ったバージョン管理(後編:SVNを使ったバージョン管理) | OSDN Magazine
  • 聞いてくれ Mosh に信じられないことが起きたんだ - higepon blog

    shiro さんにアドバイスいただいた件。top-level の束縛の lookup を Gloc 方式に変更。 そして make bench (ベンチマーク)。 グラフは Y 軸が msec 、x 軸は revision 番号。 リリース当初から計測している fib(31), tak, triangle, takl において Gauche より速くなった。グラフの角度おかしいだろ。常識的に考えて。Ypsilon には tak で負けているがそれは問題ではない。 当に驚いて腰を抜かしそうになった。この事件の衝撃度が伝わるだろうか。この日を夢見てずっとチューニングしてきたのだがこんな展開が待っていようとは。 いずれ抜かれるのかもしれないが、当にこれはすごい事なんだよ。そう叫びたい。

    聞いてくれ Mosh に信じられないことが起きたんだ - higepon blog
  • はてなようせいとまなぶ Schemeの形式的意味論

    わからない…… わからない…… R6RSのAppendix Aに載っている形式的意味論がわからない…… Schemeの形式的意味論を理解するための冒険は、 R6RSを印刷して読みながら、実際にPrologとかで、 意味論にそったインタプリタを作ることよ わからない…… そんな面倒なことをする意味があるのかわからない…… 当にそれで理解できたのかは筆者もわからない…… それじゃあ、簡単に説明をするからよく聞いてね。 けど、それでもR6RSを印刷したほうがいいわ。 それから、R6RSは「みんなもってる」ものなので、 自分のものだと分かるように、ちゃんと名前を書かないとだめよ。 「おなまえシール」を貼るというのも手ね。 もくじ なにをするの おおざっぱに もうすこしせいかくに きほん かきかえ むずかしいかきかえ ぶんぽう やくそくときほん ぷろぐらむのぶんぽう ぶんみゃくとあな ぶんみゃくの

  • 求人数はJava、年収はC#がトップ――ワークポートが調査

    2007年と2008年で大きな変化は見られず、JavaとCが突出。C++PHP、C#が続いた。同社では「総合的にWeb系の需要が高い。ただし、Rubyなど比較的新しい言語を採用している企業はまだ少なく、求人件数としては伸び悩んだ」と分析している。 また、プログラミング言語ごとの募集要項での平均年収について、2007年から2008年にかけての上昇額ランキングを見ると、C#が前年比66万6000円増と大幅に上昇した。2008年における平均年収ランキングでも1位となっている。 この調査結果について、編集部では日シー・エー・ディー 代表取締役社長で、『プログラミングでメシがえるか!?』(秀和システム)の著者である小俣光之氏にコメントを求めた。小俣氏は次のようにコメントしている。 「2年間という短い期間での調査のため、傾向の変化なのか誤差なのかは微妙であるが、Perlがやや減り、Rubyが増え

    求人数はJava、年収はC#がトップ――ワークポートが調査
  • MOONGIFT: » ソースコードを見るのに便利なテキストエディタ「Code Browser」:オープンソースを毎日紹介

    ソースコードを見る上で、JavaDocやPHPDocument、RDocのように説明文がきちんと書かれていると見やすくて便利だ。しかし、書くのは良くとも後でHTMLを生成するために都度コマンドを実行するのは面倒に感じていた。 チュートリアルの構造化表示 そこでソースからそのまま読めるようになっていると便利そうだ。その目的に使えそうなのがこのソフトウェアだ。 今回紹介するオープンソース・ソフトウェアはCode Browser、ソースコードを見るのに便利なソフトウェアだ。 Code Browserはテキストエディタとして利用できるが、Code Browserで指定されるコメントの書き方をすると、ツリービューや複数ペインでの表示にするとソースを構造化して表示してくれるようになる。RDocのような4ペインでの表示もできる。 4ペイン表示 構造化した状態では関数を指定するとその関数だけを表示するよう

    MOONGIFT: » ソースコードを見るのに便利なテキストエディタ「Code Browser」:オープンソースを毎日紹介
  • 循環的複雑度 - Wikipedia

    循環的複雑度(英: Cyclomatic complexity)とは、ソフトウェア測定法の一種である。Thomas McCabe が開発したもので、プログラムの複雑度を測るのに使われる。プログラムのソースコードから、線形的に独立した経路の数を直接数える。 手法としてではなく、そのコンセプトは文章の可読性(複雑度)を測定する Flesch-Kincaid Readability Test に似ている。 循環的複雑度は、プログラムの制御フローをグラフとして描くことで計算される。グラフのノードはプログラムのコマンドに相当する。2つのノードを結ぶ有向エッジは、第一のコマンドを実行後、次に第二のコマンドが実行される可能性があることを示している。

    tzt
    tzt 2009/02/19
    ccccのMVG
  • 各種言語に対応したソース整形ソフトウェア·UniversalIndentGUI MOONGIFT

    インデントがあまり深いソースコードは何ともしがたいが、同時にワンライナーにこだわり過ぎるのも問題だ。そのため、多人数で行うプロジェクトや、オープンソース・ソフトウェアのプロジェクトではソースコードのフォーマットが定義されている場合が多い。 うーん、これは読みづらい。問題があっても分かりづらそうだ。 だが慣れるまではインデントの数や改行の入れ方などで間違えてしまうことが多いかもしれない。そうした時に便利なのがソースコードを整形してくれるソフトウェアだ。Webであればサーバサイドのプログラミング言語の他にもCSSHTMLJavaScriptなど多数の技術が関わってくる。そのような時にはUniversalIndentGUIが便利だ。 今回紹介するオープンソース・ソフトウェアはUniversalIndentGUI、多数の言語に対応したソースコードフォーマッターだ。 UniversalInden

    各種言語に対応したソース整形ソフトウェア·UniversalIndentGUI MOONGIFT