スキップしてメイン コンテンツに移動

投稿

LOCAL DEVELOPER DAY ’13 / Infra & Security に参加した

2013/01/26に LOCAL DEVELOPER DAY ’13 / Infra & Security が開催されたので参加してきた。 会場の 札幌市生涯学習総合センター ちえりあは 初めて行った。会場に到着したのはSession1が終わるころだったので、メモはSession2から。 ライブコーディングとデモで理解するWebセキュリティの基礎 守るべきはシステムの稼働、情報資産、顧客の信頼 SQLインジェクション対策:DBMSが提供するバインド機構を使用する(エスケープ処理は非推奨) 条件として全データからLIMMIT=1 AND OFFSET=n で各ユーザーになりすまし OSコマンドインジェクション対策:APIがあればそれを利用する クロスサイト・スクリプティング:HTMLエスケープ 細工したサイトに誘導し、ログインユーザーとしてスクリプトを実行させる 時間切れにより途中までとなったが、デモで実際に攻撃が成立するのを見れたのは面白かった。 VPS はじめの一歩 最初にまず、パスワードを変更する さくらVPSは初期状態は「停止」 コンソールで変更してsshでログインを試す、方法をおすすめ sshのrootログインを止め、wheelグループでの管理を行う ポート番号「22」を変更する(ただし10022も使い古されている) 公開鍵を使う パスワードログインの停止は一長一短 iptablesによるパケットフィルタ 自分自身も仮想マシンでLinuxをいじって上記のことを調べたこともあったから、すんなりと話が入ってきた。 狙われる日本 ~国外から見た日本の情報セキュリティの現状と課題、これからの日本に必要なマルウェア対策~ 「セキュリティは大事」、何が大事なのか? MacやLinuxにも問題はある 日本は他国よりセキュリティ意識が高い bootkitはMBRに書き込まれるため、OS再インストールしても残る パスワードは盗まれなければ、素晴らしいシステム 実際に何が脅威なのか、がまだ意識できていない状態なのだろうな。 Free Software Way 「本を読む」事は思想・考え方・政治信条に関係している 過去の失敗から「図書館の自由に関する宣言」がある 電子書籍は「何を読んだのか」の履歴の管理...

車を買い替えた

年末に事故に会い、車は自走出来ない程に壊れてしまった。修理代金も結構な金額になってしまった。 思い入れのある車なので年末年始は直すかどうか悩んだ。 まずはMTに拘って探してみたが、今の時代MTに拘って探すと当然対象が少ない。 買い替えることに決心してから話がトントンと進み、決めた車が今日納車された。

勉強会ノートを1冊使いきった

IT勉強会に参加した時にメモをとっている。 最初は大学ノートを使っていたが、現在はいつかの勉強会でいただいたノートを使っている。そのノートが2013/1/19 第78回 CLR/H勉強会 の時に1冊使い切った記念でこのブログを書いている。 このノートを見返してみると、一番最初は セキュリティ・プログラミングキャンプ・キャラバン2008 のメモだった。これは2009/1/17に開催されたものだから、ほぼ4年経過している。 ノートPCを持ってから暫くはノートPCでメモを取っていたが、最近はまた手書きメモに戻った。そのほうが懇親会へ行くのに手軽で楽だから。 最近はメモを取っても感想ブログを書かないままであることが多くなってきた。なんとか時間を見つけて書いていきたい。

第78回 CLR/H勉強会に参加してきた

