NetbeansのRails開発でデバッグしようとするとfast-debug
1 $ sudo gem install ruby-debug-ide -v '= 0.3.1' 2 $ sudo gem install ruby-debug-base -v '= 0.10.2'

NetbeansのRails開発でデバッグしようとするとfast-debug
1 $ sudo gem install ruby-debug-ide -v '= 0.3.1' 2 $ sudo gem install ruby-debug-base -v '= 0.10.2'
前回のアップデートから間があいてしまいましたが、 iPhone用の手帳アプリ、PokéDia-1.2 のアップデート申請をいたしました。
今回のアップデート内容は以下の通りです。
絵文字キーボードについては、 Tweeter に習って日本のiPhoneのみ対応となっています。
今日の出来事を表示する機能については、次回のアップデートで追加予定です。今後ともよろしくお願いいたします。
審査が無事に通過する事を祈りつつ。
See Also
この記事は、セキュリティ&プログラミングキャンプキャラバン2008 - 京都 -の実況中継です。
リンクなどはイベント終了後に貼ってみました。
ちょっとした裏話でした。
今日は、「プログラミングって楽しいよ!」というお話。
ユークリッド互除法などなど (C言語で例)
なぜアルゴリズムを学ぶのか
アルゴリズムとデータ構造の組合わせで、多くの問題が解ける場合が多い。
どんなことが解明されているかを調べる
自己流のアルゴリズムは、開発に時間がかかって、実行時間も遅くて、バグも多く、拡張性も低い
優れた技術者はソースコードを上手に読む!
「モットー: コードは読むな、理解しろ!」
理解の仕方を静的/動的の軸と微視的/巨視的の軸の2軸で分類。
1軸目
2軸目
巨視的な理解は作戦を立てるときに使える
「規模重要!」
規模を把握したところで... ディレクトリ構造をみていく。
トップディレクトリは、ソフトウェアの論理的構造を表している。
Rubyの1.8のと1.9の差分をケーススタディとして見てみると、プログラムを読む力をつけるのに非常に役立つのでは?
企業の作った商用ソフトウェアではなく、楽しいから作ったソフトウェアがどんどん普及していく
誰もコントロールできない、混沌の世界から開発されている
参加資格は「情熱」!
いろいろな制度は、独占するものではないですよ。
特許制度は、社会を豊かにする制度。 著作権も、同様。
「勉強会へ行こう」
( 2009/02/08
( 2009/02/09
ボウズマンのPVを見せていただいた。
オープンソースToyプロジェクト
id:TAKESAK
例) LZ77圧縮アルゴリズムの改良
100% JavaScript
ターミネータのコードはは6502のアセンブリで書かれている!
It works on iPhone!
(キーボードついてないから、すぐにゲームオーバーになっちゃうよ><)
URL: http://aja
URL: http://cod
最近盛り上がってないですね
男性であることが多い
年功序列ではない!
地域格差はなくなる?地域格差はもっと広がる? (例)新幹線神話
生産業・製造業は商機
カルビーさんが北海道から中国にじゃがいもを輸出したり
JavaScript
By id:amachan
先生の娘さんに懐かれ始めました。
- 満22歳以下の学生・生徒
発表スライドに僕の写真がうつりまくり(笑)
講義に関しては上原先生のブログを参照
指紋がパソコンについてる(笑)
それつかえば、回避できるじゃないですか
代替方法は、
などが考えられる
鍵となる情報は、広義のハッシュであり、弱点としては、
がある。
サポートに電話したら、まほうの言葉を教えてくれたりする。
バックドアパスワード (※良い子はググらないでね♪)
などなど
どんなことで検知できるか
攻撃はあるものだから、過剰におびえてもダメ
黒くて変な画像がいっぱいのってる「見るからに怪しいサイト」でなくても、汚染されたサイトはいろいろとある
とりあえず、ちゃんとアップデートしましょう
各種ブラウザには防御機能がついているので、有効に使いましょう(やぶられたりしたのもあるけれど)
「鍵」の管理が重要
上書きされれば・・・同型ディスクで同設定だと、領域特定で無力化されちゃう
英語なら、「\」と「¥」に分かれている
文字コードを変換すると、1つの文字にまとめられる
このような特性を使って、攻撃 (パストラバーサル) できてしまう
この問題に対して、某M社は「某Wの仕様です」と回答した
「¥」だけでなく、「Å」などは「A」となる
IPAは
を受け付けている
報告は、情報処理推進機構:情報セキュリティから
「仕様変更のフィードバック」を山盛りだしてみたり(笑)
コミュニティを通じて改善を望む声を集めて、正規のルートを通じたほうが改善の見込みが高い!
(竹迫さん)
(吉岡さん)
(竹迫さん)
(はせがわさん)
(園田さん)
(はせがわさん)
(園田さん)
(竹迫さん)
(はせがわさん)
宗教的な背景があるので、読み始めるとざっと読めるよ
(吉岡さん
日本語の情報が多い
(竹迫さん)
簡単なものが良いなら
コーディング標準があるもの
(吉岡さん)
(園田さん)
(福井さん)
(吉岡さん)
(竹迫さん)
(はせがわさん)
(園田さん)
(園田さん)
(吉岡さん)
(竹迫さん)
(吉岡さん)
(園田さん)
(上原先生)
(竹迫さん)
(園田さん)
(吉岡さん)
(竹迫さん)
講師の皆様、たいへん興味深い講演、ありがとうございました。ものすごくおもしろかったです!
随時追加していきます。
心に残った一言: アルゴリズム萌え~, モットー: コードは読むな、理解しろ!
プログラミング初心者のころのことを思い出しました。(今でも全然上級者ではないのですが・・・) 大学入って初めてパソコンを触り、周りのタイプ速度にビビりながら、必死にいろいろと練習したなぁ。
しかも、それが楽しかった。
今はただの仕事&研究の道具となり下がってる気がするので、初心に戻って楽しんでコンピュータと触れ合おう。
まとまった時間がとれたら、Ruby1.8とRuby1.9のコードを比較しながら読んでみるかな。
心に残った一言: ボウズマーン、ボウズマーン、スーパーg(ry , JavaScript
やっぱり、 JavaScript
JSANとかAjajaとか当時は盛り上がってたけど、最近はちょっと盛り下がってる感じ。どうにかできないものなのか・・・。
PMConnectに対抗して、RBConnect作るぞ! (いつになることやら・・・)
大好きな言語なので、ほんまにどうにかして盛り上げたい!
それと、Cybozuはやっぱりおもしろそうな企業だなと思いました。
(ガンダムとか、PVとか)
心に残った一言: パソコンに指紋ついてるじゃん(笑), ログ眺めてるのが好きなんですよ
僕もログを眺めるのが好きな人間なんですが、あの、「いらっしゃった」ときのログの流れのすさまじさがたまりません(笑)
パスワードをアンケートに答えちゃ、だめですね・・・。何を考えてるんだか。
それと、パスワードは英数字9文字以上にするように、周りに勧めたい。
誰でも気をつければできる、ごくごく簡単なとこからきっちりしていかないとね。
しかし、まさか、最強のセキュリティを誇る(笑)ノートPCが僕の大好きなアノ黒いやつとは・・・。
それでも愛用し続けますけど!
心に残った一言: 悪用厳禁 , 脆弱性みつかったお! → 仕様です(By Design)
Unicode制御文字を埋め込むという例の手法。あんなことを「仕様だから」で終わらせたら絶対だめですね。
デモで仕様の恐ろしさを見せられたときは、ゾクっとしました。怖い怖い。
「仕様なら、その仕様を変更しろ!」 というお言葉は、確かにその通り!グッときました。
せっかく脆弱性を報告しても、受け流されるだけという風習はどうにかしてほしいものです。
実害が出てから動き出しても、遅いんですよ。 ベンダーといい、警察といい。
内容についての感想は力尽きたので、また明日にでも・・・
明日必ず!!
上原先生にこのブログの存在がばれてしまいました。
ブロバレ(笑)
Ruby-1.9.1
1 [:foo, :bar => :baz] 2 #=> [:foo, {:bar=>:baz}]
いままでも、
1 [:foo => :bar]
のような形式であればOKだったのですが、配列リテラルの中に Hash以外の要素を含む場合には構文エラーが発生していました。
今日は小ネタです。
グループ テーブルの背景で使われている細かい縦縞の背景。なんだか単純な色よりはこちらの方がリッチな感じがするように思いますw
1 self.view.backgroundColor = [UIColor groupTable ViewBackgr oundColor];
http://cod
メール送信にSKPSMTPMes
色々調べた結果、Base64エンコードの際に改行されていないのが問題かと行き着いたので、Base64Tran
1 //Base64Transcoder.m 2 if (theOutInde x % 74 == 72) 3 { 4 outOutputD ata[theOutInde x++] = '\r'; 5 outOutputD ata[theOutInde x++] = '\n'; 6 }
via http://dev
自分用MySQLメモ:
デフォルト値を指定する場合、NOW()ではなくてCURRENT_TI
1 CREATE TABLE items ( 2 id INTEGER NOT NULL PRIMARY KEY, 3 title VARCHAR(255) NOT NULL DEFAULT('title'), 4 created_atDATETIME NOT NULL DEFAULT CURRENT_TI MESTAMP 5 );
CREATE TABLE t (
ts1 TIMESTAMP DEFAULT 0,
ts2 TIMESTAMP DEFAULT CURRENT_TIMESTAMP
ON UPDATE CURRENT_TIMESTAMP);
従来のソフトウェア工学が決定的に間違っている点は、 ソフトウェアを作るソフトウェアに関する工学ではない事だと思う。
100倍の生産性を達成するためには、ひとつ階段を上にのぼる必要がある。
従来のソフトウェアエンジニア人事工学が決定的に間違っている点
「やらなきゃいけない」仕事が20%で、残りの80%が「やりたいしごと」。たとえ単純作業でも、残り80%にそれが属しているのであれば嬉々としてやってしまう。彼らからこれを取り上げてしまうと、残り20%も小さくなってしまう。好きなようにやらせておくのが吉である。
つまらないコードを生成するコードを書く事は、 つまらないコードを書く事自体と比べて何倍も面白い。
手でコードを書くプログラマと、コードにコードを書かせるメタプログラマでは、 規模が大きな仕事になるほど差が開いていくと思う。
真のソフトウェア工学はまだ未来のものだ。一年とかけずに三千人以下でエンパイアステートビルを造り上げるようなものは、現在のソフトウェア工学に存在しない。(中略) 何十万もの奴隷を何十年も使い石に石を重ねてゆく様は、まさに今日ほとんどのソフトウェア開発で行われている事だ。
真のソフトウェア工学は、もう存在している。それは、 タワークレーンを使った高層ビル建築 に似ている。 メタプログラマーの仕事は、タワークレーンを組み立てるために小さなクレーンを動かす事だ。 それを実現するための道具はもう揃っていると思う。 それを使いこなしてる人もそれなりにいる。 では何が足りないのだろうか。
それはなんと言っても、実績が足りない。というか無い。 例えば5人のメタプログラマーの会社が、500億円の案件を50億円で受注したというような事例は皆無だと思う。 経営者は、万が一プロジェクトが失敗に終わった時に、実績が無い事に手を出した事を責められる事になる。 しかしながら、これについては成功事例が生まれれば改善する可能性があると思う。 営利企業の経営者が、これほどの節約機会を見過ごすとは思えない。
という事で、システム経費を劇的に圧縮する方法をお探しの方は、
までご相談ください :-)
追記
Yay! I am looking forward to it very much!
Merbはmerb-actio
merbでGeneratorプラグインを作る方法を紹介します。
merbのgeneratorの仕組みは、 templater という汎用的なGeneratorフレームワークを使って作られています。 なので、基本的にはtemplaterを使ったGeneratorの作り方という事になります。
まずは、Generatorプラグインのひな形を生成します。
1 % merb-gen plugin hello
Gemの形で提供されるものであれば、merb-plugi
さて、続いて、GEM_ROOTにGenerators
1 scope 'merb-gen' do 2 dir = File.join(File.dirname(__FILE__), 'lib', 'generators/') 3 Merb.add_genera tors dir + 'hello_gene rator' 4 end
続いて、GEM_ROOT/l
1 lib 2 `-- generators3 |-- hello_gene rator.rb 4 `-- templates 5 `-- hello 6 |-- app 7 | `-- app以下のファイル群 8 `-- spec 9 `-- spec以下のファイル群
hello_gene
以下はmerb-maile
1 module Merb::Generators2 class MailerGene rator < Namespaced Generator 3 4 def self.sourc e_root 5 File.dirname(__FILE__) / 'templates' / 'mailer' 6 end 7 8 desc <<-DESC 9 Generates a mailer 10 DESC 11 12 option :testing_fr amework, :desc => 'Testing framework to use (one of: rspec, test_unit)' 13 14 first_argu ment :name, :required => true, :desc => "mailer name" 15 16 template :mailer do |t| 17 t.source = 'app/mailer s/%file_na me%_mailer .rb' 18 t.destinatio n = File.join("app/mailer s", base_path, "#{file_name}_mailer.rb ") 19 end 20 21 template :notify_on_ event do |t| 22 t.source = 'app/mailer s/views/%f ile_name%_ mailer/not ify_on_eve nt.text.er b' 23 t.destinatio n = File.join("app/mailer s/views", base_path, "#{file_name}_mailer/no tify_on_ev ent.text.e rb") 24 end 25 26 template :controller _spec, :testing_fr amework => :rspec do |t| 27 t.source = 'spec/maile rs/%file_n ame%_maile r_spec.rb' 28 t.destinatio n = File.join("spec/maile rs", base_path, "#{file_name}_mailer_sp ec.rb") 29 end 30 31 end 32 33 add :mailer, MailerGene rator 34 end
あとは、GemをインストールすればOK.
情報系の資料作成(ちょっとした資料、プレゼン資料、論文など)に使えそうなクリップアートをまとめてみます。
それぞれの使用許諾にしたがって利用してください。
※随時更新していく予定です。
(さがしてます)
他に何かあれば、教えてください><