タグ

Programmingとprogrammingに関するsigwygのブックマーク (68)

  • Perl Tips | Perl で、デーモン (Daemon) のプログラムを書くには?

    Perl で、スクリプトをデーモン化するのはそんなに難しくない。 Proc::Daemon というモジュールを使えば簡単にできる のだが、それには小さなフレームワークに沿ってスクリプトを書かねばならない。次のサンプルに空のフレームワークを示したので、既存のスクリプトがある場合にはこれに沿って自分のスクリプトを少々改造すればよい。基的には action サブルーチンにロジックを書けばいいようになっている。 使用するモジュール use Proc::Daemon; #/usr/bin/perl -w use Proc::Daemon; our $DAEMON         = 1;      # デーモンにするか?: 1(オン) / 0 (オフ) our $SLEEP_INTERVAL = 60;     # スリープの間隔(秒) &init; &run; sub action { # ここ

    sigwyg
    sigwyg 2009/02/12
    use Proc::Daemon;
  • perl - open my $fh, "comand |"; # はモダンじゃない : 404 Blog Not Found

    2009年02月10日01:00 カテゴリLightweight Languages perl - open my $fh, "comand |"; # はモダンじゃない モダンPerl入門 牧大輔 「モダンPerl入門」発売記念ということで、同書を補足するentryを。 同書でちょっと残念だったのが、[5.2 外部コマンドの実行]。あまりモダンではないのだ。 P. 141 system("/sbin/wget", "http://example.com"); これはいいのだが、以下がちょっとまずい。 my $output = `/bin/ls tmp`; open(my $fh, '| cat -v'); これ、何がまずいか、というと、コマンド実行の際に/bin/shを使ってしまうのだ。そのおかげでcommand < from > to 2&>1のようなリダイレクトも使えるなどの利点もあ

    perl - open my $fh, "comand |"; # はモダンじゃない : 404 Blog Not Found
    sigwyg
    sigwyg 2009/02/10
    shellを経由しないのがモダン? → 「書き込むときには'-|',読み込むときには'|-'」
  • GNU screen いろいろまとめ。 - naoyaのはてなダイアリー:

    先日人力検索で GNU screen の設定TIPSについて質問してみたところ、かなーり役立つ設定とかをたくさん教えてもらうことができました。みなさん感謝。 そんで、教えていただいた通りにカスタマイズした結果、こんな感じのスクリーンショットが撮れました。MacOSX のターミナルです。 おかげさまでかなり便利になって作業効率が上がったと思います。いろいろ教えてもらったお礼とまではいきませんが、やった設定とかをはまりどころとかも交えて紹介してみます。名付けてリバースNDOメソッド。ちなみに、知ってる人にはごく当然のことが当たり前のように書いてるので、あんまり役に立たないかもしれません。 hardstatus alwayslastline で最終行にウィンドウ一覧を表示 これは今回の質問とは直接関係ないのですが、やるとやらないとでかなり使い勝手が違うので。 hardstatus alwaysl

  • オーディオプログラミング言語 ChucK - Radium Software

    オーディオプログラミング言語 ChucK を使って組んでみたサンプルプログラムの映像。 最初のプログラムは,1度,短3度,5度,短7度の音(つまりマイナーセブンスコードの構成音)からなるランダムなシーケンスを延々と鳴らし続けるもの。 二番目のプログラムは,構成音は最初のプログラムと同じだけど,ただランダムに鳴らし続けるのではなく,簡単な繰り返し構造を持たせるようにしたもの。最初のプログラムよりも,いくぶん音楽的な要素が加えられていると思う。 ChucK は,こういった類の実験を行うには非常に適した言語だと思う。上の二番目の例では,プログラムを動かしている最中に変更を加え(繰り返しの構成を変えてみている),それを「オン・ザ・フライ」で再実行している。同様のことは SuperCollider などでもできるけれど, ChucK は仕様の簡潔さと,統合環境 (miniAudicle) の手軽さが

    オーディオプログラミング言語 ChucK - Radium Software
    sigwyg
    sigwyg 2009/01/29
    Mac買ったらやってみたいリストに加える
  • SSD とストレージの将来 - kazuhoのメモ置き場

    SQL に痛痒感を感じる日々を過ごしている身としては、RDBMS がレガシーだというのは、まったく同感ですが。 SSDを前提にしたプログラムモデルになれば、そもそもシーク時間と戦うこともなく、ストレージを意識せずにプログラムが組めます。そうなったとき、アプリケーションのデータを永続化するためにRDBMSをわざわざ使うことはないでしょう。 2008-12-12 そんなことないと思います。理由は以下の2点。 フラッシュの書き換えブロックサイズは数キロバイト以上 トランザクションは意識して実装せざるを得ない フラッシュメモリはランダムリードできますが、DRAM のようにランダムライトできるわけではありません。書き込みが非常に遅いのに加えて書き換え回数の制限もあるので、メインメモリと同様のプログラム手法を使うのは難しいと思います。 次にトランザクションについてですが、組み込み型データベースとして

    SSD とストレージの将来 - kazuhoのメモ置き場
    sigwyg
    sigwyg 2008/12/15
    SSDはシルバーバレットではない
  • 単純で正しそうなものが正しいとは限らない - Radium Software

    Coding Horror: The Danger of Naïveté 配列の中身をランダムな順序にシャッフルするコードを書きたい。単純でいいから分かりやすくて間違いの無いコードを書こう。例えば,こんな感じに…… for (int i = 0; i < cards.Length; i++) { int n = rand.Next(cards.Length); Swap(ref cards[i], ref cards[n]); } これは単純で分かりやすい! でも残念! このコードは間違っている。シャッフル後の順序に偏りが出てしまう。正解はこちら。 for (int i = cards.Length - 1; i > 0; i--) { int n = rand.Next(i + 1); Swap(ref cards[i], ref cards[n]); } ぱっと見て違いが分かる? イン

    単純で正しそうなものが正しいとは限らない - Radium Software
    sigwyg
    sigwyg 2008/12/04
    ランダムソートの気づきにくい偏り
  • Build seven good object-oriented habits in PHP

    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.

    Build seven good object-oriented habits in PHP
    sigwyg
    sigwyg 2008/11/29
    オブジェクト指向
  • はてなブックマークのコンテンツの JavaScript を高速化する - IT戦記

    はじめに 「新はてなブックマーク」になったということで、とっても便利になったのですが、ブックマーク一覧ページ*1が若干 JavaScript に時間が掛かっているみたいです。 というわけで 調査してみたいと思います。調査して、改善できそうなところは後で纏めて「はてなアイデア」にでも登録しようと思います。 この日記は調査しながら、過程を書いていくつもりです。 準備 まずは、人のサイトの JavaScript を書き換えて試してみるための環境を作ります。 作業用ディレクトリを作る とりあえず、ホームに HatenaJS というディレクトリを作ります。 $ mkdir HatenaJS $ cd HatenaJS CocProxy をダウンロードしてくる 以下から CocProxy というツールをダウンロードしてきます。 http://coderepos.org/share/wiki/CocPr

    はてなブックマークのコンテンツの JavaScript を高速化する - IT戦記
    sigwyg
    sigwyg 2008/11/27
    高速化の手順。これは勉強になるなあ
  • http://neta.ywcafe.net/000938.html

    sigwyg
    sigwyg 2008/10/29
    それは、性能試験である。負荷試験とも言う。
  • 不倒城: SI業界からネットゲーム業界に移った知人に色々話を聞いてきた。

    ちょっと技術的な話になる。 私の知人に、かつてはアルファベット三文字の某有名SI会社に在籍していて、今はどういう訳か某ネットゲームの会社に勤めている変り種がいる。 彼はネットワークとDBの専門家である。ゲーム業界には元来DB周りに詳しい人があまり多くなかったらしく、しかしネットゲームの開発にはDBやネットワークのアーキテクチャに関する知識が必須で、要は引き抜かれたらしいのだが、当人それ程ゲーム好きでもないのに面白いルートに行くなーと思っていた。 機会があったら金融業界とネットゲーム業界のシステム周りの違いについて聞いてみたいなーと思ってたんだが、この前久々に会ったら色んな話が聞けた。特定されない程度においおい書いてみよう。ぼかして書く為、ところどころいー加減だが勘弁して頂きたい。 今日はサーバとかデータのやり取りとか、技術的な話。 まず、前提。オンラインシステムの肝の一つに、「誰がデータを

  • Javaでスレッドを使う際の注意点 | 株式会社シンメトリック公式ブログ - 携帯開発から生まれる技術情報

    Javaでスレッドを使う際の注意点|株式会社シンメトリック公式ブログ - 携帯開発から生まれる技術情報| 携帯サイト開発から生まれる技術情報ブログ どんなプログラム言語でもそうなのですが、マルチスレッド下でプログラムを組むときは、シングルスレッドとは違うところに色々気を使わないといけません。 今回は、Javaマルチスレッドプログラムでは基的なことですが(自分だけかもしれませんが)よく忘れて、不可解な動作に首を傾げてしまうポイントについて説明していきます。 ヒープ領域にあるデータの更新タイミングをちゃんと把握する Javaプログラムからアクセスできるメモリ領域には、大きくわけて、スタック領域(以下スタック)とヒープ領域(以下ヒープ)の2種類が存在します。 スタックは、ローカル変数や、メソッドの引数・戻り値情報を持ち、ヒープは newされたオブジェクトや、ロードされたclass情

    sigwyg
    sigwyg 2008/08/27
    マルチスレッドなコーディングとかできないけど、いくつかの不具合には心当たりが、、、
  • 著名ソーシャルメディアが使っているアルゴリズムを大公開! | Moz - SEOとインバウンドマーケティングの実践情報

    “アルゴリズム”は、もっとも非人間的なものの代表だともいえる。ソーシャルメディアにとって、そのアルゴリズムが不可欠だというのは、実に皮肉めいている。 僕はこの間、グーグルがどうやってユーザーデータを集めているかについて書いた記事を掲載した(前編、後編)。今回は、著名なソーシャルメディアサイトが、ユーザーデータを活用する上でどのようにアルゴリズムを用いているのか、白日の下にさらそう。 ソーシャルメディアを成り立たせているのは人間の力だが、ユーザーが入力したデータを利用できる状態にする仕組みは、アルゴリズムによって作られている。現在活動している無数のソーシャルメディアサイトで実証済みのことだが、ユーザーの関与とアルゴリズムによる処理ルールの上手いバランスを見出すことは、とても難しくなりがちだ。これから紹介するアルゴリズムは、悪意のないユーザーと結びついて初めてうまくいくものだ。 人気ソーシャル

    著名ソーシャルメディアが使っているアルゴリズムを大公開! | Moz - SEOとインバウンドマーケティングの実践情報
  • 日時表記のフォーマットの名前とperl/PHP/javascriptでのつくりかた - bits and bytes

    毎回毎回日時を出力する時にどうすればいいのか思い出せなくて毎回毎回調べていてばかみたいなのできちんとまとめてみます。 日時のフォーマット名 まず、よく使われる日時表記の名前を把握することが大切です。名前がわからないと検索のしようがありません。 ISO8601 ISO8601はたぶん一番なじみが深いものだと思います。 MySQLのdatetime型の表記 2008-08-06 19:38:56 はISO8601です。 ISO8601は日時を表すだけでなく、年だけや時刻だけを表せるほか、期間を表すことができます。また、多様な書き方を許していて、間にある記号を省略して20080806 193856というのもISO8601として正しい日時になります。英語wikipediaのISO 8601が詳しいです。 W3CDTF W3CDTFはatomのフィードで使われている 2003-12-13T18:3

    sigwyg
    sigwyg 2008/08/08
    これは地味に助かるGJ! ちなみに一番めんどいのはctime
  • How To Design A Good API and Why it Matters

    How To Design A Good API and Why it Matters - 1:00:14 - Mar 8, 2007 Google engEDU ()  Rate: Google Tech Talks January 24, 2007 ABSTRACT Every day around the world, software developers spend much of their time working with a v...all » Google Tech Talks January 24, 2007 ABSTRACT Every day around the world, software developers spend much of their time working with a variety of Application Programming

    sigwyg
    sigwyg 2008/05/23
    良いAPIはどのようにデザインすべきか
  • 2038年問題 - Wikipedia

    上から、2進・十進・問題のある時刻・正しい時刻。(GIFアニメ)3時14分7秒を超えたところで負の値となり、時刻に狂いが生じる恐れがある。 2038年問題(にせんさんじゅうはちねんもんだい)は、協定世界時(UTC)2038年1月19日3時14分7秒(日標準時の場合、1月19日12時14分7秒)を過ぎると、コンピュータが誤動作する可能性があるとされる年問題[1][2]。 コンピュータおよびコンピュータプログラムにおける時刻の表現として「UNIX時間」(協定世界時における1970年1月1日0時0分0秒からの経過秒数[注釈 1])を採用しているシステムがある。 UNIXおよびUNIX派生のオペレーティングシステム(OS)における基幹ソフトウェア部品の多くはC言語で書かれているが、前述の経過秒数を表現する型は、現在の標準では、「time_t型」である。C言語の標準である「ISO/IEC 9899

    2038年問題 - Wikipedia
  • 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
  • ロベールのC++入門講座を読んで C++ を初歩の初歩から再入門するよ - 前編 - ひげぽん OSとか作っちゃうかMona-

    前置き 自分の C++ レベルに絶望したので「ロベールのC++入門講座」を読んで再入門していく過程を日記に書いていきます。 「おまえはそんなことも知らずにコードを書いていたのか!」「それは間違い!」など叱咤激励募集中です:-) 読んでみたら、たくさんの驚きがありました。 スルーせずに読んでもらえると1つくらい役に立つことを提供できるかもしれません。 例えば5章のデフォルト引数に関数を使える例とか。 ルール 前置きはともかくはじめましょう。13:48にスタバで始めました。 読んで行くうえでいくつかルールを決めます。 知らなかったことは正直に知らなかったと書き、自分が読んで分かる説明を書く。 知識が曖昧だった所も同様に明確な説明を書く。 悩んだ内容を書く。 理解が怪しい所は必ずコードを書く。 さあ1章から読んでみよう。 1章 まずは使い方(13:50) 各 OS 毎に C++ の開発ツールを紹

    sigwyg
    sigwyg 2008/03/21
    ちょww 技術書を1日でwwwwww
  • プログラミングのスピードを上げる方法 - teruyastarはかく語りき

    http://q.hatena.ne.jp/1203667934 ソフトウェア開発やプログラミングのスピードを上げる方法はありませんか? プログラマーとして生きていこうと決めたのですが、いつも見積もりの3倍時間がかかってしまいます。 そのため いつもつらい思いをしています。 環境を良くしようとHHKLite2を使い、カスタマイズソフトでホームポジションから離さずにプログラミングしています。 マウスもゲーム用の高精度のものを使っています。 調べ物にもタブブラウザを使い、拡張し続けて効率化をしています。 DualCoreマシンを使いメモリもたくさん積み、障害がないように心がけがけています。 出始めのころから効率化のためにエクストリームプログラミングも取り入れていました。 単体テスト、リファクタリングも当然行いますが、余計に開発速度が落ちています。 しかし開発速度は効率化とは無縁だとすら感じてい

    sigwyg
    sigwyg 2008/03/15
    たしかに、流れに乗ると気持ち良いね「おれすげー」気持ちを維持できれば驚速で作業できる
  • 次世代JavaScriptの形:Geekなぺーじ

    8年間の標準化活動の成果として今後変化していくJavaScriptの形を紹介しています。 なお、JavaScriptの標準化は未だ過程であるため、ここで紹介された事が将来実装されない可能性もあるそうです。 いや、でも、聞いていて思ったのですがこれはもう違う言語ですね。。。 下位互換があるので今まで作られた物は問題なく動作するはずなのでしょうが、 CとC++に微妙な互換性があるように、互換性をつけたばかりにゴチャゴチャになる事も将来ありそうな予感がしますね。。。 まあ、でも全く違う物として出してしまうと「何それ?ハァ?」という感じで世界に華麗にスルーされてしまうでしょうし、悩ましいところなのだと予想します。 以下、ビデオの要約です。 私はJavaScript初心者なので、要約が間違っているかも知れません。 また英語の誤訳などが含まれているかも知れないので、詳細はビデオをご覧下さい。 Java

  • 笑わないプログラマ - 【軍曹が】携帯電話開発の現状【語る】

    sigwyg
    sigwyg 2007/12/03
    悲惨すぎ。これが普通だとは思いたくないが...