タグ

ブックマーク / techblog.recruit.co.jp (41)

  • CircleCI 2.0 + fastlane + Slather でコードカバレッジの変化を Slack に通知する | Recruit Tech Blog

    環境変数追加後は以下のように表示されます。 最後にテスト実行完了後に前回のコードカバレッジレポートと比較する処理を追加します。ここで、 @u-minor さんの CircleCIで計測したカバレッジ変化をSlackに晒す - Qiita で紹介されている神スクリプトを利用します。 Fastfile と .circleci/config.yml を以下のように変更しましょう。 fastlane_version "2.69.2" default_platform :ios platform :ios do desc "Runs all the tests" lane :test do scan( scheme: "[Your Xcode Scheme]", device: "iPhone 8 Plus", code_coverage: true, clean: true ) slather(

    CircleCI 2.0 + fastlane + Slather でコードカバレッジの変化を Slack に通知する | Recruit Tech Blog
  • サービスメッシュを実現するIstioをEKS上で動かす - その1 まずはMinikubeでサンプルアプリケーションを動かしてみる | Recruit Tech Blog

    Istioとは Istioは、サービスメッシュを実現するために用いられるソフトウェアです。各マイクロサービスと一緒にSidecar Proxyと呼ばれるプロキシをデプロイし、Sidecar Proxy経由で他のマイクロサービスとの通信を行います。Istioでは、Sidecar ProxyとしてLyft社が作成したEnvoyを採用しています。 Istioは、アプリケーション側で特に修正を加えることなく使えるという特徴があります。例えばKubernetes環境の場合、サービスをデプロイすると、IstioによってPod内にSidecar Proxyが自動的に配置されます。Init Containersという機能を使い、Sidecar Proxyを経由するようにiptablesのルールが書き換えられます。こうすることで、アプリケーションの変更なしでSidecar Proxy経由でのマイクロサービス

    サービスメッシュを実現するIstioをEKS上で動かす - その1 まずはMinikubeでサンプルアプリケーションを動かしてみる | Recruit Tech Blog
  • Railsアプリケーションの実装で気をつけている8つのこと – PSYENCE:MEDIA

    この記事は RECRUIT MARKETING PARTNERS Advent Calendar 2018 の投稿記事です。 12月はRubyのリリースが楽しみなk-shogoです。 今までに規模も寿命も様々なRailsアプリケーションの開発に携わってきました。記事ではそんな自分が「Railsプロジェクトにかかわるならこんな方針を合意できるチームが良いな」と思っていることをまとめます。 どんなことに気をつけているのか Railsでアプリケーションを作成する時、もしscaffoldで事足りるようなものならば取り決めは必要にはなりません。 複雑なアプリケーションだったとしても、一人で開発しコードが全て頭に入っており、今後もずっとメンテナンスできる覚悟があり、過去の自分を常に信頼できるのであればこれもまた方針は不必要です。 コードの規模が大きくなりそう、サービスの寿命が長くなりそう、複数人で開

    Railsアプリケーションの実装で気をつけている8つのこと – PSYENCE:MEDIA
    nobuoka
    nobuoka 2018/12/14
    Rails 固有の実装の話もあるけど、思想的としては Rails に限らず気を付けていきたい
  • R-ISUCON 2018 Winter解説記事 | Recruit Tech Blog

    この記事はリクルートエンジニアアドベントカレンダーの9日目の記事です。 解説記事をアップします。 R-ISUCONとは ISUCON(性能チューニングコンテスト)のリクルート版です。 詳しくは以下の記事を見てみてください。 チューニングに王道あり、R-ISUCON 2018 Springレポート 今回の問題「チャットサービス」 チャットサービスをお題にしました。WebSocketでリアルタイム通信あり、既読通知あり、投稿はPOSTだけど、既読通知もメッセージ通知も 1秒間以内 という仕様だけ聞いたら仕様側に「なんとか時間を伸ばしてくれ」と言いたくなるような仕様です。 実際弊社でもリアルタイム通信が多いアプリケーションが増えてきました。チャットであったり、広告配信であったり、検索クエリの補完であったり。 で、チャットとかでよくやってしまいがちな実装の問題も増えてきていて、よくあるのが、「We

    R-ISUCON 2018 Winter解説記事 | Recruit Tech Blog
    nobuoka
    nobuoka 2018/12/10
    WebSocket 楽しそう。 お疲れ様でした!
  • AWS CloudFront を使って Webサービスにおける画像のセキュア環境を構築した – PSYENCE:MEDIA

    この記事は RECRUIT MARKETING PARTNERS Advent Calendar 2018 の投稿記事です。 はじめに 画像権限、管理していますか? 複数の組織をユーザーとして抱えるようなWebサービスにおいて、組織内のプライベートな情報として参照できる環境上で画像をアップロードをしたとしても、一度一意の画像URLを取得してしまえばその後ログインせずともパブリックに画像参照できる、という状況の方が多いと思います。 今回はCloudFrontの機能を使って一定の条件でセキュアな環境を開発環境用に構築する方法を紹介します。 想定要件 具体的には下記の要件を満たします。 組織Aに所属するユーザーがアップロードした画像は、同組織に所属するユーザーしか参照できない ユーザーは複数の組織に所属できる 複数組織に所属するユーザーは横断して画像の参照できる 画像のキャッシュは使いたい 画像

    AWS CloudFront を使って Webサービスにおける画像のセキュア環境を構築した – PSYENCE:MEDIA
  • Android アプリバンドルに instant experience を追加する (インスタントアプリを簡単に作れるようになった) – PSYENCE:MEDIA

    Android アプリには、インストールせずに起動できる 「インスタントアプリ (以下 instant apps)」 と呼ばれる種類のものがあります。 記事では、下記の内容を説明します。 Android アプリバンドルに instant experience を追加することで、instant apps を作ることができる。 (以前よりも簡単に instant apps を作ることができるようになった。) Instant apps の動作確認方法。 Instant apps の歴史 Android アプリバンドル以前の instant apps Instant apps は 2016 年に公表され 1)参考 : Google I/O 2016 に参加してきました (全体まとめ編) - Tech Blog - Recruit Lifestyle Engineer、2017 年に一般の開発者に

    Android アプリバンドルに instant experience を追加する (インスタントアプリを簡単に作れるようになった) – PSYENCE:MEDIA
    nobuoka
    nobuoka 2018/12/04
    書いた! 昔はモジュール分けとかしないとインスタントアプリを作れなかったけど、Android アプリバンドルに対応することでインスタントアプリを簡単に作れるようになったぞい
  • ブラウザで マーカーベース AR #haiku – PSYENCE:MEDIA

    こんにちは、キッズリー開発グループの @tondol です。好きなハッシュタグは #ようちか安心委員会 です。 突然ですが、 皆さん AR やっていますか? iOS なら ARKitGoogle にはARCore プロジェクトがあったりと、スマートフォンで動かす AR フレームワークが続々登場していますね。 最新の AR フレームワークでは、上記の動画のようにかなり高度なインタラクションまで実現出来たりしますが、今回はもう少しハードルを下げて 昔ながらのマーカーベース AR を取り上げます 。 マーカーベース (マーカー型) AR とは: 黒枠で囲まれた正方形パターン (マーカー) をカメラで認識し、マーカーを基準に 3D コンテンツを重畳するタイプの AR を指します。 ARToolKit でよく使われる Hiro マーカー に見覚えのある方は結構いらっしゃるのではないでしょうか?

    ブラウザで マーカーベース AR #haiku – PSYENCE:MEDIA
    nobuoka
    nobuoka 2018/12/02
    フラスタに応用できて便利!
  • Adobe MAXでセッションに参加して得られたディープな学び – PSYENCE:MEDIA

    こんにちは!エンジニアの田野(@tanokin)とアートディレクターの居です。 2018年10月15日 ~ 10月17日にアメリカ ロサンゼルスで開催された2018年度のAdobe MAXに参加してきました。 Adobe MAXとは Adobe MAX—The Creativity Conference. PhotoshopやIllustrator等のクリエイティブ系ツールを提供するAdobe Systems社が毎年開催する正解最大級のクリエイティブ系カンファレンスです。基調講演では多くの新サービス(製品)を発表することで知られており、この他にも著名な映画監督やアニメーターといったクリエイター達による講演、Adobeの社員と共にプロトタイプ作成、各種ツールの効果的な使い方を学べるワークショップなど他では決して体験出来ないコンテンツが用意されています。 当エントリでは、我々が現地にてセッシ

    Adobe MAXでセッションに参加して得られたディープな学び – PSYENCE:MEDIA
  • EnvoyとAmazon ECS Service Discoveryを利用したgRPCの負荷分散 – PSYENCE:MEDIA

    自己紹介 こんにちは。今年の7月からリクルートマーケティングパートナーズに入社した木村 勇太です。 私は現在開発支援G 1)エンジニアをサポートするエンジニア~RMP内製開発の強さ・魅力~ という。インフラや自動化など内製エンジニアへの開発支援を行うグループに属しています。 はじめに 弊社サービスの スタディサプリ ENGLISH ではアーキテクチャにMicroservices、gRPCを利用してサーバーサイドを構築しています。スタディサプリ ENGLISH のMicroservices化についての詳細は以下の記事にてご紹介しています。 スタディサプリENGLISH 大規模改修の裏側 – PSYENCE:MEDIA 今回、gRPCの負荷分散にEnvoyAmazon ECS Service Discoveryを利用した構成を導入したので紹介します。 gRPCとは? gRPCとはGoogle

    EnvoyとAmazon ECS Service Discoveryを利用したgRPCの負荷分散 – PSYENCE:MEDIA
  • Spinnakerのコードを手元で修正して動作確認する方法(その1) – PSYENCE:MEDIA

    こんにちは。業務委託で開発支援Gのお手伝いをしているmizzyです。 お手伝いの一環として、現在Spinnakerの動作検証をしています。検証中に不具合に遭遇し、調査や修正のためにコードを変更して動作確認する機会がありました。Architecture - Spinnakerが示す通り、Spinnakerはマイクロサービス化されており、10個以上のコンポーネントが協調して動作しているため、構成が若干複雑です。そのため、手元でコードを修正して動作確認するのに多少苦労しました。 この記事では、みなさん(将来の自分含む)が同じ苦労をしなくて済むよう、得られた知見について共有します。内容は、Spinnakerをある程度触ったことがある人向けになっています。 なお、遭遇した不具合についてはここでは詳しく説明しません。興味ある方は、以下のイシューとプルリクエストをご参照ください。 AWS setting

    Spinnakerのコードを手元で修正して動作確認する方法(その1) – PSYENCE:MEDIA
    nobuoka
    nobuoka 2018/10/17
    Spinnaker、使いこなせれば便利そうだけど使いこなすまでが難しそうだ
  • 日本のエンジニア組織を活性化する!Re:OD Hack開催レポート | Recruit Tech Blog

    こんにちは!エンジニアの田野(@tanokin)です。 2018年8月7日(火)に、リクルートマーケティングパートナーズ ( 以下、RMP ) にてエンジニア組織における組織開発の知見交流イベント Re:OD Hack #1 を開催しました。今回はそのイベントの様子をご紹介します。 Re:OD Hackとは? リクルートマーケティングパートナーズのリファラルGで企画したエンジニア組織における組織開発の知見交流イベントです。Re:OD Hackというイベント名には、Organization Development:組織開発(OD)を再定義して(Re)より良いものにしていく(Hack)という意味が込められています。 イベントの目的 社内にとどまっている知見を外に出して共有、議論していけるコミュニティを作ること。そしてそこで得たものを持ち帰って自社で実行するサイクルを回していくことで、日全体の

    日本のエンジニア組織を活性化する!Re:OD Hack開催レポート | Recruit Tech Blog
  • 社内交流の一環で スプラトゥーン2 大会をやったら予想以上に盛り上がったお話 🦑 ~ リファラルグループの活動報告 | Recruit Tech Blog

    社内交流の一環で スプラトゥーン2 大会をやったら予想以上に盛り上がったお話 🦑 ~ リファラルグループの活動報告 鳥倉広大 こんにちは、リクルートマーケティングパートナーズ ( 以下 RMP ) リファラルグループの鳥倉 ( バード(@TorikoTheBird) ) です(•ө•) スペシャリストを主とする8名のメンバーで構成されるリファラルグループでは様々な施策を行っており、その活動内容について発信していこうと思います。 はじめに 今回は社内交流活性化施策の1つ、『テーマランチ会』についてご紹介します。 社内交流の活性化は永遠の課題 「社内交流を活性化させたい」 というのは多くの企業が持つ願望でもあり、同時に簡単ではない課題ですよね。我々リファラルグループとしても同様の課題を抱えています。 もう少し正確に言うと、チームメンバー同士は比較的仲がよく社内の雰囲気も良いのですが、チームの

    社内交流の一環で スプラトゥーン2 大会をやったら予想以上に盛り上がったお話 🦑 ~ リファラルグループの活動報告 | Recruit Tech Blog
    nobuoka
    nobuoka 2018/08/17
    『スプラトゥーン 2』 大会やってた。 技術的なテーマで集まると技術領域がかぶってない人とは顔を合わせなかったりもするので、こういう娯楽系のテーマでやるのも良かった
  • プログラミング言語Streemをハックしよう!Matzゼミの全貌をレポート | Recruit Tech Blog

    プログラミング言語Rubyの生みの親である"Matz"こと まつもとゆきひろさん。2016年より株式会社リクルートマーケティングパートナーズ(以下RMP)の技術フェロー・技術顧問として尽力いただいております。 2018年2月14日には、スペシャル企画第3弾として、RMP社内で「Matzゼミ」が開講! 前半:プログラミング言語StreemについてMatzさんの講演 Streemはどのようにして出来たのか?今後の展開は? 後半:ワークショップ Matzが作っているプログラミング言語 Streemをハックしよう MatzさんによるStreemの講演は全世界初公開の内容です。この記事であなたも「Matzゼミ」を体験してみましょう! (取材・文章: 湊川あい) Streemという言語ができた経緯 「言語デザインの楽しさを伝えたい!」そんな思いから、日経Linuxにて「作りながら学ぶプログラミング言語

    プログラミング言語Streemをハックしよう!Matzゼミの全貌をレポート | Recruit Tech Blog
    nobuoka
    nobuoka 2018/03/05
    Matz さんがどういう思想で言語設計をしているか、という話が興味深いなー。 言語処理系が内部情報の API を提供することの重要性を思うと @mactkg の Streem ビジュアル化もすごい
  • 【DroidKaigi 2018】 ニッチな技術と交流の 2 日間 | Recruit Tech Blog

    キッズリーのリードエンジニア (ときどき Android アプリ開発) の信岡です。 2018 年 2 月 8 日、9 日に開催された Android に関する国内最大規模のカンファレンス DroidKaigi 2018 において、弊社リクルートマーケティングパートナーズはシルバースポンサーを務めさせていただきました。 ブースに立ち寄ってくださった皆さま、ありがとうございました。 今回は 「ニッチな技術とコミュニケーション」 がテーマということで、私個人としてもセッションや交流から様々な刺激をもらいました。 運営の皆さま、参加者の皆さまに感謝しております。 弊社からは 「マルチモジュールのすヽめ」 というタイトルで釘宮が登壇しました。 DroidKaigi 2018で「マルチモジュールのすヽめ」という内容で発表して来ました 複数の Android ライブラリモジュールからアプリを構築するよ

    【DroidKaigi 2018】 ニッチな技術と交流の 2 日間 | Recruit Tech Blog
    nobuoka
    nobuoka 2018/02/17
    運営の皆さま、交流してくださった皆さまありがとうございました! 弊社 @kgmyshin の 「マルチモジュールのすヽめ」 や弊社参加者のオススメを紹介してます。 私からは @tomoya0x00 「Kioskアプリと端末の作り方」
  • リクルートマーケティングパートナーズのテックブログを 3年ぶりにフルリニューアルした件について | Recruit Tech Blog

    この記事はRECRUIT MARKETING PARTNERS Advent Calendar 2017の投稿記事です。 PSYENCE:MEDIA サイエンス・メディア 管理人 & 編集長 の @wakamsha です。お気付きの方も多いかと思いますが、2017年12月1日に当ブログをフルリニューアルしました。2014年9月24日の公開以来、3年以上も同じデザイン・構成で運用し続けてきたわけですが、今回はこの会社公式メディアのリニューアルについてお話します。 新しいブログ名に至った経緯について IT 系企業の内製エンジニアによるテックブログは今では珍しくもなんともありませんが、多くのブログは会社名 + テックブログといった命名規則を採用しています。これは最もお手軽なのに加え『内製開発組織を持った企業である』といった訴求がしやすいメリットがあります。 当ブログも公開当時は『NET BIZ

    リクルートマーケティングパートナーズのテックブログを 3年ぶりにフルリニューアルした件について | Recruit Tech Blog
    nobuoka
    nobuoka 2017/12/25
    「『フレームワーク』なのでその枠から少しでも外れようとすると途端に足枷となります」 そうだよねぇ
  • みんなのリモートワーク環境2017 | Recruit Tech Blog

    この記事はRECRUIT MARKETING PARTNERS Advent Calendar 2017の投稿記事です。 こんにちは!2017年新卒エンジニアの(@mikaji_jp)です。最近はカウントダウンジャパンのチケットが外れて年末の予定がなくなってしまって途方に暮れています。 さて、そんなことよりリクルートマーケティングパートナーズ ( 以下RMP ) ではリモートワーク制度を取り入れていることをご存知でしょうか?1)http://www.recruit-mp.co.jp/career_engineer/#supportArea 今回は弊社RMPのリモートワークの制度について、実際に制度を利用している人にどんなスタイルで働いているのか聞いてみました! 我々のリモートワーク制度 みなさんの会社ではリモートワークは導入されていますか?またどのように運用していますか?弊社RMPでは全従

    みんなのリモートワーク環境2017 | Recruit Tech Blog
    nobuoka
    nobuoka 2017/12/22
    “通勤時間が片道 (ドア to ドア) で 2.5 時間かかっていたので、それがまるごと削れるのはとても大きい” 2.5 時間て……。 新幹線で京都駅から通えるレベルやん
  • Dialogflowで今すぐ始めるサーバレスChatOps | Recruit Tech Blog

    このように全体の機構を眺めてみると、「自然言語のような非構造化情報を構造化情報に変換し、任意の処理を行う」という観点でApache UIMAと似ています。しばらく使ってみて、Dialogflowは次の点が優れていると感じました。 専門的な知識なしでは確実にハマるであろう自然言語の構造化処理を丸ごとサポートしてくれている 難しすぎないUI。「入力」と「出力」というn対nのディスパッチがIntentsという概念でうまく表現されている。 拡張のしやすさ。Fulfillmentを使ってwebhook経由で外部へ処理を引き回せる 上記の利点を踏まえ、次のような用途でdialogflowを使ってみました。 活用例その1:社内ヘルプデスク1次受けのチャットボットとして 私のグループではインフラ開発のほか、社内ツールの管理等も担当している業務上、「同じ質問が何度も来て、同じ回答を返すのが面倒」と感じること

    Dialogflowで今すぐ始めるサーバレスChatOps | Recruit Tech Blog
    nobuoka
    nobuoka 2017/12/18
    Dialogflow、音声コマンドでも使えるし文字列のチャットでも使えるし、いろいろ活用できそうだ
  • 撮影した動画をFFmpegとWatsonを使って字幕とロゴの挿入を自動化した | Recruit Tech Blog

    初めまして。ひっそりとRMPでエンジニア業をさせていただいております。 @bussorenre と申します。 Recruit Marketing Partners アドベントカレンダー14日目 では、あまり弊社ブログでは取り上げる頻度の少ないミドルウェアの話ができればなと思います。 さて、年の瀬も押し迫り、師匠もおかんも走る時期ですが1)悪寒が走ったら休んでください。my mother is not runnning.、忘年会や新年会の幹事に任命される事が往々にしてよくあります。そしたら「その年の振り返り動画を用意しよう」とか「全国の営業部長たちから新年の意気込みを集めてきて動画にまとめよう」みたいな業務が発生し、▂▅▇█▓▒░(’ω’)░▒▓█▇▅▂うわあああああああなんて事は、どの業界でもよくあると思います。 動画編集は相当手間と時間のかかる作業です。エンジニアとしては、やはりここのプ

    撮影した動画をFFmpegとWatsonを使って字幕とロゴの挿入を自動化した | Recruit Tech Blog
    nobuoka
    nobuoka 2017/12/18
    IBM Watson speech to Text での字幕作成も参考になるし、もっと基本的な FFmpeg の話も参考になる。
  • 「書き直したい」 をグッと抑えて小さな改善を積み重ねよう | Recruit Tech Blog

    この記事はRECRUIT MARKETING PARTNERS Advent Calendar 2017の投稿記事です。 こんにちは、2016 年中途入社の nobuoka です。 ソフトウェアエンジニアとしてキッズリーの開発に携わっています。 先日読んだ 『「書き直した方が早い」 は 9 割のケースで間違いだった』 というブログ記事に触発され、最近考えていた 「小さな改善を繰り返すこと」 について書き記します。 意識の話に寄っていて技術的な話ではないですが、是非読んでみてご意見をお寄せいただければと思います。 後半では、実際の製品開発での取り組みも紹介しています。 伝えたいことは一つだけ。 タイトルにある通り 「どうにも手が負えないから新たに書き直したい」 という気持ちに対して、一度それをグッと抑えて小さな改善を積み重ねよう ということです。 背景 : 新しく書き直すか、小さな改善を繰り

    「書き直したい」 をグッと抑えて小さな改善を積み重ねよう | Recruit Tech Blog
    nobuoka
    nobuoka 2017/12/17
    最近考えてたことを書いた! 「書き直したい〜」 ってなることも多いけど、小さな改善を積み重ねるのも大事!
  • iOS アプリの CI 環境を CircleCI 2.0 に移行したら結構便利 | Recruit Tech Blog

    皆さんこんにちは/こんばんは! キッズリー という保育園向けサービスで iOS アプリを担当している保坂 (智) です。1)4 月から同じチームにもう 1 人の保坂さんが新卒で入社したので、わたしは主にハンドルネームで呼ばれています。最近は ソウルに行ったり スキューバダイビングしたり していました。がんばルビィ。 弊社では以前から多くのプロジェクトで CI 環境に CircleCI を活用しています。わたしが担当しているキッズリーの iOS プロジェクトでも、 CircleCI 1.0 の頃からユニットテストの実行や DeployGate でのテスト版の配信などを CI ジョブとして実施していました。 そんな折、 Circle CI 2.0 が iOS プロジェクトのビルドにも対応した とのことなので、今回思い切って CI 環境を Circle CI 2.0 に移行してみました。その結果

    iOS アプリの CI 環境を CircleCI 2.0 に移行したら結構便利 | Recruit Tech Blog
    nobuoka
    nobuoka 2017/12/15
    CircleCI 2.0 はほんと便利