タグ

2017年12月4日のブックマーク (22件)

  • Cgoを使ったパッケージと「Docker as Bug Report/Reproduce」というOSS運用について - DRYな備忘録

    このエントリはGo2 Advent Calendar 2017 - Qiitaの4日目です。 2017年は、着実にエロリツイート先生として実績を上げた1年でした、otiai10です。WETな方もよろしくお願いします。 Cgoを使った文字認識ライブラリがv2になりました 🎉 Go言語には、Cgoという、Go言語からC/C++を叩いたり、C/C++からGoを叩いたりできる機能があります。(参考: Go言語のcgoことはじめ) 僕自身、Goを書き始めたぐらいから、有名な文字認識ライブラリであるTesseract-OCRのラッパーパッケージをGoで作っていたんですが、作り始めた当初はGoの知識もCの知識も無くて、ただのコマンドラッパー(つまりtesseractのbinへPATHが通ってる環境で、stdout/stdinのバッファを介する入出力)の部分がありました。これはかっこよくない。 ので、苦

    Cgoを使ったパッケージと「Docker as Bug Report/Reproduce」というOSS運用について - DRYな備忘録
    mapk0y
    mapk0y 2017/12/04
    [golang]
  • ちょっとしたツールを作るのに便利なPythonライブラリ - Qiita

    この記事は、LIFULL Advent Calendar 2017の2日目の記事です。 おはようございます。新UX開発部の二宮( @ninomiyt )です。 LIFULLではデータ解析や最適化の用途、もしくはAWS Lambda上の簡易ツール実装用途などでPythonがそれなりに普及してきました。数値計算寄りの(いわゆるデータサイエンティスト的な)メンバーも今はPythonを使うことが多く、コード量としては小規模なプロジェクトが多く、簡単なAPIやバッチ処理の実装までやってもらうこともあります。 そのレビューをやっていく中で、「これ使うともっと簡単に実装できるよね」っていうライブラリがいくつかまとまってきたので紹介します。 click コマンドラインパーサー用のライブラリで、デコレータを使って関数を簡単にCLI化できます。 標準ライブラリのargparseがありますが、clickではバリ

    ちょっとしたツールを作るのに便利なPythonライブラリ - Qiita
  • AWS FargateでとりあえずMastodonを動かしてみる - Qiita

    先日こんな記事を見かけて、 Kubernetesの学習のためにMastodonを構築したら勉強になった | ハラミTech Web, Worker, Websocketと要素が揃っているMastodonのスタックをXXで動かしてみる、というのは感触をつかむのによいなと思いました。 で、じゃあAWS Fargateではどうかなと、このようにしてみました。 事前準備 Dockerコンテナ以外で、マネージドサービスで揃えられるものは優先的にそちらを使用します。 AWSで用意 VPS (既存でも新規でも) RDS (Postgresで起動) ACMで証明書 (ALBに適用する) ALB TargetGroup-web (HTTP/3000) TargetGroup-stream (HTTP/4000) S3バケット (PAPERCLIP Wikiのポリシー適用が楽) Redis => Redis

    AWS FargateでとりあえずMastodonを動かしてみる - Qiita
  • サイボウズ・青野慶久社長が語る夫婦別姓訴訟「伝統ってなんでしょう? いま、ちょんまげで歩いている人はいません」 | 文春オンライン

    結婚した後の「旧姓使用」に法律的な根拠を与えられるか――。いわゆる選択的夫婦別姓をめぐる訴訟の準備が行われている。その原告となった一人が、グループウェア「サイボウズOffice」などを手がけるソフトウェア会社「サイボウズ」の社長・青野慶久氏だ。 なぜ裁判を起こすことになったのか。サイボウズ社で青野社長に話を聞いた。 青野 私が結婚したのは2001年。1997年に創業したサイボウズが2000年に上場しましたので、その翌年ということになります。結婚する際、からは「姓を変えたくない」と要望があったので、正直あまり深く考えずに「じゃあ私が変えます」と応じたのがコトの発端でした。戸籍上、私はの姓・西端になったのです。それからが当に大変でした。公的な文書はもちろん、クレジットカードからポイントカードまで、財布の中身は全部書き換え。社内では現在に至るまで「青野」で通していますけど、株主総会では「

    サイボウズ・青野慶久社長が語る夫婦別姓訴訟「伝統ってなんでしょう? いま、ちょんまげで歩いている人はいません」 | 文春オンライン
  • digdag0.9.21のretryは_retryの定義位置によって挙動が異なる - Qiita

    digdagのretryは大変便利です。 例えば、それなりの確率で500statusをレスポンスしてくるAPI 1 にrequestを送る処理を含むscriptを実行するtaskを作るようなケースでも、実際に動作させるcodeにリトライを仕込まなくても自動でtask単位でretryさせることができます(もちろんoperatorの処理結果がErorrにならないとダメですが)。 ですが、最近いろいろと検証していたところ、_retry を定義する階層の違いによって、retry時の挙動に違いがあることに気づいたので、検証した結果をまとめてみます。 2018/03/27追記 https://github.com/treasure-data/digdag/pull/738 のPRにてtask groupのretry時の挙動が修正されました 2018/01/07追記 task groupのretry用t

    digdag0.9.21のretryは_retryの定義位置によって挙動が異なる - Qiita
  • go-memcached-toolを書いていた | おそらくはそれさえも平凡な日々

    はてなエンジニア Advent Calendar 2017の3日目です。 昨日は、id:y_uuki さんによるウェブシステムの運用自律化に向けた構想 - 第3回ウェブサイエンス研究会でした。 さて、memcachedにはmemcached-toolというツールが同梱されています。 https://github.com/memcached/memcached/blob/master/scripts/memcached-tool これを、今回(実は大分前に書いていたのですが)、Goに移植しました。 https://github.com/Songmu/go-memcached-tool 以下のようにインストール可能ですが、GitHub Releasesにも置いてあります。 % go get github.com/Songmu/go-memcached-tool/cmd/go-memcached

    go-memcached-toolを書いていた | おそらくはそれさえも平凡な日々
    mapk0y
    mapk0y 2017/12/04
    便利そう。ただ、dump(cachedump) は memcached の仕様で 2M までが上限のはずなのでこの方法ではゴソッととは行かないはず
  • 弄りながらなんとなく学ぶLinuxのスラブアロケーター - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ

    この記事はLinux Advent Calendar 2017の1日目の記事です。Linuxのスラブアロケーター仕組みを多少弄りながら学んでみます。 スラブアロケーターとはなんぞやというところはSlab allocation - Wikipediaを参照してください。スラブアロケーターはSolaris5.4で最初に実装されたようです。 Linuxカーネルプログラミングで動的にメモリを確保するのに使用するkmalloc()もスラブアロケーターを使用しています。 目次 Linuxのスラブアロケーター SLAB SLUB SLOB 各スラブアロケーターのまとめ 実装 スラブ用のページ 弄ってみる 最低限必要な準備 実装開始 データ構造 ロック 初期化 kmem_cache_create() スラブオブジェクトのアロケート スラブオブジェクトのfree 実験 ボトルネック この後 Linuxのスラ

    弄りながらなんとなく学ぶLinuxのスラブアロケーター - φ(・・*)ゞ ウーン カーネルとか弄ったりのメモ
  • Vim の DirectX を速くした話 — KaoriYa

    先日の記事 に書いたとおり Vim のカラー絵文字パッチにより、 DirectX (正確には DirectWrite) を用いた画面描画がめちゃくちゃ速くなりました。 その記事にはこんなことを書いていましたね。 そして僕は大きな間違いに気がついた。 詳細を説明はしませんが、一言で言えば「Vimは標準的なWin32アプリではない」 このあたりをちょっと詳細に説明してみようと思います。 なので Vim の話でありながらほとんど Windows の話になります。 しかも無駄に長くなりそうです。(実際なった) なおこの記事は Vim Advent Calendar 2017 3日めの参加記事です。 遅かった理由 速くなった理由を知るには、その前の遅かった理由を知る必要があるでしょう。 まずはそれを見ていきましょう。 DirectWrite には大きく分けて2つの描画方法があります。 GPUの性能を

    mapk0y
    mapk0y 2017/12/04
  • Raspberry Pi で簡単にネットワークブートができるようになったよ,という話 - Qiita

    Raspberry Pi Advent Calendar 2017 2日目です. 結論 SDカードにbootcode.bin (49kBほど) というファイルを置いておくだけで,全バージョンのRaspberry Piで ネットワークブート USBストレージブート ができます. サーバの設定などは Network Boot Your Raspberry Pi - Raspberry Pi Documentation を参考にしてください. 経緯 まずRaspberry Piのブートは,おおまかには3段階からなります. 1段目 Raspberry PiのSoCにはROMが載っており,ここにファームウェアが書き込まれています. Raspberry Piに電源が投入されると,まずこのROM内のファームウェアがメモリに読み込まれます. 読み込まれたコードはGPUにあるVPUというプロセッサによって実

    Raspberry Pi で簡単にネットワークブートができるようになったよ,という話 - Qiita
    mapk0y
    mapk0y 2017/12/04
  • Uber Paid Hackers to Delete Stolen Data on 57 Million People

    Connecting decision makers to a dynamic network of information, people and ideas, Bloomberg quickly and accurately delivers business and financial information, news and insight around the world

    Uber Paid Hackers to Delete Stolen Data on 57 Million People
  • 技術書出版ラムダノート

    いつもご来店ありがとうございます。計算機好きのための技術解説情報誌『n月刊ラムダノート』Vol.4 No.1の発売開始のお知らせです。号は以下の3つの記事でお送りします。 継続して発生するデータを即座に処理していくシステムに共通する考え方から作り方までを端的に駆け抜ける「手を動かして学... TLSとPKIの実像を理解し、サーバとアプリを安全にする Ivan Ristić 著、齋藤孝道 監訳 488ページ B5判 ISBN:978-4-908686-19-1 電子書籍の形式:PDF 2023年12月4日 第2版第1刷 発行 現代生活を支えるインターネットでは暗号化が不可欠です。しかし実際にサーバやアプリで通信の暗号化を適切に利用するには、暗号化アルゴリズムの知識だけでなく、セキュリティプロトコルであるTLSとそのWebでの応用、さらには基盤となる信頼モデルであるPKIについての幅広い知識

    技術書出版ラムダノート
  • オーム社電子書籍直販サービス終了に関して:Geekなぺーじ

    オーム社が電子書籍直販サービスを終了するというお知らせがでていました。 同社では、マスタリングTCP/IP RTP編(2004年)、インターネットのカタチ(2011年)、マスタリングTCP/IP OpenFlow編(2013年)の3冊で関わらせていただいたこともあり、今回廃止される電子書籍直販サービスで拙著も販売されていました。 オーム社eBook Storeサービス終了のお知らせ 電子書籍直販サービスが終わるということは、ネット上で話題になっていることで知りましたが、「そのうちこうなるだろうと思っていた」ということが起きました。 10月29日に「運営スタッフ退任のお知らせ」というお知らせが出ており、eBook Store企画運営担当の森田さんが「運営スタッフ退任」とあります。 そのお知らせからは社内異動のようにも読めますが、実際は運営スタッフ退任だけではなく、10月末で退職されたようです

  • AWSが新しいEC2基盤、Nitroの正体

    Amazon Web Services(AWS)がIaaS(Infrastructure as a Service)「Amazon EC2」の基盤を全面刷新していた。新基盤「Nitro」は自社開発した専用ASICを採用することで、ネットワークやストレージの性能を大幅に強化した。クラウドの性能強化を独自ハードが担う時代になった。 EC2の新基盤であるNitroの存在は、米ラスベガスで開催する年次カンファレンス「AWS re:Invent」でAWSのグローバルインフラストラクチャー担当バイスプレジデントであるPeter Desantis氏が11月28日(米国時間)に明らかにした(写真1)。Desantis氏はAmazon EC2の開発に初期から関与しているコアメンバーの一人だ。 同氏によればAWSは2013年にAmazon EC2の基盤刷新を始め、3年掛かりでNitroを完成させたという。パ

    AWSが新しいEC2基盤、Nitroの正体
    mapk0y
    mapk0y 2017/12/04
  • mackerel-agentのDockerイメージでECS上で動作するjavaアプリケーションのjvmを監視する - Qiita

    概要 これまでリモート経由でのメトリクスに対応していなかったmackerel-plugin-jvmがリモート経由でも対応されたと教えていただいたのでやってみました。 これが可能になれば、軽量さも重視されるコンテナにおいてmackerel-agentを入れることを回避できるようになりますね。 ECS上に構築したjavaアプリケーションと同じサービス内で起動した docker mackerel-agent から mackerel-plugin-jvmを使用してjavaアプリケーションのjvm関連のメトリクスの作成までを行います。 前提 以下のものは記事では割愛します。 ECSの使い方 dockerの使い方 docker-composeの使い方 ecs-cliの使い方 mackerelエージェントのインストール javaアプリケーションの詳細な中身 docker-composeの定義ファイルを

    mackerel-agentのDockerイメージでECS上で動作するjavaアプリケーションのjvmを監視する - Qiita
  • 映画『ニンジャバットマン』 日本用トレーラー【2018年6月15日劇場公開】

    が世界に放つ、戦国タイムスリップ・アクション・エンターテイメント! 時は戦国、最狂の愉快犯<ジョーカー>による歴史改変を阻止するため、 <バットマン>はすべての武器を失い、それでもなお立ち向かう──。 現代の犯罪都市ゴッサムシティの悪党たちがタイムスリップし、群雄割拠する戦国時代の日。 戦国大名となった悪党たちがこのまま自由に暴れ続ければ、日だけでなく、世界の歴史すらも変わってしまう! 絶望的な乱世で、現代テクノロジーからも切り離されてしまったヒーローは世紀の歴史改変を 阻止することができるのか? 日と世界の歴史を賭けて、時空を超えた壮大な戦が幕を開ける! キャラクターデザインは和のテイストと力強さで世界中に多くのファンを持つ『アフロサムライ』の岡崎能士。 脚は『天元突破グレンラガン』をはじめアニメ・実写・演劇とマルチに活躍する劇団☆新感線の中島かずき。 音楽は『PSYCHO

    映画『ニンジャバットマン』 日本用トレーラー【2018年6月15日劇場公開】
  • goyaccでjson5 likeなシンタックスのパーサとjsonのジェネレータを書いた | DevelopersIO

    こんにちは、齋藤です。 今回の記事は golangアドベントカレンダー 2017の2日目の記事です。 フライングしています。 今年の golang の盛り上がり様はすごいですね。 Qiita に存在する golangのアドベントカレンダーは 4つもあります! golangアドベントカレンダー 2017 その1 golangアドベントカレンダー 2017 その2 golangアドベントカレンダー 2017 その3 golangアドベントカレンダー 2017 その4 また、この記事を書いている時点で、AWS Lambdagolang のサポートが追加されたという速報が 弊社記事に上がっており、golang の人気はうなぎのぼりなのではないでしょうか! go go golang ! ! ちなみに現在上記リンクにある記事は 弊社の諏訪さんによって リアルタイム更新が行われておりました。強い。

    goyaccでjson5 likeなシンタックスのパーサとjsonのジェネレータを書いた | DevelopersIO
  • Nginxの監視 ~ mackerel-plugin-nginxを読み解く - そーだいなるらくがき帳

    この記事は Mackerel プラグインアドベントカレンダー(全部CRE) の3日目です。 qiita.com soudai.hatenablog.com それでは3日目は mackerel-plugin-nginx です。 ここではNginxの細かい説明は割愛します。 mackerel-plugin-nginxはWebServerとして広く使われているNginx専用のpluginです。 Nginx、急に README.md がシンプル!! インストール方法書いてないので簡単に導入方法を説明します。 github.com インストールと設定手順 NginxのプラグインはApache2の server-status と同様に nginx_status を可視化してくれるプラグインです。 そのためMackerelのプラグインをインストール後にnginx_statusを有効化する必要があります。

    Nginxの監視 ~ mackerel-plugin-nginxを読み解く - そーだいなるらくがき帳
  • Apache2(httpd)の監視 ~ mackerel-plugin-apache2を読み解く - そーだいなるらくがき帳

    この記事は Mackerel プラグインアドベントカレンダー(全部CRE) の2日目です。 qiita.com soudai.hatenablog.com それでは2日目は mackerel-plugin-apache2 です。 ここではApacheの細かい説明は割愛します。 mackerel-plugin-apache2はWebServerとして広く使われているApache2専用のpluginです。 こちらは README.md にも書いてある通り、 server-status を可視化してくれるプラグインで簡単に導入することができます。 github.com インストールと設定手順 プラグインはプラグイン集として提供しているパッケージの mackerel-agent-plugins に含まれています。 インストール先は /usr/bin/mackerel-plugin-apache2

    Apache2(httpd)の監視 ~ mackerel-plugin-apache2を読み解く - そーだいなるらくがき帳
  • ツインテールの角度

    左右のボタンでツインテールの角度を調節して、赤線の枠にひたすら合わせます! [←][→]キーで左右のツインテールの角度を調節して、赤線の枠にひたすら合わせます! Adjust the angle of her twintails with the left and right buttons & set it to the frame of red line! Adjust the angle of her twintails with [←][→] keys & set it to the frame of red line! × キャラクターCHARACTER 初音ミクHatsune Miku デザイン・モデリング・サウンド・プログラミングDESIGN・MODELING・SOUND・PROGRAMMING daniwell (twitter) テーマソングTHEMA SONG 「きみは

    ツインテールの角度
    mapk0y
    mapk0y 2017/12/04
  • テストがなかった無法地帯にテストを導入して開発速度を1.7倍にした話 - Qiita

    テストがなかった無法地帯のプロジェクトに自動テストを導入して、開発速度を1.7倍にした話をします。 自動テストがなぜないのか 自動テストのないプロジェクトには、そうなる理由が必ず存在します。よくみる理由は、「時間がないから1」「テストの書き方がわからないから」「無理やりテストを書いたつらい経験があったから2」といったものです。今回のプロジェクトの場合は、以下の2点でした: 自動テストの書き方がわからないから レビューがテスト代わりだったから まず、チーム編成が変わって私ともう一人がチームに加わるまで、実装者の中に自動テストの経験者はいませんでした。このような状況では、自動テストは困難になります。なぜなら、何をどうやってどこまでテストするかを決めるには、多少の慣れが必要だからです。この慣れがないと、何をしたらいいかわからないという状態に陥りがちで、結果として自動テストが後回しにされてしまいま

    テストがなかった無法地帯にテストを導入して開発速度を1.7倍にした話 - Qiita
  • Goで標準出力をテストする方法 - Qiita

    この記事はGo4 Advent Calendar 2017の2日目の記事です。 現在業務で携わっているLinuxプログラミングについて書く予定でしたが、あまり関係のないテストについて書いてみます。 なお11月からGoを触りはじめたばかりなので、ツッコミなどあればどんどんコメントいただければ幸いです。 筆者アカウント: Twitter, GitHub 追記 この記事の内容をパッケージ化しました。 よかったらあわせて見ていただければと思います。 https://github.com/kami-zh/go-capturer はじめに fmt.Print() などの出力をテストしたい場合、次のように fmt.Fprint() を用いて io.Writer を指定する形で文字列を出力し、通常実行時はこれに os.Stdout をセットしつつテストでは *bytes.Buffer に差し替えることで、

    Goで標準出力をテストする方法 - Qiita
  • Goroutineハンターが過労死する前に - Qiita

    Goroutineハンター、それは逃げ出したgoroutine達を捕まえるため、日夜戦い続けるエンジニア達のことである。Goroutineハンターは番環境でOOM Killerが発動するたびに呼び出され、逃げ出したすべてのgoroutineを捕まえるまで家にかえることが出来ない。しかし、あなたが書いた何気ないコードによって、今日もまた新しいgorutine達が野に放たれるのであった。 Goroutineリークとの戦い Goを使用してある程度規模のプログラムを書くと、必ず問題になるのがgoroutineのリークである。goで生まれたgoroutineが、何らかの理由で正常に終了しない場合、それは「リーク」していると見なされる。リークしたgoroutineはプロセスが続く限り永遠にリソースを手放さないため、リークしたgoroutineが蓄積するに従って、プログラムのパフォーマンスは低下してい

    Goroutineハンターが過労死する前に - Qiita