タグ

ブックマーク / blog.recruit.co.jp (16)

  • 株式会社リクルート エンジニアコース新人研修の内容を公開します!(2023年度版)

    こんにちは! 2023年度エンジニア新卒の、吉田です。 株式会社リクルート 新卒エンジニアコースでは、部署への配属前に、BootCampと呼ばれる新人研修を行っています。 日は2023年度の研修の内容を、実際に受講した新卒の立場から紹介させていただきます。 研修の内容については毎年反響をいただいていますが、今年度も一段と進化し、より充実した研修でした。 ページ下部に研修資料を公開していますので、ぜひ研修の雰囲気を感じ取っていただけると嬉しいです。 研修の概要 エンジニアコースの新人研修は、配属後にスピード感を持って成長できるようになることを見据え、 「さまざまな技術領域の講座を受け、興味関心を広げて、知らなかった好奇心に出会う」 「現場で求められる『仕事への取り組みスタンス』をつかむ」 「気軽に相談できる仲間(同期)をつくる」 の3点が目的とされています。 今年度は、入社前に行われたスキ

    株式会社リクルート エンジニアコース新人研修の内容を公開します!(2023年度版)
  • AI開発の新たなパラダイム「基盤モデル」とは

    さて、視覚・言語を扱う基盤モデルとしては、2021年の CLIP がブレイクスルーでした。CLIPはテキストと画像を同じ特徴空間に写像する2つのエンコーダからなります。CLIPを使うと、次のようにして任意の画像分類問題を追加の学習なしで解くことができます。まず、各候補クラスを文章の形式(例:「犬の写真」)にした後、テキストエンコーダに入力します。次に、分類したい画像を画像エンコーダに入力します。最後に、画像から得られたベクトルと候補クラスたちから得られた複数のベクトルとのコサイン類似度を計算し、最も類似度が高いクラスを出力結果とします。 CLIPによるゼロショット画像分類の方法。OpenAI Blogより引用 CLIPは画像とテキストというモードの異なる情報を意味的な近さによって結びつけることを可能にしました。CLIPを教師のようにして使うことで、テキストから画像を生成するモデルを訓練する

    AI開発の新たなパラダイム「基盤モデル」とは
  • 株式会社リクルート エンジニアコース新人研修の内容を公開します!(2021年度版) | Recruit Tech Blog

    こんにちは! Webフロントエンドエンジニアの眞野 隼輔です。 毎年大きな反響を頂いている、エンジニアコースの新人研修の内容を紹介させていただきます。 研修の概要 リクルートでは、エンジニアコースでスペシャリスト採用された新卒のエンジニアを対象に、現場で培われた「当に必要な生きた知識・技術」を取り入れた新人研修を開催しています。 前半は研修では各分野に長けた社員による講義形式の技術研修を行い、後半は仮配属という形でそれぞれ別の部署に配属されて実際の業務を経験するOJTとなっています。 この技術研修はそのほとんどが内製されており、ベテラン社員による経験を元にした講義を通して生きた知識・技術を獲得できます。また、実際に手を動かす演習型の講義ではベテラン社員からのレビューやフィードバックを得られるため、知識の定着や更なる成長へと繋がります。 年度の技術研修も、昨年度に引き続きフルリモートでの

    株式会社リクルート エンジニアコース新人研修の内容を公開します!(2021年度版) | Recruit Tech Blog
  • XcodeGenでiOSチーム開発でのストレスを軽減する | Recruit Tech Blog

    概要 チームで iOS 開発をする際 xcodeproj ファイルはコンフリクトが発生しやすい状況となります。 XCodeGen というツールを用いて xcodeproj ファイルのコンフリクトと解消にかかる手間暇を回避していきます。 動機 xcodeproj ファイルは、 プロジェクトのファイル構成や設定など様々な情報を保持しているファイルです。プロジェクトにファイルを加えただけで変更されるので、 差分が入りやすくチーム開発の際にコンフリクトしやすくなっています。加えて、 xcodeprojファイルは独自の構造を持っているため、 中身を読んで理解するのは容易ではありません。 これらの性質のため、 iOS のチーム開発にて xcodeproj ファイルはコンフリクトしやすい上に修正が容易ではないので、 コンフリクト解消には手間暇がかかることもあり何度も続くとストレスになりえます。 Xcod

    XcodeGenでiOSチーム開発でのストレスを軽減する | Recruit Tech Blog
  • Androidアプリ開発向けの横断CI環境

    こんにちは、スマートデバイス基盤チームの段です。 スマートデバイス基盤チームでは、リクルートライフスタイルのスマホアプリ開発における開発標準・品質指標の策定、新技術の検証及び横断推進、また、可視化及びCIシステムの運用改善など横断ミッションを担っています。 継続的インテグレーション(CI)はアプリ開発プロセスにおける重要な一環で、そのシステム運用改善を横断チームで実施するか各サービス側で実施するかの選択肢があると思いますが、弊社ではスマートデバイス基盤チームが担当しています。日頃の安定運用も勿論ですが、サービス側要件の柔軟対応、CIノウハウの属人化回避、運用工数削減などを意識した改善活動を積極的に行っています。 記事では、現在運用しているAndroid向けのCI環境をご紹介します。 全体構成 ビルド処理〜配布はジョブ毎にDockerコンテナで実施 Jenkins Pipelineを導入し

    Androidアプリ開発向けの横断CI環境
  • 【WWDC2017】iOS開発におけるEmbedded Framework活用法 + ラボノススメ | PSYENCE:MEDIA

    【WWDC2017】iOS開発におけるEmbedded Framework活用法 + ラボノススメ 井原岳志 2017.06.14 84 15292020 こんにちは。井原 (@nonchalant0303) です。スタディサプリENGLISHのiOSエンジニアをやっています。 今回はEmbedded Frameworkを活用したiOSアプリの設計についてご紹介します。 ちなみにですが、2017年6月5日 ~ 9日、アメリカのサンノゼで開催されたWWDC2017に参加してきました。WWDCではKeynoteをはじめとしたセッションの他に、Appleで働く様々な分野のエンジニアとディスカッションをできる『ラボ』というブースがあります。Embedded Frameworkでの設計についていろいろと質問することが出来たので、そこで得た知見も併せてご紹介します。 はじめに 現在、開発しているiOS

    【WWDC2017】iOS開発におけるEmbedded Framework活用法 + ラボノススメ | PSYENCE:MEDIA
  • iOS Size Classesを利用してユニバーサル対応を行った話

    こんにちは。AirレジのiOSアプリ開発を担当している山口です。 Airレジは昨年5月に行ったリニューアルに伴い、ユニバーサル対応を行いました。それまではiPhone/iPadで別アプリとして管理していましたが、ユニバーサル対応によりメンテナンスコストを下げることができました。 しかし、開発当初はSize Classesについての理解が浅いままユニバーサル対応を進めてしまい、レイアウト作成中に手戻りが発生したり、UIの共通化が上手くいかず分岐が複雑になってしまうなどの問題が発生していました。そこで、今回はSize Classesの概要とポイントについて書いてみました。 これからユニバーサル対応を始める方の参考になれば幸いです。 iOS8以降、多様化する画面サイズを抽象化して扱うための概念としてSize Classesが登場しました。様々なデバイスや向きに対応したAdaptive UIを実現

    iOS Size Classesを利用してユニバーサル対応を行った話
  • iOS大規模リファクタリング

    こんにちは。Airシリーズ開発チームでiOSの開発リードを担当している永井です。 この度、Airレジから予約台帳機能を切り出して、Airレジとレストランボードの2つのアプリとして新たに5/10にリリースしました。 iPad版・iPhone版合わせて181,175行あったAirレジですが、今回内部的にもObjective-CからSwiftに全面的に書き換えています。 まだまだリファクタリングしていきたい課題はありますが、コード行数は70%も減り(つまり元々の行数から30%になりました)、SonarQubeで示される技術的負債も500dから21dに減り、かなり成功したと言って良いのではないかと思っています。 今回の取り組みの中で、良かったこと・再検討したいことがいろいろ発見できました。それらについてまとめてみるので、これからSwift採用を検討している方々の参考になれば幸いです。 取り組みのポ

    iOS大規模リファクタリング
  • Swiftコーディング規約とコードスニペット

    こんにちは。スマートデバイス開発チームの韮澤(にらさわ)です。 スマートフォンアプリの開発や開発標準の策定、技術推進などを行っています。 私の得意分野はiOS開発なのですが、iOSといえばSwiftの勢いが凄まじいですね。 私は先日try! Swiftカンファレンスに参加し、その盛り上がりを肌で感じてきたところです。 Objective-CからSwiftへ これまでiOS開発に使われてきたObjective-Cはその特殊な記法から、学習コストが高く開発を始めるための精神的な障壁が若干高めだったかと思います。 しかしSwiftの出現により、プログラミング未経験者はもとよりweb系エンジニアにとっても参入障壁がグッと下がった印象があり、社内でも「SwiftならiOSアプリを書いても良いかも」という意見が聞かれます。 そんな高まりを見せるSwiftの波に乗っていこう!ということでリクルートライフ

    Swiftコーディング規約とコードスニペット
  • AWS Device FarmがiOSに対応したので使ってみた | PSYENCE:MEDIA

    こんにちは、sparkgeneです。 先日発表されたAWS Device Farmが、iOSにも対応したということで、試してみました。 AWS Device Farmとは アプリの品質向上に役立つテストを行ってくれるサービスです。 対称となるのは、Android、Fire OS、iOS。 通常開発する時は、様々なデバイスとOSバージョンを組み合わせてテストを行うのですが、その為には多くのテスト用端末を保有しておく必要があり、新しいモノが出れば買い足す必要があります。 しかし、このサービスを使うと、アプリのファイルをアップロードすることで、デバイスとOSの複数の組み合わせに対してテストを実行することが出来ます。 アプリの準備 今回テストに使うのは、Xcodeで新規プロジェクトを追加するときに選べるテンプレートの中から、Single View Applicationをそのまま使っています。 D

    AWS Device FarmがiOSに対応したので使ってみた | PSYENCE:MEDIA
  • Terraform + fluentd + Docker + Puree で小さく始めるモバイル行動ログ収集基盤構築 | PSYENCE:MEDIA

    Terraform + fluentd + Docker + Puree で小さく始めるモバイル行動ログ収集基盤構築 河合 航平 2015.07.07 1273 194192628259 こんにちは。 4月から新卒駆け出しインフラエンジニアとして日々奮闘しております河合です。 "モバイル行動ログ収集基盤" を "小さく" 始めたので、以下にインフラ構築からモバイルまでの設計までをまとめたいと思います。今回このログ収集基盤を作るにあたって私自身がこれまで経験したことのない技術・ツールを利用しましたので、それらの導入についてもご紹介いたします。 導入の背景 私は英単語サプリを中心にインフラを担当しています。 英単語サプリとは、聞ける・話せる・覚えてるをコンセプトとした高校受験からTOEICまで対策できる英単語学習のサービスです。 ユーザの分析によく使われるツールの1つにGoogle Analy

    Terraform + fluentd + Docker + Puree で小さく始めるモバイル行動ログ収集基盤構築 | PSYENCE:MEDIA
  • [Android] - Data Bindingつかってみた | PSYENCE:MEDIA

    こんにちは。Androidエンジニアの釘宮です。 Google I/O 2015での新しい発表の一つにData Bindingがありましたね。 Data BindingとはXMLなどのデータソースUIを静的または動的に結合する技術のことです。今まではMicrosoftのWPFなどで使われていた技術です。 今回はそのData Bindingについて、導入方法から簡単な使い方、ちょっとだけ踏み込んだ使い方、そしてこれを用いてMVVMを実現するならどういう風に組めばいいのかについて説明したいと思います。 それぞれのケースのサンプルコードも用意しております。参考になれば幸いです。 導入方法 Android Stuiod 1.3 previewである必要があります。 rootにあるbuild.gradleに下記を付け加えます。 dependencies { classpath "com.androi

    [Android] - Data Bindingつかってみた | PSYENCE:MEDIA
  • Android Design Support Libraryを使う | PSYENCE:MEDIA

    どうもこんにちは。Google I/O 2015 帰りの 英単語サプリ 担当 田澤です。 Material Designを実現するためのAndroid Design Support Libraryが発表されました。 これまではサードパーティーのライブラリを利用するか、独自実装してMaterial Design対応をする必要がありましたが、ついに公式でサポートされるようになりました。サポートOSバージョンはAndroid 2.1 以上となっています。 そこで、記事ではAndroid Design Support Libraryで追加されたコンポーネントと使い方を紹介します。 また、各コンポーネントに関するDesign Guidelineのリンクも用意しているのでご参照ください。 なお、ここで紹介しているコードは Github - android-SampleDesignSupportLib

    Android Design Support Libraryを使う | PSYENCE:MEDIA
  • 【iOS】Pinterest風な遷移アニメーションをオープンソースとして公開しました | PSYENCE:MEDIA

    概要 UIViewController間の遷移アニメーションを、Pinterestのようなズームするアニメーションにするライブラリをオープンソースとして公開しました。前回オープンソースを紹介したときはyshrkt氏のゴーストライターでしたが、今回は自分で書いたコードですw recruit-mp/RMPZoomTransitionAnimator | GitHub We published RMPZoomTransitionAnimator by open source. RMPZoomTransitionAnimator provide a custom transition zooming animation. PinterestやFacebook、Twitterなどのアプリで、一覧画面で写真のサムネイルをクリックするとサムネイルが拡大しながら詳細画面に遷移するアニメーションをご覧になっ

    【iOS】Pinterest風な遷移アニメーションをオープンソースとして公開しました | PSYENCE:MEDIA
  • 【iOS】スクロール可能なメニューバーを持つViewControllerをオープンソースとして公開しました | PSYENCE:MEDIA

    【iOS】スクロール可能なメニューバーを持つViewControllerをオープンソースとして公開しました 大島 雅人 2015.01.15 677 65200250162 概要 スクロールできるメニューバーとスワイプで画面を切り替えることができるViewControolerのコンテナを、オープンソースとして公開しました。 recruit-mp/RMPScrollingMenuBarController | GitHub We published RMPScrollingMenuBarController by open source. RMPScrollingMenuBarController has a scrollable menu bar, and multiple view controllers for iOS. ニュース系アプリでよく使われているUIで、弊社の料理サプリのiO

    【iOS】スクロール可能なメニューバーを持つViewControllerをオープンソースとして公開しました | PSYENCE:MEDIA
  • 【Android】ヘッダー/フッタービューつきのAndroid GridViewをオープンソースとして公開します | PSYENCE:MEDIA

    Android】ヘッダー/フッタービューつきのAndroid GridViewをオープンソースとして公開します 平野 雄一 2014.10.11 161 30408011 この記事の概要 AndroidのGridViewに対し、ヘッダービューとフッタービューの追加をサポートしたものをオープンソースとして公開しました。 We published HeaderFooterGridView by open source. HeaderFooterGridView supports adding header rows and footer rows to GridView for Android. 簡単な自己紹介 ブログでの初めての記事になりますので、簡単な自己紹介を。 リクルートマーケティングパートナーズのiOS/Androidエンジニアの平野と申します。2014年7月にジョインし、現在は

    【Android】ヘッダー/フッタービューつきのAndroid GridViewをオープンソースとして公開します | PSYENCE:MEDIA
  • 1