サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Switch 2
tech.feedforce.jp
初めまして。バックエンドエンジニアの佐藤と申します。 弊社プロダクト ソーシャルPLUS では Amazon DynamoDB を使用しております。しかし、導入手順が思ったより煩雑でハマった点も多かったため、備忘録として記事にしておこうと思います。 どうやるの? 開発環境に Docker を使用している場合の設定 DynamoDB のローカルでの開発環境には AWS が公開している DynamoDB Local があります。これを利用しても良いのですが、ソーシャルPLUSチームでは開発環境に Docker を採用しているので、 DynamoDB の Docker イメージを利用します。 ここでは deangiberson/aws-dynamodb-local という Docker イメージを使います。これは DynamoDB Local を個人で Docker イメージにしたものを公開され
こんにちは、あっという間に社内勉強会の順番がやってきそうでフルえているコシゴエです。気がついたら二年近く会社ブログを書いていませんでした…。 最近、ようやく重い腰を上げて Docker と CircleCI 2.0 を使い始めたので、E2E テストでの活用を試みている話をしたいと思います。 はじめに 突然ですが、弊社プロダクト dfplus.io では、TestCafe を使用して E2E テストを自動化しています。 dfplus.io は、異なるリポジトリで管理しているフロントエンド(JS)とバックエンド(Ruby)から構成され、E2E テストはフロントエンドのリポジトリで管理しています。E2E テストはリポジトリへの push をトリガーに CircleCI で実行し、このときのバックエンドは E2E 用に用意した共用環境(Heroku 環境)を利用しています。 E2E テストをしばら
こんにちは。増田です。Amazon で PS4 Pro の料金が定価に戻っていたので、日曜日にうっかりポチッとしてしまいました。今日も元気です。 先月、RDS for MySQL を 5.5.40 から 5.5.53 にアップデートしました。今月で MySQL 5.5.40 のサポートが切れ、強制アップデートされるためです。 私が対応するのは今回で 3 回目になりますが、今までは Staging 環境で検証した後、深夜作業で Apply Immediately もしくは Reboot していました。 今回は MySQL のメジャーアップデートではないため、問題が起きる可能性は少ないのですが、仮に問題があった場合にロールバック出来ません。 そのため、出来るだけ安全側に倒してアップデートしてみました。この記事を書くことで、属人化を廃することを期待していたり、もっと良いやり方があれば知りたいとい
はじめまして。新卒エンジニアの mizukmb です。普段はソーシャルPLUSチームでインフラ担当としてアレコレしてます。 先日、ソーシャルPLUSのプロモーションサイトを一新しました。 🎊 https://socialplus.jp それに伴いインフラ構成も CloudFront と Tilda で作り直し、いい感じの運用ができるようになりましたので紹介します。 https://socialplus.jp 経緯 これまで、プロモーションサイトの修正やコンテンツの追加を行う場合、マーケティングチームからエンジニアに修正の依頼をする必要がありました。これにより、マーケティング・エンジニアの両方に追加タスクが発生してしまう問題をこれまで抱えていました。 そこで、コンテンツの修正などの作業がマーケティングチームだけで完結できるように、 Tilda と呼ばれる CMS サービスを利用することにし
こんにちは。寒がりすぎな増田です。いつからだろう? 先週金曜日に社内勉強会で掲題の発表をしました。感想や質問も頂いたので、返信という形で記事として記録しておきます。 スライド 発表の内容 https://masutaka.net/chalow/ に自前で検索機能を付けた https://masutaka.net/chalow/search.html フロントエンドは Vue.js で実装。バックエンドは nginx のリバースプロキシを介した Elasticsearch 今のところ、記事データの Index は Elasticsearch の Bulk API でデプロイのたびに作り直している ついでに Google Custom Search Engine でも実装した https://masutaka.net/chalow/search-google.html 『ChangeLog メ
お久しぶりです。Nintendo Switchの予約ができなかったtjinjinです。 さて、先日会社内で障害対応パネルディスカッションというものをやりましたのでご紹介します。 実施の動機 先日あるプロダクトで障害が起きました。そのプロダクトのメンバーには新卒メンバーもいましたが、どう対応していいのかわからず他エンジニアが結局対応したということがありました。その時にベテランエンジニア達が新卒エンジニア達に障害対応ノウハウを伝授していました。私は近くでその話を聞いており、チーム内で閉じる必要ないよね? と思っていました。そんなおりあるエンジニアが「障害対応の経験を伝える場とかあったらいいよね」と言っていたので、だったら場を作ってしまえと私の独断と偏見で企画したというところです。 なぜパネルディスカッションなのか 弊社のインフラチームでは毎週各自がネタを持ち寄って話す場があります。最近の設計の
この記事はfeedforce Advent Calendar 2016の7日目の記事です。 6日目の記事は kasei-san の slack に書かれた内容を Amazon Polly で読み上げてみた でした。 音声読み上げは遊び甲斐ありそう! 今週末のゲームマーケットが楽しみな今日この頃いかがお過ごしでしょうか、フィードフォース ボドゲ部の kano-e です。 Railsエンジニアです。 さて、先日の社内勉強会で「RailsエンジニアがFacebook広告を出稿してみた」という発表をしました。 この記事では、その資料を共有したいと思います。 主な内容はFacebook広告周辺の話です。 以下、資料だけだと分かりにくい部分を補足します。 nu board JABARANについて しばらく前にtmd45がオススメしているのを見て、すぐに買いました。 nu boardのリングが邪魔だなー
こんにちは。Lorentzcaです。今年はたくさんキャンプに行けたので来年も継続していきたいです。 さて、最近深夜に障害が発生しました。その障害対応後にCTOからこんな問いかけがありました。 リモートからの障害対応、なるべくリアクションつけるとか状況確認しつこいくらいやれとかコツあるけど、それ新人さん共有できてるっけ? これを受けて、以前早朝に発生した障害でslack通話しながら対応をしたらいい感じだったことを思い出したので共有も兼ねてその話をします。技術的な話というより、心構え的な話となります。 早朝/深夜の障害対応はキツイ キツイ点は色々ありますが、特にキツイのは、 寝起きで頭が働いていない 障害でサービスが現在進行形で止まっていることに対する 焦り イレギュラーな事態に対する耐性がなく、 どうして良いかわからない (これは経験値にもよりそう…) と私は思っています。 通話しよう 通話
こんにちは!新卒エンジニアのtsubです! 本日Appleから新型のMacbook Proが発表されたということで早速ポチりました。Touch barのハックにワクワクしております。 そして同じく本日GitHubでProject機能が強化されました。 Introducing Projects for Organizations 私が所属しているチームではZenHubを利用しています。GitHubのProjectはZenHubのBoardに近い機能です。 できることなら余計な拡張など入れずにGitHubを純正で使いたいため、今回も移行を検討してみました。 前回の移行検討のおさらい 知っての通り、GitHubのProject機能は以前からリリースされています。 リリース当時にも移行を検討しましたが、その時は見送りという形になりました。 弊社エンジニアの @yukiyan が検討してくれた記事は
増田です。椅子を新調したら腰痛が始まりました。でも元気です。 さて、少し前に Go で Mackerel の delayed_job plugin を作りました。 masutaka/mackerel-plugin-delayed-job-count なぜ作ったか? 最近、私が関わっているソーシャルPLUSで、新しいサービスを作り始めました。今までは Zabbix で監視していたのですが、今回も採用すると Zabbix を稼働させるサーバや(Zabbix のための)ある意味特殊スキルが必要で、導入すべきか悩んでいました。そういった事情から、今回は Mackerel を採用したのが事の発端です。 このサービスでは delayed_job が動いています。delayed_job の監視は大きく 2 つが必要です。 プロセス数の監視 Job Queue の監視 1 については Ruby で書いた
お久しぶりです。tjinjinです。 夏アニメも始まり力強く生きています! 今回は、私が所属しているチームでRe:dashを導入しましたので、そのお話をしたいと思います。 これまでのログの取扱い そもそも最初は、ログの確認と言えばサーバにログインして確認するという形でした。その後fluentdを使ってS3に送ったり、Google BigQueryに送るようにしていきました。BigQueryに送ることでログを横断的に見れるため障害調査などが楽にはなったのですが、そこで終わっていました。せっかくログがあるにも関わらず可視化ができていなため、サービスの利用状況が見えづらいものでした。 そこで弊社増田が他プロジェクトでkibanaを導入している話を聞き、何かないかと探していたところBigQueryをデータの置き場として利用できるRe:dashの存在を知り、今回導入にいたりました。 Re:dashの
最近買ったボードゲームはスカイアイランドとテレストレーションとストーンエイジです、こんにちは。フィードフォース ボドゲ部の kano-e です。 仕事では Facebook のドキュメントをいっぱい読んでいる今日この頃、Rails エンジニアです。 さて、先日 7/13 (日本時間だと 7/14 ですね) に Facebook API v2.7 がリリースされました。 弊社の ソーシャル PLUS や Feedmatic では Facebook API を利用していますので、さっそく影響範囲の確認や対応リリースが行われました。 (ソーシャル PLUS の対応リリースは 7/14 中でした) Facebook API は三ヶ月を目安にバージョンアップが行われます。 ですので、Facebook API を利用している場合、定期的にその対応が必要になります。 この記事では、 Facebook A
こんにちは、今年入社した新卒エンジニア5人の内の一人の雪田です。社内では「おとうふ」と呼ばれています。入社して早三ヶ月が過ぎますが、社内で私の本名を知る人が何人いるんだろうと不安に思う日々を過ごしています…。 今年、フィードフォースには10名(総合職5名、エンジニア5名)の新卒社員が入社しました。私たち新卒エンジニア5名は約2ヶ月間の新卒研修を無事に終え、今は各サービスのチームに配属され、チームの1メンバーとしてバリバリ活躍しています! そんな中、我々の師であり弊社の新卒エンジニア受け入れ担当でもある @a_know 師が、今年の新人研修を運営する側の視点で振り返って当ブログの 2016年度の新卒エンジニア受け入れを終えて という記事にまとめて下さいました。 そこで今回は、新人研修を受けた弟子(新卒エンジニア)の視点から、研修内容や学んだこと・思ったことなどを簡単にまとめたいと思います。フ
最近遅ればせながら光の戦士になった増田です。サボり癖がなかなか直りません。 さて、この度 Elasticsearch と Kibana の社内事例を作ることが出来ましたので、興奮のあまりお伝えします。 ずっと導入したかった 2014 年 3 月に中途で入社して以降、導入したかったものの 1 つが Elasticsearch でした。個人ではすでに導入しており、効果を実感できていたためです。 その前段である fluentd の社内初事例が 2015 年 4 月のこちらの記事。気がつけば社内の他のプロジェクトにも導入が進んでいました。 ElastiCacheをCloudWatch+fluentd+Zabbixで監視する | feedforce Engineers' blog ところで私は先月から DF PLUS というサービスにフルコミットし、主にエラー管理やログ基盤などを整備しています。 エ
こんにちは! エンジニアの井上こと @a_know です。GitHub では a-know という ID で活動しています。34歳、社会人11年目です。いつのまにやら、立派な中堅どころとなってしまいました。 先日、約2ヶ月に渡って行われた2016年度の新卒エンジニアの受け入れが終わり、全員が配属先となるプロダクト開発チームへと巣立って行きました。私はこの数ヶ月、今年度新卒エンジニアの受け入れ責任者として立ちまわっていたため、それぞれが配属先で活躍している様子を見て、今はまるで親鳥のようなきもちです。(\( ⁰⊖⁰)/) .。oO(がんばるのよ...!) 今年は5人もの新入社員がフィードフォースエンジニアチームの仲間に加わってくれました。みんなとても優秀な若者ばかりで、嬉しく、頼もしい限りです。......ちなみに、彼らが入社する前の時点で、エンジニアチームは総勢 20人という規模でした。お
Let's DARK SOULS Ⅲ !! 最近PS4を買いました。インフラ担当の杉内です。 feedforceではMackerelでサーバ監視を行っていますが、使っていくにつれて監視ルールの変更をコードベースで管理したくなったので mkr を使ってコード化しました。 チーム内でデモを通して共有し、良さげな感じでしたので運用イメージも含めて共有します。 mkrを使って監視ルールを管理する mkr というコマンドラインツールからMackerelの監視ルールを更新したりできる(他にも機能はある) 監視ルールはmonitorsというサブコマンドで操作する。さらにサブコマンド diff,pull,push がある 監視ルールはjson形式で記述できる ドキュメント → https://mackerel.io/ja/docs/entry/advanced/cli 準備 mkrのインストール $ br
こんにちは。去年買った春夏の洋服が窮屈に感じられる鈴木です。縮んでしまったのでしょうか。 さて、このたび弊社の各開発チームで「スキルマップ」を作ってみたので、その経緯や作って感じたことをお伝えします。 経緯/背景 以前からスキルマップの存在は知っていましたが、ryuzeeさんのブログ記事 1 やデブサミでの講演 2 を受け「作ってみよう!」と思い立ちました。 弊社では現在5つの開発チームがあり、それぞれに1つまたは2つの自社サービス開発を担当。各チームはフロントエンドエンジニア/バックエンドエンジニア/インフラエンジニアから構成され、すべてのチームが機能横断的であることを目指しています。期待されるスキルセットをチームとして備えていることが、スピーディな開発や自己組織化に必要と考えているからです。 新人さんの入社時や会社として新サービスを立ち上げる際にチームメンバーの出入りが発生します。「そ
こんにちは!2016卒エンジニア内定者のtsubです なかなか社内での呼び名が安定しなくて困っています。つらい ちなみに自分が使っている名前のtsubは tsub(ティーサブ) と呼ぶらしい。\最近知った!/ さて、もうすぐ4月になりますが、この時期になると (´-`).。oO(なんか春だしいつもと違う言語とか手を出してみようかな...) とか思っちゃいますよね! ということで、満を持して以前から気になっていたElixirとPhoenixを学んでみようと思います(PhoenixはElixirで実装されたウェブアプリケーションフレームワークです)。 第1回目の今回は、Elixirの基本的な構文や制御文について触れていきます。 この記事の対象読者 RailsエンジニアだけどPhoenixなにそれカッコイイじゃんな人 Railsとか書いたことないけどこの機会にPhoenixでweb書いてみたい人
こんにちは。Lorentzcaです。3月ですがまだまだ寒いのでなかなか釣りに行けずテンションさげぽよです! ↑↑ この度DBサーバー(物理マシン、MySQL)の引っ越しを行いました。 そのついでに、冗長化の仕組みをmhaとconsulを使った方法に変えたので紹介します。 はじめに まずは簡単に引っ越し前と引っ越し後の構成を比べてみます。 引っ越し前は以下の様な構成でした。 サーバー台数: 2台 MySQLフェイルオーバーの仕組み: 自作シェルスクリプト アプリの参照先を切り替える仕組み: keepalivedでvipを張り替えることで実現 引っ越し後は以下の様な構成になりました。 サーバー台数: 3台 MySQLフェイルオーバーの仕組み: mha アプリの参照先を切り替える仕組み: consulのdns機能を使って実現 なぜこのような構成にしたのか、話していきます。 引っ越し前に持っていた
こんにちは。増田です。 最近は PS4 と nasne を Amazon のショッピングカートに入れては戻す日々を送っています。 さて、私が担当するソーシャルPLUSでは毎日 700 通超のアラートメールに苦しめられてきました。なぜこんなことになってしまったのか...。 しかしながら、この記事は Bugsnag を使ってそのメールを(ほぼ)撲滅できたお話です。 Bugsnag については弊社のこちらの記事をどうぞ。 Rails のエラー通知を fluentd 経由で Bugsnag に送る | feedforce Engineers' blog はじめに Rails4 デフォルトとソーシャルPLUSのログ周りの違いを比較します。 デフォルトの Rails.logger 解説の必要はありませんね :) ActiveSupport::Logger ソーシャルPLUSの Rails.logger
Let's Encrypt!!インフラ担当の杉内です。 少し前になりますが毎週金曜に行っている社内の勉強会でLet's Encryptについて発表しました。 今日は資料の公開とスライド中ではデモで済ませてしまったところのフォローを交えつつ紹介したいと思います。 資料はこちら Let's Encryptとは Let's EncryptとはSSL/TLS証明書を無料で発行してくれる認証局です。 SSL証明書を無料で発行するとともに、発行、インストール、更新を自動化しHTTPSの普及を目的としています。 SSL証明書が無料という部分も魅力的ですが、注目すべきは証明書に関連する作業が自動化されるところです。 SSL証明書の取得は支払いやドメインの所持者かどうかの確認等、手作業が必要な部分が多く自動化しづらいのが現状です。そこを自動化していこうというスタンスはとても素晴らしいです! 以下デモパートで
弊社では四半期に1度、開発者全体でふりかえりを実施しています。従来は「KPT」でやっていましたが、「中長期のふりかえりには向いていないよね」という社内の声を受けて「YWT」を試してみました。 今日はその進め方や感想をお伝えします。なお私がウェブ上の情報を参考に実施したもので、何か正式なやり方に則っている保証はありませんのでご容赦を。 YWTの進行 KPTがKeep, Problem, Tryの頭文字から構成されているように、YWTも頭文字から成っています。それは、 Y: やったこと W: わかったこと T: つぎにやること の3つです。日本で考案された手法とのこと。 実際に今回作成したふりかえり内容から進行を説明すると、 模造紙などの紙を縦長に使い、 Y: やったこと(取り組んだ開発作業)を左端に挙げる W: やったことから得られた成果や知見などをYの右側に挙げる(全てのYに対して挙げる必
こんにちは。フィードフォース ボドゲ部の kano-e です。 こないだ『Last Night on Earth』というアメリカB級ゾンビ映画ゲーム(オリジナルサウンドトラック付き)で遊んで楽しかったのでまた遊びたい! さて、最近 stretcher + consul を使ったアプリケーションのデプロイを tjinjin に布教1され、実際のプロダクト導入に向けてデモ用の環境で動かしています。 これまでの (capistrano を使った) デプロイとの違い stretcher や consul が何をしているか 良い点と現状の課題 について、社内勉強会で話した内容をまとめます。 これまでの capistrano でのデプロイ これまでの capistrano を使ったプロダクトのデプロイは、以下のようなフローでした cap production deploy などと実行するだけですので、
皆様いかがお過ごしでしょうか。tjinjinです。もうすぐ2015年も終わりますね。皆様にとってステキな年になったでしょうか。私にとってステキな年だったので、来年はもっと熱い年にしていきたいなと思っているところです。 本日はRubyのrpmパッケージ作成を自動化しましたのでご紹介します! ちなみにすでにRuby-2.3.0のrpmパッケージを作成しました!!! https://github.com/feedforce/ruby-rpm/releases/tag/2.3.0 As Is 弊社内ではこれまでRubyの新しいバージョンがリリースされるたびに有志が、手動でパッケージを作成してGitHubのreleaseページに公開するという運用をしておりました。慣れればなんてことはないのですが、初めて行う場合は若干面倒だなという感じる作業でした。フローに起こすと下記のようになります。 Rubyのリ
寒くなってきましたが暑がりなのでまだ上着はあまり出番がありません、内定者のお豆腐です。 そろそろクリスマスですね!ターミナルでnpm xmasを実行すれば黒い画面の中でちょっとしたクリスマス気分を味わえるかもしれません。 さて、今回はエンジニア内定者ブログ第2弾として「API Gateway + Lambdaを使ってサーバーレスなSlackボットを実装してみる」というお題で記事を書いてみました。 目的 昨今、サーバーレスアーキテクチャと呼ばれる技術分野が注目されており、それを実現する基盤としてAmazon Web Services(以下AWS)のLambdaが注目されています。 今年10月にAWSが提供するAPI GatewayがTokyoリージョンでも使用が可能になり、API GatewayとLambdaを組み合わせたアプリケーションの開発がより手軽に行えるようになりました。 そんな中、
社内イチのQiita:Teamヘビーユーザー鈴木です(自称)。弊社ではエンジニアだけでなく、セールスや代表取締役を含む全員1でQiita:Teamを使っています。そこで今日は、今年投稿された記事の「いいね!」が多い順に、フィードフォースの2015年をふりかえってみます。 第5位 新規プロダクトの構想 『タイトルは秘密 (○-艸・)』 by 取締役(ディレクター) 25いいね! 『タイトルは秘密 (○-艸・)』 by 代表取締役 23いいね! いままさに構想中のプロダクトが2つあり、そのアイディア/狙いを共有した記事が注目を集めました。弊社の代表はエンジニア出身ではありませんが、THE LEAN SERIESの書籍などを参考にプロダクトづくりを実践しています。私も含め、こういったこれからの新プロダクト開発にワクワクしているところです! 第4位 17人の社員が入社 『(入社初日の日報など)』
こんにちは! a-know こと、いのうえです。 ここではあまり技術的な記事を書くことが少ない私ですが、今回は少し、踏み込んだ内容の記事をお届けしたいと思います。 ...あ、この記事は フィードフォースエンジニア Advent Calendar 2015 の 15日目の記事であり、また、Google Cloud Platform Advent Calendar 2015の 15日目の記事でもあります。 はじめに タイトルにある "GCE" とは、いわずもがな、 "Google Compute Engine" のことですが、その "preemptible VM" とは、下記のような特徴を持ったインスタンスのことです。 Google の膨大なデータセンターの余剰リソースを活用したインスタンス 低コスト(最大70%オフ) 低寿命(最大で24時間までしか持続しない) 上記のような特徴以外は、基本的
この記事はフィードフォースエンジニア Advent Calendar 12日目の記事です。 11 日目は meihong の『Facebook Global Partner Summit に行ってきた』でした。 こんにちは。先週美容院デビューに失敗した増田です。 日々イケメソに近づいております。怖いです。 Advent Calendar のネタはなにかないかなあと考えていたら、私はソーシャルPLUSの開発リーダーでした。そういえば。 それで思いついたのが今回の『今年ソーシャルPLUSで捨てられた技術たち』。 開発リーダーとして 1 年を振り返るという口実は説得力がありますし、最小の労力で最大の効果を発揮するにはこのようなまとめ記事は最適です。(๑´ڡ`๑) それではダラダラ始めます。 Rails3 今年の上半期にようやく Rails4 にアップデートすることができました。 ほぼ全て tmd
こちらは、フィードフォースエンジニアAdvent Calendar 2015 6日目の記事です。 昨日の記事はRaspberryPi - サイバーサングラスの調整でハマったファイルシステムのお話 - Qiitaという記事でした。アイエエエエ! ニンジャ!? ニンジャナンデ!? いかがお過ごしでしょうか。tjinjinです。 クリスマスの予定はモンハン大会の予定です。 さて、先日弊社は事業拡大に伴うオフィスの移転をしたのですが、その際にオフィス移転PJチームでインフラ周りを担当しましたので、その知見を共有できたらと思います! ちなみに新オフィスのロゴはこんな感じです。 こちらは引っ越しの様子の一場面です。無線APの設定を行うK氏S氏、サンドイッチを食べに来たM氏の写真です。 それでは本論に入ります。 記事の目的 事業拡大に伴い新オフィスに引っ越したいと考えている方にむけて、今回にやったこと、
次のページ
このページを最初にブックマークしてみませんか?
『feedforce Engineers' blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く