こんにちは。技術部プラットフォームグループのharukinです。 今回は、NGINXのngx_http_limit_req_moduleでの$binary_remote_addrを使用して、IPアドレス単位のレートリミットを設定した話をします。NGINXへの理解が浅い状況から、データに基づく統計手法を用いて通常リクエストと異なるリクエストを見分ける方法を探っていく過程についてもご紹介します。 これは🎄GMOペパボエンジニア Advent Calendar 2023の15日目の記事です。 背景 やったこと 当初のNGINXの理解 NGINXの理解の進展 適切なrateとburstの値を考える 標準偏差を活用してrateとburstの値を決定 どういった効果があったか まとめ 背景 私たちのサービスでは、一般ユーザーの商品購入リクエストとは異なる、機械的で短期間に集中するようなリクエストをブ
米Google傘下のGoogle DeepMindは12月14日(現地時間)、LLM(大規模言語モデル)とLLMによる幻覚(ハルシネーション)を防止する“評価器”を組み合わせた新たなシステム「FunSearch」を発表した。長年解決不可能な数学問題とされてきた「Cap set問題」を解き、実社会でも役立つ「ビンパッキング問題」のための効果的なアルゴリズムを発見したという。 FunSearch(funは「楽しい」ではなく、「関数」に由来する)は、GoogleのLLM「PaLM 2」をコンピュータコードで微調整したバージョンの「Codey」を使っている。LLMは不正確な情報を幻覚させることが分かっているため、LLMの出力から不正確だったり無意味だったりする部分を拒否する“評価器”アルゴリズムを組み合わせているという。 FunSearchはLLMと評価器による出力と評価を反復させていくことで、自
Pythonユーザのためのグローバルイベント「PyCon APAC 2023」が2023年10月27日と28日に、TOC有明コンベンションホールで開催された。1日目の基調講演に登壇したのは、京都大学国際高等教育院の喜多一教授。「Why University Teachers Wrote a Python Textbook?」と題し、大学の授業のために書き下ろされたPythonの教科書執筆の背景を紹介した。プログラミング初心者のつまずきポイントを理解しているからこそ、オリジナルの教科書を作ったという喜多教授。はじめてプログラミングに触れる学生向けの授業と教科書に込めた思いを語った。 Pythonを学び、学生は興味をひろげてゆく 喜多教授がPythonを教えるワケ 京都大学の国際高等教育院で教養教育、特に新入生向けの教育を担っている喜多教授。自身のプログラミングとの出会いは、学生時代の1978
タイトルは釣りです。 この記事は Vim Advent Calendar 2023 16 日目の記事です。 はじめに みなさんは SQL はどんな環境で編集しているでしょうか? Visual Studio Code?それとも Vim?まさか Vim/Neovim の素の状態で編集していたりしませんよね? 僕はしていました。 sqls (SQL Language Server) 以前、lighttiger2505 さんが開発した sqls に少しコントリビュートしていた頃がありました。 既に public archive になってしまっていますが、機能として実用的なままです。コントリビュートしていた頃は、あくまで OSS としての興味の方が大きく、如何に機能的にしていくかだけ着目していたため、常用はしていませんでした。 あらためて常用してみる sqls の導入 Vim から sqls を使う
結論から言うと、node_modulesをキャッシュしてnpm ciの実行を省略するのが、多くの場合には有効そうです。 はじめに CIで npm ci を使うとき、実行時間短縮のためにキャッシュの利用を検討することになると思います。このとき、どのようにキャッシュするのが良いのでしょうか? よく知られているキャッシュ方式として、以下の二通りの方式があります。 ~/.npmをキャッシュする方式 node_modulesをキャッシュする方式 それぞれの違いについて、詳しく見てみましょう。 ~/.npmをキャッシュする方式 npm ci を実行すると、POSIX系のOSではデフォルトで ~/.npm にキャッシュデータが書き込まれます。package-lock.json をキーにこのディレクトリをキャッシュしておくことで、次回以降の npm ci 実行時にこのキャッシュデータを利用しよう、というの
この記事はfreeeアドベントカレンダー2023の19日目の記事です。 こんにちは!freeeカードチームのmattsunです。freeeカードUnlimitedの開発運用をしています。私は1年前にfreeeに入社しfreeeカードチームに所属しています。これまでの自分のエンジニアとしてのキャリア(10年強)を通してみても、今のチームではPRレビューやリファクタなどからの学びが多いなぁと感じます。個人的に学びがあったことやチームとしての知見が深まったもののうち、ベスト5(私の主観)をまとめます。 freeeカードシステムは、フロントエンド(TS,React)・BFF(RoR)・Backend(Go)で構成されており、Goでの開発比率が多いことから、本記事はGoのコードに関する言及が多いです。freee社全体をみるとRailsで開発されたシステムも多いですが、Goで開発しているサービスもある
変化の激しい市場に対応するための開発手法として、アジャイル開発を導入する企業が増えるとともに、「DevOps」への注目が高まっています。しかし一方で「DevOpsという言葉は聞いたことはあるけれど、実際にはよくわからない」という方もいらっしゃるのではないでしょうか。DevOpsは「開発担当者と運用担当者が密に連携することで、柔軟でスピーディーな開発を実現する」というソフトウェア開発手法の一つです。DevOpsは単なるトレンドではなく、現代のソフトウェア開発において非常に重要な考え方でもあります。本記事では、DevOpsを一から理解したいという方にもわかるように、DevOps誕生の歴史を簡単に紐解きながら、DevOpsの考え方をご紹介します。また、アジャイル開発との違いやDevOps導入のメリット、実践のポイントなどをDevOpsを実践する3社の事例を交えて解説します。 「DevOps」とは
こんにちは。データ・AI戦略部 SREチームの小野です。2020年8月に入社してから早3年。SREエンジニアとして、日々業務改善に励んでいます。 ここ一年ほど、SRE業務の一環で組織作りに挑戦しています。SREエンジニアの責務は自社サービスを安定稼働させ障害に強い基盤を作ることであり、どちらかというと「システム」に焦点が置かれがちです。しかし、個人的にはシステムを運用するメンバーのマネジメント(ピープルマネジメント)を含めた組織作りも重要だと考えています。なぜなら、どれだけ最先端で素晴らしいシステムを構築してもそれを運用するメンバーの行動次第では、障害につながる恐れがあるためです。 私にとってのSREは組織作りにおける文化のようなものであり、「SRE(文化)を組織にインストールする」気概で色々と挑戦しています。 今回は、その挑戦の一つとして「ヘルプデスク体制を構築した話」をお伝えしたいと思
本記事は 【Advent Calendar 2023】 15日目の記事です。 🎄 14日目 ▶▶ 本記事 ▶▶ 16日目 🎅 はじめに 想定している読者 一覧 まとめてみて 参考 はじめに クラウド事業推進部の小野内です。昨年5月にキャリア入社してから早1年半以上が経ちました。 入社以降、AWS、Google Cloud のデータ分析基盤の開発・運用に関わっておりますが、現在はGoogle Cloud メインでやってます。 試行錯誤の毎日ですが、Google Cloud案件をどんどん盛り上げていきたい所存です。 1年ほど前の投稿記事では、 Google Cloudの学び方について触れましたが、本記事ではGoogle Cloud案件を1年半程度経験してみて、 AWSと比較しながら、Google Cloudの主要なサービスについて、違いを整理しました。 想定している読者 AWS案件に半年以
このエントリーは一休.com Advent Calendar 2023の15日目の記事になります。 CTO 室の恩田です。 現在は一休レストランのフロントエンドのリアーキテクトを手がけています。 今日はその中で Next.js App Router から Remix に乗り換えた話をご紹介したいと思います*1。 背景 6日目の記事で香西から紹介させていただきましたが、2023年10月に一休レストランのスマートフォン用レストラン詳細ページをリニューアルしました。 一休レストランの Rust バックエンドが正式リリースされました。https://t.co/7N4VGv5ej9 このページのスマートフォンビューはバックエンドが Rust で書かれた GraphQL になってます— naoya (@naoya_ito) 2023年10月4日 ちなみにフロントエンドも、旧バージョンは Nuxt v2
自己紹介 こんにちは。名刺メーカーDevグループの伊藤惇です。 私は2022年4月にSansanに新卒として入社して、現在に至るまで名刺データの作成および印刷発注をするサービスの開発に携わっています。 名刺メーカーDevグループでは、偶然タイミングが重なったこともあり、私が入社してからこれまでの間に5人が育児休暇を取得しました。 そうした中で感じた育休に対する考え方の変化を振り返りたいと思います。 なお、本記事はSansan Advent Calendar 2023の14日目の記事です。 名刺メーカー育休スケジュール 名刺メーカーDevグループの規模感 チームの人数やプロダクトのフェーズによっても育休のインパクトが変わってくるので、私が所属する名刺メーカーDevグループの規模感について補足しておきます。 チーム人数 後述するAさん、Bさん、Cさんの育休取得時は約15人ほどのチームでした。そ
こんにちは、モノタロウのUIUXグループの澤井です。 主にサービス開発や商品開発のためのリサーチ・体験設計、これらのための仕組みづくり・運用に携わっています。 この記事では、チームにポジティブなコミュニケーションを増やすために、メンバー同士の自己開示のためのツールとしてスキルマップを利用したこと、利用にあたって工夫したことについてお話していきます。 目次 スキルマップってどんなツール? スキルマップを利用しようと思った背景 スキルマップの利用にあたって工夫したこと スキルマップを利用してどうだったか おわりに スキルマップってどんなツール? そもそもスキルマップはどんなものかといいますと、縦軸と横軸を中心で交差させて分けた4つのセグメントにスキルをマッピングして傾向や状態を可視化するものです。自己紹介や自己分析に使ったり、目的によって様々に利用できる便利なツールです。 詳しくは、宇野さんの
ひさしぶりにblog記事書きます 本エントリはカケハシ Advent Calendar 2023 Part 2の 15日目の記事に入れてもらってます。カケハシ Advent Calendar Part 1 もあり、様々な職種の方が記事を書いているので、ぜひご覧ください。といってもそもそもこのblogでは初出であるカケハシってなんだ?という話からしなければなりません。このAdventが書くきっかけになったのですが、そのあたりの近況報告も兼ねて最近こんなことをやっているというアップデート記事です。 転職していました 実際に新しい所属になったのは今年の10月1日からで、もう2ヶ月半くらい経っているのですが、本当にあっという間でした。Twitterではいろいろ投稿していたので見ていた方はご存知かも知れません。現在は株式会社カケハシというところで、ソフトウェアエンジニアとして新しい事業ドメインを起ち
てんまにちゃん🇻🇨٩(๑ᵕᴗᵕ๑)و @TenmaniChan 持ち家or賃貸、戸建てorマンション論争のうち、個人的に1番やめたほうがいいなと思うのが分譲マンション。 うちは片親になるまで『元上流家庭』だったので、当時新築ホヤホヤのマンションをキャッシュで買った。 バブル絶頂期、おそらく6000万くらい。 他の住んでる人も今考えればお金持ちばかりで、駐車場には軽自動車なんか一台もなく、みんなクラウンとか立派な車ばかりだった。 で、そのマンション今40数年経って、住んでる奴らが高齢化して、修繕費上がり続け、耐震工事も諦め、ギリギリ限界住宅になってる。 管理組合も倒産した。 令和5年にまだプロパンガス。マンションなのに。 空き部屋の販売価格は700万くらい。 残りの人生考えると、わたしは絶対高層建築には住めないなと思ったので戸建てにした。 てんまにちゃん🇻🇨٩(๑ᵕᴗᵕ๑)و @
はじめに 第1弾で多くの評価と批判をいただきました。 そして、第2弾もそこそこの評価をいただきました。 第3弾は全くの不発でした。 そして2023年11月1日、正式にリニューアルがされました。 今回第4弾はリニューアルされたデジタル庁のサイトについて書いていきます。 Next.jsからDrupalへ まず、試作版のデジタル庁のサイトがこちらです。 今現在は試作版のサイトが閉鎖されていて、手元にスクショがなかったので、webarchiveから取得しました。 こちらがデジタル庁のサイトです。 最初見た時、「そのまま試作版のサイトを本番サイトにしたのねん」と思いました。 しかし、よくよく調査すると、大きく変わっていることに気づきました。 なんと、Next.jsからDrupalに変わっているではないですか!!! これはびっくりしました。第一弾の記事で、デジタル庁のサイトにNext.jsが使われてい
米NASAは12月12日(現地時間)、惑星探査機「ボイジャー1号」のコンピュータに問題が発生していると発表した。探査機に搭載された3つのオンボードコンピュータのうち、「FDS」(フライトデータシステム)で発生したもので、エンジニアが解決に動いているという。 FDSは、観測装置といった科学機器からのデータと探査機の状態に関するデータを収集するもので、ボイジャー1号では、これらを1つのパッケージにまとめて「TMU」(テレメトリ変調ユニット)経由で地球に送信している。 NASAによると、最近TMUが「行き詰まった」かのように、1と0の繰り返しパターンを送信するようになったという。ボイジャーチームの調査により、探査機は地球から送られたコマンドを受信して実行しているものの、FDSがTMUと正しく通信できていないことが判明。チームはFDSを再起動し、問題発生前の状態に戻そうと試みたが、依然として有用な
Scala 3におけるデータ指向プログラミング(以下DOP)について深掘りする。久々にScalaの話題を取り上げるが、これはScala Advent Calendar 2023の14日目の内容でもある。 早速だけど、DOPの基本原則は意外とシンプルだ。 コード(動作)をデータから切り離す データを汎用的なデータ構造で表現する データをイミュータブル(不変)として扱う データスキーマをデータ表現から切り離す イミュータブルなデータは採用することは多いと思うが、これをそのまま実践している人はどのくらいいるだろうか。Scalaではクラス中心の関数型プログラミングが主流だと思うし、私もそうしている。 DOPの詳細は下記の本(以下DOP本)を参照してほしい。 データ指向プログラミング 作者:Yehonathan Sharvit翔泳社Amazon ちなみに留意すべき点がある。DOP本とJavaのPro
Nikkei Advent Calendar 2023の 14 日目は IDE がやっていきます。いま Web チーム内の基盤改善を専門とするチームで活動しています。自分が入社するより前に作られてメンテナンスがあまりされていなかったシステムを、現代でも戦えるようにするお仕事をしています。メンテナンスを放置することはセキュリティ的によくないので、メンテナンスを専業で行っています。最近の自分の仕事は、今日紹介する rnikkei と呼ばれるマイクロサービス群の Node.js バージョンを、v12 から v18(一部は v20) まで引き上げることです。この rnikkei は当初「爆速の日経」と呼ばれていた頃に設計・実装されたサービスです。今日はそのような過去に作られたサービスにもう一度スポットライトを当ててみようと思います。 see: https://marketing.itmedia.c
はじめに こんにちは、ACS事業部の安藤です。 この記事は エーピーコミュニケーションズAdvent Calendar 2023の14日目の投稿です。 すでに成熟しつつあるTerraformですが、ここ半年ほどimportブロックやmovedブロック、 terraform test コマンドなど新機能をリリースしており、我々もアップデートに注目しています。 そんなTerraformですが、先日v1.7.0のbeta1がリリースされました。 github.com ※ 昨日v1.7.0-beta2もリリースされました。 注目ポイントとしては、やはり新機能のremovedブロックになるでしょうか。 元々 terraform state rm コマンドで対応したものが正式にHCLで書けるようになることで、.tfのコード内で削除アクションを完結させられるようになったのが強みだと思います。 CI/CD
はじめに GPT-4Vを使ってゲーム実況をさせてみます。 この記事はLLM Advent Calendar 2023の12月14日のアドベントカレンダー記事となります。 解説 以下のようなゲーム実況スクリプトを自動で作成できる状態が、この記事のゴールです。 「お気に入りのゲーム実況をする、超興奮した日本人人気VTuberのスタイルで、短いナレーションスクリプトを作成してください」でゲームプレイ動画をGPT-4Vに入れてみました。GPT-4Vやっぱり性能いいなぁ (TTSはvoicevox使用) pic.twitter.com/GR1kcMYENN — inada (@dev_inada) November 7, 2023 コード と言っても、コード自体は数10行で、以下の通り簡単に実装できます。 from IPython.display import display, Image impo
この記事は本番環境などでやらかしちゃった人 Advent Calendar 2023の14日目です。 背景 かなり昔の話になります ぼかしが多々入っております ユーザはあまりサーバーや技術について詳しいわけではありませんでした 経緯 開始 とあるユーザーの依頼でCMSの機能開発を行っていた時の話です。 「本番サーバーがここで、開発用のサーバーとブログはここね。開発の方は好きに変更してもらって構わないから。」 と案内を受けた開発サーバーのCMSで作業を行っていました。 もちろん、このサイトの開発サーバーと本番サーバーは別です。当然ですよね。 少しして その時はディレクトリツリーのような構造を作成中、ツリーといえば再帰。 パーツを再帰的に呼び出せば実現できると判断しゴリゴリ書いておりました。 最初のミス CMS独特の記述などからなかなか思ったようにパーツが展開されません。 色々と試行錯誤を続け
こちらの発表の通り、自分の関わる組織をよくしようと思い、人事という名称のつく部署に異動してきてから5年が経過しました。てつのすけです。 この記事は 2023年 ジンジニア アドベントカレンダー の14日目です。 発表でもお話した通り、自身のキャリア開発における様々なブランチを作りつつ進めていったら「結果的に」このブランチがmainとして進んでいくこととなりました。 計画的偶発性理論において、予期せぬ出来事は待っているだけではチャンスにはなりません。「流れがきたとき」にどう動くのかが大事になってきます。そんな「将来人事になるという選択肢が少しでもある人」に参考としてこの記事をお読みいただければと思います。 ・現在エンジニアであり、将来のキャリアとしての人事職が少しでも想定に入っている方 ・現在は人事職を想定していないが偶発性の面からもちょっと気になった方 ・人事じゃないけど将来はマネジメント
セキュリティ監視に関心がある方へ向けて、OSSの通信監視・分析ツールであるArkime(発音 /ɑːrkɪˈmi/ アーキミ-)の環境構築手順を紹介します。パッとArkimeを試してみたい方には使える内容かと思います。 Arkimeの雰囲気を知らない方へOT環境を題材にOT IDSがわりに使った雰囲気も書きました。 はじめに サイバーディフェンス研究所の安井です。長年制御システムを開発してきた経験から制御システムセキュリティ向上に取り組んでいます。 OT IDSは、運用している環境に影響を与えたく無いという組織への現実解であり、この種のツールに触れる方が増えればなぁと常々思っています。が、現実には様々な事情で手が出ない方が多い気もしています。昨年公開したOTネットワークセキュリティ監視の資産管理と振る舞い検知が手軽に試せた - 元有償のパッシブ型監視ツールを適用した模擬制御システムを攻撃
全国のNTTの固定電話を、「IP網」と呼ばれるインターネットと同じ仕組みに移行する作業が来年1月に始まります。これにともなってこれまで距離に応じて高くなっていた通話料金は、全国一律で3分ごとに9.35円になります。 NTT東日本と西日本は、固定電話を「IP網」と呼ばれるインターネットと同じ仕組みに移行することを決めていて、その切り替え作業が来年1月から地域ごとに順次始まります。 14日は、関係する事業者が集まり、作業の手順などを確認しました。 作業の完了は、 ▽山形県、鳥取県が1月2日、 ▽この2県を除く東北地方、中国地方、四国地方の各県が1月17日、 ▽そのほかの都道府県は1月31日に予定されています。 移行にともなって、これまで距離に応じて高くなっていた通話料金は全国一律で3分ごとに9.35円になります。 都道府県内の通話は、1月1日から一律料金に切り替わり、県外などへの通話は、切り替
Linus Torvaldsが語るカーネル開発とメンテナー、AIコーディング、そしてオープンであること ―Open Source Summit Japan 2023基調講演より 「ぼくはあんまりパブリックな場で喋るのは好きじゃない。でもDirkが用意した質問に、ぼくがこの場(Linux Foudation主催のサミット)で答えるスタイルなら、リラックスしながらいろいろなことを議論できるし、聞いている人たちにも楽しんでもらえると思っている。ちなみにDirkの質問内容は事前に聞かされていないよ」―12月5日、東京・有明で開催された「Open Source Summit Japan」(主催: Linux Foundation、12/5~12/6)のキーノートセッションには、久しぶりに来日した“Linux Creator”ことLinus Torvalds氏が登壇するとあって、早朝にも
Next.js App Routerのリリース以降、 async function で書けるServer Componentsいいじゃんファイルベースルーティングも使いやすいなと触ってたのですが、まだ安定していないこともあり不可解なエラーメッセージや複雑なキャッシュの仕組み、デプロイ先を選ぶ感じなどこのままNext.jsにベットしてていいのかなと感じていました。 そんな折にHonoでシンプルなフォームを持つWebアプリを書く機会があり、非常に優れた開発者体験に驚きました。5年以上前にMPAを開発した経験もありますがそこから比べてもとても良くなっていて、Honoの良さを感じるとともにMPAというアプローチを見直すきっかけになりました。 そもそも現在Webフロントエンドを構築する際に当たり前のように選択肢に上がるSPAですが、必ずしもSPAが適していない場合でもSPAが選択されることが少なくな
本をよく読むエンジニアであれば、ライブラリの導入には慎重になるべきだということは共通の認識になっていると思う。しかし、どういったライブラリを導入すべきかという選定基準は自分の中ではまだ言語化できてないことに最近気がついた。絶対的な基準を設けるのではなく、ある程度柔軟に考えるべきだと思うが、自分がどう考えて選定するかを考えてみる。 品質 テストが書かれているか 自分のプロダクトでテストを書いているのであれば、ライブラリにもテストを求めるべき 長い間継続してメンテナンスされている(いた)か 急に出てきてセンセーショナルな売り文句で注目を浴びるライブラリは怪しむべき コードの品質は悪くないか 導入する前にライブラリのコードは読むべき 効果 その後の実装効率をどれだけ上げるか 導入しない場合と大して変わらないのであれば不要 自分でそれを書いた場合と比べてどうか 短時間で同じようなものを書けるのであ
TL;DR: jQueryはDrupalのバーター リニューアルするたびにWeb界隈の一斉レビューを受けることでお馴染のデジタル庁ポータルサイトがいつの間にかまたリニューアルされていて、フロントエンドがNext.jsからDrupalに変わって話題になっていたので1、私も旅券所持者として国政に関心を持ってゆく また、まわりのフロントエンドエンジニアの間でjQuery氏の入庁について「モダンブラウザ全盛の時代に必要か?」と疑念がとなえられていたので、これも追求してゆきたい どのような変更があったのか システム変更の経緯はプロジェクトの関係者であるHal Sekiさんの発言が正確なところだと思う Drupalが話題ですが、元々CMS側は2年前からずっとDrupalだったんです。設立当初はサイトもシンプルだったのでフロントエンド側はNextjsでヘッドレス構成だったのですが、構成が複雑になってきて
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く