タグ

ブックマーク / www.timedia.co.jp (8)

  • GHOST 脆弱性は如何様に使うのか | Webシステム開発/教育ソリューションのタイムインターメディア

    先日 GHOST と呼ばれる glibc の脆弱性が発表された。なんでも、「リモートから任意のコードを実行できる可能性がある」らしいではないか。しかも様々なプログラムで利用されているライブラリ部分の問題とあって、影響範囲がとても広い。なかなか厄介なことである。 はて、しかし一体全体どうやってリモートから任意のコードを実行しようというのだろう? 話を聞くに、たかが数バイトの情報を範囲外のメモリに書き込める可能性があるだけだという。実際それだけのことでサーバーの乗っ取りなどできるものなのだろうか。そんなわけで、その疑問に答えるべく、記事では以下の URL で解説されている実際の攻撃方法を若干端折って紹介してみようと思う。 http://www.openwall.com/lists/oss-security/2015/01/27/9 なお、記事はこの脆弱性そのものに対する緊急度などについて言

    GHOST 脆弱性は如何様に使うのか | Webシステム開発/教育ソリューションのタイムインターメディア
    Hash
    Hash 2015/01/31
  • JavaScript でオセロを実装する(遅延評価編) | Webシステム開発/教育ソリューションのタイムインターメディア

    これまでのあらすじ 新人の力量を測るための課題としてオセロの作成を指示したが、 指示した当人が作れないようでは話にならないので実際に作り始めた。 一先ず盤面が4×4で黒も白も人間が指す一人二役の寂しいオセロは実装できたのだが、 快適に遊ぶには大きな問題が潜んでいたのであった。 実は4×4で既に重い問題 実際に前回作成したオセロを実行すると、 ゲームが遊べるようになるまでに割りと待たされます。 それもそのはずで、あの実装は ゲーム中で取り得る局面を予め全て列挙 していたからです。 しかも4×4という最小限の盤面のオセロですらゲーム中に出現し得る局面 = ゲーム木に含まれるノード数は 284,881個 あります(※回転すると同じになる盤面等は個別に数えて、同一盤面でも手番のプレイヤーが異なるなら別と数えて、パスした場合も1個と数えています)。 そりゃあ待たされるに決まってますし、無闇矢鱈にメモ

    JavaScript でオセロを実装する(遅延評価編) | Webシステム開発/教育ソリューションのタイムインターメディア
    Hash
    Hash 2013/07/10
    kana1さんだ!
  • Vimのgfコマンドをgit diff特有の出力でも上手く扱うようにする | Webシステム開発/教育ソリューションのタイムインターメディア

    問題 八百万あるVimのコマンドで特に有用なもののひとつとしてgfがあります。 このコマンドはカーソル下にあるファイル名らしき文字列を探し、 該当するファイルがあればそれを開くというものです。 gf はカーソル下にあるファイル名らしき文字列をそのまま使うだけでなく、 特定のディレクトリ下にあるかどうか検索(例えばC言語でなら /usr/include や ./include を検索)したり、 特定の拡張子を付加して検索(例えばJavaなら SomeClass のファイル名は SomeClass.java なので、 .java を付加して検索)することができ、 そこそこ賢く動いてくれます。 さて、日常的に git を使っている身としては 日常的に git diff の出力を眺める機会も多いです。 「git diff の出力を眺めて変更のあったファイルを開く」ということも頻繁に行います。 これ

    Vimのgfコマンドをgit diff特有の出力でも上手く扱うようにする | Webシステム開発/教育ソリューションのタイムインターメディア
    Hash
    Hash 2012/08/05
    設定した
  • モナド: お前はもう知っている | Webシステム開発/教育ソリューションのタイムインターメディア

    はじめに 過去に私がHaskellを学び始めた時、 真っ先に疑問に思ったことはモナドの存在だった。 当時は全くと言っていいほど理解できなかったが、 最近Haskellを学び直して ようやく理解することができた(と思う)。 という訳で、現時点での私のモナドへの理解を示すためにこの記事を書く。 ここではモナドの質が何なのか概要を示す。 正確な説明は数多あるモナドについてのチュートリアルを参照されたい。 Hellow World問題: IO, Monad, fail 新しい言語を学ぶ時、まず間違いなくHello Worldを書くだろう。 HaskellでHello Worldを書くとこうなる: この1行だけを見ると普通の命令型言語と大して変わらないように思える。 ところでHaskellには強力な型推論がある。 そのため型宣言を省略しても処理系がよしなに解釈してくれる。 ただ普通はコードの意図す

    モナド: お前はもう知っている | Webシステム開発/教育ソリューションのタイムインターメディア
    Hash
    Hash 2012/08/05
    "Haskellでは空気のようにモナドを使うが、これは言語として陽にモナドを取り扱うことができること..." "モナドの本質は「本当にやりたいこと」の連鎖と「裏方作業」の隠蔽だ。" "jQueryでは. Haskellでは>>="
  • モナドを実装する(Vim script編) | Webシステム開発/教育ソリューションのタイムインターメディア

    発端 モナドの正体が分かると、 次はモナドを実装してみたくなるものです。 前回は試しに Python でモナドを実装してみましたが、他の言語でも実装できないことはありません。 ただクロージャや部分適用が簡単に使えない言語では質的でないところで苦労する羽目になるので、前回は Python を使いました。 という訳で今回は “エディター界のPHP” でお馴染みの Vim script でモナドを実装することにしましょう。 なお、今回作成した Vim script によるモナドの実装は GitHub で公開中です。 方針 最初に Maybe のようなモナドの具体例を実装するためのフレームワークを作っておいて、次に Maybe の実装例を示すことにしましょう。 Vim script はプログラミング言語として見る分には貧弱ですが、 dictionary (他の言語で言うところのマップ/ハッシュテ

    モナドを実装する(Vim script編) | Webシステム開発/教育ソリューションのタイムインターメディア
    Hash
    Hash 2012/08/05
    VimscriptでMonadを実装
  • gitでアレを元に戻す108の方法 | Webシステム開発/教育ソリューションのタイムインターメディア

    以前gitで一度行った変更をなかったことにする方法4つを紹介しましたが、 日常的に git を使用していると他にも様々な 「なかったことにしたい」「元に戻したい」 という状況に遭遇します。 そのひとつひとつについて対処方法を紹介していきます。 目次 問題1: ライブラリの新機能を試すためにあれこれ適当なコードを書いてみた。でももう要らない。問題2: トピックブランチをマージしたけど実はまだ不完全だった。マージをやり直したい。問題3: リリース後に発覚したバグ。原因は30日前に自分が行ったコミットだった。なかったことにしたい。問題4: 新しいコミットしようとして間違えてgit commit –amendで書き換えてしまった。元に戻したい。問題5: 色々作業していたら作業ディレクトリの内容が混沌としてきた。一度綺麗な状態にしたい。問題6: 作業ディレクトリにゴミファイルが溜まってきた。一度綺麗

    gitでアレを元に戻す108の方法 | Webシステム開発/教育ソリューションのタイムインターメディア
    Hash
    Hash 2012/03/02
  • 株式会社タイムインターメディア|operator, the true power of Vim

    これは2008-11-22に開催されたVimM#3で発表した「operator, the true power of Vim」に加筆修正をしたものです。VimMというのはテキストエディタVimについての勉強会で、2008-07-20の#1を発端として不定期に開催されています。そろそろ#4をやりたいのですが、時期や会場などどうするかで悩み中。 Vim使いの成長過程 例えば今からPerlを使い始めたとしましょう。一体どれだけPerlに対する造詣が深くなればPerlプログラマとしての一人前なのでしょうか? 使い始めたばかりの立場からすれば、自分が今どの段階にいるのか把握することができるのであれば、次にすべきことを判断する上でこれほど有用なものはありません。もちろん、この問いは「一人前」の基準をどこに設定するかで答えが大きく変わってきますし、あなたの目的が何なのかによっても異なります。sedでやる

    Hash
    Hash 2011/10/22
  • 株式会社タイムインターメディア|社員リレーブログ

    2009/04/14 00:00:00random tips on Vim当はVimについて腐る程書き散らそうかと思いましたが、文章にまとめるのは案外労力を伴うので疲れました。という訳で適当なtipsを書き並べて済ませます。 : vs ; noremap ; : noremap : ; Vimの諸悪の根源はExコマンドなのですが、まあそれはそれとして、使う機会は決して少なくありません。その割にCommand-line modeに入るためのキーは:で、これを入力するにはUS配列ではShiftを押下する必要があり、JIS配列では右手小指をホームポジションから移動しなければなりません(QWERTY配列を仮定。他の配列の場合は適宜読み替えること)。非常に効率が悪いですね。 という訳で:と;を入れ替えましょう。これでホームポジションから移動することなく、またShiftを押下することなくComman

    Hash
    Hash 2009/10/02
    kanaさん!
  • 1