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が最近リリースされ、重要な変...
僕は主にRubyとGoを書く。この2つを使っていると、「(Rubyに比べて)Go辛いなあ」と思うことがあるのだが、なんで辛いのかはよくわかってなかった。 最近仕事にGoを使い始めたRubyistが社内ブログでGoのPros/Consを書いていたんだけど、そのConsも自分が辛い理由には該当しなかった。 今日Go ConferenceでRob Pike先生がGoの設計思想について話をしていて、思うところがあったので書いてみる。 書き方が1つだと冗長な書き方を迫られることがある Robは、「すでにできることのための機能の追加は行わない。genericsはinterfaceとかぶるから、genericsを入れるならinterfaceを取り除き標準ライブラリを全てgenericsで実装し直す」 というようなことを言っていた。 この思想が徹底されることによりコードの可読性を担保できるという。 一方で
rack-user_agent を作った rack-user_agentという、User-Agentに応じていろいろな判定ができるメソッドを生やすRack::Request拡張を作った。 tagomorisさんのWootheeを使ってRack middlewareでUser-Agentをパースしておいて、 その結果に応じてrequestから簡単にいろいろな情報を得られるようにしてある。 たとえばRailsだとGemfileにgem "rack-user_agent"と書くだけで以下のように使うことができる。 class ApplicationController < ActionController::Base before_action :set_request_variant def index # example request.user_agent #=> "Mozilla/5.0
iQONでクロールしたアイテム画像がコーディネートに使われるまでを解説したブログこんにちはVASILYエンジニアの松本です。VASILYが運営しているiQONというサービスの大きな特徴の一つに、ユーザーがファッションアイテムを組み合わせてコーディネートを作り、それを投稿できるという機能があります。それを実現するために、iQON内では様々な画像処理が行われているのですが、それらを最近大幅に改善したのでその内容を紹介したいと思います。 iQONのコーディネートに使われるアイテム画像について コーディネートを作る過程 下の図のようにユーザーは検索画面からアイテムを検索し、それをキャンバスに配置してコーディネート画像を作っていきます。 iQON内の画像のほとんどは提携先ECサイトからクロールして取得している画像なので、コーディネートに使う画像については以下の2点を実現する必要があります。
はじめに 先週の土曜日(2015/8/29)に西脇.rb&神戸.rbの合同勉強会として「Rubyistのための英語勉強会」を開催しました。 nishiwaki-koberb.doorkeeper.jp この勉強会はその名の通り、Rubyist(Rubyプログラマ)の英語に対する苦手意識を克服し、英語力を高めることを目的にした勉強会です。 いちおうRubyist向けとはなっていますが、大半の内容はRubyist以外の人にも役立つものだと思います。 そこで今回のエントリではこの勉強会の内容や発表された知見等を紹介します。 会場は阪神深江のNilquebe(ニルキューブ)さんでした 当日の流れ 当日はこんな感じのタイムスケジュールで進行しました。 13:00~13:30 自己紹介 13:30~13:45 語彙力診断テスト 13:45~14:15 「こういうときに英語ができなくて困る」「英語ができ
ローカル環境で言語のランタイムの切り替えを管理できるツール ー Javaのjenv、Rubyのrbenv、Pythonのpyenv ー などをまとめて管理/インストールできるanyenvがとても便利です。 riywo/anyenv anyenvで開発環境を整える - Qiita [キータ] https://github.com/riywo/anyenv#install # bash向けにアレンジしてます。 # インストール git clone https://github.com/riywo/anyenv ~/.anyenv echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.bash_profile echo 'eval "$(anyenv init -)"' >> ~/.bash_profile exec $SHELL -l # ~/.
TOP > 仕事 > 地方で起業したIT開発会社が、VCからの資金調達に成功、パブリッシャーに業態転換を果たした後、倒産するまでの生々しい話。 このお話は、東北で起業したIT開発会社が、3年後に自社サービスを始めて、VCからの資金調達を成功させてパブリッシャになり会員70万人達成した後、倒産するまでの生々しい記録です。 システムの請負開発を事業とする開発会社(デベロッパ)にとって、自社ブランドのサービスを配信する会社(パブリッシャ)になることは、会社を大きく成長させるための夢であり、何かを失うかも知れない恐怖と背中合わせの賭けでもあります。 成功して得られるものは、「俺のサービスだ」と思えること。請負だと、たとえ何百万人の人が遊んでいても、サービスは他人のもの。自分が作ったはずなのに、自分のものとは思えない。この当事者意識の違いは、仕事の面白さに直結します。 失うものは、既存のお客様。自社
Twitterクライアント『モバツイ』開発者であり、2012年11月に想創社(version2)を設立した有名エンジニア・えふしん氏が、変化の激しいネットベンチャーやWeb業界の中で生き残っていくエンジニアの特徴を独自の視点で分析 えふしんのWebサービスサバイバル術 藤川真一(えふしん)氏 FA装置メーカー、Web制作のベンチャーを経て、2006年にGMOペパボへ。ショッピングモールサービスにプロデューサーとして携わるかたわら、2007年からモバイル端末向けのTwitterウェブサービス型クライアント『モバツイ』の開発・運営を個人で開始。2010年、想創社を設立し、2012年4月30日まで代表取締役社長を務める。その後、想創社(version2)を設立しiPhoneアプリ『ShopCard.me』を開発。2014年8月1日からBASE(ベイス)株式会社のCTOに就任 こんにちは、えふしん
DeNA社内でのElasticsearch勉強会にて、アプリ「ハッカドール」におけるElasitcsearch利用法について発表してきました。 スライドはこちら。 Elasticsearch for Hackadoll from mosa siru Elasitcsearchの中身や運用について濃く触れるというよりは、ちゃんとした検索エンジン作るための泥臭い話がメインになっています。 (ある意味で昨年Tokyo WebMiningにて発表した捗るリコメンドシステムの裏事情(ハッカドール)の派生スライドです。) ハッカドールは1周年を迎え、来月にはアニメ化もされます。ニュースアプリがアニメ化とか開発者としてもどうなるか予想がつきませんが、放映時には全裸待機しようと思います! hackadoll-anime.com
大量のファイルをgzipしたものをS3に配置したいニーズがあって、非力な手元のマシンで一旦gzipしてから転送するよりはLambdaにやらせたらいいのではないか?ということでやってみました。 以下のようなLambda functionを設置 大きなファイル(数十MB以上)を扱う場合はtimeoutをデフォルトの3秒から伸ばす。メモリも128MBでは足りないことがあるので512MBなど S3の読み書き権限があるIAM Roleを設定 S3のイベント通知でLambda functionをkick aws s3 sync で大量のファイルを同期してもアップロードが終わったファイルから順番に処理が走るので、同期が終わった数秒後にはgzipされたファイルが生成されている状態になります。 var aws = require('aws-sdk'); var zlib = require('zlib');
「人々が強烈なあこがれを持つような、ダンスを作るハード作ってよ」と会社にいわれたら、あなたならどうする? 自信も経験もないから断る? 僕は、自身も経験もなかったけど、これは面白そうだと直感的に思った。 そして、DJ&トラックメイカーに転身。この仕事をやり切ることを決意した。 これからは、DJ HIGACHANとして生きていきます。よろしくお願いします。 さて、DJ HIGACHANとしての最初のエントリは、「SmartNewsとBacklogの作り方」。 Seasar Conferenceの目玉セッションの一つです。浜本階生さんと橋本正徳さんに登壇してもらい、私がモデレータをつとめます。 SmartNewsといえば、全世界で1300万ダウンロードを突破し、アメリカでもMAUが100万を超えるなど、世界レベルで快進撃中のアプリで、その代表取締役の浜本さんは、世界レベルでモテモテです。 セッシ
Project Eulerは、プログラミングを楽しく段階的に学ぶ手段を提供するWebサイトです。 Colin Hughesが11歳くらいの時、彼の両親は何とも変わったおもちゃを家に持ち帰りました。それはカラフルでもなく、漫画のようなものでもありません。レーザや車輪、点滅するライトが付いているようにも見えませんでした。しかも、そのおもちゃの箱に描かれていたのは、カッコいい主人公や悪役の姿ではなく、箇条書きの文とQWERTYキーボードの絵でした。そのおもちゃの名は、「ORIC-1 Micro Computer」です。中にはカセットテープが2つと、数本のコード、そして130ページに及ぶプログラミングのマニュアルが入っていました。 どう考えても、11歳の少年には最悪のプレゼントでしょう。それでも彼の両親は129ポンド(当時の為替レートで約4万5000円)以上するものを買ったという理由もあって、とに
目次 2019年追記 はじめに クラス実現のために必要な JavaScript の言語仕様 function this call new 演算子 prototype チェーン プロパティ: prototype Google Closure 流のクラスの実現方法の概要 クラスの宣言とコンストラクタの定義 メンバ変数 (インスタンス変数) メソッド定義と呼び出し private, protected 継承 プロトタイプチェーンを利用してメソッドを親クラスから引き継ぐ 親クラスのコンストラクタの呼び出し メソッドオーバーライドと親クラスのメソッドの呼び出し 多重継承 abstract, interface inherits の実際のコード 良くないクラス実現方法 ES6 のクラス 2019年追記 この記事ではclassが導入されたES6以前のJavaScriptでどのようにクラスに相当するものを
スマートニュース、データサイエンス・マシンラーニングチームに 徳永拓之が参画 ― 機械学習、ディープラーニング及び自然言語処理における技術開発を強化 ― スマートニュース株式会社(本社:東京都渋谷区、代表取締役:鈴木 健/浜本 階生、以下「当社」)は本日、徳永拓之が当社データサイエンス・マシンラーニングチームに参画したことを発表いたします。 徳永は東京大学大学院で修士号を取得後、ヤフー株式会社にて日本語処理技術部エンジニアとして日本語処理に関連するWeb APIの開発等に従事し、2008年5月に株式会社Preferred Infrastructure(以下、PFI)に入社しました。PFIでは自然言語処理や機械学習に関する知見をもとに、関連文書検索エンジン、キーワード辞書半自動構築システム、文書校正支援システムなどの開発に寄与しました。 当社においてはこれらの経験を生かし、スマートフォン・タ
株式会社Preferred Infrastructureとの業務提携に関するお知らせ― 機械学習及び自然言語処理における技術開発を強化 ― スマートニュース株式会社(本社:東京都渋谷区、代表取締役:鈴木健/浜本階生、以下「当社」)は、自然言語処理、レコメンド技術を企業に提供する株式会社Preferred Infrastructure(本社:東京都文京区、代表取締役:西川徹、以下「PFI」)との間で、将来的な機械学習、及び自然言語処理における技術開発の検討・人材交流の推進を目的とする業務提携契約を締結いたしましたのでお知らせします。 本業務提携に伴い、PFIの取締役副社長である岡野原大輔氏が当社のアドバイザーに就任し、技術開発に関する助言・支援を行います。 スマートニュースは「世界中の良質な情報を必要な人に送り届ける」というミッションのもと、機械学習によるニュース記事の選定をコア技術とするニ
周回遅れ気味だけど、こっそりtwitterクライント作りはじめました。今ならElectronの情報もいろいろ流れてるし。飽きたらやめます。 最強のTwitterクライアント戦争情報 r7kamura.hatenablog.com どんなの? 現状。タイムラインの取得だとかお気に入りの取得だとか最低限。 マルチアカウント対応だとかお気に入りをインクリメンタルサーチしたりできるやつをつくりたい。 現状APIから都度取得して表示しているだけだけど、IndexedDBかなんかに突っ込む必要がありそう。 github.com 構成 ちょうどMithril本読んだのでMithril.js使ってます。 Electron Mithril.js Material Design Lite 所感 OAuthではまったけど、その他はいい感じ。 qiita.com RS232CラインモニタとかUSBアナライザも作り
お久しぶりです。アプリケーションエンジニアの木村です。 BUYMAでは、この記事を書いている時点で世界中から出品された約155万件の商品が検索可能となっていて、商品検索機能は世界中から自分の欲しい物を探すことを実現する、まさに「世界を買える」を実現するための重要な機能の1つとなっています。今日はそんなBUYMAの検索機能の裏側を支える基盤部分についてご紹介いたします。 BUYMAでは検索機能実現のためにはSolrを導入していて、さらにSolrCloudを構成しています。 SolrCloudとは SolrCloudは、高信頼性、耐障害性、拡張性を運用コストを抑えつつ実現するSolrのクラスタリングの仕組みです。紙面の都合上あまりSolrCloudについて詳しく説明できませんが、下記リンクが参考になるのではないでしょうか。 ・https://cwiki.apache.org/confluenc
Using the History API to manage your URLs is awesome and, as it happens, a crucial feature of good web apps. One of its downsides, however, is that scroll positions are stored and then, more importantly, restored whenever you traverse the history. This often means unsightly jumps as the scroll position changes automatically, and especially so if your app does transitions, or changes the contents o
Google Play Services7.5、7.8で素敵な新機能がいっぱい追加されたけど全然追いつけていないのでメモだけ…。 Nearby Nearbyは近くにあるAndroid/iOS端末同士でやりとりすることができる機能です。 メールやSMS、QRコードなどを介することなく接続できるので、アカウントを知る必要も別にアプリを入れる必要もなくやりとりすることができます。 Trelloというタスク管理アプリではNearbyを使って簡単にボード(タスクリストのようなもの)が共有できるようになってました。 以下はTrelloでNearby接続を開始した時に表示される確認ダイアログです。 耳に聞こえないペア設定コードと表現されていますが、端末によってはわりと大きめの音でジジジジ…と鳴り不快でした…。 Smart Lock for Passwords on Android Smart Lock
マイクロプロセッサの国際学会「Hot Chips 27」では、中国の新興企業Phytium Technologyが注目を集めた。同社は、64コアのARMv8プロセッサ「Mars」を発表し、来場者に強い印象を残した。 高性能マイクロプロセッサの国際学会「Hot Chips 27」が米国カリフォルニア州クパチーノ(Cupertino)で2015年8月23~25日に開催された。 中国の新興企業Phytium Technologyは同会場において、ARMベースのサーバ向けプロセッサ「Mars」を発表した。また、Oracleは同じセッションの中で、同社にとって初となる、InfiniBand搭載のSPARCプロセッサ「Sonoma」を発表している。 一躍脚光を浴びた「Mars」 Phytium Technologyは、2012年に設立された無名の新興企業だ。同社が今回発表したMarsは、28nmプロセ
コーディングする際に、何気なく重宝するコードがtableです。 そんなtableですが、コーディングしていると乱雑になってしまったり少し凝ったデザインにしようしても、いまいちと感じてしまうことが多々あります。 今回は、オシャレなtableが簡単に実装できるCSS3のサンプルコードをご紹介します。 コピーペーストで簡単に使えますので、ぜひホームページのデザインに取り入れてみてください。 コピペで使えるtableのサンプルコード19選 1.CSS3のセレクターで作るストライプテーブル http://ascii.jp/elem/000/000/462/462099/ 汎用性の高いシンプルなストライプテーブルを作ることができるサンプルコードです。 CSS3のセレクターを使って、行・列ごとに背景色が違う典型的なテーブルをデザインします。 以前のCSS1、2の場合だと背景色を変えるのは結構手間がかかっ
Photo by Matt Ryall こんにちは。谷口です。 ITエンジニアの皆さんや、プログラミングを学習中の皆さんは、プログラミング問題を解くのはお好きでしょうか?(お好きな方が多い……と信じております……) プログラミングが好きな方の中には、「業務とは直接関係ないけどプログラミング問題をもっと解きたい!」また、「プログラミング初心者で勉強中だから、問題をたくさん解きたい!」という方もいらっしゃるかと思います。 また、競技プログラミングがお好きで既にばりばり挑戦されている方や、競プロに挑戦してみたいけど「まだ初心者だしいきなり挑戦するのはハードル高いな……まずは自分の実力アップのために練習したい!」という方も、ちょうどいいレベルのプログラミング問題が必要になってくるかと思います。 (※競技プログラミングとは、一般に、出題されたプログラミング問題を制限時間内に解いて競い合う競技大会のこ
写真/アフロ Yahoo!ニュースでは2007年より、ユーザーの皆様がニュース記事に対して意見や感想を投稿できる「コメント機能」を運営しております。コメント機能がスタートしてことしで9年目を迎えますが、現在では1日あたり約14万件の投稿があり、日々多くのユーザーの皆様にご利用いただいております。 今回は、コメント機能をどのような目的で、どのような世界観を目指して運営しているのか、そして現状抱えている「不快なコメントが散見される」といったユーザーからのご指摘に対して、Yahoo!ニュースはどう受け止めているのか、今後どのような対策をとっていくのか、ということについて、主に以下の点から触れたいと思います。 コメント機能の仕組みと、基本データ Yahoo!ニュースのコメント機能が目指す世界 「ヤフコメ=ひどい」というご指摘について 今後の対策と、ユーザーの皆様へのお願い 投稿数は1日あたり約14
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く