タグ

2015年11月24日のブックマーク (16件)

  • cuisineでfabricに冪等性を授ける - Qiita

    cuisineとは cuisineは、fabricに冪等性を授けるライブラリです。 冪等性とは、1回実行しても複数回実行しても同じ結果になる特性のことです。インフラ界隈で言うと、ChefやPuppet、Ansibleなどのツールが冪等性を持っています。つまり、これらのツールは1回実行しても複数回実行してもサーバが同じ状態になる特性を持っています。 しかしながら、fabricは冪等性がないため実行時の設定状態に配慮しなければ、複数回実行するとエラーになります。例えば、ユーザを追加するスクリプトを書いた場合、1回目の実行は上手く追加されますが、2回目はすでにユーザが存在するためエラーになってしまいます。 サーバの初期設定にfabricを使っていましたが、初期設定しか意識せずにスクリプトを書いていたので、ちょっとした変更や修正でも再実行できなくて困っていました。いまさら、ChefやPuppet、

    cuisineでfabricに冪等性を授ける - Qiita
  • Pythonのオブジェクトとクラスのビジュアルガイド – 全てがオブジェクトであるということ | POSTD

    Python開発者が大好きな言葉があります。それは”全てはオブジェクトである”です。実際、私自身もPythonのクラスを教えているときに何度も口にしています。多くの人が何度も聞いた言葉かもしれないのですが、私が言う度に生徒は賛同の相槌をしてくれます。結局のところ、Javaにおいて全ては(対象がそうでない場合を除いて)オブジェクトであり、.NETにおいても全てはオブジェクトであると、よく言われています。 しかしPythonにおいて全てがオブジェクトであると言う時、(私の生徒は驚いていましたが)「 全て 」にはクラスも含まれているのです。これはとても筋が通っていて、オブジェクトシステム全体が理解しやすくなります。しかしそれでも、広い視野で物事を見ることは難しいのです。 今回のブログ記事では、Pythonのオブジェクト間のつながりをざっと見ていきたいと思います。そして”全てはオブジェクトである”

    Pythonのオブジェクトとクラスのビジュアルガイド – 全てがオブジェクトであるということ | POSTD
  • スクレイピングとPython

    20110730_Redmineでのタスク管理を考える勉強会@大阪 第1回 (2011/07/30) - RxTstudy https://sites.google.com/site/rxtstudy/home/20110730 【公開】RedmineのFAQとアンチパターン集 #Rxtstudy: プログラマの思索 http://forza.cocolog-nifty.com/blog/2011/07/redminefaq-rxts.html RxTstudy Redmineでのタスク管理を考える勉強会@大阪 - Togetterまとめ http://togetter.com/li/168362

    スクレイピングとPython
  • #qpstudy 2015.11 20分でわかるPKI

    ** Note: there is an updated version of the slide deck at https://www.slideshare.net/KirbyLinvill/quantum-key-distribution-meetup-slides-updated. The updates are minor (the bloch sphere in this presentation is incorrectly labelled) and the bulk of the content remains the same ** Slides from a talk on Quantum Key Distribution presented to the Silicon Valley Cyber Security Meetup group. This talk co

    #qpstudy 2015.11 20分でわかるPKI
  • 2015-11-20-JAWS-UG-Container

    http://jawsug-container.connpass.com/event/22542/ でのLTにて

    2015-11-20-JAWS-UG-Container
  • 2種類の非同期I/O - ablog

    非同期I/Oの「非同期」の意味が2つあって、紛らわしくなった背景を書いてみた*1。 Unix では (non)synchronizedと(a)synchronous という用語が使われているが、英語(自然言語)だと紛らわしい*2 (a)synchronous はI/O処理を待つかどうか、(non)synchronized はディスクに書き終わってから折り返すかどうかを意味する 例えば書込みの場合、 synchronized: ディスクに書き終わってから折り返す "non"synchronized: ディスクに書き終わってなくても折り返す synchronous: OSカーネルのバッファに書き終わってから折り返す "a"synchronous: I/Oリクエストを投げたらユーザー空間にデータが残っても折り返す 「非同期I/O」は "a"synchronous I/O の日語訳なので、I/O

    2種類の非同期I/O - ablog
  • MySQL Casual Talks vol.8で喋ってきた | Ore no homepage

    先日行われたMySQL Casual Talks #8で登壇してきた。会場を貸してくださったテコラスさん、主催者ならびに参加者の皆様ありがとうございました。 発表のネタ ネタは「トレタのMySQL」と「はじめてのRails+MySQLの運用でOctopusでハマったこと」の二つを用意したんだが、後者は内容がRailsに寄りすぎていたというのと、時間的にもアレだったので自粛した。 小規模限定回ということだったんだが、そもそもウチは小規模なんだろうか?という疑問があった。なので「これできるの小規模だからだよなぁ…」と思えることを捻出して喋ってみた。 トレタのMySQL 内容的には、 小規模だと、Likeで全文検索とかアンチパターンみたいなことやっててもでも割と動くよ。 小規模だと大規模に比べて運用は楽。でもこれは台数が少ないからということではなく、アーキテクチャがシンプルだから。 大規模であっ

  • Elixirでプロセス5000万くらい作ってみた - Qiita

    Elixirで、表題の通り5000万プロセスぐらい作ってみた。 Elixirで20万プロセスを作ったその後 Elixirはerlang VMをベースとした関数型の言語だ。Rubyっぽい文法も使えて便利である。erlangの特徴である、軽量のプロセスが使えるのが一つの売りである。 少し前に、Elixirでプロセス20万位作ってみた という投稿を行った。その時は、デフォルトのprocess_limitのサイズ約26万を超えて、プロセスを指定する方法がわからなかった。親切な方から、26万を超えるprocess_limitの指定方法を教えてもらったので、それならどれくらいまで行けるかと思い、5000万までプロセスを作ってみた。プロセスの単位がインフレしすぎて、実際何の単位なのかわからなくなった。 erlangのプロセス この場合のプロセスは、erlangで使われる軽量プロセスのことだ。プロセスはe

    Elixirでプロセス5000万くらい作ってみた - Qiita
  • Go言語でGraceful Restartをするときに取りこぼしを少なくする

    少し前にStarletにGraceful Restartが時たま上手く動かない問題を修正するpullreqを投げました。 原因は割り込みハンドラ内でexitを呼んでいたからでした。 「割り込みハンドラ内ではフラグを建てるだけ」 「メインのプログラム内でそのフラグを見て分岐する」という原則があるのですが、それを守るのは難しいということですね。 (しかし新たな問題を産んでしまいrevertされてしまいましたが・・・ まあ修正後のコードも考え方は一緒です。割り込みホント難しい・・・) このpullreqを取り込んでもらうときに再現実験をやってみたのですが、 Goでもちゃんと動くのかな?と気になったので Go言語でGraceful Restartをするで紹介した プログラムに同じテストをやってみました。 2017-01-22追記: Go1.8以降でGraceful Shutdownがbuild-i

  • Microsoft Azure を意のままに操る Ansible 事始め | Tech-Sketch

    こんにちは、今回ブログでご紹介するTipsは一言でいうと「Ansible で Microsoft Azure を操作してみる」です。クラウドサービスである Microsoft Azure を Ansible という自動構築・オーケストレーションが行えるオープンソース・ソフトウェア(以下:OSS)を使って操作してしまおうという、今回はその序章です。 ★ はじめに クラウドサービスを利用する場合、専用のUI、主にWebベースのポータルを利用する事があります。GUIポータルの利用は操作しやすくとてもわかりやすいですが、実際の運用上では柔軟に、簡便に、迅速に構築・運用管理することが求められ、その点では向かないケースがあります。一般に様々なクラウドサービスは、そのクラウドサービス用に用意されたAPIで外部のツールから操作を行うことができ、前述の観点においてクラウドを十分に活用できます。むしろそれ

    Microsoft Azure を意のままに操る Ansible 事始め | Tech-Sketch
  • Ansibleのinventory入門 | DevelopersIO

    Ansibleは、定義されたインフラ設定を複数のサーバに対し、同時に適用することができます。 この時、どのサーバに対し設定を行うかを定義するのが inventory です。 例えば、hostsというファイルにinventoryを定義します。 基的なinventory inventoryは、一言で言えば「対象サーバの一覧」です。 inventoryファイル(歴史的にhostsというファイル名にすることが多い)は、次のようにホスト名の列挙となります。 10.0.11.121 10.0.11.122 10.0.21.100 名前解決ができてSSHアクセス可能であれば、ホスト名、IPアドレスでもホスト名のどちらでもOKです。 group inventoryでは、次のようにホストをグループ化することができます。 [web] 10.0.11.121 10.0.11.122 [batch] 10.0.

    Ansibleのinventory入門 | DevelopersIO
  • GoとPython

    2015/11/22(日)に広島で開催された「PyCon mini Hiroshima 2015」での発表資料「GoPython」です。

    GoとPython
  • scikit-learnで単語文書行列を作る方法の比較 - くじらにっき++

    目的 テキストデータから特徴ベクトルを作って何かやろうと思ったときに,私の場合は何も考えずに単語文書行列を作ってナイーブベイズのようなベースライン的な手法を試すところからはじめます。単語文書行列というのは以下のページに載っているような行列です。英語ではDocument-Term Matrixといいます。 ベクトル空間モデル - Wikipedia Wikipediaに載っているように,行方向に単語,列方向に文書を並べるのが普通です。ただし,scikit-learnの慣習では行方向に事例,列方向に素性を並べるため,逆になります。 語のリストから単語文書行列を作るときには,(a) collections.Counterとsklearn.feature_extraction.DictVectorizerを使う方法 がシンプルでおすすめです。一方で,scikit-learnにはsklearn.fe

    scikit-learnで単語文書行列を作る方法の比較 - くじらにっき++
  • JUnit5はどこに向かうのか? | DevelopersIO

    この表から解るように、一部の機能を除けばJUnit4の機能は継承されています。 したがって、JUnit4を理解していれば継承された機能をJUnit5に移行することは難しくないでしょう。 最初は多少の混乱はあるかと思いますが、すぐに慣れるレベルかと思います。 逆に、新しくJUnit5からJavaのユニットテストに入るのであれば、JUnit4の制約がないことは良い材料です。 特に、構造化テスト(ネストクラス)の時、JUnit4ではネストクラスをstaticクラスにすることを強いられていました。 これは、テストクラスをテスト毎に作成するという制約があったためです。 この制約がある以上、テストクラスからアウタークラスのインスタンス変数にアクセスできませんでした。 ユニットテストではテスト毎にテストインスタンスを作成することが原則なので、この制約は仕方ないと考えても良いでしょう。 しかし、テストがネ

    JUnit5はどこに向かうのか? | DevelopersIO
  • WordPress › Installation

    WordPress Select a default language

  • 【mySQLでデータ分析】SQLを書いてそれっぽいデータを取ってくる。 - Qiita

    昨日はテーブル作ってデータをインポートするところまでやりました。今日はSQL書いてデータを取り出して、分析みたいなことをしてみます。 SQLを基からコツコツやる 昔SQL書いたことあるけど、そんな昔のことを覚えているはずはありません。というわけで、基からコツコツやります。Sequel ProでSQL文を書いたり実行したりは、「クエリ」からできます。 twitterテーブルから全てのカラムを取ってくる:SELECT * FROM twitter; twitterテーブルのデータ数を取ってくる:SELECT COUNT(*) FROM twitter; twitterテーブルから、tweet文にリンクを含むデータの全てのカラムを取ってくる:SELECT * FROM twitter WHERE tweet_text LIKE '%http%'; twitterテーブルの曜日ごとのデータ数

    【mySQLでデータ分析】SQLを書いてそれっぽいデータを取ってくる。 - Qiita