TECH PLAY

株式会社ユーザベース

株式会社ユーザベース の技術ブログ

479

NewsPicksインフラ・運用を担当しているカツです。 NewsPicksのインフラについて、今まで他の人も紹介していましたが(『AWS CloudWatch Logs を NewsPicks で試してみた話』)、 今回は、現在のNewsPicksのインフラを紹介するのではなく、今後、NewsPicksのインフラに関してやろうと思っていることをいくつか紹介しようと思います。 Autoscaling の導入 デプロイについて 解決案 監視について 解決案 Autoscaling の導入 NewsPicksはインフラを AWS 上で運用していますが、現在はまだ完全にクラウドの強みを発揮できていま…
こんにちは、NewsPicks開発・運用を担当している木下です。 今回はAWS CloudWatch Logsを利用した運用周りの改善について社内LTした内容をベースにブログにまとめました! NewsPicksはインフラを完全にAWS上で運用しています。 AWS 導入事例: 株式会社ユーザベース | AWS 監視については、APIから発生したエラーはAmazon SESを使用してメールにて通知、リソース監視はCloudWatchを利用しています。 CloudWatchは任意のメトリクス(計測値)をアップロードし、それに対して閾値を設定し、AmazonSNSを利用してエラー通知をしたり、Auto…
UZABASE技術チーム竹内(@chimerast)です。 ちょっと時間がたってしましましたが、2月7日にdots. Summit 2015 にて、ポエム「SPEEDA/NewsPicksを支える価値を生み出す技術の選定手法」を発表してきたのでその内容をもう少し突っ込んで書いてみたいと思います。 今回は、特定の技術や知見のことは全く話さず、何のために技術があるのかという、それ以前の話をしてきました。エンジニアとして、技術を追い求めることはとても大切なことですが、目的を見誤ってしまうと独りよがりになる可能性もありますし、変な方向に技術が伸びてしまいます。 僕は、多くの人に使われたり影響を与える、…
SPEEDAの開発してます矢野です。社外から参画してます。SPEEDAを書いてないときは、最近はClojureを書いています。 SPEEDAではApache Wicketを使っています。バージョンも順調に挙げられているので、Wicket 5から導入されたイベントシステムも、最近はかなり活用しています。イベントシステムについてはドキュメントも少なく活用方法がよくわからない、という話もあるようなので、活用方法を紹介します。 まずは手始めに 問題 ならば書けばよいのだ 配布してます コンポーネントの疎結合とクラス定義のコツ コンポーネントは外部からsinkを指定できるべき sinkが指定されてない場…
SPEEDA開発チームの山岸です。 最近注目を集めているDockerですが、ユーザベースでも一部のチームで開発に役立てています。そのDockerのコンテナを管理するための「Kubernetes」というオープンソースのフレームワークがあります。 今回は社内のLTの内容を基に、Kubernetesについて簡単にご紹介したいと思います。 Kubernetes とはなにか? なぜ Kubernetes か? Kubernetes でできること ①コンテナを簡単に展開できる ②コンテナの状態をチェックできる ③コンテナへのアクセスを分配できる どのように実現しているか まとめ Kubernetes とは…
Nice to meet you, my name is Jorge Granado from SPEEDA Tech Team. At UZABASE we are always trying to find new ways of surprising our clients, and provide them with new analysis tools as well as better data. Since early 2013 we have been using Machine Learning algorithms for gathering world business …
NewsPicksサービスの開発を行っている大川です。 本日はNewsPicksのスマホアプリがどんな設計になっているかを紹介します。社内LTネタを元にしています。 階段の部分はどうやってるの?(『NewsPicksのUIデザイン』) 文字が読みやすいように工夫しているの? などいろいろと観点はあるとは思いますが、まずは全体として絶対に守っている「竜骨」とも言うべきコアの設計についてお話しします。どのアプリでも必ず守るべき鉄則となります。 鉄則とは端的に言うと、 ビジネスロジックをView, ViewControllerに密結合させない ということです。 まず大前提として、下記の3レイヤーに分…
技術チームインターンの前田です。 アプリケーションを開発していると、データベースと連携する必要が出てくる場合が多いかと思います。 この記事では、JavaプログラムからRDBMSを利用する際に便利なライブラリを紹介します。 このライブラリは、私が取り組んだ業務でも使用したもので、JDBIと呼ばれています。 JDBIとは Javaプログラム↔RDBMS間の連携に便利なSQLライブラリです。 JDBIはJDBCの上に構築されているもので、JDBCのAPIの使い勝手の悪さをカバーしてくれます。 JDBIの便利な点 JDBIを利用することで、簡単にプログラムのロジックとSQL文を分離することが出来ます。…
初めまして、UZABASEインフラチームの小林です。 弊社インフラチームは5名(1名海外留学中)で構成されていて、ざっくり言うと、先進技術検証・導入を主担当とするメンバーと、新規リリース対応・運用改善を主担当にするメンバーの2チームに分かれています。 (実際には、主担当と副担当がそれぞれクロスしているので、満遍なく業務に携わっていますが。) 基本やりたい事を自由に認めてもらえる環境なので、UZABASEに所属しながら海外留学できる環境でもあります。 で、僕はSPEEDAの運用管理を主な生業としてます。 早速なんですが、Hinemos ver 5.0 が5月に出ます! Webブラウザ対応!!(ら…
ユーザベースでSPEEDAの開発を担当しています。 外間です。 ビジュアライゼーションのニーズが高まり続ける中、 先日僕もビジュアライゼーションで有名な、あのTableauのセミナーに参加してきました。 Tableau Highchart.js Tableau Tableauとは簡単に言えば、データを視覚化し分析を助けるBIツールです。 主に以下のような特徴があります。 インメモリで動作が軽い 様々なデータソースに対応(約40種) また、作成した資料を自由に組み替えてダッシュボードにまとめ、Web上に公開するといったこともできます。 Tableau Publicというサイトには、ユーザーが公開…
SPEEDA開発チームの中島です。 UZABASEでは、現在SPEEDA/NewsPicksという2つの経済に特化したサービスを展開しており、どちらも自社開発をしています。 今日は、UZABASEが何を目指し、何を大事にしているか、働き方や開発スタイルなども含め紹介したいと思います。 UZABASEが目指すもの:ミッション UZABASEが大事にしているもの:7つのルール UZABASEが大事にしているもの:みんながハッピーでいられる会社 UZABASEが目指すもの:ミッション 「世界一の経済メディアを作る」 UZABASEのメンバーそれぞれで多様なイメージがあると思いますが、私が考える「世界…
インフラチームの金屋です。ユーザベースのインフラを担当しています。今回は身近に利用しているけど、使っていることに気付かないインターネットの影の立役者であるCDNについて書きます。 CDNとは? CDNは何のためにあるのか? なんで遠隔地だと遅くなるのか? 通常経路とCDNの概念図 CDN経由でのアクセス概念図 改めてCDNとは? SPEEDAでの効果 CDN導入後の一般的な変更点・注意点 まとめ CDNとは? Contents Delivery Network コンテンツを 配信する ネットワーク 簡単に言うと、次の機能を持っています Webコンテンツ(サイト、画像、動画等)を 全世界のインタ…
先日12月18日、恵比寿にある UZABASE 新オフィスにてエンジニア向け勉強会「えびスタ! 」第 1 回を開催させて頂きました。 移転したばかりの新オフィスで初めて開催する勉強会ということで不安な点もありましたが、50 人という定員枠に対してなんと 50 人オーバー近い参加登録を頂き、盛況のうちにイベントを終えることが出来ました。参加者の皆さん、ありがとうございました! 本記事では当日の様子をレポートしたいと思います。 今回のアジェンダは以下のとおりです。 前半はクックパッド、Retty、VASILY、 UZABASE から 4 名のエンジニアによるプレゼンテーション。後半は皆でわいわいエ…
SPEEDA QAチームの藤田です。オフショアでのテスト自動化PJ立ち上げのために11月中旬より1か月間 Framgia Vietnam に来ています。Framgia さんには、以前からUzabaseの社内システムの開発を依頼していましたが、今回は社内システムだけでなくSPEEDAの自動テストコードを実装いただくべく一緒にベトナムで仕事しております。せっかくなのでちょっと今までの投稿とは異色ですが、Framgiaさんとのオフショア開発についてまとめようと思います。今後オフショアを考えてる方には参考になる?とうれしいです。信頼できるオフショアパートナー ベトナムのFramgiaさん。「なぜFra…
NewsPicksチームインターン生の保田です。 主にiOSアプリ開発のお手伝いをしております。 iOSアプリを作っていて悩ましいな、と思うのが、同じ機能を持つがiPadとiPhoneで見た目が違うページをどう設計していくか、ということです。 ちょうど僕が関わった、NewsPicksの特徴的な機能である「ニュース中間ページ」をどのように設計したかについてお届けいたします。 NewsPicks上でニュースをみるとき、上図の左から右の流れで画面を切り替えます。 この中の真ん中の画面(ニュース中間ページ)の設計についてご説明していきます。 Season1. 単一仕様時代 当初は、次のような単純な仕様…
SPEEDA 開発チームの緒方です。 最近話題に上ることも多い Docker ですが、UZABASE でもチームによっては積極的に使っています。 (現在は主に開発用途。) 他のコンテナ型仮想化技術と比較した場合の Docker の良さとして、 ・Docker Hub など、レジストリに登録されているイメージを利用できる ・Dockerfile を使用したイメージ構築の自動化 などが挙げられると思います。 Docker Hub をざっと見渡しただけでも、Ubuntu や CentOS など環境だけを提供するものから redis や MySQL などそのままアプリケーションが実行できるものまで様々…
Techチームの遠藤です。 コンテンツのグローバル展開に向けて、いくつかの地点での画面表示の速度測定のためにphantomjsを使用し計測しました。 全部ではないですが初めの部分だけ記述します。 PhantomJSはまぁ仮想ブラウザを立ち上げてHPを操作していくものですね。 自動テストなどに使えるものです。 PhantomJS http://phantomjs.org/ DownloadでそれぞれのOSにあったものをDLしてください 私はwindowsでやってるのでwindowsのみ記述します。 といっても大したことしてません。 windowsの場合はDLしてきたzipファイルを解凍し、任意の…
こんにちは。NewsPicks の開発を担当している文字(もんじ)です。本日 NewsPicks の Chrome 拡張をリリースしました。 ・NewsPicks の Google Chrome 拡張をリリースしました ・NewsPicks での反応 幸いユーザーの皆様にもご好評頂いているようで嬉しいです。ということで今回は NewsPicks の Chrome 拡張を作った話をします。アジェンダは以下の通りです。 NewsPicks の Chrome 拡張が提供する機能について なぜ Chrome 拡張を作ったのか? どうやって Chrome 拡張を作ったのか? まとめ NewsPicks …
技術チームインターンの中村です。 内製化されたシステムを抱えた会社にいると,エンジニア以外の方のためにドメイン特化言語を構築するようなこともあるかと思います。 uzabaseの場合,アナリストがSPEEDAに載せる業界概要の記事を効率良く書けるようになるために,Markdownに似た軽量マークアップ言語が作られました。 作る言語が構文木が不要なほど小規模ならば,文字用ユーティリティだけで十分に言語実装が可能かと思います。 一方で,言語が大規模であったり効率の良いコンパイルが求められたりするのであれば,LexやYaccのようなパーサージェネレータが必要になるかもしれません。 今回はその間くらい,…
いま勢いのある恵比寿近辺のスタートアップを中心とした、エンジニア向けの技術勉強会です。 クックパッド Retty VASILY UZABASE のエンジニア陣が、最近の各社の取り組みについてお話させて頂きます。 後半は軽食を交えつつ、カジュアルな QA セッションの場や各社エンジニアとの懇親会も予定しておりますので、ご興味のある方は是非ご参加下さい!(エビスビールとピザもあります!) 残りの一般参加枠は9名(12/1現在)となっております。 興味のある方はお早めにお申し込みください! 申込みはこちらから(compass) えびスタ!#1【クックパッド × Retty × VASILY × UZ…