タグ

2015年7月9日のブックマーク (20件)

  • システムコールを経由する生のLinuxスレッド | POSTD

    Linuxのスレッドは、洗練された美しい設計です。スレッドは仮想アドレス空間とファイルディスクリプタテーブルを共有するプロセスに過ぎません。プロセスによって生成されたスレッドは、メイン”スレッドの”親プロセスに追加された子プロセスです。これらは同じプロセス管理のシステムコールを通して処理されるので、スレッドに関するシステムコールのセットを分ける必要性を取り除きます。これはファイルディスクリプタと同様に洗練された方法です。 一般的に、UNIX系のシステムではfork()を使ってプロセスを生成します。新しいプロセスは、オリジナルのコピーとして独自のアドレス空間とファイルディスクリプタテーブルを取得します。(Linuxではコピーオンライトを使用して、この部分を効率的に処理します。)しかし、これは非常に高度なスレッドの生成方法なので、Linuxでは別の clone() システムコールを使用します。

    システムコールを経由する生のLinuxスレッド | POSTD
    clavier
    clavier 2015/07/09
    システムコールを経由する生のLinuxスレッド | コンピュータサイエンス | POSTD
  • アニメーション処理が楽になるSwift拡張メソッド 〜フェードイン・フェードアウト〜 - Qiita

    enum FadeType: NSTimeInterval { case Normal = 0.2, Slow = 1.0 } extension UIView { func fadeIn(type: FadeType = .Normal, completed: (() -> ())? = nil) { fadeIn(duration: type.rawValue, completed: completed) } /** For typical purpose, use "public func fadeIn(type: FadeType = .Normal, completed: (() -> ())? = nil)" instead of this */ func fadeIn(duration: NSTimeInterval = FadeType.Slow.rawValue, com

    アニメーション処理が楽になるSwift拡張メソッド 〜フェードイン・フェードアウト〜 - Qiita
  • くまのぬいぐるみに話しかける - Really Saying Something

    プログラミングをしていてバグを取るために他の人に説明してみると問題点が整理されて自己解決できる、そしてその相手は人間でなくても、テディベアでもよい、という話を「くまのぬいぐるみに話しかける」でざっくり覚えていました。その「くまのぬいぐるみに話しかける」の話を他の人にしようとして、だいたい1年に何回か、Googleでひたすらエントリーを探すというのを繰り返しているので、もう自分のためだけにまとめておいてあとはこの記事を見返せばよい!という状態にしたいと考えました。 なので唐突にまとめていきます。 初出は「プログラミング作法」らしい プログラミング作法 作者: ブライアンカーニハン,ロブパイク,Brian Kernighan,Rob Pike,福崎俊博出版社/メーカー: アスキー発売日: 2000/11メディア: 単行購入: 58人 クリック: 1,152回この商品を含むブログ (204件)

    くまのぬいぐるみに話しかける - Really Saying Something
  • マルチスレッドでgetaddrinfo(3)するとたまに Temporary failure in name resolution (EAI_AGAIN) で失敗する件 - (ひ)メモ

    マルチスレッドでgetaddrinfo(3)するとたまにTemporary failure in name resolution (EAI_AGAIN) で失敗します。 自分は↓な環境で確認しました。 CentOS 6.5 glibc-2.12-1.149.el6_6.5 こういうコードで再現します。(ruby 2.1.4で確認) なお、便宜的にrubyで再現コードを書いていますが、該当環境であれば言語問わずマルチスレッド+getaddrinfo(3)の組み合わせで発現する問題です。 対処法は、 glibc glibc-common glibc-devel glibc-headers nscd のrpmをCentOS 6 Updatesにあるバージョン 2.12-1.149.el6_6.9 のに上げればOKです。 ちなみに自分は、Chef実行時にたまにberksのAPIサーバーの名前が引け

    マルチスレッドでgetaddrinfo(3)するとたまに Temporary failure in name resolution (EAI_AGAIN) で失敗する件 - (ひ)メモ
    clavier
    clavier 2015/07/09
    マルチスレッドでgetaddrinfo(3)するとたまに Temporary failure in name resolution (EAI_AGAIN) で失敗する件
  • 地道にAWS構築自動化に取り組んでいるお話し - サーバーワークスエンジニアブログ

    こんにちは。技術二課の永田(@nagaaki46)です。 皆さんの一番欲しい物って何ですか? 五年前、私が一番欲しかった物といえばAragostaの車高調。 そして今年、一番欲しい物は衣類乾燥機に。 大人になるって、こういうことでしょうか。 そして、遂に我が家に導入されたガス式衣類乾燥機ィィィィィィィ!(リースやけどな) 人類の永遠の憧れ、仕事の「自動化」。 この衣類乾燥機と共に過ごせる私は最高に幸せ者です。 というわけで今回は、 サーバーワークスのAWS導入支援業務における 構築自動化の取り組みについてご紹介します。 サーバーワークスらしい構築の仕方って? 私は2014年8月からサーバーワークスにジョインしました。 最先端のAWSに触れ、古い体質が無いサーバーワークスの仕事のやり方に 「ウヒョ〜」と刺激を受ける日々を過ごしてきました。 刺激って大事ですよね〜。 一方で、インテグレーター業

    地道にAWS構築自動化に取り組んでいるお話し - サーバーワークスエンジニアブログ
  • 新標準PSRに学ぶきれいなPHP

    16. 豪華なメンバー陣 Nate Abele: Lithium Robert Lemke: FLOW3 Nils Adermann: phpBB Larry Masters: CakePHP, CakePHP 2 Brett Bieber: PEAR, PEAR2 Ryan Parman: Amazon Web Services Guilherme Blanco: Doctrine, Doctrine2, SDK et al. Evert Pot: SabreDAV Jordi Boggiano: Composer, Packagist Fabien Potencier: Symfony, Symfony2 Karma Dordrak: Zikula Andre Romcke: eZ Publish Paul Dragoonis: PPI, PPI2 Paul Scott: Chisim

    新標準PSRに学ぶきれいなPHP
  • Androidの非同期処理の話 - Qiita

    Help us understand the problem. What is going on with this article? 非同期処理でよく使う IntentService と AsyncTask は何が違って何が同じなのかという記事を読んだので。 HandlerThreadについて HandlerThreadは、内部に持っているHandlerにメッセージが渡ってきた時、それを順に処理するようできているので、メッセージを同時に複数送ると、ジョブキューのようにシリアルな動作で、メッセージを1つずつ捌いていきます。 これはHandlerThreadのコードを読むのが早いのですが(凄く短いので)、このクラスはイベントループに紐付けるための定型処理のある、ただのThreadのサブクラスです。なので、内部に持っているのは、Handler(メッセージ)ではなく、Looper(イベントループ

    Androidの非同期処理の話 - Qiita
  • AsyncTask アンチパターン

    2. 背景 非同期処理で AsyncTask が使われているコードをよく見か けるが、けっこう気軽に使われている 非同期処理の問題は起きるかどうかがタイミング次第なこ とが多いので、再現や解決が困難なバグを生む ネットに転がっている情報や解決方法は間違っていること が多い印象 非同期処理は、人間にはまだ早すぎる... 3. ネタ元参考文献 Processes and Threads | Android Developers Handling Runtime Changes | Android Developers Efficient Android Threading (Anders Goransson) Android の非同期処理についての解説。Thread や Looper か ら解説してあって勉強になる。

    AsyncTask アンチパターン
  • ルーク!MySQLではkamipo TRADITIONALを使え! | おそらくはそれさえも平凡な日々

    よくMySQLはゆるふわだから 値が勝手に切り詰められる エラーが起きずに変な値/日付が入る 不正なスキーマが入ってしまう など言われることがあります。ただそれは、そもそもの設定が悪いのです。(確かに昔デフォルトがゆるふわなのはいけなかったんですが) ということで、データベースには不正な値が入らないように設定はとにかく厳しくしておくのがオススメです。 じゃあどうするか。 MySQLSQL Modeによって、その辺りの制約をコントロールすることができます。以前、MySQLsql-modeで一番厳しいやつはTRADITIONAL、というのを書いたのですが、実はそれだけでは不十分で、TRADITIONAL,NO_AUTO_VALUE_ON_ZERO,ONLY_FULL_GROUP_BYとするのがより安心なようです。 これはkamipoさんに教えてもらいました。 @songmu TRADITI

    ルーク!MySQLではkamipo TRADITIONALを使え! | おそらくはそれさえも平凡な日々
  • gooを支えるインフラ基盤の話 |ソフト・アプリ開発のAPIなら【gooラボ】

    サーバーエンジニアの山下亮です。今回はこの記事が載っているgooラボのサーバも乗っている、gooを支えるインフラ基盤の話をしたいと思います。 gooではこれまで数年に一度の割合で大規模なDC移転を行ってきました。 直近では、昨年末から今年の頭にかけて大規模なDC移転を無事に終えた所です。 今回のDC移転ではオンプレミスのサーバー数百台の上に、OpenStackを使ってプライベートクラウドを構築しました。 これにより、仮想マシンの作成からサービスインまでのリードタイムを大幅に短縮することができました。 仮想化については4~5年前から大規模に行ってきたのですが、アロケーション等の部分で手作業も多く残っていました。 特に大きな課題だったのは、新規仮想マシン作成時のIPアドレスの払い出しとその管理及び新規仮想マシン作成時に人力でリソースの空き状況や分散状況を確認して、配置する物理マシンを決定すると

    gooを支えるインフラ基盤の話 |ソフト・アプリ開発のAPIなら【gooラボ】
    clavier
    clavier 2015/07/09
  • GDとImageMagickの画質比較

    こんばんは、牧野です。 以前、GDでの画像処理を紹介しました。 今日はPHPでよく使われるもう1つの画像処理方法、ImageMagickを使うやり方で画質にどれくらい差があるのか比べてみました。 まずは早速、テスト用プログラムです。 gd_test.php <?php $image_file = 'sample.jpg'; $img = new MyImage($image_file); $img->resizeImage(500, 500); $img->createImageFile('.', 'gd_sample.jpg'); header('Content-type: image/jpeg'); readfile('gd_sample.jpg'); class MyImage { var $img; var $width; var $height; var $font_path;

    GDとImageMagickの画質比較
  • 「エンジニアは今すぐディープラーニングを学べ」松尾豊氏が見据える、日本がシリコンバレーを追い越す日 - エンジニアtype | 転職type

    2015.07.08 スキル 大企業からスタートアップまで。BtoBサービスからエンターテインメントまで。日々取材をしていて、いまや人工知能という言葉を聞かない日はない。過去2度のブームと冬の時代を繰り返してきた人工知能研究に、3度目の春が訪れている。 その主役は「ディープラーニング」と呼ばれる新しい機械学習の手法だ。 2012年に行われた画像認識技術を競う世界的なコンペティション「ILSVRC」で、トロント大学の研究チームがこの技術を用いて、それまでの常識を覆す圧勝を記録。同じ年に発表された有名な「Googleのネコ認識」と呼ばれる研究も、ディープラーニングを用いたものだった。 東京大学大学院工学系研究科・准教授の松尾豊氏も、まだ「ディープラーニング」という名前がなかったころからこの技術に注目し、研究を続けてきていた。松尾氏は著書『人工知能は人間を超えるか』の中で、ディープラーニングを「

    「エンジニアは今すぐディープラーニングを学べ」松尾豊氏が見据える、日本がシリコンバレーを追い越す日 - エンジニアtype | 転職type
  • GitHub - okuyamaoo/DbmFs: DbmFs Mount the database as a file system

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - okuyamaoo/DbmFs: DbmFs Mount the database as a file system
  • watchコマンドで覚えておきたい使い方6個 | 俺的備忘録 〜なんかいろいろ〜

    watchコマンドといえば、そこまで使用頻度が高いわけではないけれど、覚えてるとちょっとした時に便利なコマンド。 今回は、そんなwatchコマンドで覚えておくと役に立つ使い方について紹介する。 1.基的な使い方 基的には、以下のようにコマンドを実行することで、数秒ごと(デフォルトは2秒)にそのコマンドの実行結果をコンソール上に出力することができる。 watch 連続実行させるコマンド 例えば、以下のように実行することで数秒ごとに「ls -la /home」を実行する。 当然、その配下のファイルが作成されれば確認することができる。 watch ls -la /home/ 特定のプロセスが上がってくるかどうか確認するなら、「ps -ef | grep プロセス名」で監視することも出来る。 例えば、httpdの状態を監視するなら以下のようにコマンドを実行する。 watch "ps -ef |

    clavier
    clavier 2015/07/09
    watchコマンドで覚えておきたい使い方6個 | 俺的備忘録 〜なんかいろいろ〜
  • 【参考訳】Atlas 正式版 (General Availability) | Pocketstudio.jp log3

    HashiCorpから、Atlasが正式版 ( General Availability ) になったというブログの投稿がありました。内容把握の参考にと、翻訳しましたので公開します。例によって参考程度にどうぞ。 — ■ Atlas 正式版 (General Availability) 原文:Atlas General Availability – HashiCorp https://www.hashicorp.com/blog/atlas-general-availability.html Atlas 正式版の発表に胸が高まります。Atlas はインフラのバージョン管理システムを作るために、私達の良く知られているオープンソースのツールを積み重げて連携したものです。インフラの変更の自動化・監査・共同作業を、あらゆるインフラ事業者を横断して行います。 2014 年 12 月に Atlas を公

    【参考訳】Atlas 正式版 (General Availability) | Pocketstudio.jp log3
    clavier
    clavier 2015/07/09
    【参考訳】Atlas 正式版 (General Availability) | Pocketstudio.jp log3
  • イマドキのJSテスト - テスト環境をモダンフロントエンドツール群で整備する編 〜 JSおくのほそ道 #032 - Qiita

    こんにちは、ほそ道です。 今回はビルドツール・モジュールローダ・altJS(JSコンパイラ)を組み合わせてさらにテストコードのおくのほそ道に入り込んでいきます。 今回Gulp + Webpack + Karma + Jasmine + ES6を使用しますが、 GruntだったりBrowserifyだったりMochaだったりCoffeescriptだったりに置き換えても基的な考え方は近しい感じになるかと思います。 あとはここにSPAフレームワークとかを組み合わせればいよいよモダンなテストコードになっていきますね。 目次はこちら 今回解決すること・設計方針 Webpackとテストコードを組み合わせる。なんかバンドルしたりごにょごにょやってるどこにテストを挟むのか?を解決する。 ソースコードもテストコードもES6で書く。babelないしはaltJSのコンパイルごにょごにょやってるどこにテストを

    イマドキのJSテスト - テスト環境をモダンフロントエンドツール群で整備する編 〜 JSおくのほそ道 #032 - Qiita
    clavier
    clavier 2015/07/09
    JavaScript - イマドキのJSテスト - テスト環境をモダンフロントエンドツール群で整備する編 〜 JSおくのほそ道 #032 - Qiita
  • 計算機科学と代数学 プログラム意味論と普遍代数学 蓮尾 一郎 東京大学 大学院情報理工学系研究科 コンピュータ科学専攻 2014.1 1 計算機科学とは? 意味論とは? 代数学のさまざまな応用��

    計算機科学と代数学 プログラム意味論と普遍代数学 蓮尾 一郎 東京大学 大学院情報理工学系研究科 コンピュータ科学専攻 2014.1 1 計算機科学とは? 意味論とは? 代数学のさまざまな応用についての特集において,稿は計算機科学—— そのうちとくに意味論——とよばれる分野に現れる代数学的構造と,その応 用について紹介したい.多くの読者のもともとの興味は数学や,多少外れた としても物理学などだろうから,まず,計算機科学(のうち意味論)とは何 をめざす学問なのかを説明していく. ところでいきなり余談から始める.自分と異なる研究分野の人と話をする 際,まず最初にやるべきことは,相手が「何がやりたいのか,何をカッコい いと思うのか」をお互いに理解することである.しかし,そのような目的意 識・美意識は人にとってはすでに刷り込まれた当たり前のことであり,当 たり前のことを言葉にして説明するの

  • 【初心者向け】CentOS 7インスタンスの初期設定手順 | DevelopersIO

    こんにちは、虎塚です。 今回は、CentOS 7の公式AMIで頻繁に実施する初期設定の手順をまとめます。CentOS 7からSystemdが導入されたため、CentOS 6までと一部違う部分があります。 設定内容の目次 今回説明するのは、次の内容です。 パッケージの更新 ロケールとキーマップの変更 タイムゾーンの変更 不要なサービスの停止 Webサーバのインストールと起動設定 OSファイアウォールの設定 「検証用途でちょっとWebサーバを立ち上げたい時」というユースケースを想定して、Webサーバのインストールと起動までを行います。 0. CentOSインスタンスの起動 CentOS wikiに、公式AMIへのリンクがあります。 Cloud/AWS - CentOS Wiki 「CentOS-7 x86_64」のURLをクリックして、リージョンに合ったAMIを選択します。今回は、ami-89

    【初心者向け】CentOS 7インスタンスの初期設定手順 | DevelopersIO
  • http://plus.appgiga.jp/masatolan/2015/07/08/56392/

    http://plus.appgiga.jp/masatolan/2015/07/08/56392/
  • Amazon EC2を(なるべく)使わずにシステムを構築してみる | DevelopersIO

    こんにちは、せーのです。AWSは現在40以上のサービスがあり、なかなか把握しきれないことも多いかと思います。そこで今日は現在のサービスを組み合わせたシステム構築の一例をご紹介致します。 最もコストがかかるのはEC2 そもそもオンプレではなくクラウドサービスを選ぶ理由は安価で簡単にサーバーやストレージを調達でき、障害対策や電源管理等をAWS側が行ってくれるから、という方も多いかと思います。 ではAWSの各サービスでコストを抑える秘訣はなんなのでしょう。それは「EC2を使わないこと」です。例えばDBとしてmySqlを使いたいとします。時間あたりの単価を考えるとEC2の中にmySqlをインストールするよりもRDSでmySqlを立てたほうがお得です。また障害が起きてダウンした際にEC2は自分でフェールオーバー等の対策を打つ必要がありますが、RDSはmulti-AZの設定をしておくだけで後はAWS

    Amazon EC2を(なるべく)使わずにシステムを構築してみる | DevelopersIO