curl_multi系を使って、プロセス数を指定して実行するマルチスレッド処理です。
urlは配列で受け取って、もし指定したプロセス数より多い場合は分割して実行するようになってます。
このサンプルコードではこのブログの幾つかのurlに対してtitleを取得しました。
curl_multi系を使って、プロセス数を指定して実行するマルチスレッド処理です。
urlは配列で受け取って、もし指定したプロセス数より多い場合は分割して実行するようになってます。
このサンプルコードではこのブログの幾つかのurlに対してtitleを取得しました。
bumblebeeというgithubのプロジェクトにinstall.shというファイルがありますが、
実行するとrm -rf /usrのコマンドで/usrが全部削除されることで大騒ぎになったようです。
githubのスレット
一個スペースが多かったですね。。
でコメントに上がっている画像がとても面白かったので、それをNokogiriを使って拾うrubyコードを書きました。プログラマのヒューモア満載の画像ですね。
Sinatra + Nokogiri + Herokuで作りました、キャッシュはdalliというgemを使いました。
下記iframeで表示しています。urlはhttp://kinopyo-omgmyusr.heroku.com
githubに上げています。
https://github.com/kinopyo/Funny-Images-in-bumblebee-rm–rf–usr-thread
file_get_contentsとjson_decodeの組み合わせでAPIコールするサンプルコードです。
// APIコール
$api_url = 'http://example.com/api/';
$api_ret = file_get_contents($api_url);
// JSONにデコード
$api_result = json_decode($api_ret,true);
// APIエラーチェック: 何かしらの成功フラグでチェック
if(isset($api_result*'success']) && $api_result['success'* == 0)
{
// 処理
}
else
{
// handle error
}
DataSource Beanを定義する際applicationContext.xmlの書き方と、Javaで呼び出すコードのメモです。ずいぶん昔のメモです。。
こんなjdbc.propertiesファイルがクラスパスにあるとします。
jdbc.driverClassName=org.h2.Driver
jdbc.url=jdbc:h2:~/test
jdbc.username=sa
jdbc.password=
そしてSpringのapplicationContext.xmlにはこう書きます。
<context:property-placeholder location="jdbc.properties"/>
<bean id="dataSource"
class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
</bean>
<bean id="accountDao" class="test.dao.AccountDao">
<property name="dataSource" ref="dataSource" />
</bean>
Javaでの呼び出し:
ApplicationContext context = new ClassPathXmlApplicationContext(
"applicationContext.xml");
AccountDao accountDao = (AccountDao) context.getBean("accountDao");
// other code...
// 数値を日本円表現にフォーマット。
// 例:12345 -> 12,345
num2Currency = function(obj) {
// 画面項目の値
var str = obj.value;
var num = new String(str).replace(/,/g/"");
while(num != (num =num.replace(/^(-?\d+)(\d{3})/,"$1,$2")));
obj.value = num;
}
// 日本円表現を数値にフォーマット。
// 例:123,45 -> 12345
currency2Num = function(obj) {
var str = obj.value;
var num = str.replace(/,/g,"");
obj.value = num;
}