当初Webサービスとしてリリースした「smartFX」をハイブリットアプリとしてリリースすることになった背景やその効果についてご報告するとともに、Webサービスをハイブリットアプリ化するにあたって出てきた問題点とその対応策について説明したいと思います。
フォーラムでの議論は次のような発言から始まった。 「中括弧を使って複合文を記述し、文の切れ目にセミコロン「;」を使う言語では、オールマン・スタイルを使うべきではない」 私はどちらのスタイルでもよいと思っているが、「1TBSでは図2のような間違いを人間のコード・レビュワーが発見しにくい」という1TBSに対する批判は受け入れがたい。 人間のコード・レビュワーが、このような間違いを見落とす可能性があることは認める。しかし、まさにこの例は、ここで紹介するようなコーディング規則の重要性を物語っている。つまり、「バグを効果的に排除するためには、コーディング規則に強制力がなければならない。2個以上の競合する規則がそれぞれバグを防げても、それらの中の1つの規則だけが自動的に強制できる場合は、より強制力がある規則の適用が推奨される」ということだ。 われわれのコーディング規則では、上記のような例はまさに自動
ブログや開発者向けのWebサービスなどで、ソースコードのハイライトを行うケースはよくある。言語があらかじめ決まっている場合は良いが、言語がよくわからない場合や、JavaScriptとHTMLのように埋め込みで複数の言語が重なる場合もある。 各種言語に対応したハイライター そのような、特定の言語に依らずにソースコードをハイライト化したい場合に便利なのがこのライブラリだ。 今回紹介するオープンソース・ソフトウェアはGoogle Code Prettify、JavaScriptによるソースコードハイライターだ。 Google Code Prettifyの使い方は簡単だ。prettify.jsとprettify.cssを読み込んで、<pre class="prettyprint">または<code class="prettyprint">タグの中にコードを書き込めば良い。後はprettyPrint
インデントがあまり深いソースコードは何ともしがたいが、同時にワンライナーにこだわり過ぎるのも問題だ。そのため、多人数で行うプロジェクトや、オープンソース・ソフトウェアのプロジェクトではソースコードのフォーマットが定義されている場合が多い。 うーん、これは読みづらい。問題があっても分かりづらそうだ。 だが慣れるまではインデントの数や改行の入れ方などで間違えてしまうことが多いかもしれない。そうした時に便利なのがソースコードを整形してくれるソフトウェアだ。Webであればサーバサイドのプログラミング言語の他にもCSSやHTML、JavaScriptなど多数の技術が関わってくる。そのような時にはUniversalIndentGUIが便利だ。 今回紹介するオープンソース・ソフトウェアはUniversalIndentGUI、多数の言語に対応したソースコードフォーマッターだ。 UniversalInden
2007-08-14 04:48 : 複雑な GUI を持つアプリケーションの設計について(Web アプリ編) 以下のようなエントリを見つけました。非常に良い問題意識です。そう、GUI プログラミングは泣けるほど面倒くさいのです。 subtech - Pink Blossom Diary - AS3/Flex2 を使い始めて約半年より まずイベントドリブンなプログラミングに慣れてないのが一つで。Flex のイベントや自前イベントやをただ単に投げまくってると、とりあえずは動くけど後からメンテし辛いスパゲッティコードができあがる。このスパゲッティコードは goto 文が乱立するコードよりも酷く、goto だったら割と行き先は把握できるけど、イベントを投げまくってるだけだと、どこでどのオブジェクトがこのイベントを受け取るかが解らない。解りづらい。いちいちソースコード grep です
なかなかハードルが高く,多くの人が踏み出せないでいるカーネルのソース・コードの読解。本連載では,今までカーネル・ソースなんて見たことがないという人に,読みこなすコツをお教えします。今回は,どうしたらカーネル・ソースを読みこなせるようになるのか,筆者の経験をお話します。 Linuxユーザーなら誰しもカーネルのソース・コード(カーネル・ソース)を読んで,どのような処理を行っているのかを確認したり,自分なりの変更を加えたりしたくなるのではないでしょうか。しかし,カーネル・ソースの量は膨大な上,C言語で書かれているので,コンピュータ内部やOS(オペレーティング・システム)の仕組みを理解したプログラマでないとなかなか読みこなせません。そのため,カーネルを読むための第一歩を踏み出せない人が数多くいることは事実です。 本講座では,プログラマではないごく普通のLinuxユーザーが,カーネルをある程度自力で
ソフトウェア工学の標準的なカリキュラムにソースコードの読み方というのがあるのかないのか知らないが、プログラマとして最も重要な資質の一つにコードの読解力というのがある。 ついでに言えば、大学や専門学校であまり教えられているとはいえないけど、実践では常に必要とされているものとして、テストの方法論、デバッグの方法論、性能向上の方法論、メモリなど各種資源の削減方法論などなどがある。国際化、移植性なども重要な単元であるがソフトウェア工学の中で教授されていると言う話はあまり聞かない。コードのハック一般についてどこかで議論されているのだろうか。経団連あたりで議論しているのだろうか? 閑話休題。 ソースコードの読み方ということで、最近では「コード・リーディング」というそのものずばりの教科書も出ているので状況は好転しつつある。コードの読み方はオープンソースの時代になり、間違いなく広く情報を共有できるようにな
■ WASF Times版「サニタイズ言うな!」 技術評論社の「Web Site Expert 」誌に、Webアプリケーション・セキュリティ・フォーラム関係者の持ち回り企画「WASF Times」が連載されている。私の番も回ってきたので昨年9月発売号に寄稿させていただいた。近頃はサニタイズ言うなキャンペーンもだいぶ浸透してきたようだし、もういまさら不要という気もするが、以下、その原稿を編集部の承諾のもと掲載しておく。 「サニタイズしろ」だあ? Webアプリを作ったらセキュリティ屋に脆弱性を指摘された――そんなとき、「入力をサニタイズしていない」なんて言われたことはありませんか? 「入力」というのは、ブラウザから送信された情報をCGIパラメータとして受信した値のこと。これを「サニタイズしろ」というのです。なんでそんなことしないといけないの?プログラムの内容からして必要のないことなのに? そう
2007年01月19日 俺的コーディングルール SQL編 プロジェクトのコーディングルールがこうでなければいけないとか、他人に強制するわけではないが、自分自身で一貫性の無いコードを書くのは気持ち悪いので、オレオレルールを決めてたりする。大抵は デ・ファクト的なルールに沿う形で書くことが多いのだが、SQL や PL/SQL に関してはなかなかデファクトと呼べるものがないので(あるのか?)、メモ的に書きとめておく。 原則キーワード小文字オブジェクト名大文字カンマは後ろインデントは半角スペースで 2一つの SQL 文でキーワード毎にインデントしない(副問合せ除く) まず、1.2. に付いてなのだが、昔は「キーワード=大文字」という意味不明な先入観で大文字で書いていた。ただ、それだと PL/SQL のキーワードも大文字、オブジェクト名も大文字で結局ほとんど大文字になってしまうのと、Shift 押す
Amazon Simple Storage Service(A3)をバックアップストレージとして使うときのメモです。 ここでは自分のみがアクセスする目的と考え、ファイルを公開して配布する目的では必要となるであろうログの取得についてなどは省きます。 利点 単価がとにかく安い(1か月あたりの料金:転送量が$0.20/GB、データ領域が$0.15/GB) Amazonインフラなので信頼性がある 欠点 APIでの提供なので何らかのツールが必要となる そんなに速くない ちょこちょこ使うストレージとしてみると使いづらい ファイル操作は基本GET/PUT/DELETEしか用意されていない 移動・名前変更を行おうとするとGET→名前を変えてPUT→DELETEとなるのでムダがある(時間的にも金銭的にも) バケット(bucket) ストレージの領域の事。フォルダよりドライブに近い概念です。 自由に作成できま
Joel Spolsky / 青木靖 訳 2005年12月29日木曜 近頃の若い者ときたら。 勤勉はいったいどこへ行ってしまったんだ? 「近頃の若い者」は我慢がないと不平を言うようになったのは、私も年を取ったということなのかもしれない。 そりゃ恵まれてるね。私は3ヶ月汚水浄化槽の中の茶色い紙袋に住んでいたよ。朝6時に起きて、袋を掃除し、固くなったパンの耳を食べ、工場まで歩いて行くと、1日14時間、毎週毎週働きつづけ、家に帰ると親父にベルトでたたかれて寝床についていたんだ。 ——モンティ・パイソンの空飛ぶサーカス 4人のヨークシャー人 私は若い頃、パンチカードでプログラムを作る方法を学んだ。ミスをしたら、それを訂正するためのバックスペースのような近代的な機能は存在しなかった。カードを捨ててはじめから打ち直すのだ。 私は1991年にプログラマの面接をするようになった。コーディングの問題に答える
2006年10月03日01:00 カテゴリLightweight Languages プログラミング言語foobarの生産性の高さはどこまで本当か 分裂勘違い君って、コードは分裂も勘違いもしてないのね(失礼)。 分裂勘違い君劇場 - Rubyの生産性の高さはどこまで本当か? もの人がブックマークしているこの「Rubyを仕事に使うべし!Part1 なぜ仕事で使うとうれしいのか」という記事で、Rubyのすばらしさついて、いろいろ書かれていますが、実際のところ、どの部分が、どこまで本当なのでしょうか? 少し検証してみたいと思います。 それはとにかく、言語の生産性で最も大事なのは何かを改めて考えてみた。 出た結論は、これ。 それを手に入れたくなった時に、それが手元にある事 はっきり言って、「いろんな言語のいいとこ取り」も「構文が強力」も「楽しくプログラミング」も 「問題が起こりにくいように設計され
かなりながーいエントリになる予定なので,結論だけ最初に書くとこんな感じ. この話題については自分も あとで書く と言って書いてなかったので書いてみますよ。2006年の下期にもなってコネクションプーリングかよというツッコミもありそうですが、あとで書くといったら書くの。あとで読むといったら読む。 普通「コネクションプーリング」と言ったら、主に二つの役割があると思います。話を簡単にするためにウェブアプリケーションに限定して言及します。 ウェブアプリケーションから DB への接続を開けっ放しにして、接続に必要とされるオーバーヘッドをカットして双方の負荷を下げる。 ウェブアプリケーションと DB への接続を「使いまわす」ことで、同時接続本数を節約する。 というもの。 mod_perl で DB と接続維持するとコネクション数増えて云々という話は主に前者のみについての話になります。Apache::DB
悪態のプログラマとある職業プログラマの悪態を綴る。 入門書が書かないプログラミングのための知識、会社の研修が教えないシステム開発業界の裏話は、新人プログラマや、これからプログラマを目指す人たちへのメッセージでもある。 プログラミングを行う際に、既存のソースコードを流用することは多い。自分が過去に書いたコード、周囲の仲間が持っているコード、ヘルプや書籍に掲載されているコード。ネットで探せば、最新技術やマイナーな技術のものでも、何かしら発見できることだろう。 Yahoo! や Google のような一般的な検索エンジンでも、適切なキーワードを指定すれば、ソースコードを検索することができる。コードによく出てくる文字列(例えば、C言語なら「include」や「void」など)を含めて検索すればよいだろう。 こうした一般のページ検索では、コードの解説や関連情報なども見つかるので有意義だ。しかし、一方
結城浩(ゆうき・ひろし) 本を書く生活が30年、著書は60冊を越えました。 代表作は『数学ガール』『プログラマの数学』『暗号技術入門』『数学文章作法』『Java言語で学ぶデザインパターン入門』他。 2014年度日本数学会出版賞受賞。 文章書きとプログラミングが好きなクリスチャン。 いつも応援ありがとうございます。 主な活動については 結城浩の活動紹介 をご覧ください。 Hiroshi Yuki. Author of "Math Girls". 30 years into writing introductory math and programming books. LaTeX / Vim / Ruby / Math / Writing /
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く