この記事は はてなエンジニアアドベントカレンダー 2024 5 日目の記事です。 昨日は id:susisu さんの Data types à la carte in TypeScript でした。 本人が「アクセス増えたと思ったら別の記事で、全然読まれてない...」と言っていたので「いきなりフランス語で難しそうやからね」と伝えました。本文は日本語なので、みなさんも読んで下さい。 今日は最近見て面白かったコードの紹介です。 ChatGPT が流行って以来、アプリでストリームのレスポンスをよく見る…
こんにちは! 株式会社iimonにてエンジニアをしております、分割マスターのほでぃです。 この記事はiimonアドベントカレンダー6日目の記事です。 今回はCSSフレームワーク「Panda CSS」を紹介します。 この記事ではPanda CSSの利点や基本的な使い方について整理していきます。 Panda CSSとは Panda CSSは、Chakra UIチームが開発した新しいCSSフレームワークです。 特徴は「ゼロランタイムCSS-in-JS」で、パフォーマンスや型安全性を重視しています。 p…
はじめに カミナシでソフトウェアエンジニアとしてサービスの開発をしている Taku (X アカウント) です。 ラスベガスで開催されている AWS re:Invent に2年振り2回目の参加をしています。 その中で役立ちそうなワークショップに参加することが出来たので、今回はそのご紹介をさせていただきたいと思います。 公開されているワークショップのリンクも載せているため、最後までご覧いただけると幸いです。 参加したワークショップ 今回参加したのは「Automating technical supp…
不動産DX事業部でプロダクトマネージャーをしている酒井(@ryo-touch)です。 新卒で入社してからビジネスサイドとエンジニアサイドを横断しながら仕事をしていくようになって、最初の頃は以下のような不安を抱えていました。 中古不動産売買の業界について全然明るくない、これから興味を持てるかも分からない エンジニアと一緒に働くけど自分は技術のことに全然明るくないし、難しそう こういった不安に対して、「自分の知的好奇心を開放すること」で解決していきました。興味をもって問いを立て探求していくことで、結…
はじめに カミナシでID管理・認証基盤を開発しているmanaty(@manaty0226)です。ラスベガスで開催されているAWS re:Invent 2024に初めて参加しています。今回はブレイクアウトセッションで開催された「Securing 50 million requests per month with AWS-based authorization」を聴講したレポートをお届けします。 Amazon Verified Permissions(AVP)とは Amazon Verified …
組織で仕事をするなら自身の専門領域や役割を越境していくスタンスでいた方がいい。 役割をきっちり隙間なく分けることはむずかしいし、できたとしても状況の変化によってすぐに隙間ができてしまう。ボールが落ちないようにするには、お互いのカバー範囲を少しずつはみ出しておくしかない。個々人にとってもメリットは大きい。できることが増えやりとりの負荷も下がり、自分の仕事もしやすくなってくる。 LayerX社の「ボールを拾う人が偉い」や、リクルートの「染みだす」といった言葉は、"越境" を奨励するということだと理解…
はじめに テストの種類 テストレベル テストタイプ テスト戦略 Reactのテストで個人的に躓いたところ UIコンポーネントのテスト Reduxを使っている場合 @mui/x-date-pickerを使用している場合 MUIのコンポーネントでテーマを使用している場合 カスタムフックのテスト まとめ 参考記事 はじめに こんにちは、株式会社iimonでエンジニアをしている遠藤です! 本記事はiimonアドベントカレンダー5日目の記事となります。 最近、フロントエンドのコードでリファクタリングをした…
この記事は 2024 TSG Advent Calendar 3日目の記事です。昨日の記事は @__dAi00 さんの記事 AivisSpeechを使ったDiscordボットの作成 ①AivisSpeechをGoogle Cloud Runにデプロイする でした。12/5 公開予定の続編も楽しみです。 今回は、初日に公開した以下の記事の副産物です。 import unicodedata # Python 3.12 まで 1000000000000.0 # Python 3.13 から 10000…
Findy Engineer Lab編集部のゆでたまご(@f43a9a)です。 「編集部の業務をなるべく少ないツールで完結したい! そうしたらきっともっと効率的にメディア運用ができるはずだ!」というアイデアから、GitHubだけで記事制作できないかチャレンジ企画の連載をスタートすることになりました。進捗状況を逐一レポートして、テックに関わる皆様のメディア・ブログ運用のヒントになる情報を発信できたらいいな、と考えています。 ……いきなりこんなこと言われてもワケがわからないと思うので、背景を説明しま…
11月付で前職を退職し、12月1日より株式会社リンケージに入社しました! linkage-inc.co.jp 前職にて関わってくださった方々、本当にありがとうございました!!!この場を借りて感謝します! 先日、 GitHub から Removed from organization みたいなメールが届いて、急に実感が湧いてきて寂しい気持ちです。(w また、機会があれば一緒に働きましょう!!!! 株式会社リンケージでやっていきたい事 転職において "プロダクトのKPIと向き合って成長させる事に熱意…
この記事は freee Developers Advent Calendar 2024 の4日目です。 こんぺこ。IAM基盤開発部エンジニアのてららです。 最近NIST SP800-63-4を読むようになりまして、RFCとはまた違った知見が得られてふむふむと毎日を過ごしております。 好きな食べ物はにんじんです。 この子はうちの黒蜜くんです。どうぞよろしくお願いいたします。 #猫 pic.twitter.com/rXXFDz1BBh— てらら👯 (@a_terarara) October 2, 2…
技術広報Advent Calendar 2024がすでに埋まっていたので、Advent Calendarとは関係なく投稿します。 ちょっと前に「DevRelってなんなん、それDevRelちゃうやろ」みたいな話が盛り上がって、こんなエントリを書きました。 blog.kushii.net で、名前はなんでもいいけど「エンジニアといいかんじに働く方法は自分なりに色々わかってきたな」という実感と「これを伝えていくとエンジニアもその周辺もよりよく共に働けるのでは」という気持ちをぼんやり抱えてました。 そん…
Docker ビルド職人の朝は早いーー 毎日コンテナイメージを山ほどビルドしては捨てている皆様、おはようございます。 ビルドの速度はそのまま CI にかかる時間だったりするので、短縮には余念のないことと思います。 レイヤのキャッシュやマルチステージビルドといった基本テクニックについて、ご存じない方は以下の記事がお勧めです。 future-architect.github.io この記事では、良い Dockerfile をさらに活用できる、かもしれない docker buildx bake につい…
こんにちは。freeeでQAエンジニアをしているkenseiです。 freee QA Advent Calendar2024の4日目です。 QAとしてある程度経験を積むと「もっと上流から関わっていきたい」という意識が出てくるという話をよく聞きます。 そこで今回は「QAが上流から関わる」というのは具体的に何をしているのか、どういったメリットがあるのかについてや、チームでやっている取り組みについて書こうと思います。 はじめに まずはfreeeでは実装に入る前にどういった工程があるのか、私が所属してい…
この記事は Akerun - Qiita Advent Calendar 2024 - Qiita の 3 日目の記事です。 こんにちは、 AkiAbe - Qiita です。ご無沙汰しています。 フォトシンスに入って 5 年目となりました。そして VPoE ロールをやらせてもらって 2 年が経とうとしています。 時間の経つのは早いですね。 この 2 年で開発に関するプロセスやフォーマットなどをルール化し、運用を立て付けてきました。 2 年やってようやく板についてきて、ある程度サイクルが回る状態…
はじめに こんにちは、セキュリティエンジニアの@okazu_dm です。 突然ですが、皆さんは以下のクイズに自信を持って回答できるでしょうか。これはSRE NEXT 2023で弊社が出題したクイズなのですが、それぞれのポリシーに存在するAllow, Denyのうちどれが優先されるかがポイントになります。 クイズの答えはここをクリック クイズの正解は......「④なし」でした。AWSのIAMポリシーは拒否(Deny)優先です。しかし、それは他のクラウドサービスでも果たして同じでしょうか? 今回の…
Haskell Advent Calendar 2024 3日目の記事です。 TypescriptやZigでゲームボーイエミュレータを書いたことがあったのでHaskellでも試して見ました。CPUまで書いて力尽きたのでゲームは遊べません。自分でゲームボーイエミュレータ書いてみたいという方はgbdev.ioを見ればだいたいなんとなくおおよそたぶんわかるかと思います。 エミュレータはCPUの命令を実行するたびにレジスタやメモリなどを逐次更新していくことになるのでミュータブルの方が効率が良いと思います…
2024年11月27日、京都府警は京都市内の企業に対しDDoS攻撃を行った疑いとして会社役員の男とその妻を逮捕しました。男は攻撃を行った企業へ過去にインターンを行っており、その後に業務提携を持ち掛けるも実現しなかったと報じられています。ここでは関連する情報をまとめます。 実行者に依頼しDDoS攻撃 DDoS攻撃の被害にあったのは京都市中京区に本社をおくスポーツジムの紹介サイトを運営するIT企業。攻撃は2024年8月から9月にかけて合計10回確認されており、同社が京都府警に相談を行っていた。攻撃を…
この記事は 一休.com Advent Calendar 2024 の3日目の記事です。 昨今は我々一休のような予約システム開発においても、関数型プログラミング由来のプラクティスを取り入れる機会が増えています。 例えば、値はイミュータブルである方が扱いやすい、関数は副作用のない純粋関数にする方がテスタビリティなども含め何かと都合がよい、そういう場面では積極的に不変な値を使い、関数が冪等になるよう意識的に実装します。ドメインロジックを純粋関数として記述できると、堅牢で責務分離もしやすく、テストやデ…
グローバルなレストラン予約サービス、AutoReserveの開発をしているjavascripterです。 今回は、ハローでのautoreserve.comのアーキテクチャの変遷についてお話しします。 概要 AutoReserveは最初Next.jsで構築され、その後SPAに移行し、最終的に再びNext.jsに戻るという珍しい技術選択をしています。 この記事では、各アーキテクチャの移行の背景と、大規模アプリケーションの段階的移行の実践について解説します。 AutoReserveについて AutoR…
この記事は 2024 TSG Advent Calendar 初日の記事です。 …………🤔❓ Python の数値文字列判定ロジックを探る str.isnumeric() メソッドとは? Python の str.isnumeric() メソッドは、文字列内のすべての文字が数値を表すものであれば True を、そうでなければ False を返します。*1 まず、このメソッドの基本的な動作を見てみましょう。 # Python の isnumeric() の動作例 print("123".isnum…
ritou です。 Digital Identity技術勉強会 #iddance Advent Calendar 2024 初日の記事です。今年も頑張りましょう。 qiita.com パスキー認証の理想と現実 パスキー(というかFIDO)認証はパスワード認証を用いた脆弱な現状を打破すべく考えられた仕組みです。メディアの取り上げられ方はこんな感じでした。 とても安全で便利な仕組み プラットフォームを跨いだ利用が可能 パスワードを置き換える 1の安全性については技術的に説明されています。最もシンプル…
NewsPicks Advent Calendar 2024 一日目の記事です。 こんにちは!ソーシャル経済メディア「NewsPicks」の安藤です。長らくSREチームのプレイングマネージャーをしていたのですが、最近はEMとして自分の技術的専門性とは異なる担当領域の開発チームもサポートしています。 その中で気づいたのが、「プロジェクトマネジメントを通じてならどのチームでもエンジニアリングマネージャーとして一定のバリューを発揮できるかもしれない」ということです。 私自身は前職で10年以上プライムの…
こちらはバイセルテクノロジーズ Advent Calendar 2024の1日目の記事です。 こんにちは、開発2部でテックリードをしている早瀬です。普段はリユースプラットフォームのEC出品管理システムの開発を行っています。 私のチームでは、EC出品管理システム(通称EXS)の開発を行なっており、3年間に及ぶ開発の末に今年の9月にローンチされました。 私はプロダクトの立ち上げ時から参画しており、開発初期の技術選定から関わってきました。 長期に及ぶ開発の末に、ついにローンチされたので、今回はそのプロ…
stuartschechter.org米国立標準技術研究所(NIST)の認証に関するガイドライン「NIST SP 800-63」が改訂され、「パスワードは「複雑」より「長い」が重要、定期的な変更を義務付けてはならない」というのがようやく周知された。しかし、「複雑なパスワード」と「定期的なパスワードの変更」が長年推奨されてきたのか。この文章は、その原因を偉大な科学者たちが過ちを犯したことに理由を求めている。その科学者とはロバート・モリスとケン・トンプソンの二人である。ケン・トンプソンについては説明…
これは Kyash Advent Calendar 2024 1日目の記事です。 2022年1月から VP of Engineering という役割でKyashの開発組織全体のマネジメントを始め*1、2024年1月から 執行役員 VP of Engineering になり1年くらい経ちました*2。 当初は「今までどおりいいプロダクトを作っていけるように行動していくだけだし大きくは変わらん」と思っていたのですが、想像以上に変化もあったので備忘として残しておきます。 ここに書ききれないこともたくさん…
アーキテクチャを理解可能にするために、同時に見るべき関心事は最大7個にしよう、という話がよかった。 よくわからない難しいコンポーネントの話をしてると、「これってこういうこと?」「それは〇〇という概念があって…」というのが延々と続いて、話が全然進まない、ということがある。 そういうときは、抽象を見つけるのに失敗していて、フラットに様々な概念を並べてしまっている、と言える。 適切に意味をまとめていって、中心概念と、それの付随する概念が最大6個となるように、六角形の花、ヘックスフラワーにプロットしよう…
FPGAをはじめてみたい 「FPGAという何やら面白いものがあるらしくて、使うとすごい計算やいろいろなデバイス制御ができるらしい。」 と、興味を持って頂ける方はそれなりにいらっしゃるのではないでしょうか? 早速なんらかのHDLなる言語を勉強し、例えば SystemVerilog を少し勉強すれば下記のようなプログラムを書くことが出来ます。 入力ポート a,b から入ってくるデータをクロックサイクル毎に加算してc に出力するロジックのソースです。 module add ( input logic …
はじめに 表題のようなCLIツール aws-iam-policy-sim を書きました。 github.com 使い方 Statement フィールドに、以下のようなオブジェクトの配列が入っている、というJSONファイルを用意しましょう。 Action フィールドにアクション名もしくはその配列 Resource フィールドにリソースもしくはその配列 たとえば以下の通りです。うっすらお気づきの方もいると思いますが、実はポリシードキュメントのJSONがそのまま使えます。 { "Statement":…
はじめに こんにちは。食べログ飲食店システム開発部でエンジニアリングマネージャーをしている井本です。 今回は私の所属している予約サービスチームをサンプルにし、以下のような内容を紹介します。 食べログのエンジニア組織、所属チームで起きていた課題 食べログエンジニア組織と予約サービスチームについて 予約サービスチームの組織編成の工夫について チームで行なっている情報共有の工夫 この記事が組織編成や仕組みを考えるヒントになれば幸いです。 食べログのエンジニア組織、所属チームで起きていた課題 複数の開発…
こんにちは、バックエンドのリードエンジニア兼バックエンド基盤チームのマネージャーの夏(なつ)と申します。バックエンド基盤チームは、バックエンドエンジニアの生産性向上やコスト削減を目的に、エンジニア主導で課題を発見・解決している部署です。 今回は基盤チームが行った、Google CloudのIdentity-Aware Proxy(IAP)を利用したローカル環境での開発体験の向上について紹介したいと思います。この改善により、ローカル環境(Mac)上でも開発環境のデータを参照しながら開発が行えるよう…
強みを2つ以上持つことを意識しておくほうがいいと思っていて、雑に書きなぐっておきたい。 1つの領域で圧倒的な強みを作るのは大変。「チョットデキル」、「完全に理解した」を何度繰り返しても、やればやるほど上が見えてくる。 2つ以上の強みを持つというのもそれはそれで大変なのだけれど、パレートの法則に照らせば80点くらいまでは高めやすい。ある程度自分の強みを作ったらそれをより極めていくのもよいが、他の領域も30%くらいやってみるというのがいいかもしれない。 プロダクトマネジメントが強みだとすると、他領域…
こんにちは。バックエンドエンジニアの前田です。 最近はかなり冷え込んできて、冬が近づいてきたなと感じます。 社内では、肉まんを販売しています。 寒い日に熱々の肉まん、良いですよね。さて、今回はbolt.newを用いて、ゼロからアプリケーションを作成していきます。 (私は、フロントエンドの経験があまりなく、苦手分野なのですが・・・) 1. bolt.newとは 2. 今回作成するアプリについて 3. UIを作成する 3.1. 基本機能を実装する 3.2. 使いやすいUIにする 4. バックエンドも…
開発チームの塚越です。Insight Edgeに加わって1年が経ちました。開発業務に携わらせていただき、日々楽しく過ごしています。 目次 1. 概要 2. PMへの挑戦を決めた経緯 3. 押さえたい初歩的PMポイント 3.1. 顧客とプロジェクトの方向性を一致させる 3.2. 成功する見込みがあるプロジェクトか確認する 3.3. 内部のコミュニケーション量を増やす 4. おわりに 1. 概要 私はこれまで開発ロールに専念していましたが、最近PMへ挑戦する機会に恵まれました。この記事では、挑戦する…
【エンジニアの日常】エンジニア達の人生を変えた一冊 Part2に続き、エンジニア達の人生を変えた一冊をご紹介いたします。 今回はPart3としまして、Findy Freelanceの開発チームメンバーから紹介します。 人生を変えた一冊 マスタリングTCP/IP―入門編 ハッカーと画家 コンピュータ時代の創造者たち UNIXという考え方 まとめ 人生を変えた一冊 マスタリングTCP/IP―入門編 マスタリングTCP/IP―入門編―(第6版)作者:井上 直也,村山 公保,竹下 隆史,荒井 透,苅田 …
こんにちは、佐々木です。 生成AIが台頭する中で、エンジニアの付加価値ってどうなるんだろう、ということを考える機会が多くなっています。頭の中で浮かんでいることを、ポエムっぽく吐き出してみます。なお、この文章の中で言及するエンジニアは、ITエンジニアが対象です。表現が冗長になるので、エンジニアと記載とさせて頂きます。 生成AIの台頭とエンジニア 改めて言う必要はないですが、近年の生成AIの進化は目覚ましいものがあります。画像生成、テキスト生成、さらには音声生成と、対応できる領域はどんどん広がってい…
Bill One Entry*1の秋山です。 本題へ入る前にお知らせです。12/23、TypeScript を活用した型安全なチーム開発をテーマにイベントを開催します。弊社社員のうち、TypeScript を日々の開発で活用しているメンバーが登壇します。ぜひお気軽にご参加ください。 sansan.connpass.com はじめに モジュラーモノリスとは 保守性が低いとビジネスに悪影響を与える 技術的負債と開発生産性 コード品質とビジネス影響 モジュール分割の方針 方針1:モジュールにDBテーブ…
こんにちは フロントエンドエンジニアの どじねこ です。 今回は Storybook 8.3 から追加された Vitest 統合機能を活用して、フロントエンドアプリの自動テストを強化した事例をご紹介します。 Storybook とは storybook.js.org Storybook は OSS として開発される UI コンポーネントワークショップです。 具体的には、フロントエンドアプリケーションの UI コンポーネントを開発する際の作業環境、ドキュメンテーションツール、テスティングフレームワ…
例外ハンドリング周りによく悩むので、改めて考え直してみた ちなみに、例外とエラーは置き換え可能として、区別せず、 try-catch形式を想定してます 全体のイメージ イメージとしてはこんな感じ 利用者やアプリケーションは、 APIサーバなのか、Web/スマホアプリなのかによって変わるけど、 アプリケーション ... 作った部分 利用者 ... アプリケーションを使うユーザやシステム 外部システム ... アプリケーションが利用してる部分 実行環境 ... アプリケーションを動かしてる部分 とい…
こんにちは。プロダクト本部プラットフォーム部SREチームのid:ut61zです。 サービスを運用していくうえで監視は避けて通れません。 Classiでは長らく朝当番という制度を設け、平日朝のピークタイムにエンジニアを監視担当としてアサインし、何らかの問題が発生した際、即座に対応できる体制を整えてきました。 2020年9月からスタートした朝当番制度ですが、2024年4月をもってこの制度を終了しました。 今回はその経緯や理由、現在のClassiの運用体制などをご紹介します。 朝当番とは あらためて朝…
※ Udemy「ブラックフライデーセール」「サイバーセール」および、はてなによるプレゼントキャンペーンは終了しました。紹介した講座は引き続きUdemyで学習できます。 .entry-content .alert-info { font-size: 90%; color: #3a87ad; background-color: #d9edf7; border: 1px solid #bce8f1; padding: 0.75em 1em 0.5em; border-radius: 4px; } ソフ…
Amazonの推薦をいい感じにするブラウザ拡張Amaxというブラウザ拡張をリリースしました。会員登録など必要なく、もちろん無料で、ブラウザ拡張をインストールしていつも通り Amazon を使うだけでいい感じになります。手軽なのでぜひ使ってみてくださいね。 chromewebstore.google.com 私の専門は推薦システムで、特にユーザーサイドの推薦システムに力を入れて研究をしています(プロフィール)。このブラウザ拡張にはユーザーサイドの推薦システムの研究成果がふんだんに詰め込まれています…
こんにちは。駅メモエンジニアの id:dorapon2000 です。 約半年前の 6 月 1 日にステーションメモリーズ!(駅メモ!)10 周年を記念してタイムラインと地図の切替機能をリリースしました。大変好評を頂いておりとても嬉しいです。 今回は、その機能の中で毎秒最寄り駅を計算するロジックをどのように実現しているのかについてお話します。様々なスペックの端末で遊ばれているため、可能な限りリソースを節約するような工夫をしました。堅い言い方をすれば、過去の計算情報を使った最近傍探索アルゴリズムを実…
こんにちは!株式会社ベースマキナで代表を務めておりますtimakinです! 今回の記事では、以前当ブログでも告知した通りTSKaigi Kansai 2024にブース出展した経験を踏まえて、今後ブース出展をされる皆様への一助になればと思い準備や当日の手引きをまとめます。 なお、FindyさんのDevRelのまっきーさんが書いてくださった以下の記事も非常に参考になるので、是非ご覧ください。 note.com はじめに 技術カンファレンスのスポンサーでブース出展が決まった方、おめでとうございます! …
失敗から学べることがアジャイルの本質。 最近学んだのでホテルの朝食ビュッフェからアジャイル開発を伝授する。 ビックバンリリースを避ける バイキング形式であるあるなのだけど、初手で取りすぎて後から食べようと思ったデザートなどの余力が残せない。 また多めに取った唐揚げが思ったのと違って箸が進まない。 このようなことを防ぐため、バッチサイズは小さくする必要がある。つまり1品1~2口程度の量に抑えて気になるメニューをピックアップしていくと良い。 美味しいなと思ったら2~3周とイテレーションを回せばよいの…
この記事はSmartBank Advent Calendar 2024 6日目の記事です。 昨日は kassy さんの「成長するスタートアップ労務の醍醐味と挑戦をUXリサーチャーが聞いてみた!」という記事でした。 はじめに サーバーサイドエンジニアの mokuo です。普段は、カード決済やあとばらいチャージに関連する機能の開発や運用を行っております。 本日は、サーバーサイドエンジニア向けの記事になります。 本記事でお話しすること システムには断続的に行われる一連の処理、というものがあります。この…
RustによるWebアプリケーション開発 設計からリリース・運用まで (KS情報科学専門書)作者:豊田 優貴,松本 健太郎,吉川 哲史講談社Amazon 私たちがRustを学ぶ際の障壁 ウェブエンジニアにとってRustを学ぶ際の最大の障壁は、その適用分野がもともと高度である点です。 Rustは主にシステムプログラミングやC++の置き換え、ビルドツールの最適化といった専門的な領域で活用されています。 これらの分野に馴染みがないウェブ開発者にとって、Rustのエコシステムを学ぶことは簡単ではありませ…