タグ

2015年12月8日のブックマーク (17件)

  • Pelletkachels.nl

    Pelletkachels waren ooit eenvoudige apparaten voor verwarming, maar ze hebben een opmerkelijke evolutie doorgemaakt sinds hun bescheiden begin in de jaren ’80 van de vorige eeuw. In dit artikel duiken we diep in de geschiedenis van pelletkachel, bespreken we de belangrijkste mijlpalen en ontwikkelingen op het gebied van subsidiemogelijkheden en werpen we een blik op de transformatie tot moderne en

    Pelletkachels.nl
  • Ruby のオススメの機能7選 - Qiita

    この記事は Ruby Advent Calendar 2015 の 8日目です。 比較的あまり知られていないと思うオススメの Ruby の機能を 7つ紹介します。 Enumerator.new Enumerator.new は知ってはいても、あまり使わない人が多いように思います。 私は非常によく使います。 理由は スコープを新たに導入したい Producer-Consumer パターン。値の生成と消費でフェーズの違いを明確化したい。 そのメソッド内で1度使いたいだけなのに yield するメソッドを別に作るのはちょっと気が引ける。名前空間を汚したくない。 全部、一度配列にしちゃうとメモリが気になる。メモリ消費を節約したい。 ネストを浅くしたい Enumerable モジュールの機能が欲しい といったところです。 たとえば下記のようなかんじで使います。 # Producer フェーズ use

    Ruby のオススメの機能7選 - Qiita
  • Slack,HipChat,IRCで利用されているXMPPプロトコルの解説と実装 - Qiita

    『アッオー』でおなじみICQからIRC,Yahooメッセンジャー,HipChat,Slack,GoogleTalkの共通点は、すべて通信にXMLベースのXMPPプロトコルを利用していることです。インスタントメッセージサービスは目まぐるしく移り変わっていくため、変わらないコアの部分を抑えることが重要だと思います。 XMPPプロトコルを喋ると、大半のメッセージサービスを利用できるBotが作れます。この記事ではXMPPを開発・公開したJabber社のライブラリを利用して複数のメッセージサービスに対応したBotを実装していきます。 作るもの 起動したらHipChatとSlackに両方ログインしていて、話かけたらdeployしたりコマンド実行したりするBot。海外Slack、国内はHipChatを使う特殊事例が発生して開発することになりました。過渡期つらい 新しいものを、どんどん取り入れていくこと

    Slack,HipChat,IRCで利用されているXMPPプロトコルの解説と実装 - Qiita
  • PythonのABC - 抽象クラスとダック・タイピング - Qiita

    この記事はPython Advent Calendar 2015の8日目の記事です。 普段はGoを書くのがほとんどで、Pythonは正直滅多に書かないです。数理学でそろそろ腰いれて使用していこうかと思っているので、今回PythonのAdventCalendarに飛び込んでみました。 さて、Goではinterfaceを定義して抽象化されたパターンで実装していくことが大規模に開発していくには重要になります。これは別にGoに限った話ではなくオブジェクトは抽象化され、節度をを守って使用されるのが可読性の高く、また、依存性の低い素晴らしいコードへとなっていきます。 そんな中、Pythonで抽象化をするにはどういう手法があるのか調べてみました。言語仕様には存在せずABC (Abstract Base Class) という名前のモジュールとして提供されているものを使用します。 ABC - Abstra

    PythonのABC - 抽象クラスとダック・タイピング - Qiita
  • Amazon ECS に途中で挫折しないために | ORIH

    === 2021/01/13 更新 === 記事に挙げているペインポイントは Amazon ECS 自体の機能追加や改善、また AWS Fargate の登場により現在では解消しています. 2015年の冒頭に Amazon ECS が GA した当時はこんな感じだったんだなぁへ〜という気持ちで読んでいただけると良いかもしれません. ===================== この記事は AWS Advent Calendar 2015 の 8 日目です. 昨日は @dkfj さんの SWF x Lambda でした. SWF は AWS に触れて以来ずっとわず嫌いしているので、個人的に実装の紹介がすごく楽しみです :) さて、タイトルの通りこの記事は Amazon ECS を使い始める前に知っておく/想定しておくと良さげなことを紹介し、みんなで楽しくコンテナ運用ができるようになることを

    Amazon ECS に途中で挫折しないために | ORIH
  • Apache Zeppelinでデータ分析を分散処理する - Part 2: Ambari on DockerにZeppelinをセットアップする - Qiita

    Apache AmbariでHadoopクラスタをDocker上にセットアップしてみます。AmbariはHadoop管理プラットフォームです。ブラウザの管理画面からHadoopのプロビジョニングや監視を行うことができますが、今回はAmbari ShellのCLIからHDPをクラスタをセットアップしてみます。 SequenceIQが公開しているsequenceiq/ambariのDockerイメージをpullします。リポジトリはdocker-ambariです。

    Apache Zeppelinでデータ分析を分散処理する - Part 2: Ambari on DockerにZeppelinをセットアップする - Qiita
  • ぼくらはなぜ非同期処理プログラミングをするのか - ほとラボ

    Node.js Advent Calendar 2015 6日目(遅刻)です。 ぼくはこの 2015 年は React.js や RxJS と出会ってとても JavaScript が楽しくなった一年でした。 移り変わりの激しいこの JS 界隈で様々なモジュールやフレームワークを触ってみて、JavaScript という言語がどういう言語なのかわかってきた気がするので、今回はそれを自分なりに整理してみたものを書いていきたいと思います。 JavaScript の非同期処理 JavaScript では非同期な API が数多くあるため、このように let data = someAsyncFunc(); console.log(data); //=> undefined RubyPHP のような同期的なスタイルの言語と同じ感覚でコードを書くと、意図した通りに実行されないことがあります。 順番通

    ぼくらはなぜ非同期処理プログラミングをするのか - ほとラボ
  • Locust コトハジメ - Qiita

    Locust とは何か Locust とは Python で書かれた分散負荷試験ツールです。 以下の特徴があります。 シナリオを Python で記述 分散&スケーラブル Web ベース管理画面 高いカスタマイズ性 インストール 現状 python3系には対応していないので python2.7系を使用します。 インストールは pip から行えます。 geventというライブラリを使う関係で libevent が必要です。 OSXであれば macports か homebrew でインストールしてください。 使い方 locustfile.py というファイルを作り、シナリオを書きます。 試しに、最初にログインURLを叩き、その後 /info を 5秒に一度叩くシナリオを書いてみます。 # -*- coding: utf-8 -*- from __future__ import absolut

    Locust コトハジメ - Qiita
  • Golangで静的ファイルをバイナリに含めるライブラリを書いてみた - Qiita

    概要 Go言語の大きな魅力の一つが「シングルバイナリ」だと思います。実行ファイルが他のファイルに依存せずに単体で完結するので、デプロイがファイルのコピーで済み、非常に楽です。 しかしWebアプリケーションの場合、そうはいかないというのが個人的に大きな誤算でした。静的ファイルが実行ファイルに含まれるものと思っていたらそんなことはなく、実行時にも静的ファイルを置いておく必要があります。 有名なライブラリにgo-bindataというものがありまして、それを使えば実行ファイルに静的ファイルを含めることはできます。ですが、go-bindataは静的ファイルをgo言語のソースコードに翻訳するもので、バージョン管理システム上の管理が難しく、個人的に好みではありませんでした。 それを解決するためにzgokというライブラリを書いてみました。 Windows/Linuxの実行ファイルは、ファイルのヘッダで実行

    Golangで静的ファイルをバイナリに含めるライブラリを書いてみた - Qiita
  • Kibana用途でElasticsearchを使う時の高負荷対策TIPS - Qiita

    これは Elasticsearch Advent Calendar 2015 8日目の記事です。 ログの可視化ツールとしてKibanaを使っている中で、Elasticsearch運用として色々と得られた知見を書きたいと思います。 Elasticsearchは、ライトな環境だったら特にチューニングなく安定してますがある程度ドキュメント数が積まれてくると、色々苦労があるなという印象です。 ここに書かれているのは、事情がありシングル構成で頑張った話なので、クラスタ組んでスケールするとこんな悩みはないのかもです。 でも、ログは運用系に入るのでそんなにコストかけれるとこはないのではという個人的な所感。 ラインナップとしては、下記のような感じです。 Kibana経由で重たいクエリが投げられると負荷高すぎて泣いた話 高負荷対策として、fielddata_cacheをディスクに逃がす方法 fluentdの

    Kibana用途でElasticsearchを使う時の高負荷対策TIPS - Qiita
  • クックパッドのジョブ管理システム kuroko2 の紹介 - クックパッド開発者ブログ

    こんにちは。技術部 開発基盤グループの大石です。 今回はクックパッドで利用されているRuby製のジョブ管理ツールkuroko2について紹介したいと思います。 kuroko2 とは クックパッドでは2011年頃より、kurokoというジョブ管理ツールがありました。 そして現在、kurokoの後継のジョブ管理ツールとしてkuroko2が2014年にkurokoの開発者でもある当時の技術部長 takai によって開発され現在に至っています。 商用のジョブ管理ツールは昔からありますし、ここ最近はAirflowやAzkabanなどのOSSのツールが存在しており、わざわざ自社でジョブ管理ツールを作る必要は無いのかもしれません。 しかし、kurokoが開発された当時はそこまでの完成度のOSSのジョブ管理ツールは存在していなかったということと、過去のバッチ資産も問題なく動作させることでき、機能追加など自分

    クックパッドのジョブ管理システム kuroko2 の紹介 - クックパッド開発者ブログ
  • 世界の何処かで MySQL(InnoDB)の REPEATABLE READ に嵌る人を1人でも減らすために - KAYAC engineers' blog

    tech.kayac.com Advent Calendar 2015 8日目担当の @m0t0k1ch1 です。 今年は MySQL さんにいろいろ泣かされた1年でした。特に、あの夏、幾夜をともにした実行計画のゆらぎは一生忘れな(ry さて。。。今回は、そんな中でも誰もが一度は嵌るであろう(?)MySQL(InnoDB)の REPEATABLE READ の嵌りどころについて自分なりにまとめてみようと思います。 この記事が目指すこと MySQL の各トランザクション分離レベルの嵌りどころについては、現状でも種々のブログ記事などでまとめられており、そんなに真新しい話ではないと思います。が、過去の自分のように、嵌ったことがない人間からすると、 話としてはなんとなく理解できる が、抽象的でいまいち身につかない というのが現実でした。嵌りどころに実際に嵌った今読み返してみると、「あーーー、、、そ

    世界の何処かで MySQL(InnoDB)の REPEATABLE READ に嵌る人を1人でも減らすために - KAYAC engineers' blog
  • fluentdをsystemdで管理する - matetsuだもんで

    6日目が少々反則的な内容となってしまいましたが、きにせず7日目行きたいと思います。今日は仕事からの帰りが遅かったので書き始めから日付を超えているというミラクル。もう、時間を気にせず書けます。 と、前置きはこれくらいにして題に入りたいと思います。いままでのガッツリな感じ(?)とは異なり、時間の関係でサラッとしたネタです。参考にさせていただいたのはRHELやSystemdDockerの説明では知らない人はいないであろう中井さんの下記サイトです。 enakai00.hatenablog.com ログ収集をする場合にはデファクトスタンダードとなっているであろうfluentdをCentOS7などのSystemdなディストリビューションで起動/停止の管理をしたい場合の設定方法です。といっても、ひとまず動かしてみたレベルなので、問題もあるかもしれません。 通常はtd-agentをRPMからインストー

    fluentdをsystemdで管理する - matetsuだもんで
  • 【参考訳】Consul 0.6 | Pocketstudio.jp log3

    Consul のメジャー・アップデートがありました。Blog 記事があがっていましたので、例によって参考程度にどうぞ。 Consul 0.6 – HashiCorp https://hashicorp.com/blog/consul-0-6.html —-ここから ■ Consul 0.6 私たちは Consul 0.6 のリリースにワクワクしています。今回は多くの新機能や改良が追加されたメジャー・アップデートです。Consul とは最新のデータセンタ・ランタイムです(訳者注:HashiCorpでは、いわゆるネットワーク・システムのことをデータセンタとして表現しています。日語の物理的なデータセンタとは概念が少し異なります)。Consul は扱いやすい Go 言語のバイナリであり、サービス・ディスカバリ、設定、オーケストレーションの各機能があります。分散と高い可用性、そして、複数のデータセ

    【参考訳】Consul 0.6 | Pocketstudio.jp log3
  • Go言語でLet's EncryptのACMEを理解する

    Let’s Encrypt TL;DR Let’s EncryptのベースのプロトコルであるACMEを理解する. まずACMEをベースとしたCAであるboulderをローカルで動かす.次にACMEのGo言語クライアントライブラリであるericchiang/letsencrypt(非公式)を使い実際にboulderと喋りながら証明書発行を行い,コードとともにACMEが具体的にどのようなものなのかを追う. はじめに 証明書というのは面倒なもの,少なくともカジュアルなものではない,というイメージが強い.それは有料であることや自動化しにくいなどといったことに起因している(と思う).そのようなイメージに反して近年登場する最新の技術/プロトコルはTLSを前提にしているものが少なくない(e.g., HTTP2). このような背景の中で登場したのがLet’s Encryptと呼ばれるCAである.Let’s

  • AWS再入門 Amazon Elastic MapReduce編 | DevelopersIO

    はじめに 当エントリはDevelopers.IOで弊社AWSチームによる2015年アドベントカレンダー 『AWS サービス別 再入門アドベントカレンダー 2015』の8日目のエントリです。 昨日7日目のエントリは大栗の『Amazon RDS』でした。 このアドベントカレンダーの企画は、普段AWSサービスについて最新のネタ・深い/細かいテーマを主に書き連ねてきたメンバーの手によって、今一度初心に返って、基的な部分を見つめ直してみよう、解説してみようというコンセプトが含まれています。 日8日目のテーマは『Amazon EMR』です。 Amazon Elastic MapReduce(Hadoopクラスター Amazon EMR) | アマゾン ウェブ サービス(AWS語) 目次 Amazon EMRとは 分散処理基盤 分散アプリケーション 伸縮自在性 安全性 サービス利用のユースケー

    AWS再入門 Amazon Elastic MapReduce編 | DevelopersIO
  • Linux Insides : カーネル起動プロセス part1 | POSTD

    ブートローダからカーネルまで これまでの私の ブログ投稿 を読まれた方はご存じかと思いますが、しばらく前から低水準言語を使うようになりました。Linux用x8664アセンブリ言語プログラミングについても書いています。また、同時にLinuxのソースコードにも触れるようになりました。下層がどのように機能しているのか、コンピュータでプログラムがどのように実行されるのか、どのようにメモリに配置されるのか、カーネルがどのように処理や記憶をするのか、下層でネットワークスタックがどのように動くのかなどなど、多くのことを理解しようと意欲が湧いています。これをきっかけに、 **x8664** 版Linuxカーネルについてシリーズを書いてみようと思いました。 私はプロのカーネルプログラマではないことと、仕事でもカーネルのコードを書いていないことをご了承ください。個人的な趣味です。私は下層で何が起きているのかと

    Linux Insides : カーネル起動プロセス part1 | POSTD