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
最初はちょっととっつきにくいけど、責務がはっきり分かれていて比較的コードがごちゃごちゃになりにくい(と思っている)Reduxですが、やはり実戦投入するとどうにも扱いにくい部分が出てきます。 特にそう感じるのは通信系の処理、ユーザーとのインタラクションです。これってつまるところ非同期処理なんですが、処理を依頼する側、つまりActionを投げる側としては「あとのことはまかせた!」と言いたい。Actionを投げる部分ってのはだいたい何かのイベントハンドラだったりしますが、そういう場所に通信やインタラクションの処理をダラダラと書きたくない。 本稿ではそれらの面倒な部分を責務が分離されたメンテナンスのしやすいコードになるようにmiddlewareを活用する例をいくつか紹介します。 その前にmiddlewareについて Reduxの公式ドキュメントではログ出力を例に取り、アプリケーション本体から分離し
- SmartNews uses stream processing to deliver news quickly as the lifetime of news articles is very short. Kinesis Streams play an important role in processing user activity streams and metrics in near real-time. - Data is ingested using Kinesis Producer and Consumer Libraries and processed using Spark Streaming to generate metrics for ranking articles. Metrics are stored in DynamoDB. - An ETL wor
毎朝、デザイナーは目が覚めると、喜んで自分の製品に取りかかります。それがデジタル製品であっても物理的な製品であっても、デザイナーは心の中で、人々が自分の製品を使いたがるようになり、楽しんで使うようになると信じているのです。 それはやや一般論かもしれません。しかし、私たちはデザイナーとして、自然と 自分が取り組んでいる各プロジェクトを最高のものにし 、革新的なものにして、そして何より、違いをもたらしたいと考える傾向があります。 ああ、私の製品は素晴らしい物になるはずだ。機能やオプション、設定が充実している。みんなが毎日その製品を使い、愛用するようになるだろう。 – あるデザイナー ここで少し意外な事実をお教えましょう。人々は製品を使用ことにあまり興味はありません。ユーザがインターフェースを操作したり、つまみを回したり、レバーを引いたり、ボタンをタップしたりするのはすべて時間の無駄です。むしろ
書籍化し、12万部突破しました。 【SlideShare広告回避用】 https://www.docswell.com/s/morishige/K3MXPZ-howtodesignslides ・PDFは無料でダウンロードできます ・自己学習や勉強会などの目的でしたらご自由にお使いいただけます ・授業・研修への利用はフォーム( https://forms.gle/WwgXTT974xFW78mFA )にご報告ください ・記事への参考資料にする際は適切な出典明記をお願いいたします 【使っているフォントについて】 M+フォント「MigMix1P」です。こちらもメイリオ同様おすすめです。 フリーで使えます。 【個人HP】 > https://mocks.jp > 仕事のご依頼はこちらから 【書籍情報】 デザイン入門:https://amzn.asia/d/4WDsTI6 デザイン図鑑:https
勢いだけで作った 参考文献: やはりお前らのMVCは間違っている http://www.slideshare.net/MugeSo/mvc-14469802
TextFill 枠のサイズに応じてテキストサイズを自動調整してくれるjQueryプラグイン「TextFill」 文字数がおおくなってしまっても自動で文字サイズを小さくして枠内に収まるようにしてくれます。 次のように、文字を収めてくれます。動的なコンテンツにおいても便利に使えそうです 関連エントリ 文字がパラパラめくれるヒンジパネル風のテキストエフェクト実装「FLAPPER」 枠のサイズに応じてテキストを自動省略できる「Jquery-quickfit」 テキストのグラデーションを表現するReactコンポーネント「React Text Gradient」 Flashレスでクリップボードにテキストをコピーできるようにする「clipboard.js」 テキストに背景画像を設定してクールなテキストを表示できる「TextHoler.js」
社内LT大会で発表するネタとして、Rails5の新機能である ActionCable を使って某動画共有サイト風のスライド共有システム「nslides」を構築してみました。 まずは下記を参照ください。 ニコニコRails5 〜Rails5の新機能 ActionCable 使ってみたよ!〜 公開終了しました (2017/02/27) ソースコードおよびシステム構築のためのプロビジョニング設定などはgithubにて公開しています。 https://github.com/devchick/nslides ActionCableとは ActionCableとはRailsアプリの中でWebSocketを簡単に利用できるようにするフレームワークです。 WebSocketを利用すると、クライアント側からサーバー側へいちいちHTTPリクエストでポーリングしたりすることなく、必要なタイミングでサーバー・クラ
以下の記事内容について、奥一穂氏(@kazuho)より、「connectのエラーコードが信頼できなくなるといった欠点もあるのに透過 SOCKS プロキシが汎用的に良いように読めてしまう」というご指摘をいただきました。確かに、下記内容は当社が抱えていた複数の課題を短期間で解消できる「ワークアラウンド」として透過 SOCKS プロキシという技法もあることを紹介したものであり、NAT と比較して常に良いという主張をしたかったわけではありません。また、記事内では解説を省きましたが、従来より HTTP(S) 通信は NAT ではなく HTTP プロキシを利用しています。謹んで補足・訂正とさせていただきます。 猫が好きだけど猫アレルギーで近寄ることができない山本泰宇です。 先日アーキテクチャ刷新プロジェクト「Neco」を紹介しましたが、今回はその活動の一環として実施したネットワークアドレス変換(NAT
A key part of Continuous Integration is being able to deploy quickly, safely and with minimal impact to production traffic. Sites use various deploy automation tools like Capistrano, Fabric and a large number of homegrown rsync-based ones. At Etsy we use a tool we built and open-sourced called Deployinator. What all these tools have in common is that they get files onto multiple servers and are ab
仮想化は最近のコンピューティングにおける最も大きな進歩の 1 つです。仮想化という用語は、実際のハードウェアに対するさまざまな独立性の度合いを持つ仮想コンピュータを模倣するさまざまな抽象化と技術を指します。1 台の物理的なサーバが同時かつ隔離された状態で動く複数のシステムをホストすることが可能です。仮想化アプリケーションは数多く存在し、隔離された仮想システムを使うことができます。たとえば、さまざまに設定されたテスト環境を作ったり、安全性を確保する目的で異なる仮想マシン間でホストされたサービスを分離したりすることが可能です。 複数の仮想化ソリューションが存在し、それぞれが利点と欠点を持っています。本書では Xen、LXC、KVM に注目しますが、他にも以下のような注目すべき実装が存在します。 QEMU is a software emulator for a full computer; p
Ansible 2.0 になって使えるモジュールが大幅に増えましたが、その中に Consul 関係のモジュールがいくつかあります。前から気になってたので、ちょっと試してみました。 今回のお試し環境 ホストOS OS X Yosemite 10.10.5 VirtualBox 5.0.10 Vagrant 1.8.1 Ansible 2.0.1 ゲストOS CentOS 7.2 Playbook 昨年末に Web サーバ1台、MariaDB サーバ1台、Cloudera QuickStart VM で Consul クラスタを組む playbook を作ったので、今回はこれを使いました。 consul モジュールの検証に使った playbook muziyoshiz/hashicorp-sample: Sample configurations of HashiCorp tools vagr
OutOfMemoryError (以下 OOME)が起こったときにお手上げ状態にならないためにも、 Java のメモリ管理の仕組みとか、 OOME が起こったときの調査方法とかを調べる。 環境 OS Windows 7 > java -version java version "1.8.0_74" Java(TM) SE Runtime Environment (build 1.8.0_74-b02) Java HotSpot(TM) 64-Bit Server VM (build 25.74-b02, mixed mode) Java 8 で、 Oracle の JVM を前提とした話です。 Java のメモリ管理 これを知っておかないと、 OOME が起こっても、メモリ内で何が起こっていて、どこを調査すべきで、どのように対処したらいいのかが判断できない。 なので、まずは、そもそも J
KMC 春合宿 2016 // Android -> https://speakerdeck.com/nonylene/androidios-apurizuo-cheng-ru-men-android-bian
ビジネスに役立つ AI をお届けします 来栖川電算は AI 技術の研究開発から応用まで幅広いサービスを提供する名古屋工業大学発ベンチャー(2003 年設立)です。未踏ソフトウェア創造事業の採択者やソフトウェア分野の様々なコンテストの入賞者が在籍しています。最先端の AI 技術だけでなく、膨大な高品質データを生み出す技術、ハードウェアの限界性能を引き出す実装技術、高品質なソフトウェアを実現する設計技術にも定評があります。 手軽に使える様々な認識エンジン 来栖川電算の認識エンジンを活用すれば、センサーデータに埋め込まれた意味を手軽に抽出できます。種類ごとに用意された認識エンジンは教師データや設定を変えるだけで様々なタスクへ応用できます。Linux・Android・iOS 用のライブラリ、WebAPI、コマンドラインツールなどプログラマフレンドリーな SDK を提供しています。トレーニングやコン
ソフトウェアのテストはたいへんだなあ ソフトウェアのテスト、きちんとしてますか?最近は、スマートフォンやタブレットの普及に伴って、ユーザが使うデバイスの種類が多様化しています。 使われるOSやブラウザ、画面サイズの種類が増える中、プリキュア1の多様化も著しいですね。「プリキュアで学ぶワンライナーWebスクレイピング」で検証した通り、昨年までは43人、今年は「魔法つかいプリキュア」が加わることで、プリキュアの数は総勢45人になりました2。プリキュアはキャラクターによって専用デバイスを持ったり3、感情が昂ぶると常識を覆す事象を起こしたりするので、ITサービスを提供するエンジニアの方々は、ユーザ満足度向上のため、当然プリキュアがユーザになった場合も考慮した動作テストをされていると思います。 とはいえ、プラットフォームとプリキュアの組み合わせの数は、既にかなりの数です。全てのパターンを試すととても
SwiftでQRコードを生成してみました。 環境 Xcode 7.2.1 Swift 2.1.1 結果 import UIKit import CoreImage var url = "http://www.yahoo.co.jp/" // NSString から NSDataへ変換 let data = url.dataUsingEncoding(NSUTF8StringEncoding)! // QRコード生成のフィルター // NSData型でデーターを用意 // inputCorrectionLevelは、誤り訂正レベル let qr = CIFilter(name: "CIQRCodeGenerator", withInputParameters: ["inputMessage": data, "inputCorrectionLevel": "M"])! let sizeTran
x-Qey : The Turks were here ANONIM(); TNX : X-Qey - matherS
Lead Technical Architect Fast Retailing Co., Ltd. Responsibilities: • Architecture • Infrastructure • Innovation Carrer: • Yahoo! JAPAN(6 Years) • Traveling in NZ(1 Year) • Fast Retailing(4 Years) Keito Fukuda 1. Challenges in Retail 2. Microservice Design 3. Global Operation Agenda 1. Challenges in Retail 2. Microservice Design 3. Global Operation Agenda Business Transformation Multi-Channel Omni
安全なVPC設計 Tweet VPCの構築はAWS を使って Web サービスを構築する上で避けて通れないものですが、デフォルトで作成済みの VPC はセキュアとは言い難いものです。 しかしながら、正しい VPC を構築するためにはネットワークに関する知識に加えて AWS 特有の事情も関わってくるため、Web アプリケーション開発者にとって容易なものではない場合が多いでしょう。 この記事では、私のおすすめする VPC の設定の紹介と、なぜそのような設定がよいのか、他の設定と比較します。 public と private サブネット public サブネットとは、インターネットにアクセス可能なサブネット、つまり、そのサブネットのルートテーブルに Internet Gateway が設定されているサブネットのことです。 一方で private サブネットとは、直接のインターネットアクセスのでき
概要 Electron(旧称atom-shell)には起動時に立ち上がるJavaScript側のプロセス(メインプロセス)と、メインプロセスから立ち上げるBrowserWindowのプロセス(レンダラプロセス)が存在する。メインプロセスとレンダラプロセスは別物なので、これらの間で状態を伝達する仕組みが必要になることがある。ElectronにもIPC(プロセス間通信)の仕組みは存在し、ずばりipcモジュールとして定義されている。 前提 BrowserWindow(レンダラプロセス)を立ち上げてHTMLを表示する部分までは終了しているものとする。 var app = require('app'); var BrowserWindow = require('browser-window'); app.on('ready', function() { var currentWindow = new
※最初に断っておきますが、この記事はもちろん、このブログ全体もそうですが、私の個人ブログであって、会社の公式見解とは一切関係ありません 自分のチームや会社でGitHubを使いたいんだけど、チームメンバーにGitHubを使ったことのある人が自分以外いないよ、みたいなケースがあるかと思います。 そんな時に役立つリンク集を紹介しておきます。 英語のリソース GitHub Guides Mastering Markdown Mastering Issues Understanding GitHub Flow GitHub Training YouTube channel GitHub Services curriculum "Kit" GitHub for Developers GitHub for Everyone Pro Git 2 eBook GitHub Git Cheat Sheet P
\epsilon = 10^{-5}\\ \mu_{B} \leftarrow \frac{1}{m} \sum_{i=1}^{m} x_i\\ \sigma^2_{B} \leftarrow \frac{1}{m} \sum_{i=1}^{m} (x_i - \mu_{B})^2\\ \hat{x_i} \leftarrow \frac{x_i - \mu_{B}}{\sqrt{\sigma^2_{B} + \epsilon}}\\ y_i \leftarrow \gamma \hat{x_i} + \beta 上式について,$\gamma$と$\beta$がパラメータでそれぞれ正規化された値をScaling及びShiftするためのものだそうです.それぞれ,誤差逆伝播法で学習する必要があるのですが,ここでは詳しい式の導出を割愛します. Fully-Connected Layerの場合 通
ハミルトニアンモンテカルロ法(HMC)の動作原理をアニメーションを用いて理解してみようという記事です。 先日の記事、「【統計学】マルコフ連鎖モンテカルロ法(MCMC)によるサンプリングをアニメーションで解説してみる。」の続編にあたります。 豊田先生の書籍「基礎からのベイズ統計学」の例題を使わせていただき、サンプリング対象の分布は今回ガンマ分布とします。本記事ではアニメーションに使った部分の理論的な解説しかしませんので、HMCの詳細な解説はこちらの書籍をご参照いただければと思います。 はじめに 推定する対象は$\theta$を変数としたガンマ分布です。ベイズ推定で推定したいパラメーターを$\theta$で表すので、$\theta$の分布として表されます。1 ガンマ分布はこちらです。 $$ f(\theta|\alpha, \lambda) = {\lambda^{\alpha} \over
少し前にAdvent Calendarのネタでswiftfsと言うツールを作ったのですが、Goでデーモンプログラムをどう書けば良いのかよくわからなかった。以下の記事を参考にしたけど、そもそもfork()しちゃいかんとなると、なかなか難しいですね。 Goでデーモンを実装する で、swiftfsは以下のような実装にしました。syscall使うとWindowsとかで動かなくなってしまうとか、そもそも長いとか、あまり良い実装ではないように思います。Go的にもっとい良い方法があったら教えて下さい。コード全文は末尾とGistにあります。 親プロセス、子プロセス(デーモン本体)共通 func main() { var child *bool = flag.Bool("child", false, "Run as a child process") flag.Parse() // 子プロセスとのパイプを作
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く