2013/1/19に第78回 CLR/H勉強会が開催されたので参加してきた。今回はテストデイ。 C# から Java へのプログラム移植で体験したTDDの効果は? 「開発終了」とは「そのアプリケーションの使用が終了するとき」と定義できる。 単体テストを書くようになると、後からテストを書くのは面倒と思うようになる C#からJavaへ移行でテストを書くことでJava入門もできた テストメソッドを日本語で行うのは非常に有効 テストコードに基本型・例外型(・応用型)のパターンを作った DRY原則は無理に適用しない(あくまで基本型に合わせる) テストは必ず一度失敗させる C#とJavaとでアプリケーションのコードを統一するこは困難だが、テストコードを統一することである程度同一の動作を保証できる SpecFlow + Selenium WebDriver で Web アプリの自動化テストを概ね完備してみた 品質検査の自動化 テストコードのメンテナンスを考慮したスケジュールが必要 SpeckFlowで品質検査担当者もテストコードを記述 多言語対応アプリへの対応が困難(ボタン名など) テストやっている俺カッコイイ 仕事で使える!iPhoneアプリ開発でも継続的インテグレーション 開発の三本柱「バージョン管理」「テスト」「自動化」 テストはSenTestingKitを使用。XCodeに標準で含まれている setter/getterのテストはしない、などのルールを設けている CIはJenkins、バージョン管理はGit。 Jenkinsは標準でSubversionに対応。プラグインでGitに対応できる。 GitのhookでCIサーバーをWakeUp On LANで起動→エコ! テストを書きすぎない、事も大切 ちょうど自分も単体テストに取り組もうと思い、設計に悩みだしている時期なので、とても為になった。

2012年を振り返る

2012年を一文字で表すと 「食」 だった。 美味しいものを多く食べた。今年は旅行に行く機会が多く、その時はその土地のものを食べるようにしていた。 夏には久しぶりに北見にいった。学生の時はオホーツクをちゃんと飲んでなかったから、そこでしっかり飲めたのは嬉しかった。 ワイン検定を受けるために勉強をした。ビールも今年になってから、いつもの日本メーカーのビールだけではなく色んな国の色んなビールを飲むようになって、何が違うのかネットでちょっと調べたりして、ちょっと知識が欲しくなった。そんな時にちょうどよくワイン検定のお話を教えてくれた。 「食」よりも「飲」なのでは、とも思えてくるが、美味しいお酒は美味しい食事と一緒にやってくる。来年はウエスト周りにも気を使いながら、美味しいものを食べていきたい。

ワイン検定ブロンズクラスに合格

2012/11/18に日本ソムリエ協会が主催するワイン検定が開催されたので受けてみた。 普段お酒を飲むのはビールが多いけど、ワインも好き。 申し込むとテキストが届き、当日までそれを読んで予習。量も多くなく、でもワインの基本は書かれていて、「勉強」というものも久しぶりだったが楽しめた。 当日はテキストをベースに、講師の方の講習を受け、いざ試験を受ける。講習でポイントを押さえてくれたので試験は順調に進められた。終わった時点で合格を確信できた。 終わった後は検定の事を教えてくれた友人のお店でお疲れ様会。 翌日、無事合格の知らせが。 そしてつい先日、認定カードとバッヂが届いたとのことで、取りに行ってきた。 検定を受けてから、バーのメニューやワインショップに並んでいるワインを見て、面白くなってきた。「ここに書いてあるのはぶどうの種類なんだ」「じゃぁここに書いてあるのは農場の名前かな」とか。 これからワインをもっと美味しく飲めるようになった気がする。

ランダムな文字列を生成するPythonスクリプト

randomモジュールを使ってパスワードのようなランダムな文字列を作成してみる。 ベースとなる文字列はとりあえず簡単に数字とアルファベットを考える。 stringモジュールに数字、アルファベットの定数が定義されているのでそれを使う。 import string source = string.digits + string.letters random.choiceメソッドは渡されたシーケンスからランダムに選ばれた要素を返す。文字列も文字のシーケンスだから、ベースとなる文字列を渡すとランダムな文字が得られる。 import random s = '' s += random.choice(source) これを作成したい文字列長分繰り返して、取得した文字をつなげればランダムな文字列になる。文字列長をlengthとすれば以下のような感じ for i in range(1, length): s += random.choice(source) まとめると import string import random def gen_random_string(length): source = string.digits + string.letters s = '' for i in range(1, length): s += random.choice(source) return s