Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。この本では、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...
![MITが並列プログラムの最適化改善のためにLLVMのIRを拡張](https://cdn-ak-scissors.b.st-hatena.com/image/square/fe675ffb550e7f1d625d90a584fbfea79cb71267/height=288;version=1;width=512/https%3A%2F%2Fres.infoq.com%2Fnews%2F2017%2F02%2Fmit-llvm-parallel-programs%2Fja%2Fheaderimage%2FGettyImages-501091998.jpg)
サーバーエンジニアの下川です。 先日のre:inventでもあったとおり、最近サーバーレス・アーキテクチャについて耳にする事が多くなってきました。 TimersでもLambdaを使用して写真リサイズ等の処理をサーバレス化し運用しています。 今回は写真のリサイズをGoogle App Engine(以下、GAE)で実装するとどうなるのか?というのを試してみました。 言語はGolangを使用しました。 環境構築 せっかくDockerを学習中なので、Dockerfileで書いてみました。 また、2017年2月時点でのGAEでのgolangのバージョンは1.6.2です。 FROM google/cloud-sdk RUN rm /bin/sh && ln -s /bin/bash /bin/sh RUN apt-get update -y && \ apt-get install -y --no-
こんにちは。 FPGAボードとパソコンを通信させるにあたって、間にArduinoを挟むことにしました。 Arduinoにイーサネットのシールドを装着してPCとArduinoを接続。 ArduinoとFPGAボードはシリアル通信、という目論見です。 Arduinoの役割は、HTTPサーバっぽく振る舞ってブラウザの相手をすることです。 ブラウザから送信されてくるHTTPリクエストからFPGAに送信するデータを抜き出すわけです。 というわけで、以下のようなスケッチを作成してみました。 #include <Arduino.h> #include <WString.h> #include <SPI.h> #include <Ethernet.h> #define LINE_BUF_SIZE (512) byte mac_addr[] = {0x90, 0xA2, 0xDA, 0x00, 0x54,
はじめに KLabさんの協力会社として一緒にお仕事をさせて頂いておりますクラスターコンピューティングと申します。今回はSerfの同様にHashiCorpより提供されているConsulを試してみました。 コンテナによるクラスタなど随時サービスが追加削除されるような環境ではそのアドレスはDHCPなどにより動的に決定されます。コンテナ名などでそのサービスにアクセスできれば便利ですが、動的なアドレスとコンテナ名の関係をどのように解決するかという点が問題になります。クラスタ内でロードバランサやリバースプロキシ等を利用している場合、サービスの追加に応じてその設定ファイルも動的に更新しなくてはなりません。また、構成が随時変化するなかで、現在どのサービスがどのホストで実行されているかということを把握する必要もでてきます。 Consulを利用することによりこれらの問題を解決することができます。今回はそのため
Rubyの、 Time.now は最終的には clock_gettime(3) を呼び出しているそうな。 masterの当該箇所 Time.now は Time.new を無引数で呼び出しているに過ぎない ここで、 Time#initialize の実態は time_init time_init は引数がない場合 time_init_0 を呼ぶ time_init_0 は timespec 構造体のポインタを引数に rb_timespec_now を呼ぶ rb_timespec_now で clock_gettime(3) が使えるシステムであればそれを呼ぶ。そうでない場合 gettimeofday(2) らしい… ここで、以下のような小さなCのコードを書く。 /* man になかったけどこの宣言がないと RTLD_NEXT が定義されなかった */ #define _GNU_SOURCE
CheckIO というプログラミングサイトで2年以上前にPythonで書いたコードが久々に見返したらリファクタリングの提案がされてて少し感動したので解説を兼ねて共有する。 問題の回答とそこから伸びているスレッドは問題を解いた人にしか見えないらしいのでここにコピーする。以下の引用は全てこの問題やスレッドが出典である。 問題 0と1の二次元配列で迷路を渡すので、その迷路の (1, 1) の座標から初めて(10, 10) まで辿り着く経路を N,S, E, Wからなる文字列で返却せよ。 0は床、1は壁を表す。Nは上、Sは下、Eは右、Wは左を表す。およそこの図が全てである。経路は複数ありうるが最終的にゴールにたどり着ける経路を1つ返却すればよい。 僕の(いまいちな)回答 とにかくタイピングしたくなかったので回答を短く収めた。 def checkio(data): result = [] dirs
esp8266+ MCU連携の作例となります。 nokia 5110 LCD (Philips PCD8544 コントローラ ) +Analog Sensor のDeepSleep(省エネ)版 NTP時計,アナログ温度センサー値の表示、 センサー値のクラウド送信の機能としています Youtube Parts 84*48 LCD Module White Backlight Adapter PCB for Nokia 5110 Arduino / 1.97 USD Sensor LM60BIZ / 100JPY Git arduino.cc さんのコード参考にしています。 http://playground.arduino.cc/Code/PCD8544 makeKuc-nokia5110-1: https://github.com/kuc-arc-f/makeKuc-nokia5110-1
関連記事 NECは、どうやって「在庫が山積みなのに売り場は欠品」状態から脱却したのか 「なぜこんなに在庫が残っているのに欠品が起こるのか」。NECでは1990年代まで、需給ギャップに円滑に対応できず、サプライチェーンの各所で在庫の山が発生していた。その状況から脱却できたのは2000年から取り組みを本格化させた生産革新の成果だ。その革新の最前線でもあるNECインフロンティア東北を訪ねた。 半導体メーカーだからできるSIソリューションを 組み込み業界で“縁の下の力持ち”的な存在である半導体メーカー。NECエレクトロニクスは、その領域を超え、顧客へのトータルソリューションに力を入れる。「売り込むのはデバイスではない。それは後から付いてくる」。逆転の発想で取り組むソリューション事業とは? 鶴岡工場の閉鎖を決定したルネサス作田会長、「まだ人・モノが多い」 ルネサス エレクトロニクスの会長兼CEOに就
今回は、コーディングレス開発環境であるNode-REDを用いて「Twitterへ投稿された画像に何が写っているか発言する人工知能ジョークボット」を作成しましたので紹介します。本ボットは、Microsoft Cognitive ServicesのComputer Vision APIノードと、WatsonのLanguage Translater APIノードを組み合わせて開発しました。特定のハッシュタグを含む画像付きツイートが投稿されると、下の様に画像に何が写っているかの説明を返信してくれます。 現在、ハッシュタグ#cogbotを付けて画像を投稿すると、ボットが応答するようにしていますので、遊んでみてください。最初にボットの動作デモを掲載します。 (1) 電車の写真 まず、特定のハッシュタグを付けて、下の電車の画像を投稿してみます。 すると、ボットが写真に何が写っているか発言します。「旅客列
CAを離れて1年半。最近はどんな感じか知りたかったので聞いてきました。面白かったです。 グランブルーファンタジーを支えるインフラの技術 (株)Cygames 佐藤太志 氏 グランブルーファンタジーについて 特徴 スマホのRPG ブラウザゲーム 協力プレイ、マルチプレイ システム規模 登録ユーザ数1400万人 月間300億PV 100万query/sec 8万req/sec トラフィック12Gbps (CDN除く) システム構成 LBはBIG-IP CDNはAkamai HTTP/WebSocketがフロントインターフェース Web: Apache + mod_php + mysqli Node: Node.js + twemproxy DB: MySQL + MHA オンプレミス、仮想化環境は使っていない ネットワーク通信量が非常に多い 低レイテンシを求められている ハイパフォーマンスを実
みなさんこんにちは、サイバーエージェントのFRESH!というサービスでフロントエンドの開発しています鈴木です。 FRESH!は生放送に特化した「映像配信プラットフォーム」で生放送というサービスの特性上、HTTP Live Streaming (HLS) というストリーミングプロトコルを用いて映像を配信しています。 そのFRESH!では、2016年8月頃から動画プレイヤーをFlashを用いない新しいプレイヤーにリプレイスしました。(Google Chrome, Firefox, Safari10, Edge, Opera, Vivaldi) このエントリーでは、その移行とその後の得られた結果について紹介いたします。 経緯 2016.01 サービス開始当初 Video.js v4.x(videojs-contrib-hls v0.16.x Flashベース)でプレイヤーを提供していました。 2
はじめに 現代のCPUではSIMD(Single Instruction Multiple Data)命令を利用することができる. SIMD命令とはその名の通り,ひとつの命令で複数のデータを処理するものである. Intel系のCPUでは,MMX/SSE/AVX/AVX-512といったSIMD命令が利用可能であり,ARM CPUではNEONというSIMD命令が用意されている. 各SIMDとSIMD用のレジスタの対応関係は以下のようになる. 項目 利用可能レジスタ MMX 64bit のMMレジスタ SSE 128bit のXMMレジスタ AVX 256bit のYMMレジシタ AVX-512 512bit のZMMレジシタ ARM NEON 64bitのD(Double-Word)レジスタおよび128bitのQ(Quad-Word)レジスタ これらのレジスタを用いて,例えば4つのint型を一
こんにちは、バックエンドエンジニアの塩崎です。 今まではiQONの全文検索用のインデックスには形態素解析だけを用いていましたが、先日Ngramも併用することで検索を改善しました。 その結果、検索結果のヒット数が向上し、なおかつ検索ノイズの増加を軽微なものに抑えることができました。 この記事では、Ngramを併用することのメリット、およびそれをApache Solrで利用する方法について紹介します。 欲しい情報が見つからないとは そもそも、「検索したけど欲しい情報が見つからない状態」とはどのような状態でしょうか? ここではその状態を以下の2つの状態に分解して考えてみます。 欲しい情報の数が少ない 1つ目の状態は「欲しい情報が検索結果中に少ない」状態です。 例えば、旅行情報サイトで「東京」と検索した時にDBの中には数千件のデータがあるのに検索結果数がわずか数件しかないような状態です。 欲しくな
最近、Semantic Segmentationについて調べる機会がありました。 せっかくなので、公開します。 例に挙げた研究は、まだarXivのみに発表されたようなのは(Pix2Pixを除いて)あまりカバーされてません。(この後もう少し調べる予定) Semantic segmentation from Takuya Minagawa また、資料をアップロードしようしたまさに今日、PFNさんがDeep Learningを使った最新のセグメンテーション方法についての素晴らしいセミナーがあったので、この資料と合わせて見ると参考になると思います。この資料でカバーしていないUnet、SegNet、RefineNetなどについても解説されています。
はじめに これまでPythonを使用するのに「Jupyter Notebook」を使用してきたのですが、簡単な確認ならこれで十分なんですが本格的に開発するとなるとブレークポイントを使ったデバッグが出来ないと自分には辛いということで、Python開発環境を整えることにしました。 候補として以前使用したことがあるPythonの統合開発環境(IDE)「PyCharm (パイチャーム)」とマイクロソフト発のクロスプラットフォームなテキストエディターである「Visual Studio Code」があります。 今回は、話題になっている「Visual Studio Code」を使用してみます。 ちなみに、PyCharm (パイチャーム)については下記サイトを参考にするといいでしょう。 qiita.com 環境 OS:Windows10 Home(64bit) Python:Python 3.5.2 ::
こんにちは! 新オフィスに移転してから毎日2缶ドクターペッパーを買うのが習慣化してきた @fortkle です。 今回はSlackで簡単に文字校正ができるBotを作ってみたのでご紹介したいと思います。 手軽に校正したい メールやチャットだけでなく、こういったブログやissueに書く仕様など「文章を書く」シーンはたくさんあると思います。 そんなとき自分が伝えたいことを相手にちゃんと伝えることができれば良いのですが、良い文章を書くのはなかなか難しく、今も試行錯誤しています。 そこで、相手に伝えたいことがちゃんと伝わる良い文章を書くためにSlack上で簡単に試せる文字校正Botを作ってみました。 成果物 実際に見たほうが早いと思うので画像を交えてご紹介します。 例として以下の文章をチェックしてみたいと思います。 この文章はご存知の通り、ダミーテキストです ヽ(^o^)丿 そして、様々な、エラーチ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く