UUUM攻殻機動隊

UUUMのエンジニアによる技術ブログです

4000以上のチャンネルを支えるデータ解析基盤をBigQuery, Go, embulk等で整備した話

4000以上のYouTubeチャンネルを抱えるUUUMのデータ解析基盤についてご紹介します。

Google Apps Script で Kintone API のライブラリ作った

おはこんばんちは!! 尾藤 a.k.a. BTO です。 みなさん、Google Apps Script 書いてますか〜。 Cybozu の Kintone 使ってますか〜。 Cybozu の Kintone ってちょっとした業務アプリを手軽に作るのに便利なんですよね。 弊社でも社内の情報を管理するのに Kint…

dockerあれこれ

Dockerを使う上で、少し解りずらいけど理解したらDockerと少し親しくなれるようなところをピックアップしてみようと思います。 Docker imageって何? 設定ファイルとファイルシステムのdiffから構成される 例えば下記のようなシンプルなDockerfileからビルド…

危険な危険なSQLインジェクション

エンジニアのspin13です。 今回はSQLインジェクションについてです。 SQLインジェクションとは 入力パラメータの検証不備等の原因で、予期せぬSQL文が発行されてしまう 予想していないパラメータが注入(inject)される SQLインジェクションで何が起こるのか …

Datadog の導入がめっちゃ楽だった話

こんにちは、新人エンジニアのハトネコエです。 気付いたらプログラミングを始めて2年が経ちました。 みなさまはゴールデンウィークをいかがお過ごしでしたでしょうか? 私は人生初めてVPSを契約しました。 Ansible でサーバー構築のレシピを四苦八苦しなが…

Railsアプリ開発中に思い出す、StrategyとRackミドルウェア

こんにちは、エンジニアのナカハシです。 最近は、しばらくRailsでのWebアプリ開発に勤しんでいる毎日です。 開発中にStrategyとRackミドルウェアを復習したので、軽くまとめてみました。

Rails5で手早くCMS開発をするのに便利なgem7選

エンジニアのタナカです。 4月から新しくサイト開発に携わる方も多いのではないでしょうか? サイト開発では殆どの場合、CMS機能を用意する必要がありますが、このCMS機能をどう実現するのかというのが最初に検討することだと思います。 CMSといえばWordPre…

PHPなチームがRuby on Railsでの開発を行って得られたもの

それまでPHPでの開発がメインだった組織にRuby on Railsを導入してみて思ったことについて紹介します。

CircleCIでRailsのDockerコンテナをECSにデプロイする

CircleCIでDockerコンテナをビルド・テストし、ECSに自動デプロイする手順について紹介します。

Docker?Vagrant?個人PCのWebアプリケーション開発環境においての環境分離方法

同一PCで複数の開発環境をDocker等を使用して切り替える実用的な方法について説明します。

Google Spreadsheet のデータを自動で Google Calendar に追加する

おはこんばんちは!! 尾藤 a.k.a. BTO です!! スギ花粉の脅威に毎日怯えている皆様、ご機嫌いかがでしょうか。 最近は Google Spreadsheet や GAS(Google Apps Script) を使って社内業務の改善などをしております。 だって会社がどんどん大きくなってるから、…

ニューラルネットワーク実装入門

コンピューターが賢くなって、人間がやる仕事が減るといいなと思っているkitabatakeです。 今流行りのニューラルネットワークについて説明したいと思います。 ニューラルネットワークとは 脳神経系をモデルにした情報処理システムで、 文字認識や、音声認識…

P2Pネットワークについて

エンジニアのspin13です. 今回はP2Pネットワークについて(主にファイル共有ですが) p2pネットワーク from Yoshiki TAKADA

AviUtl スクリプトで動画作成は楽できる!

こんにちは、新人エンジニアのハトネコエです! 先週は「Nintendo Switch 体験会」があったり、 週末は「Global Game Jam 2017」があったり、 1月はゲーム大好きな人たちをわくわくさせるイベントが目白押しでしたね! 冬に発売する『スーパーマリオ オデッ…

