TECH PLAY

株式会社ユーザベース

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

484

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…
NewsPicksの開発をしている板倉です。 NewsPicksではニュースを見る画面とは別に、 どの記事がどれくらい読まれているかという画面の開発を進めています。 直感的にわかる画面がほしいということで、 D3.jsを使って画面を開発することになりました。 D3.jsを使うにあたって勉強するつもりで何か作ろうと思い書いたのが今回のエントリーになります。 今回の開発環境 D3.jsについて 地図を書いてみよう 今回の開発環境 Mac OS X(10.10) D3.js(3.4.13) D3.jsについて まずは、D3について少しだけ。 Githubの人気リポジトリに入っている人気のJavaSc…
インターン生の阿達です。 いつかはこのブログや、会社のHPも自分で作れたらいいなあと思っている プログラミング歴1か月のぺーぺーです。 その野望の第一歩として与えられた課題が CentOS7にLAMP環境を構築してWordpressをインストールする でした。 この記事では勉強した内容の復習を兼ねて手順を丁寧に紹介したいと思います。 目次 【1】LAMP( Apache + MariaDB(Mysql) + PHP )をインストールする 0,準備 1,Apacheをインストールする 2,MariaDBをインストールする 3.PHPをインストール 【2】Wordpressをインストールする 1,…
NewsPicks の開発を担当している杉浦です。NewsPicksはおかげさまでユーザ数が20万を突破しました。サービスが順調に成長するということは大変にうれしいことなのですが、エンジニアとしては負荷との戦いになったりします。我々も例に漏れず日々、負荷との戦いを強いられています。NewsPicksの機能面の特長として次の2つがあります。・フォローしているユーザのPickが自分のタイムラインに集約される・各カテゴリで話題になった記事を閲覧できるこれらの機能を高速に処理・実現するためにRedisを採用しているのですが、ユーザ数の増加による負荷増加によって問題が発生するようになりました。本記事では…
インフラを管理している羽山です。 今回は基本的なおさらいということでWEBサービスで1番重要なドメイン名について触れようと思います。 簡単にユーザベースのホームページに繋がるまでのフローを書くと以下のようになります。 ブラウザからアクセスhttp://www.uzabase.com www.uzabase.comをIPアドレスに変換(名前解決)する ブラウザがHTTPでサーバにアクセス このとき、「www.uzabase.com」をドメイン名と呼びます。 そして、2番のフローはDNS(Domain Name System)というシステムを利用して ドメイン名からIPアドレスに変換しています。 …
テクノロジーで世界最大級の企業・業界データサービスを開発するチームです。 日本中、世界中のお客様に対して、「今」を超える価値をもつサービスを実現するためのシステム開発をお願いします。 アプリケーション、データベース(DB)、サーバの設計・開発・運営をチームで行います。 個々のプロジェクトごとにオーナーを割り振り、オーナーが開発スケジューリング管理や協力会社との折衝など、チーム協力を仰ぎつつ責任を持って一つのプロジェクトを遂行するスタイルです。 将来のキャリアパスは、志向性によりお客様との折衝やマネジメントの立場についたり、エンジニアとして自身が考えた技術を研究し実用化していくなど、様々なキャリ…
久しぶりのブログ更新です。はじめまして技術チームの外間(ほかま)です。ユーザベースでは、たびたび外部を招いての合同勉強会を行っていますが、この度『UZABASE TALK』と題しまして第5回目の勉強会を開催しました。※過去の勉強会の様子はこちら第一回技術勉強会、第二回技術勉強会今回は社内から5名、外部からYahoo、LIVESENSEの4名と計9名の方にご登壇いただき、オーディエンスとしてookamiにご参加いただきました。また、初めて社内ではなく、外部のパーティースペースをお借りして開催しました。回を重ねるに連れて順調に規模も大きくなってきています! 今回の勉強会のテーマは「HTML5」 <…
たぬきです。先日、HatchUp様主催の「第2回ノンゲームスマホアプリ勉強会」に発表者として参加してきました。ノンゲームスマホアプリということで、ここ2年くらい企画・開発してきた、NewsPicksについてお話ししました。僕は、「ノンゲームアプリ」はゲームアプリより(ある意味)自由なんじゃないか、と思っています。僕も個人的にゲームアプリを作ったりもしているのですが、ゲームアプリは、開発を始める段階で完成イメージがだいたい出来あがっていて、それをどう作っていくのかという作り方をしています(作っていくうちに思わぬ変化をすることもありますが)。一方で、ノンゲームアプリは、作り始めるときにサービスコン…
こんにちは。LTといえば普通は技術紹介、気になるサービス紹介が普通でしょうが私はあさっての方向の紹介担当です。 ボイジャー太陽圏ででたよ from szilkworm たまには宇宙に思いを馳せましょう。
はじめまして。技術チームのガブです。先日、第三回合同勉強会を弊社オフィスにて行いました。ビールやソフトドリンクを飲みながら、六名のすばらしいエンジニアの方々から、高度にテクニカルなお話を二十分間、楽しく伺うことができました。発表者の皆様を始め、今回の勉強会のために貴重なお時間と労力を割いていただいた方々に深く感謝いたします。各プレゼンの模様を簡単にご紹介いたします。 1. 今村 雅幸 (株式会社Vasily CTO)さん 今村さんには、急増するユーザーに対応するべく、アプリケーションをスケールするテクニックをテーマに講演していただきました。やはり、VasilyのようなBtoCの場合、ID数の増…
こんにちは。前回に引き続きたぬきです。週次LTの担当ということで、計算機科学の基礎を紹介してみました。 「0がn個続いたあと1がn個続く」を正規表現にできるか? from tanukingUb 切り口として、正規表現まわりをやってみることにしました。Uzabaseは情報プラットフォームサービスSPEEDAを展開しており、どのエンジニアもデータベース周りの知識を持っているため、正規表現は慣れ親しんだものの1つであるからです。 具体的な問題として、「0がn個続いたあとに1がn個続く」を正規表現にできるか?をテーマとしました。 お話の流れとしては、(1) 正規表現は有限オートマトンに変換可能、(2)…
こんにちは。 LTにて、ほかの方は最新技術など面白いものを紹介してくださるので 私はあさっての方向の紹介を担当しようと思います。 素数について from szilkworm ユークリッドの補題 スライドの中で何の断りもなく登場することの補題ですが、意味は 正の自然数nが素数pで割り切れ n = ab (a > 1, b > 1)と分解できるとき、pはa, bの内の少なくとも一方を割り切る。 というものです。
はじめまして。技術チームのたぬきです。先日、外部の方をお招きしての合同勉強会の2回目を、弊社オフィスで行いました。社内外から5名のスピーカーにご登壇いただきました。今回はオーディエンスとしても社外の方が参加してくださいました。前回ご登壇いただいた株式会社マインドパレットの神尾さんは社内の方と4名でご参加、アイエント株式会社の西王地さん、某巨大BtoCサービスインフラチームリーダーのMr. Xさん(大人の事情でご紹介できません)にも来ていただけました。だんだんと勉強会らしくなってきていますね!以下、プレゼン資料と当日の様子を御覧ください。1. Hazelbeck Gregory(ユーザベース)W…
k-kawaguchiこと川口と申します。Linux等でのコマンド実行結果のログ取得方法について、LTで発表しました。 コマンド実行結果のログ取得について from Koji Kawaguchi
chimerastです。週次LTの担当ということで、Reactive Programmingというパラダイムについて紹介しました。 Reactive Programming from Hideyuki Takeuchi 今流行りの関数型プログラミング言語では、Reactive ProgrammingというとFRP (Functional Reactive Programming)の事を指すことが多いのですが、そっちの説明を始めると若干複雑で前提として必要な知識も多くなるので、大元にある考え方にのみ焦点を当てました。 Reactive Programmingとは 現実にある実装 どういうところで…
k-kawaguchiこと川口と申します。技術チーム定例社内研修会にて、ネットワークについて発表しました。 ネットワークについて from Koji Kawaguchi