タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

algorithmとPythonとstudyに関するraimon49のブックマーク (12)

  • macOSの暗号化zipの話の続き - NFLabs. エンジニアブログ

    はじめに こんにちは。事業推進部でOffensive Teamを担当する永井です。 今回はアドベントカレンダーの11日目として、前回投稿した「macOSの暗号化zipファイルはパスワードなしで解凍できる」という記事に寄せられたコメントのうち、特筆すべきものをピックアップして回答していきます。 前回の記事を読んでいない方や、もう覚えてないという方は是非前回の記事を見てから続きを読んでいただければと思います。 Q. 正解するまでbkcrackを回さなくてもzip内のCRC32値と比較すれば良いのでは? はい、その通りです。 筆者が前回の記事を書いている時には完全に失念していましたが、zip内にはファイル破損を検出するためにCRC32形式のハッシュ値が含まれています。そのため、bkcrackを正解パターンを引くまで都度回さなくても簡単に正解の.DS_Storeを見つけ出すことができます。 実際に

    macOSの暗号化zipの話の続き - NFLabs. エンジニアブログ
  • ブロックチェ-ンを構築しながら学ぶ | POSTD

    ブロックチェ-ンの仕組みを知るには構築するのが最短の方法 この記事を読んでいるということは、仮想通貨の拡大に興奮しているということですね。ブロックチェ-ンの仕組み、背後にある基的なテクノロジーについて知りたいのでしょう。 しかしブロックチェ-ンを理解するのは簡単ではありません。少なくとも私にはそうでした。大量の動画の中をさまよい、抜けだらけのチュートリアルに従い、結局、実例が少なすぎてフラストレーションが大きくなりました。 私は手を動かして学ぶのが好きです。コードのレベルで内容を扱わざるを得なくなり、そうすることで身に付くからです。同じようにやってもらえば、この解説が終わる頃には、機能するブロックチェーンが出来上がり、どのように動くかがしっかりと把握できるようになるでしょう。 準備 ブロックチェ-ンとはブロックという名の 不変でシーケンシャルな 一連のレコードだということを覚えてください

    ブロックチェ-ンを構築しながら学ぶ | POSTD
    raimon49
    raimon49 2017/12/08
    休暇中に書いてみよう。
  • 画像処理入門講座 : OpenCVとPythonで始める画像処理 | POSTD

    この記事を書くに至ったきっかけ Recruse Centerでは、私は、画像処理の勉強に時間を費やしていました。独学をし始めた頃は、何をするものなのか全く理解しておらず、ただ、文字や輪郭、模様などを識別するのに役立ち、これらで面白いことができる、ということくらいの知識しかありませんでした。 私の情報源は、主にWikipediaや書籍、公開されている大学の講義ノートです。これらの資料に慣れ親しんでくるにつれ、画像処理の世界における基礎を伝えられる「入門向け画像処理」を望むようになりました。 これが、この記事を書こうと思ったきっかけです。 前提条件 この記事は、Pythonが扱えるということを前提に書いています。その他の事前知識は必要ありませんが、NumPyや行列計算に慣れていると理解しやすいでしょう。 初めに 使用するのは、PythonOpenCVPython 2.7 ^(1) 、iPy

    画像処理入門講座 : OpenCVとPythonで始める画像処理 | POSTD
  • RubyとPythonの違いからガベージコレクタを理解する - ワザノバ | wazanova.jp

    http://patshaughnessy.net/2013/10/24/visualizing-garbage-collection-in-ruby-and-python Pat Shaughnessyが、ブタペストで開催されたRUPY2013でのプレゼンの前半を自らのブログで紹介しています。 ガベージコレクタは、「ゴミを集める」という行為だけでなく、「新しいオブジェクトのためにメモリをあてがう。」「不要なオブジェクトを見つける」「不要なオブジェクトからメモリを取り戻す。」という、人間の心臓が血液を浄化するような働きをしている。 この簡単なコードサンプルを見ると、RubyPythonの記述はよく似ているが、それぞれの言語の内部でのインプリの仕組みは違う。 1) Rubyのメモリ Rubyは、コードが実行される前に、数千のオブジェクトを先につくり、それをリンクされたfree listに置

    raimon49
    raimon49 2013/11/16
    CPythonは参照カウント方式。その2には世代別GCの話題も。
  • 言語のGC機能と参照カウント (前編) - moriyoshiの日記

    たまにはちゃんと書いたほうがいいかなと思って書いてみる。 あらまし 原始的な参照カウントベースのガーベジコレクションは、循環参照が発生すると、その参照に含まれるオブジェクトを回収できないという厄介な問題を抱えている。循環参照とは、1つ以上のオブジェクトが環状の参照関係を形成している状態のことで、このような参照を持つオブジェクトは、やがてルート (ある時点で言語ランタイムが管理しているすべてのスコープと考えてもいい) から辿りつけなくなって、解放されずにリークしてしまう。 この問題はいろんな LL 言語に見られる。 Perl の場合 use Devel::Peek qw(Dump); sub make_circular { my $foo = {}; my $bar = {}; my $baz = {}; $foo->{'bar'} = $bar; $bar->{'baz'} = $baz;

    言語のGC機能と参照カウント (前編) - moriyoshiの日記
    raimon49
    raimon49 2012/04/05
    循環参照 参照カウント or mark and sweep
  • メールアドレスの正規表現がめちゃめちゃ遅くなることがある件について - 木曜不足

    Solr 3.5 から新たに加わる言語判定機能に、拙作の言語判定ライブラリ langdetect が正式に採用されたようで。 言語判別機能の追加 (Solr 3.5) http://lucene.jugem.jp/?eid=455 LanguageDetection - Solr Wiki http://wiki.apache.org/solr/LanguageDetection もともと Apache Nutch などの言語判定に不満で作り始めたこと、そして実際に社内(サイボウズ)で langdetect を Solr に組み込んで利用していることを考えれば、懐と言ってもいいくらい。 ありがたや。 でも、今日の話はそっちではなくて。 その langdetect の Issue Board にて教えていただいた「メールアドレスの正規表現がめちゃめちゃ遅くなることがある」件について。 論よ

    メールアドレスの正規表現がめちゃめちゃ遅くなることがある件について - 木曜不足
    raimon49
    raimon49 2011/10/29
    ありがちな「メールアドレスっぽいもの」を判定する正規表現パターンで学ぶオーダーの違い。正規表現エンジンに鬼車を採用するRubyではエイリアス部に文字制限を入れてもパフォーマンスが変わらない。
  • Pythonで末尾再帰最適化をする。 - IT系で覚醒めたい

    Pythonは最強ですね。文法はチョー簡単、ライブラリも充実度がすごい、それでいてメタプログラミングができる。そのメタプログラミングを使うと末尾再帰最適化までできるそうです…おそろしやNew Tail Recursion Decorator « Python recipes « ActiveState Code class tail_recursive(object): def __init__(self, func): self.func = func self.firstcall = True self.CONTINUE = object() def __call__(self, *args, **kwd): if self.firstcall: func = self.func CONTINUE = self.CONTINUE self.firstcall = False try:

    raimon49
    raimon49 2011/01/23
    デコレータで再帰を最適化するレシピ。
  • 勉強会発表「プログラマのためのHadoop入門」 - 科学と非科学の迷宮

    id:kaigai の主催する勉強会で発表してきました。 Hadoop for programmerView more presentations from shiumachi. 答えられなかった質問 Shuffleフェーズって、ソートをどういう仕組みでやってるの? データ全部をなめてるの? Partitionerというクラスでデータを振り分けてる。タスクごとは独立してるのでデータをまたがってアクセスすることはないと思う。でも細かいことはちょっとわからない。 Map中にデータ追加したらどうなるのか? さすがに扱うデータは最初に決めていると思うが、やったことないのでわからない。 Streamingって具体的にどんな処理してるの? jarファイルは投げてるけど、実行時に使うスクリプトはどうやって投げてるのかわからない。 あとで調べときます。 今の世の中に出てるHadoopって構築とか運用の話

    勉強会発表「プログラマのためのHadoop入門」 - 科学と非科学の迷宮
    raimon49
    raimon49 2010/09/16
    Hadoopの使いどころはメモリに載らないサイズの大規模データを扱う場面。関数型プログラミングのmap()とreduce()に当てはめるとバッチ処理のイメージがし易い。とても分かり易い資料。
  • Pythonでアルゴリズム - Konnichiwa, A doumo

    これはなんですか? 奥村晴彦氏の著書「C言語による最新アルゴリズム事典」をPythonでやろうと決意。Rubyに翻訳されていたので、Pythonでもやってみようと。でも実は書籍はもっていなくてCとRubyのソースを見つつ翻訳しています。1日1個ペースで進んでいます。 やっているうちにこのが欲しくなってきました。 個人のPython力を高めるために始めましたので、間違いが含まれているかもしれません。ご指摘等ございましたら連絡[syobosyobo at gmail dot com]ください。 ちょっと方針をかえて、ctopyで訳すことにした。またまた方針をかえて、、、ctopyはあまりつかえない。ちょっといじってやらないと、出力がよくない。コメントとか入ってると、うまく変換してくれないし。 で、そのあとPythonらしい書き方で書いていこう、かと。どうなるかわかりませんが。

    raimon49
    raimon49 2010/06/25
    Cから翻訳。
  • 続・話すようにプログラムするPythonチュートリアル - なんたらノート第三期ベータ

    話すようにプログラムするPythonチュートリアル - なんたらノート 第二期の続きです。前回は努力と根性でどうにかなるところまでやりました。今回は、前回再び泥臭いコードになってしまったプログラムを、もっと綺麗にしてみようと思います。 前回はできるだけ一般的な言葉で説明してみました。今回は、既存の概念とそれに対するよりPython的な方法を説明します。前回が知恵と根性なら、今回は知識の力を借りよう、という感じ。標準には含まれていませんが、とても便利なのでPythonデコレータが熱い - なんたらノート 第二期で紹介した、decoratorモジュールも活用します。 デコレータで質/属性の分離 Python2.4から、デコレータ記法が増えました。例のdefの前の@です。以前から、「関数を入力して関数を出力する関数を使って、既存の関数を書き換える」というトリック(デコレータの質はコレ)はあり

    続・話すようにプログラムするPythonチュートリアル - なんたらノート第三期ベータ
    raimon49
    raimon49 2010/06/01
    デコレータ, itertools, メモ化。何回か読み返したい。
  • 話すようにプログラムするPythonチュートリアル - なんたらノート第三期ベータ

    Pythonでえらくハッキッシュなコードを書き散らして遊んだ 3の倍数と3が付く数字だけアホになり、5の倍数だけガルマっぽくなるスクリプトにチャレンジ - なんたらノート 第二期 うえ、他人のエッセイをえらくこき下ろし OOコード養成ギブス - rants OOコード養成ギブスとやらが人気らしい。 - なんたらノート 第二期 て、われながら生産性のないやつだと思うので、ここは逆に、Pythonチュートリアルをひとつ書いてみようと思います。 まず最初に、こんなプログラムがあったとさ。 #素数の数列を返すアルゴリズム def prime_numbers_until(limit): prime_numbers = [] for n in range(2, limit): divider_found = False # 1より大きくその数より小さい範囲で調べる for m in range(2,

    話すようにプログラムするPythonチュートリアル - なんたらノート第三期ベータ
  • Algorithms with Python

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

    raimon49
    raimon49 2009/04/28
    Algorithms with Python
  • 1