タグ

プログラムに関するpakuponのブックマーク (10)

  • 自動改札機の運賃計算プログラムはいかにデバッグされているのか? 10の40乗という運賃パターンのテスト方法を開発者が解説(前編)

    自動改札機の運賃計算プログラムはいかにデバッグされているのか? 10の40乗という運賃パターンのテスト方法を開発者が解説(前編) ふだん何気なく使っている鉄道。改札を降りるときにICカードを自動改札にかざすと、「ピッ」という音と共に一瞬のうちに運賃を計算してくれます。けれど、複数の路線を乗り継いだり、途中で定期券区間が挟まっていたりと、想像しただけでもそこには膨大な組み合わせがあります。それでも運賃計算プログラムはわずか一瞬で正しい運賃計算が求められ、バグがあったら社会的な一大事にもつながりかねません。 爆発的な計算結果の組み合わせがあるはずの運賃計算プログラムは、どうやってデバッグされ、品質を維持しているのでしょうか? 9月12日から14日のあいだ、東洋大学 白山キャンパスで開催された日科学技術連盟主催の「ソフトウェア品質シンポジウム 2012」。オムロンソーシアルソリューションズ 幡

    自動改札機の運賃計算プログラムはいかにデバッグされているのか? 10の40乗という運賃パターンのテスト方法を開発者が解説(前編)
    pakupon
    pakupon 2012/09/24
    自動改札機の処理、あの短い時間でどうやって処理しているのかについては、随分前に情報処理学会誌あたりで見たような気がするんだけど。
  • シェルコードから始めるマルウェア解析

    いま、求められるリバースエンジニアリング技術 「なぜ、ソースコードがないのに脆弱性を見つけられるの?」「なぜ、コンピュータウイルスの詳細な動作が分かるの?」 読者の皆様は、日々公開されるゼロデイ攻撃や巷をにぎわせるコンピュータウイルスの解析結果を見て、このような疑問を持ったことはないでしょうか? これらの多くは「リバースエンジニアリング」という技術を基に行われています。 【関連記事】 用語辞典:リバースエンジニアリング http://www.atmarkit.co.jp/aig/02security/revengine.html ――ハードウェアやソフトウェア製品に関して、構造や仕様を分析して技術的情報をほぼすべて明らかにしてしまう技術、またはその行為のことをリバースエンジニアリングという。 リバースエンジニアリング技術とはソフトウェアの“解析”技術です。ここではソースコードのないバイナリ

    シェルコードから始めるマルウェア解析
  • トップクラスだけが知る「このアルゴリズムがすごい」――「探索」基礎最速マスター

    トップクラスだけが知る「このアルゴリズムがすごい」――「探索」基礎最速マスター:最強最速アルゴリズマー養成講座(1/4 ページ) プログラミングにおける重要な概念である「探索」を最速でマスターするために、今回は少し応用となる探索手法などを紹介しながら、その実践力を育成します。問題をグラフとして表現し、効率よく探索する方法をぜひ日常に生かしてみましょう。 まだまだ活用可能な探索 前回の「知れば天国、知らねば地獄――『探索』虎の巻」で、「探索」という概念の基礎について紹介しました。すでに探索についてよく理解している方には物足りなかったかと思いますが、「問題をグラフとしてうまく表現し、そのグラフを効率よく探索する」というアルゴリズマー的な思考法がまだ身についていなかった方には、得るものもあったのではないでしょうか。 前回は、「幅優先探索」と「深さ優先探索」という、比較的単純なものを紹介しましたが

    トップクラスだけが知る「このアルゴリズムがすごい」――「探索」基礎最速マスター
    pakupon
    pakupon 2011/05/17
    そういえば、最近のプログラマって、ちゃんとプログラムの「作法」や「理論」を習っているんだろうか?使っているけど、技術を理解してないかも。
  • 誰でも即席“Androidプログラマ”に、Googleが開発ツール「App Inventor」を一般公開

    言語を知らなくても簡単にAndroidアプリが作れる――。誰でもプログラマになれる“驚愕”の開発ツールが登場した。米Google社が提供する「App Inventor」だ。早速、開発のしやすさを体験してみた。 米Google社は2010年12月16日、Androidアプリを開発するためのツール「App Inventor」のベータ版を一般公開した。同年7月から登録者のみに提供していたものだ。ツールおよびWebサービスJavaアプリの3つの組み合わせで実現している。 App Inventorの特徴は、プログラムをコーディングしなくても、Androidスマートフォンで動作するアプリが即席に作れること。パズルを組み合わせる感覚でプログラムを作成できる(図1)。Javaを知らない人でも、Androidスマートフォンを持っていれば、そのまま個人用のアプリが即製可能だ。

    誰でも即席“Androidプログラマ”に、Googleが開発ツール「App Inventor」を一般公開
  • マンガで分かる JavaScriptプログラミング講座

    はじめに 「マンガでわかるJavaScript」は、難しそうに思えるプログラムを、簡単そうに見えるマンガで解説するという初心者向けの入門講座です。 架空の高校生たちに教える形式で、プログラムの基礎から応用を、解説していきます。一通りのマンガを読めば、かなり実践的なところまで、プログラムを書けるようにしていきます。 (マンガは、左上から右下へと読みます) プログラムというと、けっこう大変そうに思えますが、この講座のテーマは「面倒くさいことを楽にする」です。面倒臭がりで、手抜き大好きの女子高生を主人公にして、楽しくプログラムを学んでいくことにします。 主な対象読者は「これからプログラムを学んでみたい人」「Webの世界に関わっていてJavaScriptを学んでみたい人」「昔JavaScriptを触っていたけど最新のトレンドが分からないので改めて学んでみたい人」などです。初心者だけでなく、Webデ

    マンガで分かる JavaScriptプログラミング講座
  • Evernoteに素早くメモをとることに特化したアプリ『FastEver』 | iPhoneWalker

    SNIPE Inc.: eiji様, Listenialユーザー様 お世話になります。 SNIPE Inc.の太田です。 日、Listenial Ver 2.0.1がアップデート開始となりました。... MomentDiary: 瞬間日記の作者です。 ご紹介ありがとうございます。 カメラのプログラムについて、ご迷惑おかけしています。iPho ne 体を再起動すると、改善する例が確認されていますので、お手数 ですが、お試しください。... eiji: アメリカではまた公開されているけど、日では消えたままですね SNIPE Inc.: eiji様 お返事ありがとうございます。 バグの特定、改善が完了いたしました。 他のアップデートと一緒に申請いたしますので、 来週末ごろには、アップデートの通知がお手元に届くかと思われま す。... eiji: このバグについては、すでにApp Stor

  • なんでも作っちゃう、かも。

    Arduino/Make/フィジカルコンピューティング/電子工作あたりで活動しています。スタバの空きカップを使ったスタバカップアンプなど製作。最近はもっぱらArduinoと3Dプリンタの自作に興味があります。 arms22 - Scrapbox https://scrapbox.io/arms22/ Scrapboxというなんか新しい感じのWikiサービスがあって試しに使っています。動作が軽快で記事が非常に書きやすい作りになっています。ソースコードのシンタックスハイライトも標準で対応してるし、画像もドラッグアンンドドロップで貼り付けてくれる。ページ間のリンクが自動的に貼られるので関連する記事がすぐ見つかるようになっています。今の所下書き用みたいな感じでScrapboxを使っていますが、そのうちScrapboxに移行したいなぁと考えています。 関連リンク Scrapbox - チームのための

  • Perl基礎文法最速マスター - Perl入門ゼミ

    Perl › 基礎文法 ITの現場でPerlが必要になって、今勉強しているという方はおられませんか? 他の言語をある程度知っている方が「Perl基礎文法最速マスター」を読めば、Perlの使い方の基礎をマスターしてPerlを書くことができるようになっています。 基礎 文法チェック 文法をチェックを厳しくするために最初に必ず次の2行を書くようにします。 use strict; use warnings; 「use strict」と「use warnings」という2行を加えることで事前に文法チェックが行われるので、ソースコードを記述する作業は速くなり、コードの品質が上がります。 print関数 文字列を出力するにはprint関数を使用します。 print "Hello world"; Perlでは標準関数や事前に定義されている関数で括弧を省略することができます。 コメント Perlのコメントで

    Perl基礎文法最速マスター - Perl入門ゼミ
  • Fine Software Writings

    最近のもの 目標でなく恐怖を明確にすべき理由 (Tim Ferriss) 我々が築き、掘っている未来 (Elon Musk) 表計算ソフト誕生の話 (Dan Bricklin) Linuxの背後にある精神 (Linus Torvalds) 先延ばし魔の頭の中はどうなっているか (Tim Urban) 好きになる仕事はどうしたら見つかるのか (Scott Dinsmore) 人間に新たな感覚を作り出すことは可能か? (David Eagleman) 人工知能が人間より高い知性を持つようになったとき何が起きるか? (Nick Bostrom) 厄介な問題を解決したい? ではトーストの作り方を説明してください (Tom Wujec) 子供の夢を奪う学校というシステム (Seth Godin) 彼らがいなくなってしまう前に (Jimmy Nelson) 頭良さそうにTED風プレゼンをする方法 (W

  • 初心者がJavaを“超高速”で学ぶためのコツ:ITpro

    皆さんの中には,「いまどきJavaくらいできなきゃねぇ~」と言われてからもう何年も過ぎちゃった…なんて人も多いのではないでしょうか。いつ何時「新しいプロジェクトJavaでいくから」なんて上司に言われたりしないか,内心ドキドキしてる方もいらっしゃるでしょう。私が受け持つJavaの授業でも,受講生の方からそういった悩みをよく聞きます。 しかしよく聞いてみると,なんだかとても効率の悪い勉強をしているなあと驚くことがあります。なぜなら多くの方が「Javaの入門書で勉強しているのにJavaのプログラムを作れるようにならない」と言われるからです。COBOLやC言語のプログラミング経験があるにもかかわらずです。 なぜJavaの学習がなかなか進まないのでしょうか。残念ながら「Javaのスキルが上がらない」という方の多くは,「データとアルゴリズム」「Javaの文法」「オブジェクト指向」の三つをきちんと学べ

    初心者がJavaを“超高速”で学ぶためのコツ:ITpro
  • 1