スクラムどうでしょう?

こんばんは! エンジニアのナカハシです。 UUUMコンテンツの総合アカウント「UUUM FANS」、カリスマブラザースのファンサイト「CBF」がオープンしました! 開発に携わるUUUMエンジニア陣も、これらのサイトがよりよいサービスになるよう、日々精進しまくって…

サーバーレスアーキテクチャの事例まとめ

エンジニアのタナカです。 2015年にAWS Lambdaがリリースされて以降、サーバーレスアーキテクチャの注目度が高まっています。 サーバー管理が不要、スケーリングも自動、しかも安いと夢のような技術ですが、これまでの開発手法とは異なるため導入に躊躇して…

RailsアプリをUnicornサーバー&Symlink切り替えデプロイ環境下で安定運用する

RailsアプリをUnicornサーバーで安定運用させるには無停止で再起動するGraceful Restartは必須ですが、いくつか注意すべき点があったので、運用例と共に紹介したいと思います。

UUUMにて、次世代のITを担う方々へ向けた「未踏」説明会がおこなわれました

こんにちは、新人エンジニアのハトネコエです。 12月17日(土曜日)、UUUMオフィスにて、 一般社団法人未踏がおこなう「未踏」事業の小中高生向け説明会 『未踏の魅力を知ろう - 2017年度未踏説明会』がおこなわれました。 「未踏」事業は国の『突出したIT人…

正規表現エンジン入門 - 正規表現の概念

おはこんばんちは!! 尾藤 a.k.a. BTO です。 みなさん正規表現使ってますでしょうか? 正規表現はプログラムを書く時にも使いますが、エディタや grep で検索するときなど文字列検索をするときには非常にお世話になっていると思います。 正規表現を書くことは…

Elasticsearchの基本的な使い方と弊社サービスでの利用

UUUMに入って2か月のkitabatakeです。 任される仕事が多くなってきて、面白くなってきたと思う一方、ちゃんと捌ききれるかどうかのせめぎ合いの日々です。 弊社のシステムでも使っている、Elasticsearch の基本的な使い方と、弊社内での利用方法など書いてみ…

CSRF(クロスサイトリクエストフォージェリ)

エンジニアのspin13です. しばらくの間,地球そのものが敵となって花粉に苦しめられていました. 今回は クロスサイトリクエストフォージェリ(以後CSRF)について書きます. 20161114 よくわかるcsrf from Yoshiki TAKADA

GoとNode.jsで作った簡易サーバーのパフォーマンスを比較してみた

エンジニアのタナカです。 UUUMではiOSアプリを開発をしています。 アプリを開発するにあたって、バックエンドに何を使えばいいか悩んだりしませんか? バックエンドを決めるには、様々な側面から考える必要があると思いますが、今回はパフォーマンスだけに…

Ansibleことはじめ

こんにちは、エンジニアのナカハシです。 UUUMのインフラ構築はAnsibleで構築することが恒例になっており、絶賛開発中のRailsアプリも当然Ansibleでインフラを記述しています。 つまり、AnsibleのPlayBookを読めないと既存のインフラもさっぱり理解できなく…

SVGの基本的な仕組みについて

どうも、えんじにあのやまぐちです。 先日UUUMで社内運動会が行われ、攻殻機動隊も数名参加しました。 未だに筋肉痛がとれず日常生活に支障がでていますが、普段動かない仕事なだけに久しぶりにスポーツをして楽しかったです。 ちなみに我らのCTOは女性参加…

【Rails】Rubyテンプレートで axlsx を出力する方法

ハローこんにちは、新人エンジニアのハトネコエです。 2016年10月22日発売の 『WEB+DB PRESS Vol.95』 に UUUM のエンジニア達が書いた特集『試して学ぶHTTP』が載ります。よろしくお願いします。 WEB+DB PRESS Vol.95作者: 小出淳子,黒澤剛志,牧大輔,横江亮…

