eiryu9のブックマーク (408)

  • Jira APIと戯れる 〜チケットの添付ファイルの一括ダウンロード編〜 | Recruit Tech Blog

    はじめに エンジニアのeiryuと申します。 みなさんはJiraを使っていますか? JiraはAtlassian社が提供しているプロジェクト・課題管理のWebサービスです。 JiraはAPIを提供しており、APIを扱えるようになると出来ることの幅が広がります。 私は今までAPIを利用して以下のようなことを行ってきました。 チケット情報取得 特定条件のチケットを自動クローズ チケットの添付ファイルの一括ダウンロード 前回はチケット情報取得について書きました。 今回はチケットの添付ファイルの一括ダウンロードについて書いてみたいと思います。 環境情報 この記事の内容は以下の環境にて確認しています。 Jira v8.5.1(オンプレミス) MySQL 5.6.51 $ groovy -v Groovy Version: 2.5.13 JVM: 1.8.0_265 Vendor: Eclipse O

    Jira APIと戯れる 〜チケットの添付ファイルの一括ダウンロード編〜 | Recruit Tech Blog
    eiryu9
    eiryu9 2021/05/12
    ご査収ください
  • 複数TARGETを用いて、単一Xcodeプロジェクトで複数のアプリをビルドする | Recruit Tech Blog

    初めまして。リクルート新卒一年目の大塚悠貴、佐藤万莉、河内友佑です! 新卒研修で、「異なるユーザ層に特化した複数のアプリを、最大限コードを共通モジュール化することで実現する」という課題に取り組んだので、その内容について紹介します。 コードを共有して複数アプリを作成するには大きく以下のような方法が挙げられます。 単一のXcodeプロジェクトでビルドTARGETを複数作成する 複数のXcodeプロジェクトを作成する 今回はビルドTARGETを複数作成する方法を検証したので、ブログではこの方法を採用するにあたり発生した問題とその解決策、およびメンテナンス性を意識した実装について紹介します。 複数TARGETを作成・管理する 複数TAEGETの問題点 複数のTARGETでアプリを作る際は通常大まかに以下のような手順で行います。 ビルドTARGETを複製する 各ファイルにTARGETを設定する ま

    複数TARGETを用いて、単一Xcodeプロジェクトで複数のアプリをビルドする | Recruit Tech Blog
    eiryu9
    eiryu9 2020/11/26
  • スタディサプリENGLISHの基盤をECSからEKSに移行しました | Recruit Tech Blog

    こんにちは、スタディサプリ ENGLISH SREグループの大島です。 オンライン英語学習サービスであるスタディサプリ ENGLISHは2015年10月のリリース1)当時は英語サプリという名前でリリースしていましたから5年が経ち、おかげさまでサービスを拡充させることができています。リリース当初からインフラにはコンテナを採用し、長い間AWSのコンテナオーケストレーションサービスのAmazon Elastic Container Service(以下、ECS)で運用してきましたが、この度ECSからAmazon Elastic Kubernetes Service(以下、EKS)に移行しました。 今回の記事では、その歴史の変遷となぜEKSにしたのかというところを書いていきたいと思います。 コンテナと歩んできた5年間 まず、ECSからEKSに移行しようと思ったきっかけの前に、インフラの歴史を少し振

    スタディサプリENGLISHの基盤をECSからEKSに移行しました | Recruit Tech Blog
    eiryu9
    eiryu9 2020/10/22
  • Fargate 上で実行される CronJob を DataDog & CloudWatch で監視する方法 | Recruit Tech Blog

    こんにちは、スタディサプリ ENGLISH SRE グループの巻田です。 現在リクルートの夏アルバイトとしてこのチームに所属しています。 この記事では EKS クラスタにおいて Fargate 上で実行される CronJob に対して DataDog 及び CloudWatch を使用した監視を行う方法を紹介します。 背景 以前の記事にも書いた通り、スタディサプリ ENGLISH では CronJob の実行に Fargate を使用することを検討しています。1)/assets/rmp/techblog_bucket/infrastructure/post-20631/ 従来から CronJob が実行されている Pod の監視には DataDog 及び CloudWatch を使用してきました。 これらのサービスを使用する際は Fluentd や DataDog Agent などのプログ

    Fargate 上で実行される CronJob を DataDog & CloudWatch で監視する方法 | Recruit Tech Blog
    eiryu9
    eiryu9 2020/10/02
  • EKS クラスタの CronJob を Fargate 上で実行する方法 | Recruit Tech Blog

    こんにちは、スタディサプリ ENGLISH SRE グループの巻田です。 現在リクルートの夏アルバイトとしてこのチームに所属しています。 この記事では EC2 上に構築された EKS クラスタの CronJob のみを Fargate 上で実行できるようにするための方法を紹介します。 はじめに スタディサプリ ENGLISH ではインフラに EKS を採用しています。Kubernetes には CronJob1)https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/ と呼ばれる機能があり、ジョブを定期的に実行することができます。スタディサプリ ENGLISH ではこの機能を使って様々なバッチ処理を実行しています。 Fargate を導入したい背景 スタディサプリ ENGLISH で使用している EKS は元々

    EKS クラスタの CronJob を Fargate 上で実行する方法 | Recruit Tech Blog
    eiryu9
    eiryu9 2020/10/02
  • Jira APIと戯れる 〜チケット情報取得編〜 | Recruit Tech Blog

    はじめに エンジニアのeiryuと申します。 みなさんはJiraを使っていますか? JiraはAtlassian社が提供しているプロジェクト・課題管理のWebサービスです。 JiraはAPIを提供しており、APIを扱えるようになると出来ることの幅が広がります。 私は今までAPIを利用して以下のようなことを行ってきました。 チケット情報取得 特定条件のチケットを自動クローズ チケットの添付ファイルの一括ダウンロード 今回はチケット情報取得について書いてみたいと思います。 環境情報 この記事の内容は以下の環境にて確認しています。 Jira v8.5.1(オンプレミス) $ http --version 2.2.0 $ groovy -v Groovy Version: 2.5.0 JVM: 1.8.0_181 Vendor: Azul Systems, Inc. OS: Mac OS X 実際

    Jira APIと戯れる 〜チケット情報取得編〜 | Recruit Tech Blog
    eiryu9
    eiryu9 2020/09/03
    書きました
  • iOS アプリのテストカバレッジを SonarQube で集計する | Recruit Tech Blog

    背景・目的 背景 私が関わっている 「ゼクシィ」 iOS アプリプロジェクトでは、Codecov によるテストカバレッジ集計を行っています。 これについては、以前 「Codecov で iOS アプリのテストカバレッジを可視化する (GitHub + CircleCI + Codecov)」 という投稿で紹介しました。 「ゼクシィ」 iOS アプリのプロジェクトでは、静的解析ツールの SonarQube も使っています。 SonarQube にもテストカバレッジ集計の機能がありますので、SonarQube でもカバレッジ集計を行いたいと思います。 投稿の目的 iOS プロジェクトのテストカバレッジを SonarQube で集計するためのスクリプトが SonarSource 1)SonarQube 開発元 によって公開されているのですが、そのスクリプトをそのまま使うだけではうまく集計できな

    iOS アプリのテストカバレッジを SonarQube で集計する | Recruit Tech Blog
    eiryu9
    eiryu9 2020/08/06
  • TestCafe で E2E テストを始めよう #3 - よりプログラマブルな作りにする | Recruit Tech Blog

    前回 ではベーシック認証とユーザーロールという二つの認証をご紹介しました。 今回はもう少し実務に寄り添ったお話ということで、よりプログラマブルな作りにする方法についてご紹介します。 シリーズ一覧 概要説明 と Hello World ベーシック認証とユーザーロール(アカウント認証) よりプログラマブルな作りにする 👈 この記事 関心の分離・メンテナブルなテストを書くためのベストプラクティス 環境変数を読み込む 例えば TestCafe を使ってベーシック認証(HTTP Authentication)が効いているサイトへアクセスする際は、 httpAuth メソッドを使って認証情報を宣言的に記述します。 fixture('My Fixture') .page('https://www.example.com') .httpAuth({ username: 'username', passw

    TestCafe で E2E テストを始めよう #3 - よりプログラマブルな作りにする | Recruit Tech Blog
    eiryu9
    eiryu9 2020/05/08
  • エンジニアが成果アピールで意識すると良い4つの観点 | Recruit Tech Blog

    はじめに結論 自身やチームの取り組みをアピールする際、以下4つの観点 (Issue度・解の質・革新性・主体性) を意識すると、成果アピールの説得力を高めることができます。 成果 (創出した物事の価値・意義) Issue度: どういった/どのくらいの問題に取り組んだか? (重要度・規模感・難易度) 解の質: やったこと/結果は、どういった/どのくらいの変化・貢献をもたらしたか? (価値・意義) プロセス (成果を生み出した理由・背景) 革新性: アプローチ手法の着眼の良さ/工夫点はあるか? (アプローチ方法) 主体性: アプローチをどのような立場で/どのくらい主体的に推進したか? (進め方) これらの観点を意識して適切に成果アピールできるようになると、成果面談などの社内イベントのみならず、社内外のプレゼンや転職活動 (レジュメ作成・面接・交渉) など様々な場面で役に立ちます。 そもそもこれは

    エンジニアが成果アピールで意識すると良い4つの観点 | Recruit Tech Blog
    eiryu9
    eiryu9 2020/03/26
  • TestCafe で E2E テストを始めよう #2 - ベーシック認証とユーザーロール(アカウント認証) | Recruit Tech Blog

    TestCafe で E2E テストを始めよう #2 - ベーシック認証とユーザーロール(アカウント認証) wakamsha 前回は TestCafe の大まかな概要と Getting Started をご紹介しました。 今回は ベーシック認証 と ユーザーロール という二つの認証についてご紹介します。 シリーズ一覧 概要説明 と Hello World ベーシック認証とユーザーロール(アカウント認証) 👈 この記事 よりプログラマブルな作りにする 関心の分離・メンテナブルなテストを書くためのベストプラクティス ベーシック認証が効いている環境にアクセスする 通常、ベーシック認証(HTTP Authentication)が効いているサイトへ( curl といった)プログラムからアクセスする際は、下記の様に認証情報を URL に直接埋め込むことが多いかと思います。 # https://www

    TestCafe で E2E テストを始めよう #2 - ベーシック認証とユーザーロール(アカウント認証) | Recruit Tech Blog
    eiryu9
    eiryu9 2020/03/18
  • TestCafe で E2E テストを始めよう #1 - 概要説明 と Hello World | Recruit Tech Blog

    TestCafe とは? TestCafe とは、Developer Express Inc. というアメリカのシステム開発会社が開発している E2E テストツールです。 A node.js tool to automate end-to-end web testing | TestCafe 同社はもともと TestCafe Studio という IDE(E2E テストケースオーサリングツール)を商用として提供していましたが、2016 年に TestCafe Studio のコア部分を OSS として提供するようになりました。今回ご紹介するのは、このコア部分についてです。 シリーズ一覧 概要説明 と Hello World 👈 この記事 ベーシック認証とユーザーロール(アカウント認証) よりプログラマブルな作りにする 関心の分離・メンテナブルなテストを書くためのベストプラクティス 大まか

    TestCafe で E2E テストを始めよう #1 - 概要説明 と Hello World | Recruit Tech Blog
    eiryu9
    eiryu9 2020/03/10
  • RMPでのリモートワーク(在宅勤務)の実践について – PSYENCE:MEDIA

    はじめに こんにちは! 約7年前にリクルートマーケティングパートナーズ(以下、RMP)にエンジニアとして中途入社しました山田(@syamata)です。プロダクト内製開発チームの立ち上げ時にいくつかのプロダクト開発と、組織拡大のためのエンジニア環境整備などを担当した後、3年間のリクルート住まいカンパニーやリクルートホールディングス等への出向を終えて昨年9月に帰ってきました。現在はブログの編集長も1)情報システム、組織活性・エンジニア中途採用などの複数部署を兼務しています務めています。 さて、RMPではリモートワーク(テレワーク)を導入しており、ネットビジネス組織は積極的に実践していることを度々ブログで発信してきました。エンジニアやデザイナー、WebディレクターなどのIT職種ではすでに他社のブログも含めて多くの事例が共有されていますが、今回は、営業や事業企画などの非IT職種も含めた施策をご

    RMPでのリモートワーク(在宅勤務)の実践について – PSYENCE:MEDIA
    eiryu9
    eiryu9 2020/02/28
  • 退屈なことはGroovyにやらせよう | Recruit Tech Blog

    はじめに エンジニアの @eiryu と申します。 突然ですが、皆さんは Groovy というプログラミング言語はご存じでしょうか?JVM言語の1つであり、Javaの豊富なライブラリが使え、動的言語でもあるためちょっとしたスクリプトやツールを作るには便利です。 この記事では、実際に私が業務で作ったGroovyスクリプトについて紹介していきたいと思います。 環境情報 この記事の内容は以下の環境にて確認しています。 $ groovy -v Groovy Version: 2.5.0 JVM: 1.8.0_181 Vendor: Azul Systems, Inc. OS: Mac OS X $ awslogs --version awslogs 0.10.0 業務で実際に使った例 awslogsを使ってCloudWatch Logsから並列でログを取得する @GrabConfig(system

    退屈なことはGroovyにやらせよう | Recruit Tech Blog
    eiryu9
    eiryu9 2020/02/21
    書きました
  • Swiftはじめました - ゼクシィiOSアプリの場合 | Recruit Tech Blog

    はじめに Swift はじめました。と聞くと、読者の方は「いまさら?遅すぎじゃない?」とか、「大切なのは何の言語で書くかよりも設計じゃないの?」などと思われるかもしれません。気持ちはわかります。 しかし実際、ゼクシィアプリのコードベースは今まで Objective-C 100% でした。そして、つい最近、はじめてプロダクションコードとして Swift のコードをリリースすることができました。稿では、そこに至るまでに考えたことや、具体的なやり方を紹介できればと思います。 申し遅れましたが、この記事はゼクシィ iOS アプリの開発を担当している @tondol がお送りします。好きな結婚式ソングは lily white で「ふたりハピネス」です。1)ラブライブ!のキャラクターソングです。わざわざ脚注までお読みいただき、ありがとうございます。 背景 前述の通り、ゼクシィアプリはこれまで Obj

    Swiftはじめました - ゼクシィiOSアプリの場合 | Recruit Tech Blog
    eiryu9
    eiryu9 2020/02/17
  • XcodeGenでiOSチーム開発でのストレスを軽減する | Recruit Tech Blog

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

    XcodeGenでiOSチーム開発でのストレスを軽減する | Recruit Tech Blog
    eiryu9
    eiryu9 2020/01/20
  • RailsアプリをRuby 2.7.0で動かして分かったこと | Recruit Tech Blog

    はじめに (背景) 昨年のクリスマスにRuby 2.7.0がリリースされました。 Ruby 2.7は今年リリース予定のRuby 3への移行を見据えたバージョンであり、多くの新機能や変更点があります。そこで、弊社が企画制作する『Babyプラス』のRailsアプリをRuby 2.6.5 -> 2.7.0に上げて動かしてみたところ、約1,000件のテストケース実行に対して6件のエラーと2,700件ほどのワーニングが発生しました。この結果の分析によりRuby 2.7移行について傾向と対策が見えてきたので、現時点 (2020/01/08) で分かったことを共有します。 結論 (Ruby2.7移行についての傾向と対策) 傾向として、多くのgemRuby 2.7.0からワーニングとなる言語仕様変更の影響を受ける 具体的には、ブロック無しProc.new/proc/lambdaおよびキーワード引数 (k

    RailsアプリをRuby 2.7.0で動かして分かったこと | Recruit Tech Blog
    eiryu9
    eiryu9 2020/01/08
  • Groovyの奇妙な正規表現(Groovyの奇妙な演算子(3)改め) - uehaj's blog

    今回は、正規表現の処理にかかわる以下の演算子/記法についてです。 /.../ ~ =~ ==~ 「/.../」文字列定数の表記。 /.../はGroovyにおける文字列定数の表記法のひとつです。正規表現専用ではないのですが、正規表現が格納された文字列に使うと便利なように、バックスラッシュ文字をエスケープ文字として解釈しません。 > println "abc\ndef" abc def > println /abc\ndef/ abc\ndef なお、$ではじまる式や変数の展開は行います。 > a = 'xyz' > println /abc$a/ abcxyz > println "abc$a" abcxyz > println 'abc$a' abc$a > まとめると 文字列定数表記法 バックスラッシュ文字 $変数名、${}の展開 "..." エスケープ文字として扱う 行なう '...

    Groovyの奇妙な正規表現(Groovyの奇妙な演算子(3)改め) - uehaj's blog
    eiryu9
    eiryu9 2018/05/27
  • チームの課題から考える、Adobe XDとSketchの導入メリット | PSYENCE:MEDIA

    この記事は RECRUIT MARKETING PARTNERS Advent Calendar 2017 の投稿記事です。 こんにちは!現在キッズリーのデザインを担当しているデザイナーの町田(@macheri_me)です。 今年で中途入社3年目となりました。日は弊社の制作事例をもとに、AdobeXD・Sketchの活用法についてご紹介します。 【この記事を読んでもらいたい人】 これからAdobe XD、Sketchどちらを導入しようか悩んでいる人 デザイン制作フローの中で課題を抱えており、解決したい人 Adobe XDとSketch。自分のチームにはどちらが最適か サービスのデザインを制作する際、何のツールを使っていますか?少し前だと Adobe Illustrator、Photoshop、Fireworksといったグラフィックツールが多かったかと思います。しかしながら、これらはUI

    チームの課題から考える、Adobe XDとSketchの導入メリット | PSYENCE:MEDIA
    eiryu9
    eiryu9 2017/12/07
  • ErgoDox EZ カスタマイズ情報のまとめ - Okapies' Archive

    先日買った ErgoDox EZ が届いたのでカスタマイズ中。GW に発注して一週間くらいで届いたので、かなり流通体制が整ってきている様子。 ergodox-ez.com いぢりがいがあるのは良いのだけれど、正直なところ「素人お断り」感がすごいですね*1。というわけで、調べたことをまとめていこうかと。随時更新予定。 ※記事中でリンクしているドキュメント類はかなり頻繁に場所が変わっているので、リンク切れの場合は頑張って探してください…。 ファームウェアのカスタマイズ 追記 (11/27): EZ 公式の GUI 設定ツールが登場しています。日語キーの割り当てとかは部分的にしかサポートしてないっぽいですが…。 ErgoDox のキーマップを変更するには、体ファームウェアの更新が必要。ファームウェアをカスタマイズするには、Massdrop の Ergodox Configurator を使う

    ErgoDox EZ カスタマイズ情報のまとめ - Okapies' Archive
    eiryu9
    eiryu9 2017/07/06
  • Spring Boot CLI+Groovy+Grapeを使って、簡単にSpring Bootアプリケーションを書く - CLOVER🍀

    sdkman(gvmの頃からですが)を使って、Spring Bootをインストールすることができます。 $ sdk install springboot ここでインストールされるspringコマンド(Spring Boot CLIって言ったらいいんでしょうか?)で、簡単にSpring Bootアプリケーションが書けるようなのですが、最近になってやっと試してみたのでメモ。 Spring Boot CLI インストール sdkman、もしくはzip、tar.gzを展開してインストールします。 Installing the Spring Boot CLI 今回は、sdkmanを使用しました。「springboot」をインストールします。 $ sdk install springboot Downloading: springboot 1.3.2.RELEASE % Total % Receive

    Spring Boot CLI+Groovy+Grapeを使って、簡単にSpring Bootアプリケーションを書く - CLOVER🍀
    eiryu9
    eiryu9 2017/06/13