こんにちは。認証認可基盤エンジニアのてららです。 最近好きな言葉はコンフォートゾーンです。好きな食べ物はニンジンです。 猫派です。 経緯 週末、パートナーが祖父母の家に帰るということで付き添いをしてきました。 その1つの目的としてパートナーの祖父(以下、おじいちゃん)がスマートフォンを利用していたのに急にスマホアプリから認証を求められて困っている、とのことでそれの解決をしていました。 「なんとか出来ないかねぇ」ということでパートナーがおじいちゃんのスマホを触りながら操作方法を教えつつ、認証情報を…
はじめに DDDの実装パターンとして、エンティティと値オブジェクトというものがあります。 ドメイン駆動一般に複雑な抽象論が多い中で、コードに近く一番イメージがつきやすいコード事例として出てくるため、ここだけは何となくわかるぞ!という方もいらっしゃるのではないでしょうか。 今日はこちらの概要とそれぞれの使い道について書きたいと思います。 先にざっくりイメージ図をお伝えすると、こういう図を使って解説します。 何の目的で作るのか? ドメイン駆動設計は何を解決しようとしているのか こちらの記事で、ドメイ…
こんにちは、エンジニアのちぎら(@_naru_jpn)です。ミラティブでは、配信中のゲームに視聴者が介入できるゲームとライブ配信が融合した次世代のゲーム体験を提供しており、この体験を ライブゲーミング と呼んでいます。 ライブゲーミングは、Unity から WebGL 向けにビルドされた WebAssembly 製のゲームを、アプリに配置したウェブブラウザ上で動作させることによって実現しています。*1 今回は UnityでモバイルWebGLゲーム開発を頑張る話 の「メモリリークによって発生するク…
Dependency Injection(DI)、最近のフレームワークには欠かせない気がする機能になってますね。 そしてDIの説明をみると「依存性の注入」みたいなことが書いてあって、ようわからんになりがちです。 実態としては高機能なimportなので、あまり難しいことを考えなくていいような気がします。 たとえば、こんな感じのMyServiceクラスがあってDIコンテナに管理させるとします。 @Component class MyService { void method() { } } そして、…
技術本部 Digitization部の湯村です。 新規アプリケーション開発で採用したバリデーションロジックの管理方法を紹介します。
if (document.documentElement.getAttribute('data-page') === 'entry') { const targetUrl = 'https://blog.lacolaco.net/posts/fb3588de30bb'; const head = document.getElementsByTagName('head')[0]; const meta = document.createElement('meta'); meta.setAttrib…
はじめに こんにちは、技術広報の菊池です。 セキュリティの確保は技術的な課題にとどまらず、お客様の満足、さらには企業の存続に直結する重要なトピックスです。 私たちSaaS企業も例外なく、常に変化する脅威にさらされており、日夜対策のアップデートが求められますので、 私も自身の理解を深めるためにキーワードと各分野の歴史をまとめてみました。 本記事で取り上げるセキュリティ主要7分野では、新しい技術の登場と共に、新たな脅威が絶えず発生し、その対策の進歩も伺えました。 今回は、アプリケーション、ネットワー…
はじめに こんにちは、検索基盤部の広渡です。検索基盤部では、検索クエリのサジェスト(以下、サジェスト)の改善を行なっています。ここでサジェストは一般的に「Query Auto Completion」と呼ばれる、検索クエリを入力した際に入力の続きを補完したキーワードを提示する機能を指します。 ZOZOTOWNにおいては検索クエリを入力したとき、最大10件の検索クエリのサジェスト(以下、サジェストリスト)が表示されます(なお、ランキングを考慮しない場合はサジェスト集合と呼ぶこととします)。また、サジ…
こんにちは。SmartHRでプロダクトエンジニア(PdE)をしているsoul ( @ex_SOUL ) です。 先日、第3回SmartHR LT大会が開催されましたのでイベントの内容を紹介します。 SmartHR LT大会について DevRel主導のもと、有志のプロダクトエンジニアが集まって企画・運営している社内イベントです。 プロダクトエンジニアの中から11名の登壇者を集い5分間のLighting Talks(LT)を行います。 登壇者はプロダクトエンジニア(PdE)に限定していますが、当日は…
五月の終わりから Quipper で働いている。 Quipper は DeNA の co-founder である渡辺雅之氏がロンドンで創業したモバイル学習プラットフォームの会社で...みたいな話は長くなるし、読者の興味を引きそうにないのでやめておく。このへんの話を詳しく知りたい人は渡辺によるハーバード・ビジネス・レビューの連載をどうぞ。 ソフトウェア開発者にとって一番気になるのは、会社の事業内容とか売上利益よりも、「どんな環境でソフトウェア開発をしているのか」じゃないだろうか。どんなインフラを使…
こんにちは。デジカルチームの末永(asmsuechan)です。この記事は「フルスクラッチして理解するOpenID Connect」の全4記事中の3記事目です。前回はこちら。 www.m3tech.blog
はてなブックマークのブックマーク数が多い順に記事を紹介する「はてなブックマーク数ランキング」。3月4日(月)~3月10日(日)〔2024年3月第2週〕のトップ30です*1。 順位 タイトル 1位 なんとなく使っていませんか? 括弧の種類と使い分け|モリサワ note編集部 2位 【電柱編】引越しにおけるネット回線ガチャと開通待ちで勝利するための知見まとめ 2024春 - はげあたま.org 3位 [ファン、関係者の皆さまへのお知らせ]| 【公式】ドラゴンボールオフィシャルサイト 4位 関東地方で…
最近キーボードで文字を打つのが面倒になってきている技術本部 Eight Engineering Unitの斉藤です。 キーボードは既に100年以上使われ続けているみたいですね。そろそろ新しい入力の方法ができてもよさそうです。 例えば、頭で考えていることが文字に起こせたら、AIに任せるよりももっと便利だと思います。前置きはさておき、Sansanではちょっと前にエンジニアの生産性と生産量の最大 化が話題になっていました。このブログをご覧の方ならご存知の方も多いのではないでしょうか。私はこれまで何度か…
はじめに こんにちはこんばんは! 昨今、セキュリティへの関心が非常に高まっています。 二段階認証を取り入れる企業が多くなってきました。 最近の例で言うと、Githubが2023年3月ごろに二段階認証を義務化したのは記憶に新しいと思います。 そこで、今回は認証の基礎知識をおさらいした上でTOTPを使った二段階認証の仕組みと導入時の注意点について解説します! ※本記事の内容は、ビアバッシュ(社内の技術共有会)にて登壇発表した内容です。 ビアバッシュの取り組みについては以下の記事を読んでみてください!…
皆さんこんにちは。CTOの松本です。LLM使ってますか?ChatGPT毎日触ってますか? LLMに熱狂してすでに1年以上が経ちましたが周辺エコシステムが充実してきたことでいろいろな取り組みがとても簡単に実現出来るようになったなーと感じています。 ということで今回はZapierを使った小ネタのご紹介です。 AI・LLM事業部の今 とその前に、AI・LLM事業部での取り組みから着想を得たものでして、AI・LLM事業部について簡単に紹介させてください。 LayerXの新規事業であるAI・LLM事業部で…
こんにちは。Flatt Securityの@toyojuniです。 "エンジニアの背中を預かる" をミッションに、日々プロダクト開発組織のセキュリティを意思決定から技術提供までサポートするべく奮闘しています。 さて、Flatt Securityはこの度3月2日(土)に池袋サンシャインシティにて開催されたJAWS DAYS 2024にPlatinum Supporterとして協賛し、ブースを出展させていただきました! このイベントは日本全国に60以上の支部をもつAWSのユーザーグループ「JAWS-…
2024年3月12日(火)11:20 追記 注目コメントの表示に関する不具合を修正しました。 昨日3月11日午後に実施した内部処理の変更に伴い、注目コメントの処理が遅延してしまっていたことが原因です。 現在は注目コメントが正常に表示される状態となっております。 この度はご不便をおかけしてしまい申し訳ございません。以後再発防止に努めてまいります。 日頃よりはてなブックマークをご利用いただきありがとうございます。はてなブックマーク開発チーム、ディレクターの id:yone-yamaです。 2024年…
BigQuery Emulator の v0.6.0 をリリースしました。 今回のリリースでは、Recidiviz社 の @ohaibbq さんが多大な貢献をしてくださいました。Recidiviz社ではかなり前から BigQuery Emulator を使ってくれているようで、以前から Issue や DM などでそのことを伝えてくれていましたが、@ohaibbq さんが今Qエミュレータの改善にコミットできるということで、 Recidiviz社側で fork して使っていたものに加えていた pa…
ANDPADボード プロダクトテックリードの土屋(tomtwinkle)です 先日CHIYODA Tech #3 にLT枠で参加してきました! CHIYODA Techとは、千代田区にオフィスを構える企業が運営・登壇するLTイベントです。 今回は弊社9Fのイベントスペースで開催させていただきました!
明日はオープンソースカンファレンス 2024 Tokyo/Springです。この記事の物体を展示予定なのでお近くの方はぜひ。event.ospn.jp OSCに10GbE NICのデモを持ち込みたい これの続き。akkiesoft.hatenablog.jp10GbE NICが動くことがわかったので、OSCでデモをしたら映えるかなと思い、会社からNICを借りてきました。適当に余っているIntel X520を連れ出そうとしたら、部長から「そんな古いんじゃ消費電力デカくね?YOUこれ持っていきなよ(…
www.hageatama.org blog.hatenablog.com 自分の周辺でネットの開通で事故っている人に向けて書いた記事が、2023年のはてなブログで年間3位になっちゃった奴の続編です。引っ越しシーズンでまたアクセスがちょこちょこと伸びてるので今度こそ書き上げるぞ!と思ってたのに、言いたいこと全部書いたら電柱見上げる話で長文になってしまい完結しませんでした……。 前回のような、一般向け想定の妥協はしません。今回は本当の誰得記事なので、拾える枝葉も残しましたし、読みやすさも捨てました…
ChatGPTにGPTsが搭載されたころ、テーマを与えるとそれに沿ったアドベンチャーゲームが作れないかと試していた。特に「オホーツクに消ゆ」のような、コマンド選択式のミステリーアドベンチャーを色々と遊べたら楽しいかなと思っていた。 結果としてはうまくいかなかった。GPT-4が作成するストーリーは具体性に欠け、実在(しそうな)人物やローケーションなどに沿った展開を持たせることが難しかった。 最近Claude 3とよばれる、GPT-4を凌駕するといわれるLLMが現れた。なので今度はこれを使ってアドベ…
仕事でLensを使う機会があった。Lensは複雑で入り組んだデータ構造の読み書きに非常に効果的な手法であるにもかかわらず、関数型プログラマ以外にはあまり知られていないように思える。 そこでこの記事では、Lensとは何なのか、なにが良いのか、具体的にどのようなケースでLensが役立ったか、そしてLensの亜種について紹介する。業務でも使ってます! AIくんが考えるLens 前提条件 Lensとは Lensの使いどころ データをモデリングする場合 (とても つらい) Lensを使う場合: Lensは…
エンジニアに限らず、BlogやTwitter、OSS、登壇など、対外発信力がキャリアにおける強力な付加価値になることは知られるようになりました。 英語力がそうであるように、発信力は必ずしも必須スキルではありません。英語ができなくても活躍しているエンジニアはいくらでもいます。同時に英語がそうであるように発信力が有力な付加価値をもたらすスキルであることは事実です。 私自身、発信力が強みになっている分バイアスがあるので、あまりそのスキルの価値を過大評価して他人に押し付けるようなことはしたくありません。…
はじめに こんにちは、ZOZOMO部OMOバックエンドブロックの長野です。普段はZOZOMOのサービスであるブランド実店舗の在庫確認・在庫取り置き(以下、店舗在庫連携)の開発・保守を担当しています。 店舗在庫連携はAWS上にシステムを構築しており、システムにはAWSの各サービスを利用しています。AWS上で構築するシステムは、マルチAZなどの冗長構成をとることで可用性を高めることができます。しかし、実際に障害が起こった際に、意図していなかった箇所でシステムが停止してしまう可能性は否定しきれません。…
このブログエントリでは、テスト駆動開発(TDD: Test-Driven Development)の考案者 Kent Beck が TDD の定義を改めて明確化した文章を、許可を得たうえで翻訳し、訳者の考察を沿えています。 きっかけ 2023年の年末、テスト駆動開発(TDD: Test-Driven Development)の考案者Kent Beckは、substackにTDDに関するポストを連投して論戦を繰り広げていました。TDDはその誕生から20年以上が経ち、その間に「意味の希薄化」が発生し…
はじめに ※ (2024/03/14 16:33) 「インテグレーションテストの気軽な実行・変更ができない」節にて、データのクリーンアップを teardownで行うよう修正 EC開発-B グループの岡崎と EC開発-A グループの菊川です。2人とも普段は MonotaRO の EC サイトの開発に従事しています。 今回は、昨年11月に開催した、テストとリファクタリングのためのワークショップの中で行ったライブコーディングの準備をするにあたって困ったことについて記載します。 ライブコーディングでは、…
TL;DR エラーハンドリングを行う目的 エラーハンドリングが適切に行われているとどう嬉しいか 1. エラーの発生原因が分かる 2. レスポンスステータスを型安全に出し分けることが可能になる どうエラーハンドリングを行うのか 実装方法 エラー型の定義で気を付けるべきポイント なぜanyhowを利用しないのか エラーハンドリングを行う上で持っている課題感 Drawer Growth グループ バックエンドエンジニアの中野です。今回は、私が所属するチームで gRPC API を開発する際に実践してい…
本日2024年3月5日(火)の昼間に開催された、『AI時代のソフトウェアテストの現在と未来』というイベントがとてもよかったので、特に印象深かったポイントについて共有したいと思います。 イベントの詳細はこちらで。 autifyjapan.connpass.com 登壇者はタワーズ・クエストの和田卓人 @t_wada さん、Launchableの川口耕介 @kohsukekawa さん、Autifyの近澤良 @chikathreesix さんのお三方。ファシリテーターは、近澤さんと同じくAutify…
PHPカンファレンス関西懇親会で若者に「俺だってソフトウェアエンジニアの才能が無いかも…と悩んだことあるよ」って話をした。 そんな悩みを持っていたのは自分が25 ~ 26歳くらいの頃で自分はエンジニアとしてスタートが遅かった(異業種転職組)から、技術力の無さを痛感しながらも、それを才能の理由にしようとしていた。 続けるために必要なのは才能ではない 悩んでいるとき、飲み会で当時の同僚で先輩の @maepon さんに相談した*1ところ、次のことを言われた。 自分が「才能ないかも」と言ったあとに帰って…
IETFに『Secure shell over HTTP/3 connections』という提案仕様が提出されています。これは、HTTP/3コネクション上でSSHを実行するプロトコルを定義しています。なお、"SSH3"という名称を仕様中で使用していますが、あくまで提案段階ですので今後変わる可能性もあります。SSH3ではHTTP/3を使うことにより以下の特徴を持ちます QUICのメリットが享受できる(例えばIPアドレスが変わってもコネクションを維持できる) HTTPの認証方式をサポートする(Bas…
構造化ログのプラクティスをあちこちで調べていたら、logfmtを推奨する記事を見つけたので調べてみました。 先に結論を言うと、JSON linesを使っておくのが良さそうです。 logfmt について logfmtとはスペース区切りで key=value を並べたフォーマットです。文字列にはクォートとエスケープによってスペースや改行を含められます。 at=info method=GET path=/ host=mutelight.org fwd="124.133.52.161" dyno=web…
2024-03-02 にSTORES 株式会社で開催された Rails Girls Tokyo 16th にコーチとして参加した。 同僚の一人がオーガナイザーであることから、スタッフのボランティア(というか様子見・賑やかし)として参加予定であった。 もともと過去の回に、複数の知人がいろんな形で関わっていたため興味があったのだ。 が、急遽運営上の都合からコーチの役割を依頼され、受講者1人に対して2人のコーチがつくというような感じかなと思ってノコノコ参加したら、 しっかり受講者1人に一対一でやり取り…
Amazoでセールが行われるたびに、サクラチェッカーの使用を勧める人が多いが、自分はこれに疑問を感じる。レビューのサクラ度が高いと表示される製品の中に、良い製品が多数あるからだ。 オーディオを中心に中華製品をよく買っているのだが、サクラチェッカーを使ったことがなかった。なぜなら中華製品だと、どれも高いサクラ度表示が出るので、それを信じたら何も買えない。 無名メーカーならともかく、知名度があり評価の高い製品を出している中国系オーディオメーカーで検索してみたら、EarFunやEdifier、SOUN…
テキストサイトのリンク集 SNSの停滞やAI学習の影響で、個人サイトへの回帰が進む今日この頃。 ・・・ただ、良い個人サイトを見つけるのってなかなか難しいので、定期的に最近みつけた個人サイトを紹介していくことにしました。 有名人、ただの一般人 関係なく、順序もごちゃ混ぜで紹介してます。良い個人サイトが溜まってきたら、いずれはジャンル分けしたリンク集も作ろうかと。 www.nejimakiblog.com 印象に残ったおすすめの個人サイト ( ) 内には、個人的なジャンル分けや特徴みたいなものを3語…
私は普段VSCodeを使っていて、拡張機能としてvscode-nvimを使っていて、そしてこの拡張の設定でnvimはWSL上で実行するようにしている。 この設定にしてほとんど困ることはないのだが、唯一困るのがクリップボードが使えないことである。 理由は簡単でnvimがWSL上で実行されるために、クリップボード操作をしてもWindowsへ反映されないからである。 この問題をGoogle検索するとpowershell.exeを使ってクリップボードをコピーする方法が見つかる。 見つかった方法で解決はす…
導入 TwitterのTLでヤスハラユウジさんのポッドキャストが流れてきたので聞いてみました。 voicy.jp 「ゲームプログラミングでは例外処理の実装は不要なのでは?」というお題で、興味深く拝聴しました。7分弱の音源なのでみなさんも是非お聞きください。 内容について直接の意見はありません。土屋もUnityでコード書いている時にtry-catchを書く事は無いと思います。秒間60フレームで処理してる時にメモリ確保に失敗して例外が送出された時、対応しようがあるとはちょっと想像できません(例外処理…
はじめに この記事では、個人プロジェクトとしてRust言語でリレーショナルデータベースを開発した経験(もう五ヶ月も前...)について、その成果と反省、得た学びを共有します。 DBMSを自作した理由 自分がDBMSの自作に着手したのは、『Designing Data-Intensive Applications』という本の内容を深く理解するためでした。 この本は、データシステムの設計と運用において最も大切な「信頼性」、「拡張性」、「保守性」を保証する方法論を、豊富な文献を引用しつつ、理論と実践の橋…
はじめに 踏み台サーバー経由で接続する方法 ①セキュリティグループを作成する ②パブリックサブネットに踏み台サーバを作成する ③プライベートサブネットにEC2インスタンスを作成する ④踏み台サーバーにプライベートサブネットに配置されたEC2インスタンスのキーペアをコピーする ⑤踏み台サーバーにアクセスする ⑥踏み台サーバーからプライベートサブネットにあるEC2インスタンスにアクセスする SSMセッションマネージャー経由で接続する方法 VPCエンドポイントを使用した方法 ①セキュリティグループとI…
2024年2月20日、日本を含む複数の司法機関の共同捜査により、Lockbitランサムグループの関係者2名の逮捕とリークサイトなどのインフラのテイクダウンが行われました。ここでは関連する情報をまとめます。 共同捜査の成果 Lockbitランサムグループに対して10か国の法執行機関が参加した共同捜査はEUROPOLなどが調整を行っていたもので、作戦名はOperation Cronos。フランスからの要請を受け開始された。EUROPOLや英国NCA、米国司法省などが共同捜査に関連した情報について公表…
The Era of 1-bit LLMs: All Large Language Models are in 1.58 Bits Shuming Ma∗ Hongyu Wang∗ Lingxiao Ma Lei Wang Wenhui WangShaohan Huang Li Dong Ruiping Wang Jilong Xue Furu Wei⋄ arxiv.org このページの図面・表の権利は全て論文の著者らに帰属があります。 The Era of 1-bit LLMs: All La…
令和4年の一年間で起こった「全事故」、つまり軽傷・重傷・死亡のすべてを含む交通事故の発生件数は300,839件。そのうち死亡事故は2,550件です(警察庁調べ)。これらは、どんな状況で発生しているのでしょうか。また、特に重大な事故につながりやすいのはどのようなシチュエーションなのでしょうか。交通事故・死亡事故のデータを読み解くことで、重大な事故を回避する上で注意すべきポイントが見えてくるかもしれません。国内で発生した交通事故の情報を蓄積し、総合的な調査分析を行う「交通事故総合分析センター」の田久…
こんにちは。 今回は「タッパーの自己言及式 (Tupper's self-referential formula)」を取りあげようと思います。 (記事タイトルを AI が生成してくれるようになったので、さっそく使ってみました。) 例のごとく、少し前にこんなツイートを見かけました。 Tupper's self-referential formula is a formula that visually represents itself when graphed at a specific loc…
「生成AIと著作権」に関する議論は先日のエントリーでも取り上げたばかりではあるのだが*1、今日の朝刊の「経済教室」に、早稲田大学の上野達弘教授による「著作権法の権利制限規定を”諸悪の根源”であるかの如く批判する近時の見解」を鮮やかなまでに斬る論稿が掲載されているのを拝見し、これぞ真打ち・・・と大いに感服したので、ここで紹介させていただければと思っている。あえて自分が解説するまでもなく、実に美しく分かりやすい言葉で書かれている論稿ということもあり、本エントリーのほとんどは「引用」に依拠することとな…
はじめに こんにちは。カミナシでソフトウェアエンジニアをしている佐藤です。 みなさんは、アプリケーションのフロントエンドから、Amazon S3 にファイルをアップロードするときに、どのような方法を用いているでしょうか? 「バックエンドのサーバーにファイルを送信し、バックエンドのサーバー経由で S3 にアップロードしている」「Presigned URL を払い出して、フロントエンドから直接 PUT している」など、いくつかの方法があると思います。 弊社で提供しているサービス「カミナシレポート」で…
クラウドサインのフロントエンドエンジニア辻です。 現在所属しているスクラムチームで、はじめてモブプロを実施しました。 その結果、チームに非常に良い結果をもたらしたため、実施した経験とその中で得られた成果について書いていきます。 モブプロとは 前提 今回実施したモブプロ 目的 役割 進め方 ツール mob 1. セッションの開始 2. ドライバーの交代 3. セッションの再開 4. セッションの終了 Live Share (Visual Studio Code) canvas (Slack) 実施…