Perlでコマンドラインオプションをparseしようと思うと組込みモジュールとしては Getopt::Std と Getopt::Long がある。が、long style option *1 つまり --option-name のようなオプションを解釈してくれるのは Getopt::Long だけだ。なので普通はこちらを使おう。 ただし 絶対にデフォルト、つまり以下のようにして使ってはいけない。 use Getopt::Long; my (@primary, @secondary, $silent); GetOptions( "server-primary|p=s" => \@primary, "server-secondary|s=s" => \@secondary, "silent|S" => \$silent ); これダメ! 絶対ダメ! 死ぬ! 最初に結論を書く 必ず以下のように
pixtuneというアプリをリリースしました。 pixtuneをひとことで説明すると、「Play the moment」。 自分の撮った写真と、写真を撮った当時にはやっていた曲を一緒に楽しむアプリです。どういうアプリなのかは、動画を見た方が早いと思うので、まずはこちらをどうぞ。 無料なので、興味がある方は、ぜひダウンロードしてください。 https://itunes.apple.com/jp/app/pixtune/id722162353?mt=8 今回は、このアプリの開発に使ったムービープロトタイピングという開発手法を紹介したいと思います。 ムービープロトタイピングは、私が勝手につけた名前(大目に見てください)で、アプリのプロトタイプをムービーで高速に行う手法です。プロトタイピングの手法としては、ペーパープロトタイピングが、手軽かつ効果的で、このプロジェクトでも、最初、ペーパープロトタイ
11. 通信システム リアルタイム通信が不要であればHTTP 送受信(POST)するデータ形式は? XML, JSON, MessagePack, Google Protocol Buffers, 独自シリアライズ 通信の頻度とデータ量、デシリアライズ処理の重 さ、開発&デバッグのやりやすさなどから検討(慣 れないうちはJSONオススメ) 11 12. 想定負荷 例)DAU(Daily Active Users) 10万 10万 x 20 Login/日= 200万 Login/日 = 23 Login/秒 3倍して 23 x 3 ≒ 70 Login/秒 これが日々のピーク Webサーバ1台で12程度さばけると仮定すると、Webサーバ6台 となる。(この時点はざっくり) 基本的にログインが最も重い(多くのデータを読み込み、送信 する必要がある)ので、まずはログインの負荷を目安に考える。
NAME Spreadsheet::ParseExcel - Read information from an Excel file. SYNOPSIS #!/usr/bin/perl -w use strict; use Spreadsheet::ParseExcel; my $parser = Spreadsheet::ParseExcel->new(); my $workbook = $parser->parse('Book1.xls'); if ( !defined $workbook ) { die $parser->error(), ".\n"; } for my $worksheet ( $workbook->worksheets() ) { my ( $row_min, $row_max ) = $worksheet->row_range(); my ( $col_min,
This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.
図1 ゾンビ・プロセスの表示。STATに「Z」,末尾に「defunct」と表示されているプロセスが,ゾンビ・プロセスです。 実行終了中のプロセスをゾンビ・プロセスといいます。プロセスの処理は既に終了し,メモリーなどの資源(リソース)はすべて解放されています。ただし,プロセスが使用したメモリー領域やファイル,ソケット,シグナルなどの情報を管理するtask_struct構造体だけが存在しています。このtask_struct構造体が削除されると,プロセスが消滅し,その実行が完了します。 ゾンビ・プロセスは,psコマンドにuオプションを付けて確認できます(図1)。表示される各行が1つのプロセスの状態を示しています。STATに「Z」,末尾に「defunct」と表示されているプロセスがゾンビ・プロセスです。このゾンビ・プロセスは「TASK_ZOMBIE」という状態を持ちます。
From the announcement blog post: Topaz is written in Python on top of the RPython translation toolchain (the same one that powers PyPy). Its primary goals are simplicity and performance. Because Topaz builds on RPython, and thus much of the fantastic work of the PyPy developers, it comes out of the box with a high performance garbage collector, and a state of the art JIT (just-in-time) compiler. W
先日、When Random Isn't Random Enough: Lessons from an Online Poker Exploit(英文注意)という記事がタイムラインに流れてきて、同僚と少し配列ランダマイズの話になったので備忘録として書いておきます。 配列のランダマイズというのは、たとえば上の記事にあるようなトランプのシャッフルであるとか、音楽プレイヤーの再生リストのランダム再生とかで実装しますね。ゲームを作るときなどには実装することが多いでしょうが、記事を読む前に、自分だったらどのように実装するか是非少し考えてみてください。 自分が中学生の頃に書いた記憶のあるコードは、たしか次のようなものでした。 // 配列の初期化 var a = []; for(var i = 0; i < 1000; i++) { a[i] = i; } function swap(s, d) { v
ボタンを押すとブラウザで特定のWebページを開くだけ。 from kivy.uix.button import Button from kivy.app import App from jnius import autoclass, cast class BrowserApp(App): PythonActivity = autoclass('org.renpy.android.PythonActivity') Intent = autoclass('android.content.Intent') Uri = autoclass('android.net.Uri') def start_browser(self, instance): intent = self.Intent() intent.setAction(self.Intent.ACTION_VIEW) intent.setDa
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く