タグ

2017年12月10日のブックマーク (41件)

  • Macに別れを告げて、クラウド中心の開発生活を始めるまで - Qiita

    昨年あたりから、Macやめたい病を患っていたのですが、2度の故障を経て、重たい腰を上げました。別にWindows使いたいわけもなく「ローカルが煩わしい」だけなので、Windowsアプリは一切インストールしていません。で、どうやって暮らしてるの? というお話です。 TL;DR このあたり↓を組み合わせていけば、クラウド生活可能: GCP (or AWS) Codeanywhere (or Koding or Cloud9) VPCネットワーク + VPN (IPsec+L2TP) + DNS Figmaほか、Webサービス各種 追記・この記事を書いていたら、AWS Cloud9が発表されました。選択肢が増えて何よりです。 はじめに 稿は、筆者が「Mac断ち」あるいは「ローカルマシンから解脱(げだつ)」する過程で見えてきた、ベスト(かも)プラクティス集に近いものです。 よく使うテキストエディ

    Macに別れを告げて、クラウド中心の開発生活を始めるまで - Qiita
    lugecy
    lugecy 2017/12/10
  • Slackのカスタム絵文字によるコミュニケーション活性化 - Qiita

    主にリアクションとして使われている絵文字はオーソドックスなもので、半数は Slack Reaction Decomoji のものでした。元祖デコモジの使い勝手はさすがと言えます。肯定や相槌を示す絵文字が多く見られますが、1位のはどのように使われるのかあまり想像つかないのではないでしょうか。 下記に、の利用例を示します。リモート勤務に関する議論の一幕です。 このように、「いい話だな」と思った時に使える便利リアクションです。 発言内で使われる絵文字 絵文字は上記のようにリアクションとして使う以外にも、発言の中で使うこともできます。 (lagopus) オープンソースのソフトウェアスイッチであるLagopusのロゴです。プロダクトのロゴを絵文字にしていると会話ログの視認性がよくなって便利かもしれません。 (tamachi) 一般には田町駅のことですが、某Slack内では田町にある特定のオフィスビ

    Slackのカスタム絵文字によるコミュニケーション活性化 - Qiita
    lugecy
    lugecy 2017/12/10
  • Growing Pains: Migrating Slack’s Desktop App to BrowserView - Slack Engineering

    Recently Slack on the desktop has been going through an awkward adolescence. Instead of flailing limbs and pitch squeaks, ours has manifested in ways rather more grim: inexplicably failing to render content, reloading during common operations, and error screens that aren’t actionable. The only silver lining has been being on the receiving end of some absolutely savage burns: Kinda seems like that

    Growing Pains: Migrating Slack’s Desktop App to BrowserView - Slack Engineering
  • Google Homeに話しかけて娘のおむつ交換を記録する - Qiita

    好きなモノは酒と女とラーメン、LIFULLのてぃば(@rechiba3)です。 弊社にはふたりの千葉がいますが、私のことは“人の方の千葉”で覚えて下さい! はじめに この記事はLIFULL Advent Calender2017 その2の4日目の記事です。 今年の1月に誤って天使を地上へ産み落としてしまいまして、そりゃもう、毎日が幸せです。 天使は生後〜2ヶ月ぐらいは15回/1日ほどおむつ交換の必要があり、それからは徐々に10回、6回と減っていきます。 はじめは、おむつを替える度に育児手帳のような紙に記録していたのですが、ペンを持って時間を見て、印を付けて…といったフローが億劫でした。 なのでGoogle Homeを利用して記録できるようにしました。 ちなみに記録する目的 夫婦の共有のためです。 いつ交換したか、うんちは出ているか、便秘ぎみか、軟便ぎみか、などなど 娘の健康のために把握し

    Google Homeに話しかけて娘のおむつ交換を記録する - Qiita
  • mrubyにPR送ってマージされてうれしかった - Qiita

    技術的な話は全くないので、Qiitaの中の人に消されなくもなさそうですが、うれしかったので。 初めてのPR。そしてマージ 今回、アドベントカレンダーのネタ探しとして、自作mrbgemのエラーをとる作業 をしていたんですが、その中でmruby体のマクロのタイポを見つけました。修正前のコードでも何の問題もなく動く(何故動くのかわかりませんが)のでこの修正は何にも寄与しないPRですが、これがmrubyへの初めてのPRになります。PRを送ってからその日のうちにマージされたスピード感が半端ないです。 ただ、単純な誤字の指摘。みたいなものなので、あまり達成感はないというか。そういうワガママな気持ちはありました。 2回目のPR。テスト実行時の表示フォーマットの修正 だれかWIndowsでmrubyのテストを実行して、mruby-socketの通らないテストを直す(またはスキップする)修正を行ってくれる

    mrubyにPR送ってマージされてうれしかった - Qiita
    lugecy
    lugecy 2017/12/10
  • 技術 Blog を書く理由 - かずきのBlog@hatena

    たまにポエムっぽいことを書くこともあるけれど(この記事は間違いなくポエム)基的にこの Blog は技術 Blog です。 この Blog の現状は大体以下のような感じです。 項目 数 備考 作成日 2011/12/27 年末に何やってるんだろう 総 PV 4,478,761 月間 PV 100,000 平日の PV 4,500 土日祝日の PV 1,500 記事数 2,311 ということで300記事以上もポエム書いた記憶がないので、2,000記事以上書き溜めてることになります。 何故書くのか 大体、牛尾さんが書いてくれてます。 qiita.com 一番の目的は、なんといってもメモです。備忘録としてとても役に立ちます。 取り組んでいる最中は忘れることなんてないのですが、数年経つと下手したらやっていたことすら忘れてるくらいに覚えてないものもあったりします。 そんなとき Google で検索す

    技術 Blog を書く理由 - かずきのBlog@hatena
  • ウェブシステムの運用自律化に向けた構想 - 第3回ウェブサイエンス研究会 - ゆううきブログ

    はてなエンジニア Advent Calendar 2017の2日目です。 昨日は、id:syou6162 さんによるAWS Lambda上で鯖(Mackerel)の曖昧性問題を機械学習で解決しよう - yasuhisa's blogでした。 この記事は、人工知能学会 合同研究会2017 第3回ウェブサイエンス研究会の招待講演の内容を加筆修正したものです。 講演のテーマは、「自然現象としてのウェブ」ということでそれに合わせて、「自然のごとく複雑化したウェブシステムの運用自律化に向けて」というタイトルで講演しました。 一応、他の情報科学の分野の研究者や技術者に向けて書いているつもりですが、その意図がうまく反映されているかはわかりません。 概要 1. ウェブシステムの信頼性を守る仕事 2. ウェブシステム運用の現状 国内のウェブシステムの運用技術の変遷 クラウド時代 コンテナ型仮想化技術 サーバ

    ウェブシステムの運用自律化に向けた構想 - 第3回ウェブサイエンス研究会 - ゆううきブログ
  • Jsonnetの薦め - Qiita

    JsonnetというJSONテンプレート言語を紹介する。 後で見るように、これはJSONを生成するための汎用テンプレートというよりはむしろ、計算や依存関係を含む設定を静的に書き下すために便利なのではないかと考えられる。 実際Jsonnetの仕様はGoogleのBCLに似ている。BCLはGoogleでコンテナクラスタシステムBorgの設定を記述するために使われている言語だ。 JSONテンプレート言語 ある意味でJsonnetは毎度おなじみのやつだ。JavaScriptの文法の不便さに対してalt JSが多数出てきた。CSSにおけるネストの分かりづらさやの記述の重複に対してCSS preprocessorが多数出てきた。それと同じようにして、Webにおける機械可読データのLingua FrancaたるJSONを記述するのが不便なのでJSONテンプレートが出てきた。 Jsonnetはその中の1つ

    Jsonnetの薦め - Qiita
  • 動的型付け言語 C# - Qiita

    C# は静的型付け言語です。 静的型付けというのは、コンパイル時に型やメソッドの構造が(ある程度)決定している、ということですね。 一方、JavaScriptPythonRuby などは動的型付け言語です。 動的型付けは、実行時に型やメソッドの構造が決まるということですね。 今回は、dynamic と System.Dynamic を使用した、C# における動的型付けについて見てゆきたいと思います。 そして最後に、デモとしてちょっと変わったコードをお見せいたします。 目次 dynamic 変数とリフレクション ExpandoObject DynamicObject デモ(DSL 風 XML ジェネレータ) dynamic 変数とリフレクション dynamic はクラスやインターフェイスなどの型の名前ではありません。 「変数」の型です(実体は object 型です)。 dynami

    動的型付け言語 C# - Qiita
  • Pacemakerの概要 « Linux-HA Japan

    Pacemakerはオープンソースソフトウェア(OSS)として開発されている、HAクラスタソフトです。以前は「Heartbeat」という名前で開発されていたソフトウェアの後継です。 HAクラスタとは複数のコンピュータをつなげ、全体で1つのコンピュータのように振る舞わせることで、システム全体の稼働率を高める技術です。 HAは「High Availability」(=高可用性)の略で、文字通り、可用性(*)が高い状態を示します。 * 可用性とは、故障等も含めシステムがいかに止まらずに稼働しているかの度合い。 Pacemakerは、複数のコンピュータをNW等で連携し、故障を検知したら他のコンピュータにそれを自動的に肩代わり(フェイルオーバ)させるなどし、「高可用性」を実現します。 Pacemakerの機能と対応可能な故障 Pacemakerは大きく以下5つの機能を有しています。 これにより、サー

    Pacemakerの概要 « Linux-HA Japan
    lugecy
    lugecy 2017/12/10
  • テスト駆動開発、Kent Beck著、和田卓人訳、濫読日記風、その28 - 未来のいつか/hyoshiokの日記

    テスト駆動開発の発売記念という建てつけの技術書の歩き方勉強会「テスト駆動開発」編 - connpassというイベントに参加した。 テスト駆動開発は2003年に翻訳出版されたのだが、絶版になっていて、先日、和田さんが訳し直して出版された。その経緯は新訳版『テスト駆動開発』が出ます - t-wadaのブログが詳しい。 ソフトウェア技術書の古典的名著を翻訳しなおし、復刊するという商業ベースにはなかなか乗りにくいことを敢行した和田さんとオーム社に拍手を送りたい。 再翻訳に当たって、1)サンプルのソフトウェアのバージョンを最新にした、2)判型を小さくした(持ち運びやすい)、3)サンプルコードの省略をやめ、コードの変更点を目立たせ、各章ごとにその時点の全コードを記載する、というような工夫を施した。 それによって、現時点でも非常に読みやすい構成になっている。 そして書の最大の特長は、付録Cにある、和田

    テスト駆動開発、Kent Beck著、和田卓人訳、濫読日記風、その28 - 未来のいつか/hyoshiokの日記
  • Big Sky :: Golang で HTTP コンテンツの charset 判定をするには

    « Golangarchive/zip でタイムゾーンの問題とファイル名の問題が解決した。 | Main | Vim の :terminal の中から外の Vim を操る方法 » この記事は Go Advent Calendar 2017 の記事... ではありません 追記あり 実はあったりします。 Golang で URL から charset を取得するのを書いたのですが、他にもっとよい方法があるとおもうのです... - Qiita 他によい方法がある気がするのですが...わからないので、書いてみました。 https://qiita.com/mochizukikotaro/items/ddc0c6b1b98cd33f451e golang.org/x/net/html/charset を使うと良いです。 package main import ( "bufio" "fmt" "l

    Big Sky :: Golang で HTTP コンテンツの charset 判定をするには
  • Visual Studio 15.5 Release

    正式リリース来ちゃった。 リリース ノート Visual Studio チームのブログ ソリューションのロード時間が半分くらいになってるんで一刻も早く使いたいんですけども… 先日、↓の勉強会の最後の方(31ページ目~)でちょっと話した通り、Unity でちょっと問題が出ていて、職場のPCではアップデートしばらくできないかも… C# 7.2 リリース ということで、C# 7.2 もリリース。 C# 7.1 が8月だったので、4か月ほどでのバージョン アップ。 C# 7.1 の時と同様、7.2 を有効にするには LangVersion 指定が必要です。 <Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>netcoreapp2.0</TargetFramework> <LangVersion>latest</La

    Visual Studio 15.5 Release
  • Serverless Ninja Tips "Instant Job Queue" をしっかり紹介してみる - Copy/Cut/Paste/Hatena

    このエントリは、Serverless Advent Calendar 2017とFusic Advent Calendar 2017の5日目となります。 PHPカンファレンスや、Serverlessconf Tokyo 2017でも紹介したServerless Ninja Tips(名前だけかっこいい)ですが、その中で、説明するたびに伝わっていない感がある "Instant Job Queue" について紹介したいと思います。 想定するユースケース「クローラ」 サーバーレスアーキテクチャでWebページのクローラを実装するとします。 まずは、以下のような1つのLambdaファンクション(今回はWorkerと呼びます)を考えるでしょう。 URLを入力として受け取って、URLにアクセスしてHTMLパース、次のURLをリストアップする リストアップしたURLを次のLambdaファンクションの入力と

    Serverless Ninja Tips "Instant Job Queue" をしっかり紹介してみる - Copy/Cut/Paste/Hatena
  • WSLでのバックグラウンドタスクのサポート

    情報源: Background Task Support in WSL – Windows Command Line Tools For Developers Windows Insider Build 17046よりバックグラウンドタスクの実行がサポートさえています。sshd、httpd、screen、そしてtmaxに関しては起動したコンソールを閉じても動作し続けます。 WSLタスクの昇格について バックグラウンドプロセスサポートの一環として、GitHubリポジトリからのディスカッションに従って、複数のWSLインスタンス(2つ以上のコンソールウィンドウでWSL)を実行しながら、より良いエクスペリエンスを求めています。 他のセッションの権限に影響を与えることなく、昇格したWSLインスタンスと昇格していないWSLインスタンスを同時に実行できるようになりました。 スタートアップタスクについて

    WSLでのバックグラウンドタスクのサポート
  • Visual Studio 2017 Version 15.5, Visual Studio for Mac リリース

    Visual Studio 2017 Version 15.5, Visual Studio for Mac リリース
  • IT技術の理解について:Geekなぺーじ

    気がつくと、IT技術を解説する文章を10年以上書き続けています。 ブログを書くときには、基的に自分の興味があることを書くことが多いので、そのときどきによってテーマが変わることも多いです。 私は、技術理解の流れとして以下のようなものがあると感じています。 興味を持つ 少し調べて何となくわかった気になる もうちょっと調べてわかってない部分を発見する もっと調べて理解を深める 2と3と4を永遠に繰り返す 「わかってない」であったり、「知らない」という事実に気がついてからが、新しいループのスタートなのです。 何かを「理解している」と思い込みたい傲慢な自分に気がつけるタイミングが発生しないと、新しい何かを調べ始めることが難しい気もしていると同時に、油断すると傲慢になっていく怖さがあります。 このように、自分の無知に気がつく喜びと苦悩の繰り返しで、何かを学んでいくというのがパターンとして多いのではな

  • neue cc - Introduction to the pragmatic IL via C#

    この記事はC# Advent Calendar 2017のための記事になります。12/1はmasanori_mslさんの【C#】処理の委譲で迷った話でした。そしてこの記事は12/2、のはずが今は12/4、つまり……。すみません。 ところでですが、私は今年の自身のテーマとして、「Extreme C#」を掲げています。C#で極限まで性能を出していく、ということを主題にして様々なものを公開してきました。その中でもILを書く技術というのは、どうしても欠かせないものです。実際、私が近年制作したライブラリはほとんどIL生成を含んでいます。 例えば、シリアライザ - ZeroFormatter, MessagePack for C#, Utf8Json。RPC - PhotonWire, MagicOnion。DI - MicroResolver。これらから、実際に使われた例と、そして実地でしか知り得な

  • ATOMパッケージを管理する - kotaroito's notes

    複数のマシンを利用している時にインストールパッケージをどうやって同期しようかという話。 Star atom.io でパッケージにスターをつけて管理するというやり方。 インストール済みパッケージにスター apm login apm star --installed スターをつけたパッケージをインストール apm login apm stars --install Git インストール済みパッケージを記録 apm list --installed --bare > path_to_gitrepo/atom_packages パッケージをインストール apm install —package-files path_to_gitrepo/atom_packages config.cson パッケージの話じゃないけど。 .atom/config.cson -> path_to_gitrepo/con

    ATOMパッケージを管理する - kotaroito's notes
    lugecy
    lugecy 2017/12/10
  • Windows エンジニア向け SQL Server on Linux のためのスキルアップデート

    Windows エンジニア向け SQL Server on Linux のためのスキルアップデート View on GitHub はじめに ドキュメントは、Windows エンジニアが、Linux 上で動作する SQL Server (SQL Server on Linux) を操作するために必要となるスキルアップデートについての情報を記載したものとなります。 (ドキュメント作成者が Ubuntu 16.04 LTS で検証をしているため、公開当初は Ubuntu ベースの情報となっています) SQL Server on LinuxSQL Server 部分のスキルについては、Windows / Linux 版で共通となりますが、OS 部分に関しては、Windows エンジニアのスキルアップデートが必要になるものが多数あります。 ドキュメントが、今まで Windows をメインに

  • PermissionsDispatcherのプロダクトマネジメント - hotchemi-ja-blog

    ちょっと前にpmconf 2017があったり最近仕事で若干プロダクトやらプロジェクトマネジメントっぽい事にもクビを突っ込んでいる中で普段OSS開発をしている中で得た気付きや知見が適用できる事が結構あったので整理してみようと思う。 自分が余暇の時間に開発しているのはPermissionsDispatcherというAndroidのRuntime Permissionsの処理をラップするライブラリで、2年程前から開発を始め有り難い事にそれなりのstarとユーザーを獲得する事ができている。 元々1人で始めたプロジェクトだったのだが今では派生プロダクトも含めて4人のメンバーがorganizationに所属しており、自分はなんとなく言い出しっぺ的な立ち位置で開発以外にもissueの対応やらproposalを書いたり色々雑多にやっている、という感じ。 OSS開発というとそこで使われているテクノロジーやコ

    PermissionsDispatcherのプロダクトマネジメント - hotchemi-ja-blog
  • PHPにおける例外クラスの設計考察

    この記事はPHP Advent Calendar 2017の2日目です。 ここ最近、業のほうが死ぬほど忙しく、すっかりブログを書いていなかった@Hirakuです。 だいぶ前のことですが、今年のPHPカンファレンス福岡で例外の話をしてきました。 この時の発表では例外に関する概要が主だったので、例外クラスそのものの設計について補足を書いてみることにします。 例外のある世界観 PHP7ではいくつかのエラーが例外と同じ挙動を示すようになり、エラーではなく例外機構を使う言語に様変わりしました。 例外というのは、かなり侵略性の高い概念であり、例外のある世界では以下の前提に立つことが暗黙のうちに強要されます。 どこでも例外が発生する可能性がある 例外によって中断されても、ソフトウェアが不適切な状態にならないように保証するのは各プログラマの責任(例外安全) たとえば、以下の関数で例外が発生する可能性があ

    PHPにおける例外クラスの設計考察
  • 読書力、齋藤孝著、濫読日記風、その24 - 未来のいつか/hyoshiokの日記

    読書力 (岩波新書)を読んだ。 著者の主張は明確だ。著者は、は「別に読まなくていい」ものではなくて、「当然読むべき」ものであると主張する。 読書力とは何か、なぜ読書力などということを言い出すことになったか、そして、どのようにを読むかということを記している。を読むことはスポーツのように訓練をすることによって上手になっていく。を読めない人は、その訓練が足りていないのだという。読書力をつけるには、目安として「文庫百冊・新書五十冊を読んだ」こととしている。 私はは楽しみのために読むので、どんな読み方をしてもいいし、人に読めとまでは言っていない。もちろん、読まないより読んだ方がいいとは思っているが、たとえそのようなことを言ったとしても、読むやつは読むし読まないやつは読まないので、読まねばならないと他人にいうのは無駄だと感じる。 著者は、もっと強い立場だ。「読書はしなくても構わない」ものでは

    読書力、齋藤孝著、濫読日記風、その24 - 未来のいつか/hyoshiokの日記
    lugecy
    lugecy 2017/12/10
  • いちばん簡単なEmacsコマンド - Qiita

    Emacsを使ってるけどLispは書いたことがないとはよく聞きますが、ちょっとした処理をするのにEmacsコマンドを定義するのは有用なので、割と簡単めなものを紹介していきます ヾ(〃><)ノ゙☆ そもそもコマンドとは何か Emacsにおけるコマンドとは、コマンド定義の最初(引数または説明文字列の次)の場所に(interactive)と書かれた関数のことです。 このコマンドはキーバインドを割り当てるか、M-xで検索して実行することができます。 個人で利用するコマンドはinit.elとか.emacsとかのファイルに雑に書いてやれば動きます。 Lispってどう書けばいいの そもそもEmacsの設定もあまり馴れてない場合はEmacsを書く前のLisp - Qiitaを読んでください。 おてがるなコマンド すごく簡単には、こんなEmacsコマンドを作るのはおてがるです。 ファイル(ディレクトリ)を開

    いちばん簡単なEmacsコマンド - Qiita
    lugecy
    lugecy 2017/12/10
  • オーム社電子書籍直販サービス終了に関して:Geekなぺーじ

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

  • shallow-equal for Object/React props

    オブジェクトとReactのProps向けのShallow(浅い) equalライブラリを書きました。 Shallow Equalは対象のオブジェクトのプロパティをそれぞれ1段だけ比較することを言います。 ものすごく単純に書くならば次のようなことをするライブラリです。 const object = {}, targetObject = {}; const isEqualed = !Object.keys(object).some(key => { return object[key] !== targetObject[key]; }); const { shallowEqual } = require("shallow-equal-object"); shallowEqual({ a: 1, b: 2 }, { a: 1, b: 2 }); // => true shallowEqual({

    shallow-equal for Object/React props
  • 『魔剤』の起源について - yhara.jp

    魔剤、というネットスラングがある。初期は「マジ?」の意味で使われていたが、その字面からエナジードリンク(特にモンスターエナジー)を指す用法もある。 魔剤 - アニヲタWiki(仮) - アットウィキ 「ぽきたw 魔剤ンゴ!?」を文法的に考察する - えいちゃーろぐ! 上記Wikiには また、魔剤を摂取するとスコアが良くなるという都市伝説めいたジンクスが広まったことから、音ゲー界隈でも使われることの多い用語である。 という記述があるが、筆者が観測した限りでは、「魔剤」はそもそも音ゲークラスタから流れてきた言葉であった。参考として以下のような情報がある。 用語一覧 - ECHOES wiki - アットウィキ 間材:マジ→マザイ→間材。魔剤とか魔材とか間剤とか言われている。twitterの一部の界隈が使用している謎の言葉がECHOESにも伝染してしまった。ハイガイサイコガイナーイとかあの辺と出

    lugecy
    lugecy 2017/12/10
  • Dockerで何が変わるのか - 世界線航跡蔵

    DockerCon 2014 に行ってきた。 この会期中には各社からいくつもの製品が紹介/発表された。そして、それによってクラウドという技術は次のステージに移行したと言っても過言ではないだろう。 より自由にユーザーがクラウドベンダーを選べる時代へ。どうやってクラウドにうまくデプロイするかではなく、アプリケーションそのものに注力できる時代へ。 Dockerとは Docker とはいわゆるコンテナ技術の1つで、Linuxホスト環境の中に隔離された別のLinux環境を作ってくれる技術だ。 軽量仮想マシンと呼ばれたりもする。 Solaris Container とも似ている。 新しくないDocker 1つ述べておくとDocker技術的には新しくない。Dockerの価値は技術以外にある(とDockerCEODockerConで言ってた)。 技術的にはSolarisにはSolaris 10の頃か

    Dockerで何が変わるのか - 世界線航跡蔵
  • Automation Accountパターン - 世界線航跡蔵

    コンテキスト あなたが開発しているサービスはユーザー向けにAPIを提供している。そして、APIを利用するにはユーザーは短寿命の認可情報(たとえばOAuth2トークン)を提示しなければならない。 ユーザーは認可情報が紐付いているアカウントの権限でリソースを読み取ったり、作成したり、所有したり、編集または削除したりする。 ここで、ユーザーは人間(が操作するユーザーエージェント)であることもあるが、人間の手を離れてバックグラウンドで自動実行されるプログラムかもしれない。 また、あなたは悪用目的でアカウントが大量登録されるのを防ぐためにCaptchaを利用したいと思っている。 さらに、課金目的で請求書送付先を登録させたいとも思っているかもしれない。 問題 プログラムが利用するアカウントを安全に管理するのがユーザーにとって困難である。 プログラムは自分でCaptchaを解いたりEメールを受け取るのが

    Automation Accountパターン - 世界線航跡蔵
  • APIデザインケーススタディ —— Rubyライブラリを移植する前に読む本 - 世界線航跡蔵

    APIデザインケーススタディ 』というを頂戴したので読んでみた。 ライブラリ作者に向けて このRuby標準ライブラリを題材にして、分かりやすく、多様な機能をサポートして、互換性を保つAPIの設計をするにはどのように考えるべきかを教えてくれる。 ここでAPIと言っているのは、一般的なRubyのクラスとオブジェクトとメソッドから成るライブラリをどうデザインするか、という話である。 別にChef RecipeやRSpec DSLのようなちょっと変わったDSLを設計するとかそういう話ではない。確かにその種の言語内DSLのデザインには固有のセンスが必要とされるし、 Ruby DSL Handbook なんてが書かれているように実装にあたってもある種のテクニックが必要なのも確かだ。でも、それ以外の「ふつう」のライブラリのデザインは果たして簡単だろうか。 適切な粒度のクラスを定義する。必要な

    APIデザインケーススタディ —— Rubyライブラリを移植する前に読む本 - 世界線航跡蔵
  • はてなブログに引っ越した - 世界線航跡蔵

    ここ何年か自作のブログシステムrhianoletheでブログをホストしていたが、とうとう耐えきれなくなったので、はてなブログに引っ越した。 主なリソースについてはすべて旧URLからのリダイレクトを提供しているつもりだが、取りこぼしがあったらアクセスログを見ながら適宜修正していこうと思う。 耐えきれなくなったのは、この数年のwebフロントエンドの発展と私の専門領域の乖離が原因だ。まず第一に、数年というもの私が専門にしてきたのはバックエンドだった。 一方、この期間においてデバイスの多様化やフロントエンド技術の発展がめざましく、こちらはこちらで専門化が進んでいったため、もはや個人が片手間に商用水準のフロントエンドをこなせる時代ではなくなってきている。少なくとも私には無理になってきたし、そこは私にとって重要な注力領域ではなくなった。 そういうわけなので、しばらくはてなブログでやっていこうと思う。

    はてなブログに引っ越した - 世界線航跡蔵
    lugecy
    lugecy 2017/12/10
  • fluentdとシステム設計の小ネタ - たごもりすメモ

    あるいは http://yugui.jp/articles/879 へのreply。 システム監視をfluentdに統合してしまうべきか否か システム監視は分けておいた方がいいと思う。分けるべき、とまでは言わないけれど。 それらの仕組みには相応の必要な機能セットがあり、それらは長い歴史の中で比較的決まった機能セットに収斂してきており、その収集・モニタリング・可視化・アラート通知など決まりきったパターンを様々な項目について停止なく行う必要がある。 Fluentdの各種プラグインを用いることで同じような機能は実現できる。そのプラグインのうち数割は自分が書いものだったりする。とはいえ各ホストのシステム監視までそこで行うことを想定して書いたかというと、もうちょっと高いレイヤでの監視・集計、つまりサービス単位などを目的としたものが多い。サーバ単位で行おうとしたときに設定が雑多なものになるのはおそらく

    fluentdとシステム設計の小ネタ - たごもりすメモ
  • fluentdを勉強中 - 世界線航跡蔵

    最近はlog collectionというと fluentd が話題らしいというので、少し触り始めている。 多少は分かってきたように思うので理解したことと、理解できていないところをまとめてみようと思う。 fluentdとは何か オフィシャルサイトには"tool to collect events and log"と書いてある。 要するに、サーバー群から継続的に情報を吸い上げるための仕組みを提供するdaemonである。 この「情報をかき集める」という枠組みは今時のサーバーサイドでは頻出パターンだ。 データベースサーバ、アプリケーションサーバー、フロントエンドキャッシュサーバー, ...と役割分担をするのが普通だし、 アプリケーションサーバーだって負荷分散のために複数インスタンスを持つのが当たり前だ。 そしてこれらサーバー群をきちんと管理するためには様々な情報をかき集めてきて一カ所に保存したり集

    fluentdを勉強中 - 世界線航跡蔵
  • Dockerイメージのフォーマット - 世界線航跡蔵

    問: Dockerイメージはどういうフォーマットなのか 答: 特定のフォーマットはないが転送時はtar 以前の記事 では、Dockerはアプリケーション動作環境のファイルステムをまとめて差分転送できると書いた。 ではこのディスクイメージはどういうフォーマットなのだろう。 実装こそ違うが実態としては仮想マシン環境に似ているという点を鑑みると、qcowとか何かその類いのファイルフォーマットなのかもしれないという想像も成り立つ。 しかし実際には特定のフォーマットというものはない。 Dockerホスト環境では、ディスクイメージは動作に適した形で保存されている。このため保存形式はdocker daemonの -storage-driver オプションによって異なる。 つまり --storage-driver=aufs で走っているならローカルファイルシステムのサブディレクトリ内に展開されているし、

    Dockerイメージのフォーマット - 世界線航跡蔵
    lugecy
    lugecy 2017/12/10
  • Managed VMsに移行 - 世界線航跡蔵

    今までこのblogはVPS上で動作させてきたが、この度 Managed VMs に移行した。 Wikiと全文検索は一時的に利用不能になっているが、他はそのまま動作しているはずだ。 主な動機はいまどき個人blogのためだけにシステムを管理するのは厭ということである。 慣れているのと安いのでManaged VMsにしたが、システムをDockerizeしてあるので、必要であれば少しの手間でElastic Beanstalkでもどこでも移動できる。 難点としては、このblogにはVMがオーバースペックということだ。Managed VMs(elastic beanstalkも同じだった筈だが)はdockerコンテナとそれを走らせるVMを1:1にmapするので、この程度の負荷だとリソースが余ってしまう。複数のコンテナ(モジュール)でシステムを構成しようとするとVMの利用料がかなり無駄である。当はN:

    Managed VMsに移行 - 世界線航跡蔵
    lugecy
    lugecy 2017/12/10
  • 情報技術による変革の道のりを思う - 世界線航跡蔵

    祖父母と話していて、ちょっと調べてを読んで考えれば分かることに対してなぜいつまでも堂々巡りの思考を巡らしているのだろうと思うことが良くあった。 学生時代に工場生産や農業にかり出されてあまり教育を受けられなかったというのはあるが、それにしても祖父は戦後に大学を出ている。時代的な教育の問題だけとも考えづらい。 しかし、よくよく考えてみるとちょっと調べるために私が使うのはインターネットの情報だ。書籍は書籍の価値があるので同様に情報源とする(今は過渡期で境界が曖昧とは言え、やはり書籍の形に手間暇掛けてまとめ上げた有料情報ならではの価値というのはある)が、それにしたって書籍に到達するのはweb上の書評経由であることも多い。入手経路も半数はAmazonからだ。これらを通じて学んだ情報や考え方、情報の取捨選択の方法に基づいて私は考えている。 これらはどれも祖父母が持っていない物だった。自分が何を知らな

    情報技術による変革の道のりを思う - 世界線航跡蔵
    lugecy
    lugecy 2017/12/10
  • Jsonnetでwebアプリケーションの設定ファイルをテスト可能に - 世界線航跡蔵

    最近、Jsonnetを用いてwebアプリケーションをデプロイする際に適用する設定群をテストしようとしている。 今やInfrastructure as a Codeと言われて久しく、アプリケーション配備の基盤構成もその上で走るwebアプリケーションをどうやって設定するのかもコードとして書かれるのが一般的になった。 それらはコードとして書かれているのでバージョン管理可能であり、テストも可能である。だから何かが間違っていれば実際に配備する前に気づくし、それでも間違えていれば差し戻せる。 「どうやって設定するか」はコードになった。では「何が設定されるか」はコードになっているだろうか。やっている人もいるだろうけれども、そんなに簡単な話でもない。 実際Chefで設定ファイルを扱う際は templates なり files なりが第一の選択であるとは思うが、これらはよほどヘルパーメソッドを充実でもさせな

    Jsonnetでwebアプリケーションの設定ファイルをテスト可能に - 世界線航跡蔵
  • 2017-12-05のJS: npm 5.6.0(beta)、React 16.2.0、New ECMAScript Proposals

    JSer.info #360 - npm 5.6.0(beta)が公開されています。 The npm Blog — v5.6.0 (2017-11-27) 2017-11-27時点ではβリリース Fully cross-platform package-lock.json -- Stop dropping failed optional deps by iarna · Pull Request #19054 · npm/npm 上記のように、package-lock.jsonに関してクロスプラットフォーム間での互換性があり一意のロックファイルが生成されるようになりました。 この問題はshrinkwrapとoptionalDependenciesの頃からあるので、5年がかりの修正となりました。 React v16.2.0がリリースされています。 React v16.2.0: Improved

    2017-12-05のJS: npm 5.6.0(beta)、React 16.2.0、New ECMAScript Proposals
  • HTMLからフィードを生成する機能の精度向上にご協力ください

    いつも Feedeen のご利用ありがとうございます。運営者の伊藤です。 今回は、HTMLからフィードを生成する機能の開発についてユーザーの皆様のご協力を募るため、記事を投稿させていただきます。 現在、フィードを配信していない Web サイトも Feedeen で購読可能とする機能を計画しており、その一環として HTML ページからフィードを生成する処理を開発しました。しかし、いかんせん個人で開発しているため、精度向上のためのデータが不足し、精度の改善に困難が生じております。そこで、同機能にご興味のあるユーザーの皆様に購読したいページを入力していただき、生成結果について簡単な評価をしていただきたいのです。 具体的な手順としては、まず https://feed-detector.appspot.com/ にアクセスしていただき、表示されるフォームに URL を入力してください。 送信すると、

    HTMLからフィードを生成する機能の精度向上にご協力ください
    lugecy
    lugecy 2017/12/10
  • ブロック崩しゲームの亜種アプリ、Twitterでのプレイ動画がきっかけでブーム到来?【やじうまWatch】

    ブロック崩しゲームの亜種アプリ、Twitterでのプレイ動画がきっかけでブーム到来?【やじうまWatch】
    lugecy
    lugecy 2017/12/10
  • パソコンをロックせずに放置する人をしつける12個のいたずら - フォトシンス エンジニアブログ

    Akerun Advent Calendar 3日目 〜セキュリティ意識の改善〜。 はじめまして! AkerunのAPIや管理画面を主に開発しているエンジニアのuchidaです。 みなさんはパソコンから離れるとき、ロックする習慣はついているでしょうか? Photosynthでは「社内でもパソコンから離れる時はロックする」ということが社内規則で定められています。 こういったルールを規則として設けてる会社は多いのですが、守らない人というのは僕がこれまで努めたどの会社にもいました。 そういう人には離席した時にパソコンを操作して「実際に困る」という事を体験してもらえばいいのではないかと考え、今回は僕が考えた効果の高そうな方法を紹介します。 あくまでネタ記事として軽い気持ちで読んでいただけると幸いです。 今回の記事の対象OSはmacOSです(便宜上「パソコン」と表記します)。 1. ディスプレイの表

    パソコンをロックせずに放置する人をしつける12個のいたずら - フォトシンス エンジニアブログ
    lugecy
    lugecy 2017/12/10