JSON型にindexも!MySQL 5.7のGenerated Columnsの可能性について探る

MySQL5.7のGenerated Columnsの使い方を紹介します。JSON型にインデックスを貼るような便利な動作を行うことができます。

BabelでES6で書いて、webpackでビルドして、mochaでテスト書いて、power-assertでassertの出力を見やすくして、karmaで複数ブラウザのテストを自動化して、カバレッジを出力するようにした

おはこんばんちは!! 尾藤 a.k.a. BTOです。 UUUMでは業務の効率改善に kintone を導入しようとしているのですが、kintone の機能を拡張するには Javascript でプログラムを書く必要があります。 そこで、Javascript の開発環境を構築したので、何をやったの…

クラウド電話を使ってモーニングコールで起床するリア充生活

エンジニアのspin13です. 今回はクラウド電話を使った電話端末への発信についてご紹介します. クラウド電話を使ってモーニングコールで起床する生活 from Yoshiki TAKADA

wercker で Bitbucket のプライベートリポジトリをビルド!

新人エンジニアのハトネコエです。 UUUMでは毎週月曜日に社内勉強会をしていて、今週の担当は私なのですが、 昨日月曜日は台風のためお休みしましたので残念ながらおこなえず…… いえ、ごめんなさい! 実は土日かけて勉強会の準備してましたけどスライドはま…

Railsの風が吹いたら確認したい、Rubyのモジュールシステム

こんにちは、入社して3ヶ月くらい経ちましたnakahashiです。 六本木のポケモンGOプレイヤーは気前がよく、職場周辺のポケストップはいつも花びらが舞っているので、キャッキャウフフな生活を過ごしています。 さて、UUUM攻殻機動隊では、最近Railsの風が吹き…

【小ネタ】Rails5でlogrageの出力にbacktraceを足す

Ruby on Rails5 で、ログ出力 gem である lograge の出力に backtrace を足す方法について説明します。

Angularfire2でつくるリアルタイムWEBアプリ

こんにちは、エンジニアのタナカです。 本日の社内勉強会ではFirebaseクライアントライブラリのAngularfire2を紹介させていただきました。 一昨年にGoogleに買収されて有名になったmBaasのFirebaseですが、社内でも意外と使ったことが無い人が多いようです。…

徳丸本から学ぶクロスサイト・スクリプティング基礎

どうも、えんじにあのやまぐちです。 今回の内容ですが、前回に引き続き「安全なWebアプリケーションの作り方」からクロスサイト・スクリプティングの基礎を題材に社内勉強会で発表したので少しだけ書こうと思います。 http://www.amazon.co.jp/exec/obidos/…

開発合宿に行ってきました

はじめましてメディアユニットのだ〜はらです。 今回はUUUM攻殻機動隊blogにお邪魔します。 7/15(金)~7/16(土)にUUUM攻殻機動隊とメディアユニットで温泉旅行開発合宿に行ってきました! 場所は東京から車で2時間弱、湯河原にある「おんやど恵」という旅館…

不具合から見る go の database/sql の挙動

go言語のdatabase/sqlでアプリケーションが停止してしまうパターンや、too many open filesになってしまうパターンについて説明します。

UUUM攻殻機動隊に攻殻機動隊自動販売機がやってきた!!!!

おはこんばんちは!! 尾藤 a.k.a. BTOバトーです。 な〜に〜!!!! UUUM攻殻機動隊に攻殻機動隊の自動販売機がやってきただと〜 バトー調査します!!!! これが攻殻機動隊自動販売機か!! 怪しい飲み物があるぞ。調査だ!!

AWSでのAuto ScalingをConsul+Packer+Terraformで実現する

AWS上のインフラを、Consul + Packer + Terraformで Auto Scaling できる環境にしましたので紹介します。

優秀なエンジニアを採用するために面接で気をつけていること

