トピック一覧

技術

gh copilotにgit diffの入力を渡して、git stashの説明文を作ってもらう

GitHub CopilotにはCLIがあるのを思い出して、コマンドの実行結果をそのままプロンプトに渡すと、文脈に沿った仕事をお願いしやすいんじゃないか、と思って、試してみた。 git stashをよく使うのだけど、一覧になっていると、何がstashされているかわからないので、stashの保存時に、内容を要約してもらう、というタスクを試してみる。 なんらかのCLIにdry-run機能をつけている途中で、git stashしたいとする。 index f1f5a2f..dd70bf5 100755 …

ハマったポイントたくさんあったけどPlay3.0/Scala3.3へバージョンアップできたよ

こんにちは。エムスリーエンジニアリンググループでScalaとマミさんが好きな安江です。今回は私が所属している製薬企業向けプラットフォームチームのPlay製プロダクトのPlay/Scalaバージョンアップのお話です。当初Play2.8にバージョンアップしていたのですが、その最中にPlay2.9/Play3.0やScala LTSが出たりもしました。最終的にPlay3.0/Scala3.3にバージョンアップできて本番稼働できたサービスもあるので、そのバージョンアップの経緯をご紹介します。 Play2…

フィッシングキットから生成されたサイトの調査 (インターンシップ体験記)

はじめに こんにちは、ドコモグループのウインターインターンシップ2023に参加した猪飼です。 普段は、大学院でマルウェアの動的解析に関する研究をしています。 「サイバー攻撃の原理を理解し、攻撃インフラ(マルウェアインフラ)を解明するセキュリティアナリスト」のポストに参加させていただきました。 この記事では、私がインターンシップで取り組んだ内容について紹介します。 NA4Secプロジェクトについて まずは、私がお世話になったNA4Secプロジェクトについて紹介します。 正式には「Network A…

Javaで最低限おさえておいてほしいクラス・インタフェース35 - 2024年版

ま、このくらい知っておいてもらわないと&とりあえずこんだけ知ってればだいたいの処理が書けるクラス・インタフェースをまとめてみました。2024年版。 詳しく知りたい人は「プロになるJava」を! java.lang.Class java.lang.Exception <- new java.lang.Integer java.lang.Object <- new java.lang.Runnable java.lang.String java.lang.System java.lang.Threa…

Amazon Kendra の Custom Document Enrichment と Amazon Bedrock で画像検索に対応する

こんにちは、機械学習チーム YAMALEX の駿です。 YAMALEX は Acroquest 社内で発足した、会社の未来の技術を創る、機械学習がメインテーマのデータサイエンスチームです。 (詳細はリンク先をご覧ください。) 皆さんは、「前のプレゼン資料に使った、犬の画像はどこいったかな?あの画像が欲しいので、探してくれないかな?」と無茶振りされたことはありませんか? そんな時でも、「舌を出して喜んでいる」と検索すれば画像がヒットし、こんな無茶振りにも応えることができるシステムを Amazon …

エンジニア in ハイパーカジュアル

こんにちは。技術部平山です。 今回は、ハイパーカジュアルというジャンルにおけるエンジニア、 というテーマで書きます。 勉強会でしゃべった動画がありますので、そちらを見て頂いても良いかと思います。 外に出すということで、普段よりも多少丁寧にしゃべっております。 前置き 平山が作った製品群 これらは2022年あたりから現在にかけて、平山が自分で企画、実装した製品です。 これらのうち、利益を出せた製品は2つあります。 黒字製品 Draw Saber(Android iOS) Mannequin Dow…

大実験!ChatGPTは競プロの問題を解けるのか (2024年5月版)

1. はじめに 2024 年 5 月 14 日、OpenAI 社から新たな生成 AI「GPT-4o」が発表され、世界に大きな衝撃を与えました。これまでの GPT-4 よりも性能を向上させただけでなく1、音声や画像のリアルタイム処理も実現し、さらに応答速度が大幅に速くなりました。「ついにシンギュラリティが来てしまったか」「まるで SF の世界を生きているような感覚だ」という感想も見受けられました。 しかし、いくら生成 AI とはいえ、競技プログラミングの問題を解くのは非常に難しいです。なぜなら競技…

