==の代わりにstrcmp関数で比較すると、float型とarray型を扱う場合に==を使うのとは別の問題が発生することを示しました。 そんな型が来るならstrcmp使わないよ、という意見もあるとは思いますが、来る型がわかっているなら===を使えばいいと思うんですよね。strcmpを使いたい状況が僕にはわかりません。何にせよ、「安全な==」として使うにはstring型へのキャストを熟知している必要があると思いますよ、というのが本記事の主張です。strcmpは文字列同士の大小比較にしか使えないと僕は思います。 PHPで==の代わりにstrcmp関数を使うことによる問題点 - hnwの日記 記事の主張はまったくごもっともで確かにその通りなのですが、それでも僕がstrcmp関数を使う理由はint型とstring型で比較したいからなんですよねー。 実際に関数を作るとき殆ど多くの関数において、flo
英語版Perldoc http://perldoc.perl.org/perl.html 日本語翻訳版Perldoc http://perldoc.jp/docs/ オライリーさんがオープンにできるドキュメントをCreative Commonsライセンスで公開されています。 初版だったりしますが、英語が好きな方はチェックしてみてください。 O'REILLY - CGI Programming on the World Wide Web CGI Programming on the World Wide Web O'REILLY - Practical mod_perl iCloud Unlocker Software - Bypass and Unlock iPhone / iPad iCloud Activation Lock O'REILLY - Web Client Programm
最近は、Webサイトのデザインや構築が迷路のように複雑な作業になることがある。そうした作業を単純化してくれるツールの1つが、有名な Firebug 拡張機能である。Firebugを使うと、HTML、CSS、JavaScriptをFirefoxの中で編集し、デバッグすることができる。Firebugはそのままでも十分役に立つが、追加の拡張機能を使うと元の機能が一段と強化され、開発者やデザイナの作業が一層やりやすくなる。 YSlow Firebugにはネットワークの処理状況を監視する機能があるが、YSlowを追加すると、その機能をさらに強化し、Yahoo’s best practicesの評価基準に照らして自分のWebサイトをチェックすることができる。パフォーマンスをチェックすることに加え、YSlowでは、Expiresヘッダ、ETag、HTTP要求の合計数など、最適化に役立つ項目を調査するため
最近、開発中にCookieの挙動で小一時間デバッグして、Firefoxの拡張機能であるFirecookieを使って解決したことがありました。Firecookieって実は便利だと思ったのでご紹介します。 デバッグの概要 CakePHPを利用して開発していたときにおこった、Cookieによるセッションが継続しない、といったトラブルだったとおもいます。ある条件下でCookieが読み出しできるパスがおかしくなるのが原因だったのですが、その特定にFirecookieが役立ちました。 Firecookieとは何か FirecookieはFirefox+Firebugの環境で利用できる拡張機能です。以下のページからインストールできます。 Firecookie :: Firefox Add-ons Webプログラムを作っていると、Cookieを使ってログイン状態を作ったりします。Cookieはユーザのマシ
MySQL 5.1のmysqldumpslowを使うとチューニングが楽になる!という話題です。 mysqldumpslowはもともとMySQLに付属しているツールで、スロークエリログを集計してくれるものです。これ自体はMySQL 5.1で特に変わったところはありませんが、スロークエリログ本体の方が機能強化されているため、組み合わせるとなかなか便利になっています。MySQL 5.1におけるスロークエリログの主な機能強化は以下の三点です。 long_query_timeに1秒未満の値を設定できるようになった。 出力先を設定できるようになった。 これらの設定をオンラインで変更できるようになった。 これでどうなるかというと、MySQLの性能分析をしたいと思ったときに、サーバを止めずにその場で mysql> set global slow_query_log = 1; mysql> set glob
View at: http://localhost:4567 The code you changed will not take effect until you restart the server. Please restart the server every time you change or use a code reloader like rerun or rack-unreloader. It is recommended to also run gem install puma, which Sinatra will pick up if available. Routes In Sinatra, a route is an HTTP method paired with a URL-matching pattern. Each route is associated
はじめに あなたは「Ruby」と聞いて最初に何を思い浮かべますか? オブジェクト指向スクリプト言語であること、プログラミングの「楽しさ」を重視して設計された言語であること、最近新しいバージョンである1.9.1がリリースされたこと……。 Rubyにはいろいろな特徴がありますが、Rubyという単語からすぐに「Ruby on Rails」を思い出す方も多いのではないでしょうか。Ruby on Rails(以下Rails)は2004年に公開されたRuby用のWebアプリケーションフレームワークで、その生産性の高さから注目を浴び、Rubyの名前を広めることにも大きく貢献しました。 ですが、Java、PHP、Perl、Pythonなど、他の言語の世界ではいくつものフレームワークがしのぎを削っているのに対し、Rubyの世界においてはRailsの完成度の高さから、長らくライバル不在の状況が続いてきました。
堀江貴文元ライブドア社長の「徹底抗戦」を発売直後に読んだんだけど、非常におもしろかった。最近の堀江さんのブログもおもしろすぎるのだけど、本にまとまっているのもやっぱりいいなあ。 というわけで、なんとなく堀江さんとの思い出を書いてみようと思う。 といっても、堀江さんとはたいして知り合いじゃないのだ。正直いって、堀江さんの記憶に残っている自信がない。僕はライブドアでたいした何かをやったわけではないので、当たり前といえば当たり前だ。 そして僕のほうもライブドアに長くいたわけでもないし、堀江さんと絡みがあることも少なかったので、堀江さんエピソードを偉そうに語るほど特によく知っているわけでもない。 ただ、僕にとってやはり堀江貴文というのはインパクトのある人だった。バイトも含めてほぼ初めて入った企業の社長だったというのもあるのかもしれないけど、今でも自分の行動や考え方に大きな影響を与えてる人な
Test::Baseで自分好みのTestクラスを作る 著者:加藤 敦 最終更新時間:2009年04月14日 19時17分33秒 自己紹介id:ktat Wano株式会社 テストおさらいどうしてテストが必要か? リファクタリングしやすい メソッドの仕様が明確になる 信頼性をチェックすることが出来る(Deve::Coverとか) Test::More#!/usr/bin/perl use Test::More tests => 5; BEGIN{use_ok("CGI");} is(ref(my $q = CGI->new), 'CGI', 'create CGI object'); is($q->param('hoge', 'hoge'), 'hoge', 'store hoge and return hoge'); $q->param('array', 1 .. 5); is_deeply
「jiji (ジジ) 」は、オープン・フリーのFX自動取引システムです。 完全自動でのFX取引を実現 レートデータの取得から証券会社への発注まで、プログラミングしたルールに従った完全自動でのFX取引を実現します。(※1) 注:「必ず利益が出せる取り引きルール」を提供するソフトウェアではありません。取り引きルールを作成・検証し、実際に運用を行うためのフレームワークです。 取引ルールはRubyで 取引ルールはオブジェクト指向プログラミング言語「Ruby」で記述します。 オブジェクト指向言語ですので、よく使う機能の部品化・再利用が容易に行えます。 バックテスト機能を搭載 過去のデータを使用した取引ルールの検証(バックテスト)機能を実装済み。 運用前に、実際のレートデータを使用して動作を確認しておくことが可能です。(※3) 外出先からも操作可能 jijiはスタンドアロンなサーバーとして動作するWe
April 08, 200902:07 カテゴリイントラブログより番組の途中ですがマジレスです 例えば1年後にユーザ数が100万人になるとしたら、半年後の時点のユーザ数は50万じゃなくて1000だよな?(副題:プラクティカル指数・対数) 例えばあるサービスのユーザ数が常に一定の倍率で増加し,一年で100万人に達したとすると,6ヶ月目の時点でのユーザ数は 100万x(6/12) = 50万人 ...ではなく、 100万(6/12) = 1000人 ...である。 つまり、「毎月ユーザ数が前月の約3.16倍になる、という増加率をキープすれば、半年後にはユーザ数が1000人になり、さらにその半年後には100万人に達する」ということ。 ただしこれは、最初に述べたように、ユーザ数が一定数ずつではなく、一定倍で増加するというモデルを前提にした計算結果だ。 ■ なんでこういう話をしだすかというと, no
KiokuDB is a Moose based object oriented persistence frontend for various document oriented storage backends. KiokuDB focuses on predictability and transparency, allowing noninvasive persistence while minimising the unpleasant surprises that come with naive serialization approaches. The project builds on Moose's metaprogramming for runtime support, Search::GIN's indexing and querying facilities, a
【この記事の所要時間 : 約 3 分】 「複数CPUで稼動するlinuxのload averageの目安はいくつだ?」という前から気になっていた疑問をLivedoor Knowledge で見つけたので、読んでみた。 snmpの.1.3.6.1.4.1.2021.10やuptimeやwで取得できる load averageで機器の負荷を監視しています。 昔どこかで、「搭載CPUの個数を目安に監視する」と聞き、 2CPUの機器は2.00を目安に監視していたのですが、 CPUの数にかかわらす1を超えてはいけないという 反論を頂きました。 複数CPUのload averageの目安に関する信頼できる団体によるソースを教えてください。 複数CPUで稼動するlinuxのload averageの目安に関する信頼できるソース つまり、 「2CPUならLoad Avarageの監視目安は2.0で、3CP
メモリの状態はvmstatでもみるけど、前回でfreeでみるとかいってたので、freeはこんな見方をする。まあどこでも探せばこんなのはでてくるけど。 total used free shared buffers cached Mem: 254068 79428 174640 0 5068 39020 -/+ buffers/cache: 35340 218728 Swap: 4192924 0 41929243行目のfreeの項目が用はあとどれくらいか使えるかを示している。つまり2行目のfree + buffer + cacheの合計が3行目のfreeの結果になると。vmstatでもわかるんだけど、
件名とはちょっとずれるけど、関係ないわけではないので。 とあるプロセスが起動してからどれくらい経過しているか調べたい時。daemonみたいな感じで常駐しているのだが、処理をすればするほどメモリ食っていくとか。そんな場合は起動後の経過時間がある程度経っていたらrestartさせるとか。 でそんなときにすぐに思いつくのがps。プロセスの経過時間を知りたい場合はps -p 2192 -o etime ELAPSED 13:33 これで指定したプロセスIDの起動してからの経過時間がわかったりするわけだが、実はこれにはちょっとよろしくない。 psのmanを見るとetimeの結果はetime ELAPSED プロセスが起動されてからの経過時間。 [[dd-]hh:]mm:ss というフォーマットで表示される。と経過時間によって表示がかわるので、システム的に時間を監視したい時にめんどくさい文字列処理 -
Vim に Perl が組込めるというのを知った。 Perl に限らず色々組込めるんだけど、今までごくごく標準的に Vim を使っていたのでちょっと Perl を組み込んでみようかと思い、やってみますた。 #CONF_OPT_PERL = --enable-perlinterpこの行の # を取って有効にしてあげる。 んで、% make && make test && sudo make installして、build が完了したら、vim を起動し、:echo has('perl')と打って "1" と出たら組込まれていることになるそうです。 で、Perl が組込まれた Vim で何が出来るかというと、:pe[rl] {cmd}やら:[range]perld[o] {cmd}というのが出来るらしい。 例えば文中の全てのアルファベットを大文字にしたいとかいうわけわからんことがしたい場合、:
何かというと簡単そうでいろいろ難しい。 リソース不足なんか、ネットワーク周りだとか、IOがボトルネックになってるとか。NFSサーバな構成だとさらにややこしい。クライアントからはサーバの状態ってわかんないし。 っでぐぐるといろいろ情報はでてくるが、負荷のパターンも環境によって違うし。というわけでここのところ何日もそんなことをあれこれ調査してたのでメモ。 それなりに特殊?というか古い環境なので、コマンドはあるけど使えないオプションがあったりとか、使いたいコマンドがあっても使えないとか。 レガシーな環境(linux系)での話。 load average: だれもがまずこれをみるであろうという値。uptimeやwを実行するとよく出てくるあれ。 # uptime 01:54:32 up 1:22, 4 users, load average: 0.02, 0.12, 0.24最後の 1 分、5 分、
最新の .vimrc 等は、ここで晒してます。 .vimrc "==<etc>====================================================================== set backupdir=~/.vim/backup set shortmess+=I set nu! set cmdheight=1 set hidden set history=60 set diffopt=filler,icase,iwhite if has('kaoriya') set iminsert=1 imsearch=0 endif helptags ~/.vim/doc syntax on "==<tab>====================================================================== set
* THIS SCRIPT WILL BE NO LONGER MAINTAINED * Maintainer was handed over. Please visit below to find updated version. http://github.com/petdance/vim-perl Syntax Highlight for Template-Toolkit 2.x ( http://search.cpan.org/~abw/Template-Toolkit/ ) Contain Perl code in PERL/RAWPERL directive. (runtime sytax/perl.vim) No fold. HTML syntax for including TT2 syntax. ( tt2html.vim / unfinished ) Can defin
Linuxなどで実行中のプロセスを表示させるコマンドにpsというのがあります。 これまでこのコマンドをかなり適当に使ってきていて、オプションとかよくわかってなかったのでmanをちゃんと読んでいろいろやってみました。 psコマンドはprocpsというパッケージに含まれるコマンドです。 procpsには他にtop, vmstat, w, kill, free, slabtop, skillといったコマンドが含まれているようです。 ここではFedora Core 6で以下のバージョンを使っています。 $ ps --version procps version 3.2.7 オプションの指定方法 オプションの指定方法にいくつかの方法があるので把握しておきます。 UNIX オプション。まとめることが可能で、前にはダッシュを置かなければならない。 BSD オプション。まとめることが可能で、ダッシュを使っ
Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su
MySQLの負荷分散 2006-03-31 Fri そこで登場するのが,データベースを分割することによる負荷の分散である。mixiでは,2段階のレベルでデータベース分割を行った。 まずレベル1では,テーブルの種類によってデータベースを分けた。どのテーブルがどのデータベースにあるかを示すパーティション・マップを用意する。利点は古いデータベースから新しいデータベースへの移行が容易なことだ。欠点はJOINができないこと。MySQL 5にはこの問題を解決するための「FEDERATED table」という機能があるが,当時はまだMySQL 5は正式リリースされていなかった。そこで,SELECTを2回投げる,あるいはテーブルが小さければ複製する,といった方法で対応したという。 ミクシィのCTOが語る「mixiはいかにして増え続けるトラフィックに対処してきたか」 ここ一年で二つほどPHP+MyS
メールリレーサーバとメールスプールサーバの二段構成でメールサーバを構成している場合で、スプールサーバの存在しないアカウント宛にメールが送られた場合、たいていの場合リレーサーバより「User Unknown」でバウンスメールを返します。 しかし、スパムメールは大半が送信者アドレスが偽装されてるので、「存在しないメールアドレス」だった場合、相手先メールサーバと接続できずバウンスメールを配送できないためキューに溜まり溢れるという事象が発生します。 また、特定の偽装アドレス宛にエラーメールを大量に送信しているとスパム送信者とみなされRBL等に登録される恐れもあります。 このようなSMTPの仕様を逆手に取った攻撃をBackscatter攻撃といい、相当うっとうしい攻撃です。 そこで今回はスプールサーバでできるBackscatter対策として、存在しないアカウント宛にきたメールも受信してゴミアカウント
最近、アドレスが詐称されたスパムメールがいっぱい飛んできて、受信者がいないスパムメールのバウンスがdeferredキューに溜まりまくっている。。 deferredキューに溜まりまくっているバウンスメールの配送できない原因についてのログを以下にメモっておきます。 ●Connection timed out 3ウェイハンドシェイクの際、SYNを送信したがSYN/ACKが返ってこなかったのでタイムアウトした。(相手ホストが存在しない可能性がある) ●Connection refused 3ウェイハンドシェイクの際、SYNを送信したがRSTが返ってきた。(相手ホストは存在するがSMTPサービスが動いていない可能性がある) ●Name service error for name DNS問い合わせを行ったが、送信先メールサーバが存在しなかった。 ●server dropped connection
Squidには cachemgr.cgi というブラウザ経由でSquidの稼動状態を確認ツールがあります。 ただ、ApacheなどのWebサーバがインストールされていることが前提なので、あまり手軽感はありません。そこで、squidclientというコマンドベースでSquidの稼動状態を確認する方法を記載します。こっちの方が手軽だと思います。 1.squid.confに以下のような記述があることを確認します。 squid.confacl localhost src 127.0.0.1/255.255.255.255 http_access allow manager localhost 2.次のようにsquidclientコマンドを実行し状態確認を行います。 ・確認できる各項目を一覧表示 # squidclient mgr: ・統計情報を表示 # squidclient mgr:info
Fix : valgrind 3.1x will no longer be treated as valgrind 3.1.0, causing the wrong command line arguments to be used. Thanks Lucas Nussbaum and Gregor Herrmann from Debian for reporting and providing feedback (Debian bug 832833). Fix : The number of callers is now capped at 24, as this is the maximum number supported by valgrind. An higher number of frames could lead to the generation of unusable
ホームページを更新して、ブラウザから確認したところ以前と変わってない。。 ってことはありませんか? この原因として考えられる要素のひとつとしてプロキシのキャッシュが上げられます。 そこで、今回はSquidから特定のキャッシュのみを削除する方法を紹介します。 手順は以下の通りです。 1.以下の記述をsquid.confに記述します。 ----ここから---- acl PURGE method PURGE acl localhost src 127.0.0.1 http_access allow PURGE localhost http_access deny PURGE ----ここまで---- 2.以下のコマンドを実行して設定ファイルを再読み込みします。 # /usr/local/squid/sbin/squid -k reconfigure 3.以下のコマンドを実行して特定のキャッシュを
Squidのキャッシュの消し方 Net::Squid::Purgeというモジュールがでてたので。 Squidのcacheの消し方は、Squidから特定のキャッシュのみを削除する方法にsquidclientを使ったやりかたが紹介されているのですが、上のモジュールはそれをPerlから便利に使えるようにしたもの見たいですね。 主にReverse Proxyとして使っているパターンですが、最近ではsquidclient使ったり、IO::Socketやtelnetで叩くのが面倒なので、HTTPの仕様を利用しています。 HTTP/1.1の仕様でキャッシュサーバは Cache-Control: max-age=n のようなリクエストを受け付けた場合に、キャッシュの経過時間がn秒よりも古かった場合、expires等が切れてなくても、オリジンのサーバにリクエストを行うことになっています。 そこでこれを利用し
古い libc の多くの乱数発生器は、怪しげであるか特性が不明であったりし、 また低速でした。 mt_rand() 関数は、古い rand() の代替品となるものです。 この関数は、その特性が既知の乱数生成器 » メルセンヌ・ツイスター を使用し、 平均的な libc の rand()よりも 4 倍以上高速に乱数を生成します。 オプションの引数 min,max を付けずに コールした場合、mt_rand() は 0 から mt_getrandmax() の間の擬似乱数値を返します。 例えば、5 から 15 まで(端点を含む)の間の乱数値を得たい場合には mt_rand(5, 15) としてください。 警告 この関数が生成する値は、暗号学的にセキュアではありません。そのため、これを暗号や、戻り値を推測できないことが必須の値として使っては いけません。 暗号学的にセキュアな乱数が必要な場合は、
Flashに関連するオープンソースなツールのひとつに、swfmillがあります。swfmillは、swfファイルを解析してxmlファイルに変換したり、逆にxmlからswfファイルを生成することができるツールです。swfmillの使い方についてはいろいろなところで紹介されているので、ここではFlash Lite 1.xのswfファイルをswfmillで扱うときの問題点について紹介したいと思います。 swf内の文字コード FlashはVersion 6からUnicodeに対応しました。Unicode対応前と対応後でswfファイル内の文字エンコードが異なり、対応前はcp932(日本語の場合)、対応後はUTF-8になります。 そして、Flash LiteとFlashのバージョン間対応ですが、Flash Lite 1.xはFlash 4がベースになっており、Flash Lite 2.xはFlash
FrontPage 秀逸mixiアプリ † スパイスボックス シンプルクロック シンプルカウンター Skypeボタン 婚活ステータス(α版) アプリ追加 サルガッソー 画像しりとり えーじ氏 はてブチェッカー あさんのう氏 あくてぃぶエコー KCee.jp氏 YouTube再生アプリ Skypeオンラインステータス プーペガールアプリ Weboo!氏 オンラインのマイミク チヒロ氏 ぷちねこバトル あらい氏 Space War toguni氏 折り紙メール ウフル氏 2chスレッド検索 ↑タレコミ欄 † お名前: (画像の文字列を入力して下さい) mixiアプリ Related Items mixiアプリ@Wikipedia
JSON(http://www.json.org/)データはけっこうよく使うので、何度か話題にしたことがあります(例えば「もう一度、ちゃんとJSON入門」)。でも、JSONには型情報/メタ情報が付けられないのがとても不満で、JSON改なんてもんを考えたこともありました。(後でXIONに改名) JSONデータに対するスキーマ定義の仕様がかたまりつつあることを、ごく最近になって知りました。 http://json-schema.org/ JSON本体はRFC 4627になっていますが、JSONスキーマの標準化のステータスは、あまりハッキリとは分かりません(僕には)。http://groups.google.com/group/json-schema?pli=1 を覗き見した感じでは、現状ワーキングドラフトという位置付けらしいです。 なかなか面白いし役に立ちそうなので紹介します。ただし、僕にとっ
同じデータベースの違うテーブルでプライマリキーを重複させたくない場合や、 クラスタ化した場合とかで AUTO_INCREMENT が使えない場合。 いわゆる採番テーブルってやつ。 DBICとかで sub nextval { my $self = shift; my $dbh = $self->result_source->storage->dbh; my $sql = 'UPDATE sequence SET id = LAST_INSERT_ID(id + 1)'; my $sth = $dbh->prepare($sql); $sth->execute; my $id = $sth->{mysql_insertid}; $sth->finish; $id; } とか手動でやってもよかったんだけど、せっかくなのでMySQLのトリガーでやってみた。 DROP TABLE IF EXISTS
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
id:dann さんの記事 「snipMateのsnippetが書きやすい件」で snipMate.vim が紹介されてて試してみた。 snipettsEmu.vim は snippets の追加がめんどくさかったってのもあるし 入力がタイポしてたりすると編集後に次の場所に移動できなかったりとか (1)入力後 => (2)に移動といったことをしようとすると html_snippets.vim を書き直す必要があった。 snipMate は sunppets の追加が簡単そうだったので乗り換えてみた。 インストール snipMate.vim をダウンロードしてきて .vim ディレクトリ以下で解凍すれば終了。 使い方は snipettsEmu と同じです。 snippetsの構造 $ tree html snippets |-- html.snippet <- filetype $ tree
このハンドシェークの後、 クライアントが暗号化された http リクエストを送信し、 それを受けてサーバが暗号化されたレスポンスを返す。 https サーバがバーチャルドメイン機能を持つには、 https サーバがサーバ証明書を送信する (上のハンドシェーク図の 3行目) より前に、 クライアントがリクエストしたいホスト名を通知する必要がある。 上図から明らかなように、 ホスト名の通知は一番最初の「ClientHello」で行なわれなければならず、 そのための拡張が、 「Server Name Indication」というわけである。 もちろんこの時点では、まだ鍵の交換は行なわれていないので、 ホスト名は平文で送られる。 前置きが長くなってしまったが、 この Server Name Indication (SNI) を stone でサポートしてみた (stone.c Revision 2
ディスクレス (diskless) サーバを多数運用しようとしたときネックとなるのが、 NAS (Network Attached Storage) サーバの性能。 多数のディスクレスサーバを賄え、かつ高信頼な NAS サーバとなると、 どうしても高価なものになりがちであり、 NAS サーバ本体の価格もさることながら、 ディスクが壊れたときの交換体制などの保守運用費用も高くつく。 それでも、多数のハードディスク内蔵サーバ (つまり一般的なサーバ) を 運用して各サーバのディスクを日々交換し続ける (運用台数が多くなると、 毎週のようにどこかのディスクが壊れると言っても過言ではない) よりは、 ディスクを一ヶ所の NAS にまとめたほうがまだ安い、 というわけで NAS/SAN へのシフトは今後も進むだろう。 そもそも CPU やメモリなどとハードディスクとでは、 故障率のケタが違うのだから
どうしても IRC ボットを JavaScript で作りたくて Rhino を勉強したよ!>< で できたよー\(^o^)/ ダウンロード (CodeRepos だよ) http://svn.coderepos.org/share/lang/java/jsbot/org/coderepos/botchang/Botchang.java 使い方 まずここから js.jar (Rhino) を拾ってくる -> http://www.mozilla-japan.org/rhino/download.html 次に pircbot.jar (PircBot) を拾ってくる -> PircBot - Java IRC Bot Framework (Java IRC API for Bots) 次に これ を org/coderepos/botchang/ ってディレクトリに入れて javac でコ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く