おはこんばんちは!! 尾藤 a.k.a. BTOでっす UUUM では僭越ながら CTO をさせてもらってマッスル。 なので UUUM でのエンジニアの面接は僕がやっているんですが、面接の時に気をつけていること、やっていることをご紹介したいと思います。 最初に会社の紹介を…

競技プログラミングのすゝめ

新人ラッシュの煽りを受けて今週も新人エンジニアのspin13です.毎週恒例の社内勉強会で競技プログラミング(一般的にプログラミングコンテストとも)について発表しました. ※ 競技プログラミングとプログラミングコンテストはどう違うの? と思われるかもし…

freee x WACUL共催の勉強会で、モダンなウェブを感じてきたよ!

こんにちは! 新人エンジニアのハトネコエです。 6月10日(金)に freee株式会社 にておこなわれた、 freee x WACUL 共催、 Modern Web App LT! に参加してまいりました。 freeeさんは、会計ソフトを作っているという言葉だけ聞くと堅そうに見える会社ですが…

1.0になったElectronを使ってみる

はじめまして、入社1ヶ月たったnakahashiです。攻殻機動隊は偉大なエンジニア揃いで、ちょっと緊張しています。 つい最近(2016年5月)、Electronが1.0になりました。 Atomエディタを始め、UUUM社で活用されまくっているSlackアプリなど、採用事例も増えてき…

リアクティブプログラミングへの理解がイマイチだったのでまとめてみた

こんにちは、タナカです。 ここ数年で、リアクティブプログラミングというキーワードをよく目にするようになりました。 僕も記事を読んだり、FRPのライブラリをいろいろ試したりはしているのですが、リアクティブプログラミング自体への理解がイマイチな状態…

徳丸本から学ぶWEBセキュリティの基本的な話

どうも、エンジニアのやまぐちです。 GW、終わってしまいましたね。 先日の社内勉強会で「安全なWebアプリケーションの作り方」を題材に基礎的なところを発表させていただいたのでその内容を少しだけ書かせていただこうと思います。 http://www.amazon.co.jp…

コードレビュー時に着目したり注意したりする点9選

UUUMで行っているコードレビューでの頻出する注意点などを紹介します。

Google Drive のデータを Google Drive にバックアップするツール(gdsync)を作った

おはこんばんちは。 尾藤 a.k.a. BTO です。 前回からだいぶ時間がたってしまいましたが、Google Driveのデータを Google Drive にバックアップする話です。 結論から言うと、Google Drive to Google Drive でバックアップするツール gdsync を作りました。 …

チームで行うiOS開発〜実機デバッグ編〜

iOS

I have control. どうも、あのとってぃです。 今回はiOS開発で必ず通る実機デバッグのお話をさせていただこうと思います。 今さら!?感はございますが、うちも人が増えてくるにつれチーム管理の業務も増えております。 そこでiOS開発に関わる全員に知ってお…

PackerでAMIビルド時にスポットインスタンスを使う

PackerでAMIビルド時にスポットインスタンスを使い、コストを減らしつつ高速なインスタンスを使う方法を説明します。

いまどきのJavaScript事情とAngular2のはなし

こんにちは、タナカです。 先日Angularのカンファレンスに参加させていただきました。 Angular2はもちろんですが、JavaScriptの進化についても興味深かったです。 本日の社内勉強会ではカンファレンスで得た情報を含めたいまどきのJavaScipt事情について共有…

Amazon EC2 Container ServiceでDocker Registryを構築する

Docker Registry を Amazon EC2 Container Service で動作させるための手順について説明します。terraform ファイルもあります。

圧縮アルゴリズム(ハフマン符号)

おはこんばんちは 尾藤 a.k.a. BTO です。 少し間が空きましたが、前回は連長符号について書きました。 system.blog.uuum.jp 今回はハフマン符号について書きます。 ハフマン符号は、平均符号長が最小になるコンパクト符号として良く知られています。 圧縮ア…