GNN の最新動向 (ICLR 2024)

拙著『グラフニューラルネットワーク』が重版して第 3 刷となりました。皆さまありがとうございます! 拡散モデルと最適輸送でもやりましたが、漫画家さんやイラストレーターさんが重版したときに重版感謝の描き下ろしイラストを投稿しているのを見ていいなと思ったので、僕も専門書が重版したときに重版感謝の書き下ろし専門記事を投稿します。 本稿では、ICLR 2024(5/7 - 5/11 @ウィーン)で発表されたグラフニューラルネットワーク (GNN) 関連の研究動向を紹介します。 ICLR 2024 で発表…

社内で検知された悪性通信を調査したらドメインパーキングだった話

こんにちは、イノベーションセンターの冨樫です。Network Analytics for Security プロジェクトに所属しています。 突然ですが皆さんはドメインパーキングというサービスを知っているでしょうか?詳細については後述しますが、以前イノベーションセンターの検証網でマルウェアに関する悪性通信が検知されたため通信先を調査したところ、ドメインパーキングだったことがあります。本記事ではこの調査を通して得られたドメインパーキングに関する知見とその調査過程を紹介します。また、今回紹介するドメイ…

権限制御とは? を freee の権限管理基盤で説明

どうも、freee でエンジニアリングマネージャー をやっている sentokun です。 以前に私の所属しているチームで開発している権限管理基盤マイクロサービスの記事を書いたのですが、そういえば「権限制御ってなに?」という説明をしていないと思ったので、今回記事にしました。 権限制御とは? freee の権限管理基盤が行なっている権限制御とは?を一文でまとめると以下となります。 アクセス制御ポリシーを元に、ユーザーの属性に合わせた適切なアクセス制御を行うこと というわけで、この記事は権限制御につ…

マネージャー歴12年のEMが語る「エンジニア組織をまとめる技術」プロジェクト・プロダクト・ピープル マネジメントに必要なスキル〔Udemy初夏のビッグセールで学ぶオスス…

ソフトウェアエンジニアにとって、マネジメントの職に就くかどうかは大きな選択です。現在ではプレイヤーのままでスタッフエンジニアといった高い職位に進むキャリアもありますが、マネージャーとしてチームを率いてこそ達成できるビジネス上の成功もあるでしょう。 ひとくちにマネージャーといっても、マネジメントの対象によって要求されるスキルに幅があります。これまでUdemyの大きなセールで講座を紹介してきた当ニュースですが、今回はソフトウェア開発組織のマネジメントに必要となるスキルにフォーカスしました。 マネージ…

GitHub Copilot Workspaceが利用可能になったのでゼロからアプリを作ってみた

