タグ

ブックマーク / yuutookun.hatenablog.com (18)

  • 既存のEKSクラスタにFargate for EKS でAPI作成する際の導入でハマったところ - Screaming Loud

    既存のEKSクラスタにterraformでFargateのPodを導入する際に、ハマったところを紹介します。 TL;DR クラスタセキュリティグループ の設定を見直しましょう。 クラスタセキュリティグループ mapRoleへの付与漏れ Farage導入においては以下の記事がわかりやすいのですが、書いてあるとおりfargate profileを生成すると自動でmapRoleに pod execution roleが入ります。 tech.recruit-mp.co.jp しかし、terraformで導入していてmapRoleもterraformで管理していると、 terraformでfargate profileを作成 aws側がmapRoleにpod execution roleの権限を追加 terraformに記載されているmapRoleで上書き となってしまい、mapRoleが消えてしま

    既存のEKSクラスタにFargate for EKS でAPI作成する際の導入でハマったところ - Screaming Loud
  • GitHub Actionでtagを打った際にgit-pr-releaseみたいなリリースノートを作る - Screaming Loud

    今年はコロナで出かけていないので、ちょっとGitHub Actionいじってます。 やりたいこと タイトル通りですが、やりたいことは「GitHub Actionでタグを打ったときに、git-pr-releaseみたいな前のタグからのPRのリストをリリースノートに乗せたい」です。 実際の自動で生成したリリースノート やりかた これを実施するにあたり、git-pr-releaseと違ってメインブランチとサブブランチを決めてそのPRを取るという手法が使えないので以下のようにする必要があります 前のタグからの今のタグへの全コミット取得 PRのコミット取得 対象のPRを取得 リリースノートに反映 前のタグからの今のタグへの全コミット取得 これはGitHubAPIからは取れなかったので、Git操作で取得します。 git log を使えば、あるタグから別のタグまでのコミットログを取れます。 また通常の

    GitHub Actionでtagを打った際にgit-pr-releaseみたいなリリースノートを作る - Screaming Loud
    yuutookun
    yuutookun 2021/01/02
    書いた
  • RustでEC2検索を簡単にするCLIを作った ~ ec2-search ~ - Screaming Loud

    記事は Rust Advent Calenderの9日目の記事です。 今回はRustでCLIを作ったので、機能紹介と作る上でのポイントなどを紹介します。 書こうと思っていたネタが、7日目の 2020 年版 Command Line Tool を作ってみる in Rust - Qiita と結構被ってしまったのですが、 どうやってコードを書くかというより、自分がハマったどうやってデプロイするか周りをメインに紹介します。 なぜ作ろうと思ったか ec2-search 機能一覧 RustでCLIを作るためのパーツ コマンドラインパーサ aws sdk 実行バイナリ 表示 CI CD バイナリのリリース crates.ioへのpublish homebrew まとめ 追記 なぜ作ろうと思ったか 今回このCLIを作ったモチベーションとしてはRustでなにか作りたいという気持ちがメインではありますが、

    RustでEC2検索を簡単にするCLIを作った ~ ec2-search ~ - Screaming Loud
    yuutookun
    yuutookun 2020/12/09
    書いた
  • リードエンジニアとしての役割 - Screaming Loud

    ちょうどリードエンジニアを任せてもらって1年が立ちました。 広告チームのリードエンジニアを任せてもらってから、自分のリードエンジニアとしての価値はなんだろうと考え、色々実行にうつしてきたことを。 リードエンジニアの役割 弊社のリードエンジニアのミッションとは以下です。 高い技術力ならびに、事業ドメインへの深い知識を持ち、 事業におけるトップエンジニアとしてプロダクトの成長に貢献する リードエンジニアができる以前は、エンジニアが持つ役職はマネージャしかありませんでした。 マネージャから部長、役員というように役職があります。 以下記事でも述べられているように、 技術的意思決定のデリゲーション 育成とキャリア を担って欲しいという思いで設置された背景があります。 tech.gunosy.io マネージャに関してはピープルマネジメント、部長に関しては事業の責任を持つという役割があります。 自分のリ

    リードエンジニアとしての役割 - Screaming Loud
    yuutookun
    yuutookun 2020/10/30
    書いた
  • Apache Hudiを触ってみた - Screaming Loud

    最近はデータレイクに保存しているデータに対し更新、削除ができるライブラリが増えてきました。 Kudu,deltalakeやHudiなどがありますが、今回はUberが作ったHudiを触ってみました。 セットアップ データの書き込み データ読み込み データ更新 特定の時点でのクエリ まとめ セットアップ Quick-Start Guide - Apache Hudi を参考にセットアップしていきましょう。 localで試すためにspark-shellをいれて実行します。 $ brew install spark-shell $ spark-shell --package org.apache.hudi:hudi-spark-bundle_2.11:0.5.1-incubating,org.apache.spark:spark-avro_2.11:2.4.4 \ --conf 'spark.se

    Apache Hudiを触ってみた - Screaming Loud
    yuutookun
    yuutookun 2020/06/13
    hudi触ってみた
  • Sentryにログを送るfluent pluginを作った - Screaming Loud

    fluentからsentryに送るプラグインを作りました。 github.com こちらのプラグインのメンテが止まっていた感じだったので、新しく作りました。 github.com 利用イメージ 自分が欲しかったものは、fluent自体のログをsentryに送るという機能です。 なので、まずはすごく薄く作りました。 fluentのログを流すためのサンプルのconfigはこんな感じですね。 <filter fluent.**> @type record_transformer enable_ruby <record> level ${tag.sub("fluent.","")} </record> </filter> <match fluent.**> @type raven dsn https://12345@sentry.io/12345 environment development <

    Sentryにログを送るfluent pluginを作った - Screaming Loud
    yuutookun
    yuutookun 2019/12/31
    作った [fluentd][sentry]
  • 思考し言語化することが次のフェーズへの道 - Screaming Loud

    平成最後のブログですね。 最後なのでちょっとエモい話を投下します。 成長の定義 成長の過程 とりあえずやってみるから入る 入力から入る できるようになる パターン化による弊害 思考と言語化 入力と出力と言語化 実務における思考と言語化 まとめ 参考資料 成長の定義 今回の記事では「成長」の定義とは、何かをできるようになることとします。 何かできるようになるとは、自分の中でパターンを持つことと思っています。 そして、パターンを持つことで思考するフェーズを飛ばし、反射神経で実行することが可能になります。 これが直感だと思っています。 成長の過程 なにかを初めて実行するときはいろいろなやり方があると思います。 それは、自分の中でパターンができていないからでしょう。 とりあえずやってみるから入る いわゆるとりあえず出力から入るパターンです。 兎にも角にも、何かやってみないことにはわからないので、と

    思考し言語化することが次のフェーズへの道 - Screaming Loud
    yuutookun
    yuutookun 2019/04/30
    かいた
  • Karabinerでいつの間にかemacsキーバインドが帰ってきた! - Screaming Loud

    ついにあのKarabinerがHighSierraでもつかえるようになっていた!! ということでメモ。 まずKarabinerElementsをアップデートします。 以下すでにルールを追加済みですが、新規の方は空なはず。 ここからルールを追加します。 ElementsのバージョンからはWebでruleをダウンロードするようになっています。 ここをクリックすると、以下にジャンプするので、ダウンロード。 Karabiner-Elements complex_modifications rules 自分はemacs配列なので、 Emacs key bindings Change caps_lock key をimport。 あとは、以下2つを有効化 KarabinerElementsを有効化すると、ネイティブのcaps_lockの入れ替えが効かなくなったので、KarabinerでCapsの入れ替

    Karabinerでいつの間にかemacsキーバインドが帰ってきた! - Screaming Loud
    yuutookun
    yuutookun 2018/02/22
    いつの間にかできるようになってた!
  • ドキュメントを書くときに気をつけていること(開発) - Screaming Loud

    アキレス腱を切ってしまい、入院している@moc_yutoです。 今回はフォーマットがバラバラになりやすいドキュメントに関して書きます。 ドキュメントとは ドキュメントは非同期で知識を共有するための大切なツールです。 引き継ぎ、新メンバーなど知識共有の効率をあげるための必需品です。 エンジニア界隈だけでなく企業で仕事をしている場合であれば、必ずと言っていいほどドキュメントは書くでしょう。 その際、両者にとって不幸にならないドキュメントとはどういうものでしょうか? 自分が書いている場合のドキュメントのフォーマットをまとめます。 自分が主にドキュメントに書く内容は以下3点です。 背景 目的 詳細 内容について 背景 ドキュメントにおいて、一番重要だと思っています。 作業手順でない限り、基的には必ず背景をいれています。 たとえば、画面の表示制御のためのフラグを単独で別テーブルで管理している場合が

    ドキュメントを書くときに気をつけていること(開発) - Screaming Loud
    yuutookun
    yuutookun 2018/02/03
  • プロダクトのビジョンを決める - Screaming Loud

    ビジョンとは メンバーの士気 プロダクトの方向性 ファンを作る 締め ビジョンとは 企業の経営を行う上で、経営におけるビジョンを設定するということは最近ではごく当たり前のことになっている。 そもそも ビジョンとは何か? 以下コトバンクによると 将来のある時点でどのような発展を遂げていたか、成長していたいかなどの構想や未来像。またそれらを文章などで描いたもの。会社全体の未来像を経営ビジョン、事業の未来像は事業ビジョン、組織は組織ビジョンなどと呼ばれる。また個人の将来像を指してキャリアビジョン、自己成長ビジョンなどということもある。 ビジョン(びじょん)とは - コトバンク ではなぜビジョンを描くのか? 以下の考察が面白い。 会社のビジョンはなぜ大切なのか – Koichiro Honda – Medium ただ企業のビジョンの場合、たいていふわっとしていてプロダクトの方向性まで定義できないこ

    プロダクトのビジョンを決める - Screaming Loud
    yuutookun
    yuutookun 2017/10/09
    書いた
  • 技術力を高めるだけがエンジニアの生存戦略なのか? - Screaming Loud

    以前からエンジニアの生存戦略というのはホウボウで語られている。*1 それぞれ色んなエンジニアとして生き方があるが、共通して皆が言っているのはどのポイントで尖るかということだ。 しかし、自分は「信頼」だと思っている。 エンジニアとして生き残る →職を失わない →仕事を依頼される →信頼される これはエンジニアどうこう以前の問題として、社会人としての生き方、更には価値とも言える。 直近bitcoinが激しく暴落していたりするので、貨幣を話題に出す。 価値というとふわっとしているが、例えば貨幣で言うと、皆がその貨幣を信頼をしているから高騰していくし、この貨幣はここまで高騰するほど価値はないのではと思えば下落していく。 それが日のバブルであり、サブプライムでのショックでもある。 日円であっても、皆が1000円札に対して信頼を持っているからあのただの紙切れが価値を持っている。 この貨幣と同じ理論

    技術力を高めるだけがエンジニアの生存戦略なのか? - Screaming Loud
    yuutookun
    yuutookun 2017/05/28
    書いた
  • SprayからAkkaHTTPへ ~ライブラリのマイグレーション~ - Screaming Loud

    みなさんいかがお過ごしでしょうか? 最近NierAutomataクリアしました。 今回はSprayからAkkaHTTPへの移行に関して紹介します。 SprayとAkkaHTTPとは? SprayとはシンプルなScalaのHTTPフレームワーク(というよりモジュール)。すでに開発がストップしており、新しく使うのは非推奨。 AkkaHttpとはSprayをベースにしたHTTPライブラリでAkkaライブラリのうちの一つ。 AkkaHTTP1.0がSprayのパフォーマンスを上回ったというブログも出ています。 http://akka.io/news/2015/07/15/akka-streams-1.0-released.html 移行開始 マイグレーションガイドというのが、以下にあります。 http://doc.akka.io/docs/akka-http/10.0.5/scala/http/m

    SprayからAkkaHTTPへ ~ライブラリのマイグレーション~ - Screaming Loud
    yuutookun
    yuutookun 2017/03/31
    書いた
  • Scala用のコレクション操作の拡張ライブラリsansyo(山椒)を作りました - Screaming Loud

    タイトルの通り、Scala用のコレクション操作の拡張ライブラリを作りました。 名前はsansyoです。 意味としては、 「山椒は小粒でもぴりりと辛い」 から来ていて、コレクションの拡張ライブラリのため、小さいですが便利になるものとして作りました。 ライブラリのサイズとしても小さいので、気軽に入れてもらえるかと思います。 github.com 作成方針 方針としては、標準のScalaだけを使ってる人が簡単に導入できるように作りました。 また、implicit conversionで作っています。 objectの名前は ~Utilsなので一般的ですが、 implicit conversionで作っているため名前衝突はしないかなーと思っています。 機能 今すでに作っているものとしては3つです。 使い方の細かいところはQuickStartを見ていただければと思います。 emptyOrElse Op

    Scala用のコレクション操作の拡張ライブラリsansyo(山椒)を作りました - Screaming Loud
  • 「考える」とはなんだろうか - Screaming Loud

    考えるとはなんだろうか? 時々「自分は考えずに行動してしまうなー」と思っていますが、 そのときの考えるとはなんなのでしょうか? 数学の問題 例えば、数学の問題を考えることについて これは、ある解けない問題に対して、自分の知っているパターンを次々適用し、どのパターンがその問題に対して最適かどうかを見つけること。 この「考える」の中では、 思い出す、予測する、適用する が含まれています。 チームの課題 例えば、チームの課題を考える チームの課題を考えるという際は、 まずチームで実施した事象を思い出す その中で失敗だったものを抽出する ここにおける「考える」は、 思い出す、適用する が含まれていると思います。 企画 例えば、企画を考えることについて 企画を考えることとは、その企画を体験する人たちに「よかった」と思われる段取りを決めることと同義だと思います。 では、何かを企画しよう!というときに、

    「考える」とはなんだろうか - Screaming Loud
    yuutookun
    yuutookun 2017/01/22
    かいた
  • Slackから始めるChatOps - Screaming Loud

    先日発表したChatOps事例のスライドを共有します。 Slackから始めるChatOps from Yuto Suzuki www.slideshare.net 連携のハマりどころ この発表でちゃんと伝えてないので補足です。 APIGatewayLambdaの連携 APIGatewayを使うにあたりSlack連携で、GETリクエストを受け取るのは簡単なんですが、POSTリクエストが実はちょっと面倒なんですね。 p18でも書いてますが、Slackから飛んでくるリクエストがJsonではなくFormなんです。 Slackから飛ぶForm内容は、以下のような感じなんですが、 token=xxxxxxxxxxxxx team_id=T0001 team_domain=example channel_id=C1234567 channel_name=test user_id=U1234567 us

    Slackから始めるChatOps - Screaming Loud
  • Play2.4で非推奨のGlobalSettingをなくす - Screaming Loud

    Play2.4で非推奨、かつPlay2.5ではなくなっているGlobalSettingの消し方を紹介します。 なかなか大変なので、ブログにまとめておきました。 Global.scalaで書いていたコード Play2.3で書いていたGlobal.scalaのコードを記載します。 object Global extends WithFilters(CsrfFilter, AccessLoggingFilter, SystemAccessFilter) with GlobalSettings with JsonHelper { override def onStart(app: Application) { Akka.system.scheduler.schedule(1 hour, 1 hour) { Image.cleanTempImage() } } override def onErro

    Play2.4で非推奨のGlobalSettingをなくす - Screaming Loud
    yuutookun
    yuutookun 2016/11/11
    書いた
  • ServerlessConf Tokyoに参加してきました。 - Screaming Loud

    serverlessconfに参加してきました。 serverlessに関しての知見があまりなかったので、すごい有意義な勉強会となりました。 そもそもserverlessとは serverlessによって実現できること serverlessの思想 現状 そもそもserverlessとは パネルディスカッションでも盛り上がっていましたが、 Serverlessとは何を指すのか? 実際にCPUなどのリソース管理をしないServerlessと FaaS(Function as a Service)の機能をベースとして構成としてのServerless の2つが議論に上がっていました。 自分なりには、前者に関してはいわゆるマネージドサービスであると思っているので、 後者のものをServerlessの概念として考えています。 serverlessによって実現できること Serverless自体が注目さ

    ServerlessConf Tokyoに参加してきました。 - Screaming Loud
    yuutookun
    yuutookun 2016/10/02
    書いた
  • scalaNLPに含まれているライブラリを調べてみる - Screaming Loud

    Scalaにもnumpy, scipyのような数値計算ライブラリがあります。 ScalaNLPというレポジトリで登録されています。 github.com では、どんなものがあるか調べてみます。 breeze Breezeは、数値計算ライブラリです。 numpyのようなもので、行列計算などを操作するためのライブラリがメインです。 他のライブラリの基盤ともなっています。 breeze.linalg: breezeで扱う行列など型を定義しています。 breeze.io: CSVからの読み込みなどを行うIOの関数を定義しています。 breeze.numerics: absやsin, cosなど基的な関数を定義しています。 breeze.signal: デジタル信号の関数を定義しています。 breeze.stats: 乱数生成のライブラリです。 例えば、標準正規分布に基づく乱数であれば、以下の様に

    scalaNLPに含まれているライブラリを調べてみる - Screaming Loud
  • 1