p1assのブックマーク (1,629)

  • 【Cloud Run】ElasticsearchをCloud Runで運用する

    はじめに こんにちは! テラーノベルでサーバーサイドを担当している@yuhasです。 テラーノベルには作品や作家さんの検索機能があり、ユーザーさんの読みたい作品や興味のある作家さんを提示できる検索機能は重要な機能の一つです。 直近でその検索まわりを一新することになり、Cloud RunでElasticsearchを運用することになりました。 Cloud Runで運用することでオートスケールなど多くの恩恵を受けられる一方で、状態をもつElasticsearchをコンテナで動かしていくのは単純なことではありません。 今回はどのようにしてCloud RunでElasticsearchを運用しているのかをお話しできればと思います。 モチベーション もともと外部の検索サービス(SaaS)を利用して検索機能を提供していましたが、インフラ面でのコストを下げたいという話があり、代替手段を模索していました。

    【Cloud Run】ElasticsearchをCloud Runで運用する
    p1ass
    p1ass 2023/11/28
  • fzfを使ってgit stashを便利に扱えるように - $shibayu36->blog;

    git stashをもっと便利に扱いたいと思い、fzfを使って使いやすくしてみた。以下のURLに載っているものを参考にして自分にとって使いやすいように改変した。 fzfでGUI選択したファイルをgit stashするシェルスクリプト git-stash-explore できたこと 今の変更ファイルをfzfを使って選択して、選択したものだけをstash (git-stash-select) stash一覧の中から中身をpreviewしながら選び、apply or deleteする (git-stashes) 現在の変更ファイルから一部を選んでgit stashするコマンド fzfでGUI選択したファイルをgit stashするシェルスクリプト を参考に、git-stash-selectというコマンドを作った。 #!/usr/bin/env bash # Get the root direct

    fzfを使ってgit stashを便利に扱えるように - $shibayu36->blog;
    p1ass
    p1ass 2023/11/28
  • ISUCON13に参加して4位になりました (187,577点) - ぷらすのブログ

    こんにちは、@p1ass です。 去年に引き続き、 @km_conner と @atrn0 と一緒にチーム「釜中の鯖」として ISUCON13 に参加しました。 結果は187,577 点で総合 4 位になりました。わいわい 🙌 4 位 187,577  釜中の鯖 今年新たに導入した文明の利器 毎年 ISUCON に参加している我々ですが、ISUCON で使うツール群はあまりアップデートされていませんでした。 しかし、時代は移り変わり、世の中には便利なツールがたくさん増えていたようです。 そこで、今年から新たに 3 つのツールを導入して ISUCON に挑むことにしました。 Tailscale Tailscaleは Wireguard プロトコルを使った VPN SaaS です。 Tailscale を使うとほんの少しの設定だけで MacLinuxDocker コンテナといった様々

    ISUCON13に参加して4位になりました (187,577点) - ぷらすのブログ
    p1ass
    p1ass 2023/11/28
    ISUCONの参加記録を書きました
  • なぜ HTML の form は PUT / DELETE をサポートしないのか? | blog.jxck.io

    Intro 10 年ほど前に同じことを調べたことがある。 なぜ html の form は PUT / DELETE をサポートしないのか? - Block Rockin' Codes https://jxck.hatenablog.com/entry/why-form-dosent-support-put-delete 当時は全くの素人で、素人なりに調査はしたが、ほとんどが推測の域を出ない結論だった。 この問題についてあらためて記す。 仕様策定の経緯 表題の通り、 <form> の method には GET と POST しかサポートされていない。 HTTP には他にも PUT や DELETE といったメソッドもあるのに、なぜサポートされていないのかという疑問から始まった。 仕様が決定した経緯は、以下に残っている。 Status: Rejected Change Descriptio

    なぜ HTML の form は PUT / DELETE をサポートしないのか? | blog.jxck.io
    p1ass
    p1ass 2023/11/28
  • リファクタリングをする際にソースコードの設計からはじめてはいけない - MonotaRO Tech Blog

    どうも、レコメンド商品のシステム開発をしている野川と申します。 私は、2021年にモノタロウに新卒入社し、2022年5月からレコメンド商品の開発に関わり始めました。 モノタロウのレコメンド商品は、下の図の①~④の流れでクライアントサイドで表示しています。大部分の処理はJavaScriptで構成しており、UIもそのHTML部分をjQuery(JavaScript)で作成しています。 図:レコメンド商品表の流れ 入社当時私は、ソフトウェアエンジニアとして、「可読性の低いコードは駆逐するべきだ」「読みやすいコードだけが正義である」「理解しやすいシステムだけが皆を幸せにする」と心の底から考えていました。加えて、「なぜ先輩たちは可読性の低いコードを放置して平気なのか?」と疑問を持つこともしばしばありました。 レコメンド商品周りのコードはまさに可読性の低いコードベースとなっていたため、当事者となった私

    リファクタリングをする際にソースコードの設計からはじめてはいけない - MonotaRO Tech Blog
    p1ass
    p1ass 2023/11/28
  • リファクタリングをする際にソースコードの設計からはじめてはいけない - MonotaRO Tech Blog

    どうも、レコメンド商品のシステム開発をしている野川と申します。 私は、2021年にモノタロウに新卒入社し、2022年5月からレコメンド商品の開発に関わり始めました。 モノタロウのレコメンド商品は、下の図の①~④の流れでクライアントサイドで表示しています。大部分の処理はJavaScriptで構成しており、UIもそのHTML部分をjQuery(JavaScript)で作成しています。 図:レコメンド商品表の流れ 入社当時私は、ソフトウェアエンジニアとして、「可読性の低いコードは駆逐するべきだ」「読みやすいコードだけが正義である」「理解しやすいシステムだけが皆を幸せにする」と心の底から考えていました。加えて、「なぜ先輩たちは可読性の低いコードを放置して平気なのか?」と疑問を持つこともしばしばありました。 レコメンド商品周りのコードはまさに可読性の低いコードベースとなっていたため、当事者となった私

    リファクタリングをする際にソースコードの設計からはじめてはいけない - MonotaRO Tech Blog
    p1ass
    p1ass 2023/11/28
  • Speaker DeckにおけるGoogleスライドのフォントの問題解決/problem solving for google slides 2023

    Googleスライドのフォントまわりのトラブルを、非専門の方がサクッと解決することが目的です。 pdfに変換してダウンロードしたり、Speaker Deckにアップロードすると、文字がガビガビになったり、フォントが置き換わることでレイアウトが壊れるといった問題が生じます。 元のスライドデータ…

    Speaker DeckにおけるGoogleスライドのフォントの問題解決/problem solving for google slides 2023
    p1ass
    p1ass 2023/11/26
    知見
  • Cloud Storageへのデータ転送で課金爆死してしまった件 - G-gen Tech Blog

    G-genの田中です。当記事では、Cloud Storage を利用する中で、意図していない高額の請求が発生してしまった事例について解説していきます。 はじめに 背景 Cloud Storage とは Cloud Storage の料金 Storage Transfer Service とは 事件のあらまし 背景 落とし穴 莫大な課金の発生 後日譚 はじめに 背景 今回、G-gen でサポートさせて頂いているお客様が Storage Transfer Service を利用して Cloud Storage へデータ移行を行ったところ、3日間で数十万円の課金が発生してしまったという事件があり、注意喚起のために記事化させて頂くことになりました。 記事は、お客様名の許諾を得た上で、実際に起きた内容を少し改変して記事化しました。お客様の社内事情のため数値等を事実とは違うものにして記載していますが

    Cloud Storageへのデータ転送で課金爆死してしまった件 - G-gen Tech Blog
    p1ass
    p1ass 2023/11/21
  • 『詳解 Terraform 第3版』を翻訳しました

    『詳解 Terraform 第3版』を翻訳しました 2023-11-21 『詳解 Terraform 第3版』という2023年11月21日、オライリー・ジャパンから出版されました。米O’Reillyから出版されている『Terraform: Up and Running, 3rd edition』を私が日語訳したものです。このは原著の初版が出版された頃からぜひ自分で翻訳したいと思っていたので、やっとここに至れて個人的にとても嬉しいです。 目次(詳細はオライリーのページへ) 第1章 なぜTerraformを使うのか 第2章 Terraformをはじめよう 第3章 Terraformステートを管理する 第4章 モジュールで再利用可能なインフラを作る 第5章 Terraformを使うためのヒントとコツ: ループ、条件分岐、デプロイ、その他のつまずきポイント 第6章 シークレットを管理す

    p1ass
    p1ass 2023/11/21
  • エンジニアが給料を12倍にする方法 - k0kubun's blog

    はてブの人気エントリーに日エンジニア達は海外に出なければいけないという記事があった。 カナダ在住で経験年数4年のソフトウェアエンジニア年収1600万円の方らしく、 日より海外の方がソフトウェアエンジニアの給料が一般に高いので海外に行くべきという話が書かれている。 実際僕も居住地域による給与差を利用すべく渡米し、先月の記事 では新卒から数えて8年で年収が12倍になっていた話も紹介した。 一方、年収1600万円であれば海外に出なくても稼げると思っているので、 国内にいてもできそうなものも含め、ソフトウェアエンジニアとして給料を上げる上で過去に活用したハックを紹介していきたい。 昇給履歴 新卒入社 僕が新卒で入社した会社の当時の初年度給与は450万円だった (公開情報)。 大学の4年間はずっとアルバイトとしてソフトウェアエンジニアをやっていて、 3社を渡り歩いて時給は800〜1350円と

    エンジニアが給料を12倍にする方法 - k0kubun's blog
    p1ass
    p1ass 2023/11/16
  • t_wadaさんと「単体テストの使い方/考え方」の疑問点についてディスカッションしました - DeNA Testing Blog

    こんにちは、SWETグループの田熊です。 現在SWETグループでは書籍「単体テストの使い方/考え方」の輪読会を実施しています。 輪読会ではメンバー同士で活発に意見が交わされていますが、著者の主張に疑問を感じる箇所もあり、一度グループ外の方とも意見を交換したいと考えていました。 そこで、t_wadaさんをお招きし「単体テストの使い方/考え方」についてディスカッションする機会を設けました。 記事では、SWETメンバーとt_wadaさんとのやりとりを紹介したいと思います。 ディスカッションの流れ ディスカッションは事前にSWETグループのメンバーが書籍を読んで疑問に感じたテーマを挙げてもらい、t_wadaさんの意見を聞くという流れで行いました。 今回は次のテーマについて話をしました。 「退行に対する保護」があるテストとはなにか 「リファクタリングへの耐性」のトレードオフはあるのか 統合テストの

    t_wadaさんと「単体テストの使い方/考え方」の疑問点についてディスカッションしました - DeNA Testing Blog
    p1ass
    p1ass 2023/11/13
  • データ指向プログラミングの真実をお話しします

    Project Amberの文脈 サイズの小さいアプリケーションも扱うようになった。 システム全部をJavaで作る訳じゃなくなった オブジェクトではなく、データをやり取りするようになった。 そこでプレーンデータをモデル化し、処理するより良い方法が必要 代数データ型 (Record, switch式, sealed)

    データ指向プログラミングの真実をお話しします
    p1ass
    p1ass 2023/11/12
  • ジュニアを採用しない連中はシニアに値しない - portal shit!

    Twitter で DHH が共有していた記事が面白かったので著者の許可を得て翻訳します。 "If you don't hire juniors, you don't deserve seniors", spot on! We've had phenomenal success hiring junior developers at Basecamp. @jasonfried first tech hire was particularly junior at the time 😂https://t.co/QczMtsou4J — DHH (@dhh) September 21, 2018 ジュニアを採用しない連中はシニアに値しない、というもの。 If you don't hire juniors, you don't deserve seniors (2023) • Minimum V

    ジュニアを採用しない連中はシニアに値しない - portal shit!
    p1ass
    p1ass 2023/11/09
  • ブラウザでリロードしながらキャッシュの挙動を確認してる全ての開発者へ | blog.jxck.io

    Intro こういうタイトルを付けるのはあまり好きではないが、あえてこのようにした。 「ブラウザでキャッシュがヒットしない」 以下は、 Web における Caching の FAQ だ。 サーバで Cache-Control を付与したのにキャッシュがヒットしない サーバで ETag を付与したのに If-None-Match が送られない サーバで Last-Modified-Since を付与したのに If-Modified-Since が送られない 先日も、筆者が書いた MDN の Cache セクションで「記述が間違っているのでは?」と同様の質問を受けた。 Issue about the Age response header and the term "Reload" · Issue #29294 · mdn/content https://github.com/mdn/cont

    ブラウザでリロードしながらキャッシュの挙動を確認してる全ての開発者へ | blog.jxck.io
    p1ass
    p1ass 2023/11/06
  • テストを自動化するのをやめ、自動テストを作ろう

    July Tech Festa 2020 TrackB https://jtf2020.peatix.com/

    テストを自動化するのをやめ、自動テストを作ろう
    p1ass
    p1ass 2023/11/03
  • "提案"のレベルを上げる - Konifar's ZATSU

    組織で物事を進めるのが早い人は、"提案"のコミュニケーションを取っていることが多い気がする。 "指摘"で止まるのではなく課題の解決に向けた"提案"までやる方がいいんだけれど、そもそも提案って一言で言ってもまあ難しいよね。とある1on1で雑談していて、"提案"のスキルを上げていくにあたってはいくつかのレベルに分けて考えてみるといいかもしれないと思ったので、声かけのワード別に自分の考えを雑にまとめてみる。洗練されていないので意見がほしい。 レベル0: 「どうすればいいですか」 何か問題があった時の「どうすればいいですか」という聞き方は提案ではなく指摘で止まっている。 指摘してくれるということは気づいているということだし、それを伝えてくれること自体も素晴らしいことなのだけれど、そこからどうしていくかを決めるのが大変な部分なので次のレベルにも染み出していきたい。 レベル1: 「どれにしましょうか」

    "提案"のレベルを上げる - Konifar's ZATSU
    p1ass
    p1ass 2023/11/01
  • Railsで秒間1000コミットを捌くにはどうすればいいのか (Kaigi on Railsのフリースペースより) - joker1007’s diary

    先日のKaigi on Rails中の雑談として @ima1zumi さんから、RDBに対して秒間1000コミットぐらいで処理が詰まってる場合ってどうするのが良いのか、という質問を受けまして、雑談の中で色々答えてたんですが、せっかくだから記事にまとめておこうと思います。 ちょっとしたKaigi Effectって感じですね。 今回のKaigi on Railsのトークの中では、 数十億のレコードを持つ5年目サービスの設計と障害解決 by KNR - Kaigi on Rails 2023 の話なんかは割と関連がありますね。ユーザーの行動履歴というのは、ユーザー数 * N * タイムスパンで増えていくレコードなので、書き込みとデータ量が爆発しがちです。トランザクションで堅牢に処理しなければいけないケースもそこまで多くないので、RDBだと書き込みに対する処理が過剰なケースが多い。実際のところこの

    Railsで秒間1000コミットを捌くにはどうすればいいのか (Kaigi on Railsのフリースペースより) - joker1007’s diary
    p1ass
    p1ass 2023/11/01
  • リアーキテクトと開発生産性について

    2023/10/31 @ Barフロントえんどう で発表した「リアーキテクトと開発生産性について」です。

    リアーキテクトと開発生産性について
    p1ass
    p1ass 2023/11/01
  • エンジニアが株式会社作ったログ

    この記事を読んだ方から有益な情報をたくさんいただいたので追記している。 特定創業支援等事業の認定 法人設立ワンストップサービス gBizID 自分でやっていないものについては各項目で明記している。 なぜ作ったのか? 自分の興味があった教育分野において、実際にやってみて自ら経験を積み、社会に役立つようなことがやりたいと思ったため。 あと、長くサラリーマンをやって、矛盾している組織が許せない性分だとわかったので、じゃあ自分で組織を作ってみようという単純な発想による。できるだけ矛盾していない組織を作ろうと目指しているが、やらずに文句だけ言うのはフェアでない、という意味合いもある。 フローチャート やることが多く、時系列がわかりづらかったのでフローチャートを書いてみた。 週一で動いた場合、 3 ヶ月ほどかかる。また、灰色の枠は実施していない。 経費について 登記前にかかった費用はすべて創立費、登記

    エンジニアが株式会社作ったログ
    p1ass
    p1ass 2023/10/29
  • 御社のAdventCalendarの記事が集まらない理由とよいテックブログの育て方。

    この記事のターゲット テックブログでAdventCalendarを主催して記事を集める立場になった人。 ひいてはテックブログ編集部の人。 特にAdventCalendar参戦が3~5回目くらいのマンネリ感が漂い始めたようなところの話をしています。 なぜAdventCalendarの記事が集まらないのか。 どうして集まらなくなるのか、という点にフォーカスして書いていきます。 この記事の結論を先に書く 流行ってないブログに、人事考課で評価されもしないのに投稿するほど御社のエンジニアは暇でも物好きでもありません。 執筆コストを下げる努力はしましたか? 執筆コストに対するリターンを用意しましたか? 最低でもリターンが出るよう戦略を練りましたか? 執筆者を安心させましたか? それをせずに「AdventCalendarの記事、もっと集まらないかなー」と祈っているだけなら主催のあなたに問題があります。

    御社のAdventCalendarの記事が集まらない理由とよいテックブログの育て方。
    p1ass
    p1ass 2023/10/25