こんにちは、MLBお兄さんこと松村です。 昨年の MLB 全体ドラフト1位のポール・スキーンズ投手がメジャーデビューしました。予想通りの豪速球でした。 2024年4月29日についにテクニカルプレビューが開始となった GitHub Copilot Workspace ですが、ゴールデンウィーク中に私のアカウントでも利用可能となっていたため、試してみたことを書いていきます。 利用開始まで この記事を書いている時点では、 GitHub Copilot Workspace の利用には待機リスト (Wai…

Is Secure Cookie secure? - CookieのSecure属性・__Host-プレフィックス・HSTSを正しく理解しよう

こんにちは、 @okazu_dm です。 前回の記事 に引き続きCookie関連のセキュリティに関する記事となります。 今回は、Cookieの仕様を定めたRFC6265(https://datatracker.ietf.org/doc/html/rfc6265)自体に含まれるSecure属性の問題点と、その対策について紹介していきます。 CookieのSecure属性自体は前回紹介したSameSite属性と比較してわかりやすいのもあり、かなり知名度が高いと思われますが、Secure属性単体で守れ…

自動化するならちゃんとエラーを出せ。想定しろ。不安になれ。

はじめに 自動化やツール開発において、通常時に上手くいくのは当たり前です。大切なのは失敗を想定することです。自動化したツールがエラーも出さずに実行結果的にも成功してるので動いていると思っていたら、実は問題が発生していて泣いた経験は、多くの人にあるのではないでしょうか。エラーを出力し、適切に失敗させて、ログに記録することで、問題の早期発見と迅速な対応が可能になります。また、エラーが発生する可能性のある箇所を事前に想定し、適切に処理することで、ツールの信頼性と安定性が向上します。 しかし、エラーハン…

AWS Configのコストを95%削減しつつ記録を残すことを諦めない

はじめに SREチームの大木( @2357gi )です。 ECS Serviceのオートスケーリングやバッチなど、ECS Taskの起動停止が頻繁に行われる環境でAWS Configを有効にしていると、AWS Configのコストが無邪気に跳ね上がってしまうことがあります。 インターネット上では特定のリソースを対象外にすることによりコストを抑える手法が多くの記事として見かけますが、対象外にするとAWS Config側で「リソースタイムラインの表示」ができなくなったり、Security hubで使…

エンジニア3年目までに読んで良かった書籍

未経験からエンジニアになり3年が経ちました。 この3年間はベテランエンジニアとの差を埋めるべく、プライベートの時間の大半を学習に充ててきました。幸い少しずつ成長を感じられ、業務では難易度の高い仕事を任せてもらえるようになったと感じます。このキャッチアップのために100冊以上の技術関連書籍を読んだことでしょう。 ここ最近、知人やTwitter経由で知り合った方から、私が学習に使った書籍について質問を頂くことが多いです。そこで、今後参照していただきやすいように、これまで私が読んで良かった書籍を1つの…

Tagged Type(Branded Type)を使って飛行機の不時着や人工衛星紛失を防ごう / Scala 3ではTagged Typeを簡単に作れる

Tagged Type というテクニックがある(TypeScript界隈などではBranded Typeと呼ばれているようだ)。実行時の型としては同じだが、型システム上はこれを区別して別物として扱い、混同できなくする仕組みを作るためのものだ。 AIくん!サムネイラスト作って!と頼んで作ってもらった画像 Tagged Type 単位の取り違えによる事故は後を絶たない。世の中には、キログラムとポンドを混同して飛行機があわや墜落しかけたり、メートルとヤードを混同して人工衛星がどっかに行ったりしている。…

C++erは全員戻り値型の後置記法を使おう

目次 目次 「戻り値型の後置記法」って何? 何が嬉しいの? 問題点 「戻り値型の後置記法」って何? C++11から導入された言語仕様です。 タイトルの呼び方は自分が勝手に使っているだけで、英語圏だと「trailing-return-type」がよく使われるらしい。 cpprefjp.github.io この仕様を使うと例えば以下のようなコードが int Add(int a, int b) { return a + b; } このようになります。 auto Add(int a, int b) ->…

アルムナイ採用体験記 (株式会社はてなに2回目の入社をしました)

2024年5月1日から、株式会社はてなで組織・基盤開発本部のエンジニアリングマネージャとして働き始めました。 2014年から、2021年まで社員だった時代があるため、いわゆる出戻りという形になります。 一度退職した会社に再び入社する、というのは、通常の転職活動と違った悩みなどもあり、自分も今回の転職に際して「アルムナイ採用」などのキーワードでいくつか参考にした記事がありました。 最近は身近な事例も耳にするとはいえ、まだまだ通常の転職と比べてアルムナイ採用は例が少ない気がするので、せっかくなので体…

エンジニア従業員エンゲージメント向上への道

はじめに こんにちは!NewsPicksのVP Of Mobile Engineeringの石井です。 約1年前にPharmaXさん主催の「事例で学ぶ!エンジニア組織文化を作る採用・評価の仕組み」というイベントでPharmaX 取締役・エンジニアリング責任者の上野さん、カオナビCTOの松下さんと私の3人で事例発表やパネルディスカッションをしました。(そのときの記事は、PharmaXさんのこちらの記事にあります) このときに私が話したエンゲージメントに関することは、「採用とオンボーディングを頑張っ…

プロダクトの機能・データについて理解を深める「輪テーブル会」の紹介

はじめまして、テックタッチで DataEnabling チームのエンジニアマネージャーをしているtaker です。DataEnabling チームでは、社内の様々な組織のデータ活用をより推進し、プロダクト開発やカスタマサクセスを強化するためデータ基盤の改善や社内からの様々な依頼について日々取り組んでいます。この記事ではそんな私達のチームが、チーム内でデータに関する知識を共有するプラクティスについて共有させていただくため、一筆したためました。 はじめに 取組内容について 進める上で気をつけている点…

Sakana.aiが公開した「Evolutionary Model Merge」手法を「mergekit」で実施してみる

皆さんこんにちは 機械学習チームYAMALEXの@tereka114です。 YAMALEXは Acroquest 社内で発足した、会社の未来の技術を創る、機械学習がメインテーマのデータサイエンスチームです。 (詳細はリンク先をご覧ください。)日々、LLMが進化していて、画像が本職(のはず)の私ですら、ここ数年LLMの勉強をはじめています。 学習してモデル公開しましたといった記事はよく見ますが、今回は今、非常に注目されている日本に拠点があるAIスタートアップである「Sakana.ai」が公開した「…

転職してakippaに入社しました

ボートレース戸田の様子 前回: クックパッドを退職しnana musicに入社しました - hiragram no blog こんにちはー。 2024年1月末をもって前職を退職し、2月からakippa株式会社で働いています。3ヶ月の試用期間を経て5月以降も雇用が継続される見込みとなったので、この記事を書いています。 謝辞 前職には2022年2月から2024年1月までのちょうど2年間在籍しました。自分と家族の状況変化と、仕事で負う役割や会社そのものの変化がたまたま近い時期に起こって、自分と家族が健…

「ゴミみたいな生活まだしよんか?」とマウンティングする大企業勤めのエリートと見下される弱者男性の争い

5月の連休。久しぶりに、古い友人と会った。いや、もう友人じゃねえかもな。フレネミー、ってやつかもしれない。少し腹が立っていた。以前、俺の仕事を「カスみたいな仕事」「生活保護とあんまり変わらん」と馬鹿にしたからだ。ちなみに友人は大企業勤めのエリートサラリーマン。一方、俺は個人事業主、フリーランス。ちょっと前にメルカリ古着の闇みたいな記事があったけど。 anond.hatelabo.jp 商品は違うが、似たような小売業をしていた。しかしうまくいかなくなったので、ウーバーイーツを始めて。 gyakut…

『プログラミングの心理学』を読んだ

在宅の日々、だいたいラジオをきいて過ごしている。radikoだけでは飽き足らず、この世のすべてのラジオアプリをインストールし、Podcastをダウンロードし、耳から注入している。 shop.nikkeibp.co.jp 先週読んだCode Completeにおいて、複数の章で参考図書として紹介されていた。著者はGerald Weinberg氏で、ソフトウェア界における偉人の一人。著作では『ライト、ついてますか』も有名っぽい。 初版はなんと1971年。磁気テープを用いた開発や、プロジェクト例などは…

AWS IAM PolicyのForAllValuesを勘違いしてた件

LayerX Fintech事業部(※)で、ガバナンス・コンプラエンジニアリングをしている 鈴木 (@ken5scal )です。 ※三井物産デジタル・アセットマネジメントに出向しています。 今回は、AWS IAMポリシーの条件における「ForAllValues」の仕様を誤って理解していたことから、安全でないアクセス制御を実装していたという内容です。もし同様の勘違いをされている方がいたら参考になれば幸いです。 ユースケース AWS IAMユーザーを、ロールの trust policy がユーザーの…

RAGの評価をRagasを使ってやってみる

この前はPhoenixを使ってRAGの実験管理をしてみました。 とはいうものの、Phoenixに事前定義された機能で評価をしただけなので、今回改めてRAGアプリケーションの精度評価について考えてみようと思います。 RAGの評価周りでよく知られたツールとしてRagasがありますが、今回はこちらを使いながら評価について勉強してみようと思います。

なぜ今、大人もプログラミングを学ぶべきか?〜Pythonを用いたブロックプログラミング体験

<この記事の著者> 上田茂雄(ueponx) - Tech Team Journal IoTと電子工作に情熱を持ち、プログラミングと最新のガジェットを好む。新しい技術を学びながら実践的なプロジェクトに取り組んでいる。技術を磨き、常に新たな挑戦。 この記事ではこれまでプログラミングの学習を行ったことのない初心者に向け、非常にハードルの低いブロックプログラミングの体験を通してプログラミングの初歩を体験する内容となります。【目次】 なぜ今、大人もプログラミングを学ぶべきか? 1. テクノロジーに対する…

リトライ処理を追加するとバッチが安定することがあることもそこそこあるので「avast/retry-go」を使ってみる

はじめに インフラエンジニアは日々の業務でプログラムを書く機会が多く、その中で処理の実行やHTTPの通信などでリトライ処理を実装する必要があることが少なくありません。リトライ処理を実装する必要は必ずしもなくても、実装することでバッチが安定することがあります。もっと言っておくとリトライ処理を実装することで、一時的なエラーによる処理の失敗を回避し、バッチ処理の安定性が向上する可能性があります。実行基盤によってジョブの再試行の自動化、最大再試行回数を設定するやPod失敗のバックオフポリシーなどとの兼ね…

最小権限の原則に一歩近づく - Entra ID の "Just-in-time application access with PIM for Groups" 機能の紹介

LayerX Fintech事業部(※)の piroshi です。 ※三井物産デジタル・アセットマネジメント (MDM)に出向しています。 沖縄からリモートワークで働いており、蒸し暑い日が続いています。クーラーをつけないと寝苦しくなってきました。 ところでみなさん、特権 (ちから) が欲しいですか?ここでの権限はシステム上の各種権限です。私は小心者で、大きすぎる力は持ちたくない派です。特権をもっていると「オレは今、セキュリティリスクの塊だ...」と気になってしまい、輪をかけて夜も眠れません。 さ…

太陽光発電 監視機器約800台へのサイバー攻撃について調べてみた

2024年5月1日、太陽光発電施設の遠隔監視機器 約800台がサイバー攻撃を受けていたと報じられました。ここでは関連する情報を調べた内容についてまとめます。 監視機器を経由し不正送金 太陽光発電施設の遠隔監視機器がサイバー攻撃を受けているとして、報じたのは産経新聞の次の記事。コンテック社の遠隔監視機器が乗っ取られ、インターネットバンキングの不正送金に悪用されていたというもの。 www.sankei.com 攻撃を受けた機器には脆弱性(記事では「サイバー攻撃対策の欠陥」と表記)が存在。これを悪用さ…

過学習(過剰適合)のはなし

すっかりおじさんになってしまった身としては近年の日本のミュージックシーンに極めて疎くなって久しいのですが、最近になってAdoさん*1の楽曲に『過学習』というタイトルのものがあるということを知ったのでした。一体どこで「過学習」なんてマニアックなテクニカルタームが存在することを知って、あまつさえ楽曲のタイトルにしようと考えたのか、というのが不思議で仕方ないのですが、機械学習や統計学を初めとするデータサイエンス領域の人々ぐらいにしか馴染みのなかった語がこうして人口に膾炙しているのかと思うとなかなかに感…

WIn32API レジストリの変更を検知する RegNotifyChangeKeyValue

レジストリキーの属性やエントリが変更されたことを検知するためには、RegNotifyChangeKeyValue関数を用いる。 RegNotifyChangeKeyValue関数は、レジストリが変更されたことをアプリケーションに通知してくれる。RegNotifyChangeKeyValue関数のプロトタイプは、以下のようになっている。 LONG RegNotifyChangeKeyValue( HKEY hKey, // 監視するべきキーのハンドル BOOL bWatchSubtree, // …

【Kubernetes】未経験から1か月経ったので振り返る

こんにちは、クラウド事業部の中根です。 未経験からKubernetesに入門して約1か月が経ったので、振り返りたいと思います! 実務に入る前の予習なので、実務を通した実践的な学習はしていない点はご了承ください。 学習の動機 入門前のレベル感 学習プロセス 入門0~7時間 入門7~32時間 入門32~60時間目 入門60~71時間目 入門71~132時間目 +α できるようになったこと 次のステップ これから入門する方へ おわりに お知らせ 学習の動機 私は中途入社で、案件は決まったのですが、参画…

OIDCって何なんだー?から、実際に使うまで

ごあいさつ はじめましての人ははじめまして、こんにちは!BASE BANK Divisionのフロントエンドエンジニアのがっちゃん( @gatchan0807 )です。 今回は、ここ数ヶ月の間にOIDC(OpenID Connect)という技術を使った開発を複数行い、この技術の概観を理解することができたので、OIDCの技術概要に触れつつBASE BANKの中でどのように使ったのかをご紹介しようと思います。 OIDCとは何なのか このパートでは、まずOIDCという技術について概要を紹介します。いく…

ESP32系MCUで無線LAN受信バッファが枯渇するときの調査方法

ファームウェアエンジニアの井田です。 今回はESP32系MCUで無線LANによる受信ができなくなる問題の原因と調査方法について解説します。 背景 ESP32にてそこそこ頻繁に無線LAN経由の通信を行っているときに、環境によっては急に通信ができなくなる現象が発生しました。 そこで、Wiresharkを用いて通信状況を確認すると、どうもESP32側からの送信パケットは届いているものの、ESP32へのパケットは受信されていないような状況が確認されました。 例えば、ESP32側からDNSのリクエストを投…

『呪術廻戦 ファントムパレード』の大規模アクセスを支えるインフラ構成と最適化

この記事は、2024年3月7日に開催された「CyberAgent Game Conference 2024(CAGC 2024)」のセッション内容をAIによる自動文字起こしをベースに加筆修正したものになります。 セッション概要 TVアニメ『呪術廻戦』初のスマホゲーム『呪術廻戦 ファントムパレード(ファンパレ)』は、多くのユーザーに遊ばれ大量のアクセスが来ることが予想されていました。 本セッションでは、高負荷が予想される中、どのようにインフラを構築し負荷対策を行ったのか、実際のインフラ構成図をお見…

Product Opsの力: プロダクトマネジメントを変革する新たなアプローチ

こんにちは、PdM(プロダクトマネージャー)の shu です。 最近は暖かくなり、散歩が気持ちよくなってきた季節ですね🌸 自分のおすすめの散歩コースは、日比谷駅付近から丸の内方面へ歩いていくコースです。 b8ta Tokyoでおもしろい製品を見て・試してみたり、KITTE の屋上から普段とは違う角度で東京駅をみてみたり、皇居の近くで桜を見てみたりと、「都会と自然」両方を楽しめるコースになっているのでおすすめです。 さて今回は、プロダクトマネジメントチーム(以下PMチームと略します)が取り組んでい…

AWS Security HubとSlackを利用して、セキュリティ状況の監視運用を効率化したお話

はじめに 初めまして!ソーシャル経済メディア「NewsPicks」SREチーム・新卒エンジニアの樋渡です。今回は「AWS Security Hub」と「Slack」を用いて、弊社で利用しているAWSリソースの監視運用を効率化したお話です。 お話の内容 年々増加するサイバー攻撃に対抗するため、セキュリティ対策は日々重要度が増してきています。 そこで弊社で利用しているAWSのリソースに対して、各種セキュリティイベントの収集ができるAWS Security Hubを利用することで、セキュリティ状態の可…

QAエンジニアがいない会社に入社してやったこと、まだやれてないこと

はじめまして。2023年2月に入社したQAエンジニアの大出です。 前職はフリマアプリを開発する会社で約8年QAエンジニアとして働いていて、TalentXで初めてtoBのサービスのQA業務を行うことになりました。 入社前の状況 やったこと 新規開発の検証 テストプロセス改善 テスト計画の作成 ドキュメントの整理 バグチケットの整理 ドッグフーディング 採用 まだやれてないこと 終わりに TalentXは2015年にMyReferというサービスをリリースして以来、2023年2月に自分が入社するまで社…

ガバメントクラウドAWS「以外」で必要な設備・作業を考えてみる

こんにちは、Enterprise Cloud部 ソリューションアーキテクト1課 宮形 です。 令和6年度はガバメントクラウドへの早期移行団体検証事業へ申込された、またはこれから申込予定の地方自治体様が多くおられると予想します。それに合わせて必要なAWSリソース利用料やAWSの設計構築・運用保守費用の見積・予算取りを進めることになります。 気を付けたいのが、ガバメントクラウドAWS「以外」にも必要となる設備・作業があることです。プロジェクトを開始しても、準備不足により作業がストップしたり予算不足に…

ぼくらのスクラム奮闘記

こんにちは、プロダクトエンジニアのa2cとプロダクトマネージャーのdaisukeです。 本稿では、2024年1月に組成され、スクラムを採用した私たちのチームが最初の3ヶ月間に直面した課題とその改善策、それによってもたらされた変化を共有します。スクラムに参加するエンジニアとPMの多様な視点を取り入れ、実際の経験に基づく具体的な事例をオープンに紹介します。 なお、この記事は「SmartHRのプロダクトマネージャー全員でブログ書く2024」への参加記事です。ぜひ他の記事もご覧ください。 チームの紹介 …

複数の企業でデータエンジニアとして求められたスキル

最近「ああ、これ前職でも前々職でもやったことあるなぁ」という仕事があった。データエンジニア(やその関連職種)として働き始めて約5年、3社でフルタイムとして働いてきて「このスキルは業界や組織規模が変わってもデータエンジニアとしてスキルを求められることが多いな」と感じたものをまとめてみることにした。棚卸し的な意味はあるが、特に転職用などではないです。 前提 どこでも必要とされたスキル データマネジメントに関する概要レベルの知識と実行力 セキュリティや法令に関する知識 事業ドメインに関する興味関心 他…

他人のCookieを操作する

脆弱性検査をしていてしばしば出くわすのは、他人のCookieの値を操作できるとXSSやセッション固定等の攻撃が成功するようなWebアプリケーションです。このようなアプリがあると、業界的には「Cookie Monsterという問題がありまして、、、でも、、、基本的に現状のブラウザではリスクは低いです」みたいな話がされることが多いのではないかと思います。本日の日記では、それ(Cookie Monster)以外にも状況によっては考慮すべきことがある、という話をしたいと思います(過去の日記でも少し書いた…

DX事業本部インフラの3年分の進化 (2019 ~ 2022)

お疲れさまです。SREの西田和史(@k_bigwheel)です。 僕が所属するDX事業本部の開発基盤グループは主にインフラが安定して高いパフォーマンスで動くことに責務を持っています。 今DX事業本部には3つの事業部があり、その中ではイエウール、ヌリカエ、ケアスル介護などのサービスを展開していますので、僕らはそれらのだいたい10サービス前後のインフラを日々増築・改善しています。 僕がSpeeeにジョインしたのが3年前の2019年11月なのですが、それからDX事業本部のインフラは様々なことが進化しま…

データもバージョン管理したいあなたへ

データバージョンの管理とは? データバージョンの管理とは、バイナリデータのバージョンを管理することを指します。データバージョンの管理は、Git 等でのコードのバージョン管理をバイナリデータに拡張しています。実験の再現性を高められるメリットがあります。 DVC とは? データのバージョンを管理する機能をもつオープンソースソフトウェアです。データのハッシュをテキストファイルで保持し git でバージョン管理します。また、yaml ファイルで実行パイプラインを定義して監視対象データが更新された際にハッ…

固有名詞をつけるとき

ソフトウェアエンジニアリングにおいて大切なのは、人間のことをのぞけば名付けだと思っている。言葉がなければ世界は混沌としたままだけど、そこに名前をもたらすことがものごとを切り分け、ひとつの秩序をもった視点をつくる。この秩序は唯一絶対のものではなくて、なんらかの意志によって導かれたものである。ソフトウェアはあくまでも現実の抽象だから、問題をどういう視点で見るか、という軸があるわけだ。そういう意味では人間のことではある。 適切につけられた名前は、そのことによって他のものとの自然な境界を与えられていて、…

『グラフニューラルネットワーク』を上梓しました

グラフニューラルネットワーク (機械学習プロフェッショナルシリーズ)作者:佐藤 竜馬講談社Amazon 講談社より『グラフニューラルネットワーク(機械学習プロフェッショナルシリーズ)』を上梓しました。 グラフニューラルネットワークはグラフデータのためのニューラルネットワークです。化合物やソーシャルネットワークのようなグラフデータの解析に使うことができます。また後で述べるように、テキストも画像もグラフなのでテキストや画像の分析にも使えますし、それらを組み合わせたマルチモーダルなデータにも適用できま…