タグ

2021年9月6日のブックマーク (7件)

  • 「関連する○○」機能を手軽に実現できる。そう、Elasticsearch ならね。 - クックパッド開発者ブログ

    セコン (id:secondlife, @hotchpotch) です。ウェブサービスにはよく「このエントリーに関連するブログ記事」や「このレシピに関連するレシピ」という機能が実現されてますよね。さて、この機能はどのように実現すれば良いでしょうか。例えば tf-idf で単語の類似度を求め…といった実装が必要になり、いささか面倒です。 しかしながら Elasticsearch や Solr *1を使うと手軽に実現できます。例えば、クックパッドニュースの記事では Solr を使い「この記事を読んだ人におすすめ」の機能に、最近クックパッドにジョインしたインドネシアの会社の DapurMasak では Elasticsearch を使い「Resep serupa(関連レシピ)」の機能で利用しています。 クックパッドニュースでのこの記事を読んだ人におすすめ DapurMasak での関連レシピ 使

    「関連する○○」機能を手軽に実現できる。そう、Elasticsearch ならね。 - クックパッド開発者ブログ
  • GitHub Actionsに「強い」AWSの権限を渡したい ~作戦3 - AssumeRole with Google ID Token ~ - KAYAC engineers' blog

    こんにちは。技術部の池田です。 この記事では、Github Actions上に「強い」AWSの権限を渡すために以下のことを行います。 App Runnerでお手軽にGoogle ID Token 取得するためのWeb Applicationを動かす。 Web Applicationから取得できるGoogle ID Tokenを信頼するIAM RoleにAssumeRoleする。 AssumeRoleによって得られた一時的な強い権限で、強い権限を要求する作業(Deploy, Terraform Apply)をGithub Actionsで行う。 これにより、Github Actions上にAWSのアクセスキーを置かずに、ある程度安全な方法でAWS上での強い権限を要求する操作を実行できます。 そのため、例えばGithub Repositoryに不正アクセスされてしまったとしても、AWS番環

    GitHub Actionsに「強い」AWSの権限を渡したい ~作戦3 - AssumeRole with Google ID Token ~ - KAYAC engineers' blog
    sh19910711
    sh19910711 2021/09/06
    "Google ID Tokenの有効期限が長めであることに対しては、もっと短い5分の有効期限のID Tokenを発行できるAWS Cognitoを使うという手も / AWS CognitoのID Pool周りの設定が少しややこしいので、お手軽さではGoogle ID Tokenに軍配"
  • GSoC 2021 に参加して Scala3 の開発環境を改善させてもらった - たにしきんぐダム

    2021/06 から参加していた Google Summer of Code 無事修了しました。 GSoC では Add synthetics and symbol information for semanticdb in Scala 3 という題目で Scala3 の IDE や Linter のための基盤となる機能の開発をしていました。 今回の成果により Scala3 でも Metals (Scala の Language Server 実装) で go-to-implementation, show-inferred-types, show-implicit-arguments (& context-params) などなどの機能が使えるようになる予定です。 https://summerofcode.withgoogle.com/projects/#5527632738779136

    GSoC 2021 に参加して Scala3 の開発環境を改善させてもらった - たにしきんぐダム
    sh19910711
    sh19910711 2021/09/06
    "Metals の Scala3 サポートに取り組みたいんだけど GSoC 参加してくれたりしませんか?っていうことを Scala Center に対して問い合わせ / すぐに前向きな返事が返ってきて、なんと3週間後にはGSoCに申し込みしたよとの連絡が"
  • CodeIQで結城先生が出題されたCrossingが神がかっていた件 - やねうらおブログ(移転しました)

    CodeIQで挑戦者数が400人超えという異例の事態になったCrossingとはどんな問題だったのか。twitterでも恐ろしい勢いで拡散され、最終日に100人を超えるチャレンジがあった、この問題。一体どこにそんな魅力があったのかについて考えてみる。 まず、このように注目されるためには満たすべき条件が二つある。 繁盛する飲店を考えてもわかるように、まず美味しくなければならない。CodeIQで言うと、問題として良問でなければならない。解答後の達成感がなくてはならない。 次に、飲店なら、その店に入ってみようという気にさせなければならない。入りにくそうなお店でも、料理さえ美味しければその後口コミで広がることもあるだろうが、それだと繁盛するまでに時間がかかりすぎる。だからCodeIQで言うと、まず問題を解いてみようという気にさせなければならない。 このどちらが欠けても駄目である。この問題はこの

    CodeIQで結城先生が出題されたCrossingが神がかっていた件 - やねうらおブログ(移転しました)
    sh19910711
    sh19910711 2021/09/06
    2013 / "O(n^2)なアルゴリズムだと3秒未満に収めるのは困難を極める。(OpenMP+OpenCLで2982msで解くプログラムを書いた強者がいるようだが) / 交差点の数は逆転数(inversion)に等しい"
  • ISUCON 練習会をするために InfluxDB + Grafana でポータルサイトを作った - ほとラボ

    9/17,18日に迫る ISUCON 6 予選に向けて、某若手エンジニアコミュニティで参加者を募って ISUCON 練習会を開催した。 お題は今年の出題者である pixiv さんが社内 ISUCON を開催したときの AMI を活用させていただいた。 inside.pixiv.net やってみた結果については同じチームだった sota1235 さんがまとめてくれているのでここには書かないが、まあここままだと決勝進出はまず無理だしもっと予習を頑張らないといけない。 ポータルサイト使えない問題 番の ISUCON ではポータルサイトが用意されていて、ベンチマーカーを実行すると自分のチームのスコアがページに反映され、また他チームのスコアもリアルタイムで確認することが出来る。 しかし ISUCON 終了後に練習用 AMI が公開される際にはポータルサイトの AMI は公開されない。一人で予習復習

    ISUCON 練習会をするために InfluxDB + Grafana でポータルサイトを作った - ほとラボ
    sh19910711
    sh19910711 2021/09/06
    "エンジニアだからこそ、安直にプログラミングで解決しにいってはいけない / 「送られてきたデータをグラフで表示する」くらいのシンプルなニーズであれば、1行もコードを書かずに解決したい"
  • 組織の透明性を高めるための情報を受け取る側のスタンス - Konifar's ZATSU

    組織の透明性を高めるためには発信側の工夫が不可欠だが、情報を受け取る側のスタンスも認識を揃えておいた方がよい。 自分の経験上、こういうスタンスでいるとよいんじゃないかという話をざっとまとめておく。 情報は常に100点ではないもの オープンになった情報は常に完璧な状態というわけではないという姿勢でいた方がよい たとえばSlackでシュッと投げ込まれたタスクや事業の方針に対して、背景がわからずモヤッとしたみたいな経験はあるかもしれない 複雑な話ではこういうことが起きがちで、わからないことがあると人は不安になる とはいえ、完璧を目指して情報が公開されるのが遅れたり公開されなくなったりするのはよくない 情報を公開する側は、実は結構緊張していたりする そのため、情報を受け取る立場としては、「情報は常に100点な状態ではなくむしろ100点に近づけていく部分も皆でやるんだ」くらいのスタンスでいた方がよい

    組織の透明性を高めるための情報を受け取る側のスタンス - Konifar's ZATSU
    sh19910711
    sh19910711 2021/09/06
    "情報は自分から取りにいくもの / オープンにするだけで浸透するわけではない。各人の情報のキャッチアップが必要 / 情報を渡す側も受け取る側も、お互いへのリスペクトを忘れずに"
  • 「なんにもしない」スクリプトを書く: 段階的な自動化を進めるために | Yakst

    [SRE]原文 Do-nothing scripting: the key to gradual automation – Dan Slimmon (English) 原文著者 Dan Slimmon 原文公開日 2019-07-15 翻訳依頼者 翻訳者 meiq 翻訳レビュアー doublemarket 原著者への翻訳報告 1724日前 Twitterで報告済み 編集 どんな運用チームにも、まだ自動化するところまで手が回っていない手作業があるものです。 トイル (toil) が完全に無くなることは決してありません。 成長企業のチームに非常にありがちなのが、インフラの変更手続きやユーザーアカウントのプロビジョニングが、最大のトイル源となっているケースです。 後者の例について手順の一部を書き出してみると、たとえば以下のようになるでしょう: ユーザーのSSHキーペアを作成する 公開鍵をGit

    sh19910711
    sh19910711 2021/09/06
    手順を対話的に出力して人間が実行 / "なんにもしないスクリプト: 1つのタイミングにつき1つのステップをユーザーに見せて手作業が完了するのを待つ / テキストを自動化されたアクションをとるコードに置き換え"