タグ

ブックマーク / www.hexacosa.net (10)

  • autopep8 version 2.0を目指して | hexacosa.net

    autopep8は初版であるバージョン0.1 をリリースしてから7年程経過していて、 2018年09月現在のバージョンは1.4 である。 Pythonのオートフォーマッタ界隈は割と戦国時代で、autopep8の他にも、 非公式だがGoogle傘下のyapf 、 ここ最近急速に人気を博してきている Black なんかがある。 GitHubスター数でいくとyapfもBlackもautopep8を遥かに凌駕している。 yapf 初期コミットは2015年頃。 autopep8にも一時期コミットしていただいてたメンバーがいて面白い。確かグーグラーのはず。すげぇ。 autopep8の動作に嫌気が差したのかもしれない。 どちらかというとPEP8にフォーマットするというより、定義したスタイルにフォーマットするという用途の模様。 yapfのREADMEを見るとgofmtっぽいとも書いている。 Black 初

  • pit in Rust | hexacosa.net

    Rust 版 pit を書きました。 https://github.com/hhatto/pit-rs 最近コマンドラインツールをよく書いていて、 パスワード等を扱うことが多くなってきたので必要にかられて書きました。 以下のような形で使えます。 [dependencies] pit = { git = "https://github.com/hhatto/pit-rs", branch = "master" } extern crate pit; use pit::Pit; fn main() { let p = Pit::new(); let config = p.get("twitter.com"); match config { None => { println!("not provide config value"); return; }, Some(_) => {}, } le

    darwinia
    darwinia 2017/12/29
    書いた
  • peg-rstを書きました | hexacosa.net

    公開してから日が空いてしまったのですが、 少し前にCのreStructuredTextパーサであるところの peg-rst をリリースしました。 「今までなかった情報は英語で記事を書く」みたいなことを言っておきながら、 英語書くの億劫だしなぁとか思ってたら日が経ってしまいました。 書かないぐらいならせめて日語で書こうってことで、今キーボードを叩いてます。 以前、GoのreStructuredTextパーサ gorst を書いて、今もメンテナンスしていますが、 もともとCのMarkdownパーサからGoMarkdownパーサに移植したものをベースにつくったので、 reStructuredTextでGoからCにまた移植できるかなぁと妄想しつつやっと手をつけた感じです。 まだまだバグは多いですが、細々とメンテナンスしていきたいなと思います。 バグ報告でもよいので、気軽に使ってフィードバックい

    darwinia
    darwinia 2017/07/21
  • 「どうしてもRustでISUCONに参加したい」というあなたに | hexacosa.net

    残念ながら ISUCON6 では Rust の参考実装は提供されないのですが、 「おれ、どうしてもRustでISUCONに参加したいんだよね」という方や 「なんか他のチーム出し抜く最終兵器的なのないかなぁ」という方のために、 Pixivさんの社内ISUCON2016 用のRust参考実装を書いてみました。 https://github.com/hhatto/pixiv-isucon2016-rust これをベースにすればRustでISUCONに参加することも夢ではないと思います。 ただし、ベンチマーカーでのテストはfailがでないことを確認済みですが、 一部手抜き実装があり他の参考実装の通りの機能要件は満たせていないと思いますので、 その点はご容赦を。 パフォーマンス t2.microインスタンスでベンチマーカーとアプリを全て動かして測定した結果は以下の通りです。 go -- {"pass

    darwinia
    darwinia 2016/09/07
    書いた
  • woothee-rustを書きました | hexacosa.net

    woothee の Rust 実装であるところの woothee-rust を書きました。 woothee プロジェクトというのが存在するというのを知ったのが去年末くらいで、 Rustの勉強にちょうど良さそうと考えてやっと手をつけて3日くらいかけて実装しました。 実装に際しては woothee-go と woothee-python を参考にさせていただきました。 使い方 Cargo.toml [dependencies] woothee = "*" example.rs extern crate woothee; use woothee::parse; fn main() { let result = parse("Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0)"); println!("{:?}", res

    darwinia
    darwinia 2016/05/10
    woothee-rustについて書いた
  • gocloc - fast cloc implementation | hexacosa.net

    使い方 $ go get -u -v github.com/hhatto/gocloc $ gocloc . ------------------------------------------------------------------------------- Language files blank comment code ------------------------------------------------------------------------------- Go 8 97 16 810 Bourne Shell 9 65 161 270 Markdown 1 20 0 144 YAML 1 2 0 8 -----------------------------------------------------------------------------

    darwinia
    darwinia 2016/04/06
    goclocについて書いた
  • GoのreStructuredTextパーサgorstをリリースしました | hexacosa.net

    タイトルどおりですが、GoのreStreucturedText実装を作ってみました。 https://github.com/hhatto/gorst 以前 GoMarkdown live previewerのftcatってのを作った のですが、 リリースしたあとくらいに reStructuredText でも使いたいよなーって思ってました。 よしGoのreSTパーサ作ろうと思って 10月下旬にGitHubに空のリポジトリだけ作って 、 どこから手をつけたらいいのやらってグダグダ考えてほったらかしになっていたのですが、 2月に入ってちびちびと余暇の時間を使って進めて、やっと公開できるレベルになって公開したのが先日2/18でした。 使い方 現在はreSTからHTMLへの変換のみ対応しています。 現状はHTML以外のフォーマットに対応させる予定はありません。 $ go get github.c

    darwinia
    darwinia 2015/02/24
    gorstについて書き残した
  • The Last Line Effect (日本語訳) — The Last Line Effect 日本語訳

    私はコピーアンドペースト(いわゆるコピペ)に起因するいくつかのエラーが 起こる事を学びました。 似たようなコードブロックの最後の行でプログラマがよくミスをするのを確信しました。 プログラミング書籍内でこの現象について書かれていた記憶が無いので、私が書く事にしました。 この現象を “ラストライン効果(last line effect)” と呼びます。 はじめに¶ 私の名前はAndrey Karpovです。私は少し変わった仕事をしています。 具体的には、静的解析ツールを使用して様々なアプリケーションのコードを解析し、 エラーや欠陥について詳細をまとめています。 私は実用的かつ金銭的理由でこれを行なっています、なぜなら 私たちの会社のツールであるPVS-StudioとCppCatの広告のひとつとしてこれを行なっているのです。 これらの仕組みはとてもシンプルなものです。私がバグを発見します。それを

  • BitTorrent SyncをLinuxに導入する | hexacosa.net

    ドキュメントあります が、インストールメモを。 $ wget "http://btsync.s3-website-us-east-1.amazonaws.com/btsync_i386.tar.gz" $ tar tzvf btsync_i386.tar.gz -rwxrwxr-x sync_build/sync_build 3241548 2013-05-08 22:54 btsync -rw-rw-r-- sync_build/sync_build 155 2013-05-07 23:16 LICENSE.TXT $ tar xzf btsync_i386.tar.gz btsync btsync がバイナリ。 --dump-sample-config オプションで設定ファイルのテンプレートを 表示することができます。それを参考に設定ファイルを作成します。 私の場合は以下のような設定に

    darwinia
    darwinia 2013/05/12
    書いた
  • RubyのCinchを使ってIRCボットを作る | hexacosa.net

    Rubyで簡単にIRCボットつくれないかなーってことでたどり着いたのが Cinch 。 10秒間隔でNOTICEメッセージをしゃべる例 require 'cinch' class HelloPlugin include Cinch::Plugin timer 10, method: :say_hello def say_hello Channel("#pgmagick").notice "hello world" end end bot = Cinch::Bot.new do configure do |c| c.nick = "cinch_timer" c.server = "irc.freenode.org" c.channels = ["#pgmagick"] c.plugins.plugins = [HelloPlugin] end end bot.start

    darwinia
    darwinia 2012/09/04
    rssおかしいので手動で配信しとこう
  • 1