Product Manager Conference 2022での登壇資料です!
年の瀬ご多端の折、皆様におかれましては本年も大変お世話になりました。crowdworks.jpの開発をしているプロダクト開発部部長兼VPoEの@hihats です。 本記事はクラウドワークスAdvent Calendar 2022 24日目の記事です。 我々の組織ではこれまでも技術的負債解消に取り組んできていましたが、今期(10月)よりさらに人と時間をそこに集中しています。これまでこのブログでも紹介されてきたようにRuby on Railsのモノリスとなっているcrowdworks.jpにおいて、フロントエンドのVue.jsへの移行は今年に入ってから着々と進む中、バックエンドのほうは保守性の低下からどう脱却していくかが手付かずに近い状態でした。 この本丸を攻略するにあたって、闇雲にリファクタリングしていくぞ!では到底うまくいきそうにない。まず「何故やるのか、何をゴールとするのか」の意識あわ
まずは、GoDocと、その他ツール周りのアップデートの紹介です。 Docコメントの更新以前、Qiitaの方に、チョットできるGoプログラマーになるための詳解GoDocという記事を掲載しました。 https://qiita.com/shibukawa/items/8c70fdd1972fad76a5ce GoDocの書き方の詳細ですが、以前は空行をあけて段落、インデントをしてフォーマット済みテキスト、URLがあればリンク、という程度のマークアップしかなく、とてもシンプルでした。GitHub FlavorなMarkdownとまでもいかなくても、もうちょっとマークアップが高機能になってほしい、せめてリストだけでも・・・と思っていた日本全国1億2000万のGoプログラマーにとって待望のアップデートが1.19で入りました。 セクションタイトル リンク リスト また、gofmtが改善され、Docコメン
こんにちは、インフラ部の id:sue445 です。 今回はRendertronをGKEとCloud Runの両方で構築した話をしたいと思います。 tl;dr; 前置き 今までのRendertronの問題点 GKE版Rendertronについて GKEの採用理由について GKE版Rendertronの構成 全体 GKE内部 pod内部 Kubernetesの設定と解説 rendertron-deployment.yaml rendertron-hpa.yaml rendertron-ingress.yaml rendertron-service.yaml Tips nodeのストレージサイズをケチり過ぎたらpodが起動できなくなった N1マシンタイプのnodeとN2マシンタイプのnodeを比較した結果、N2マシンタイプが安くなった Cloud Run版Rendertronについて Clou
はじめに この記事は、Qiita: TypeScript Advent Calendar 2020 24 日目の記事です 🎄✨ 今回は、Front-End Study #1「Cloud Native時代のフロントエンド」 - connpass で紹介されていた Prisma 2 を、同じく紹介されていた frourio を使って試してみます。 環境構築 frourio で一気に まずは create-frourio-app でサクッと環境構築します。 今回は以下の構成で試してみます。 MySQL を建てるのが面倒な場合は、SQLite でもいいと思います。 Core framework of frourio : Fastify Frontend framework : Next.js Building mode : Basic HTTP client of aspida : axios
JSONをYAMLに変換するコマンド json2yaml を、Go言語で作ってみました。 他の言語も含めると同じようなコマンドラインツールは無数に作られていますが、 Goのライブラリとして組み込みたかったというのが最初のモチベーションです。 また、JSONをストリーミング的にYAMLに変換できるのかという疑問を以前から抱いていて、ここに答えを得たかったというところもありました。 github.com go install github.com/itchyny/json2yaml/cmd/json2yaml@latest Homebrewでもインストールできます。 brew install itchyny/tap/json2yaml JSONファイルを引数にしてYAMLを出力したり、 $ cat sample.json { "Sample": "JSON" } $ json2yaml sam
[この記事が役立つ人]※記事の本文は無料で最後まで読めます マスクとワクチンのデマに辟易している方 「謎の大量死」や超過死亡の原因が気になる方 うつべきか、うたざるべきか悩んでいる方 感染被害をなるべくなるべく抑えたい方 危機意識ゼロでわからず屋の上司を説得したい方 子どもの未来を守りたい方 ウイルスは目に見えない。だからWitness(目撃者)になるのは難しい。万有引力みたいなものだ。何かがあって、何かが起きているのはたしかだ。そこから、「体内で起きていること」に迫る科学の力はすごい。 この4年間、かつてないほど医学論文に目を通したが、中にはシャーロック・ホームズの推理を思わせるような面白みを感じるものもある。検索サイトのログ分析から、その国の政府が公表していない本当の死者数に迫る研究など、まさに「その手があったか」だし*1、スマートフォンにつながる体温計を利用し、家族の中で誰が真っ先に
はじめに(実例マッピングを紹介するに至った背景) このブログで何回かお伝えしたように、先日『Agile Testing Condensed』の日本語翻訳本を出版しました。 leanpub.com この書籍の中で、実例マッピング(Example Mapping)が紹介されています。 このプラクティスは大変素晴らしいものだと感じているのですが、残念ながら日本ではあまり知られていません。*1また、書籍の中では軽く紹介している状態です。 そこで、プラクティスの詳細の説明をするべきだと感じ、実例マッピングの記事の著者であるMattにも許可をもらい、英文を翻訳する形で紹介します。 なお、原文のページはこちらです。 cucumber.io 2020年11月20日追記:実例マッピングの事例および、どのように会話して実例マッピングを作っていくのかについてスライドにしました。 speakerdeck.com
Connect-Web: It's time for Protobuf and gRPC to be your first choice in the browser Today we're releasing connect-web, an idiomatic TypeScript library for calling RPC servers from web browsers. If you've been unimpressed by gRPC and Protobuf on the web before, now's the time to take another look: connect-web generates modern TypeScript that's just as ergonomic as a hand-written REST client. Client
When I started my career in development, my first job was a DBA. Back then, before AWS RDS, Azure, Google Cloud and the rest of them cloud services, there were two types of DBAs: The Infrastructure DBA was in charge of setting up the database, configuring the storage and taking care of backups and replication. After setting up the database, the infrastructure DBA would pop up from time to time and
拙著の一つに『おうちで学べるデータベースのきほん』というデータベース初心者向けの入門書がある。2015年刊行なのでそれなりに年月が経っているのだが、ありがたいことに今でもコンスタントに読んでいただいている。 この本の中で「リレーショナルデータベースのテーブルは関数として捉えられる」という話をしているのだが、ある読者の方からそこがよく分からなかった、という質問をいただいた。ちょうどよい機会なので、少しこの点を補足説明しておきたいと思う。 テーブルが関数だと言うとき、二つの含意がある。一つは集合から集合への写像としての意味、もう一つが述語論理における命題関数としての意味である。一般的にテーブルが関数だという場合は、前者の意味で言われることが多い。こちらは関数従属性や正規形の概念にも繋がっていくから、関係モデルの理解という点でも広がりのあるオーソドクスな解釈だ。拙著でもこの意味で説明している。し
おうちプロジェクトでSlack,Trello,AWS,Githubなんかを使っているのですが、メンバーが数人にも関わらずアカウント管理がめんどくさくなってしまいました。経験がある人も多いかと思います。せっかくなんでシングルサインオン(SSO)試してみるか と思い、最近グイグイきているAuth0を試すことにしました。 Auth0 Auth0はWebサービス、モバイルアプリ、IoT、社内アプリケーションの為のソリューションです 弊社のパートナーで、導入のサポートなども行っております。興味のある方は下記をご参照ください。 クラスメソッド > パートナー > 次世代認証基盤サービス「Auth0」 シングルサインオン(SSO)ログイン 単一の資格情報を使ってアプリケーションにログインすることで、様々なアプリケーションに自動的にサインインします。 使用しているサービスやアプリケーションごとに資格情報を
アドベントカレンダーの担当日を早めにしてさっさと終わらせてしまえば気持ちが楽だと思ったのに前日になっても書き終わっていないのは一体誰でしょう?そう、私(ふそやん@azihsoyn)です。 こちらの記事は Gunosy Advent Calendar 2020 の2日目の記事です。 昨日の記事はかとうさんの 長年稼働しているサービスの全体感をすばやく把握するには でした。 さて、先日プレスリリースでも発表されましたが、グノシーにラジオコーナーが出来ました。 現在ラジオコーナーにはオリジナル番組と、他社の提供するPodcastの2つのコンテンツがあるのですが、オリジナルコンテンツを入稿するための管理画面をFlutter Webで作ったのでその知見をまとめたいと思います。 管理画面の主な機能は、 コンテンツのCRUD(GraphQL) 番組管理(CRUD) 番組に紐付くエピソード管理(CRUD)
February 05, 2024 · 26 mins · 4727 words Discussion on HackerNews. Last September I hopped on board with Wallapop as a Search Data Scientist and since then part of my work has been working with Solr, an open-source search engine based on Lucene. I’ve got the basics of how a search engine works, but I had this itch to understand it even better. So, I rolled up my sleeves and decided to build one fr
by The Legend Kay 長年、個人的な経験を思い出して次の行動に生かしたり、前もって計画を立てたりするような認知能力は人間だけが持つものと考えられてきました。しかし、こうした能力をコウモリも保持していることが研究により示されています。 Time-mapping and future-oriented behavior in free-ranging wild fruit bats: Current Biology https://www.cell.com/current-biology/fulltext/S0960-9822(24)00689-4 Wild bats found to possess high cognitive abilities previously considered exclusive to humans https://phys.org/news/2
セミナー講演と解説論文執筆の機会を頂きました.関係各位に感謝します. コンピュータビジョン (CV), コンピュータグラフィクス (CG), ロボティクスなどで,特に姿勢推定や姿勢制御などを扱う際にリー群,リー代数の知識が必要になることがある. 具体的には,論文などを読んでいると,回転行列,剛体変換行列,射影変換行列などを表す際に当たり前のように行列指数関数が出てきて,何が何だかわからない (AA略),ということがしばしば起きる.これを何とか理解したい. いくつか例を挙げると The matrix $E_\mathcal{CW}$ contains a rotation and a translation component and is a member of the Lie group $SE(3)$, the set of 3D rigid-body transformations.
西川善司の3DGE:GeForce RTX 40完全解説。シェーダの大増量にレイトレーシングの大幅機能強化など見どころのすべてを明らかに ライター:西川善司 GeForce GPUの新世代となる「GeForce RTX 40」シリーズが,10月12日にいよいよ発売となる(関連記事)。 GeForce RTX 40の開発コードネームは「Ada Lovelace」(エイダ・ラブレス,以下 Ada)。NVIDIAは,「GeForce 8800 GTX」以降のGPUに付ける開発コードネームに,物理学者やコンピュータサイエンス研究者の名前を冠している。Adaは,19世紀の数学者であり世界初のコンピュータプログラマ(もちろん機械式計算器だ)として知られるAda Lovelace氏にちなんだものだ。 本稿では,Ada世代のGeForce RTX 40が搭載する新技術や新機能がどのようなものなのか,新機能
H.266/VVC(Versatile Video Coding) ITU-T Rec. H.266 Versatile video coding ISO/IEC 23090-3 MPEG-I Versatile Video Coding H.264/AVC および H.265/HEVC の直接後継となる動画像コーデック国際標準規格。 "Versatile"=多用途 とあるように、HD~UHD(4K,8K)解像度をもつSDR/HDR(Standard/High Dynamic Range)動画像、360°パノラマ動画像、Light-fieldカメラ、スクリーンコンテンツまで広範な用途での利用を目指している。 コーデック性能比較 新しい H.266/VVC コーデックは、一世代前の H.265/HEVC コーデックにくらべると1: 同等の客観的画品質(PSNR-Y)であれば、ビットレートを
チャットAI「Claude」などを開発するAI企業「Anthropic」がAIモデルの内部動作について、何百万もの概念がどのように表現されているかという研究結果を報告しました。 Mapping the Mind of a Large Language Model \ Anthropic https://www.anthropic.com/research/mapping-mind-language-model AIモデルの本体である大規模言語モデル(LLM)の出力はブラックボックスとして扱われており、入力に対応して出力が行われた時になぜその特定の応答が出力されたのかは不明となっています。そのため、モデルが有害・偏見・ウソなどの危険な出力をしないことを信頼するのは難しいものです。 Anthropicは以前よりLLMの内部についての研究を行っており、2023年10月には「特徴」単位でまとめるこ
エムスリーエンジニアリンググループ AI・機械学習チームの中村(@po3rin) です。 好きな言語はGo。仕事では主に検索周りを担当しています。 エムスリーの検索基盤ではElasticsearchを利用しています。社内で積極的に検索改善が行われており複数のIndexが管理がしづらいという問題がありました。 そこで定義ファイルからIndexの状態を冪等性を持って同期させるeskeeperというOSSを作りました。 この経験から「定義ファイルで〇〇を宣言的に管理する系のツール」を作る時のちょっとしたコツを紹介します。タイトルの通り今回はIaCツールを作るのではなくIaCのプラクティスを意識してCLIを作るお話になるのでご了承ください。 なぜeskeeperを作るに至ったか チームでのElasticsearchの運用と課題 eskeeperとは IaCを意識したCLI開発のエッセンス コマンド
SREチーム(新卒)の市川恭佑です。これはカヤックSRE連載の2月号です。 よく見ると投稿日が3月になっていますが、どちらかと言うと2月が28日までしかない方に問題があるので、大丈夫です。(何が?) ということで、2023年も滑り出し好調のカヤックSRE連載ですが、前回の記事ではCircleCIからGoogle CloudにOIDCでアクセスする方法について、 ちゃんと動く(はずの)ソースコードをサクッと紹介いたしました。 techblog.kayac.com さて、Google CloudとCircleCIをお使いの皆様、もうOIDC対応は完了しましたか? 安心してください。私のプロジェクトでも一部未完遂です。(おい) ということで今回は、前回紹介したソースコードを深掘りして解説します。 私と同じように、途中でなんか面倒になって一旦塩漬けにしたら正直忘れかけてる長い道のりの途中にいる皆様
AWS News Blog Introducing Amazon MemoryDB for Redis – A Redis-Compatible, Durable, In-Memory Database Service Interactive applications need to process requests and respond very quickly, and this requirement extends to all the components of their architecture. That is even more important when you adopt microservices and your architecture is composed of many small independent services that communica
エムスリーエンジニアリンググループ AI・機械学習チームの笹川です。 趣味はバスケと筋トレで、このところはNBAはオフシーズンですが、代わりにユーロバスケが盛り上がっていて、NBAに来ていない良いプレーヤーがたくさんいるんだなーと思いながら見ています。 夜ご飯を催促するためデスク横で待機する犬氏(かわいい) 今回は、パブリッククラウドへの認証に必要な秘密情報をGitLab自体に格納することなく、安全に認証する方法について紹介します。 CI/CDの実行時のパブリッククラウドに対する認証 ナイーブな手法とその問題点 OpenID Connectを用いた認証 Terraformでパブリッククラウド側の設定を記述する Google Cloudの場合 AWSの場合 GitLab CI/CDで認証する Google Cloudの場合 AWSの場合 認証ステップの共通化 まとめ We are hirin
Pythonでリストを多用しがちな新人に贈りたい、array/tuple/set/queueの魅力と使い分けフローチャートPythonarray初心者tupleset はじめに みずほリサーチ&テクノロジーズの @fujine です。 Pythonのリストってとても便利ですよね。可変長で任意のオブジェクトを保存できるため、シーケンシャルなデータなら何でもリストで実装したくなる気持ち、分かります。 でもちょっと待ってください!リスト以外にも便利なコレクション型があること、ご存知でしょうか?コレクション型を適切に使い分けることで、 プログラムの意図を(ドキュメントに頼らなくても)読み手に的確に伝えられる パフォーマンスが向上する などの効果が期待できます。 そこで本記事では、Pythonの組み込み型や標準ライブラリを対象に、リストと似たコレクション型をどのように使い分けるか?の案をフローチャー
Webpack 4 was released in February 2018. Since then we shipped a lot of features without breaking changes. We know that people dislike major changes with breaking changes. Especially with webpack, which people usually only touch twice a year, and the remaining time it "just works". But shipping features without breaking changes also has a cost: We can't do major API or architectural improvements.
AppBrew で LIPS のリードエンジニアをしている @spinute です。 突然ですが、みなさん、コマンドラインは好きですか? 私は好きです。好きなコマンドは tldr, glances, tig で、よく使うコマンド Top-10 はこんな感じです。1 $ history | awk '{print $2}' | sort | uniq -c | sort -nr | awk 'NR<=10 {print $2}' | cat -n 1 git 2 vi 3 fg 4 tig 5 l 6 cd 7 grep 8 curl 9 aws 10 go ストイック・ハードボイルド路線ではなく、シンプルで安定したインターフェースを提供しながらも、認知上の負荷を下げてくれるリッチなコマンドが好きです。 AppBrew では、ウェブ生まれアプリ育ちの人が多めだったり、ソフトウェアエンジニアの
AWS News Blog Lightsail Containers: An Easy Way to Run your Containers in the Cloud When I am delivering an introduction to the AWS Cloud for developers, I usually spend a bit of time to mention and to demonstrate Amazon Lightsail. It is by far the easiest way to get started on AWS. It allows you to get your application running on your own virtual server in a matter of minutes. Today, we are addin
世界最大の家電見本市であるCES 2022に先んじて開催されたバーチャルプレスブリーフィングで、HDMI規格を策定するHDMIフォーラムが、HDMI規格認証スキームを従来のHDMI 2.1から「HDMI 2.1a」にアップデートすると発表しました。HDMI 2.1aには「Source-Based Tone Mapping(SBTM)」という新機能がオプションとして追加されるとのことです。 HDMI 2.1a Certification Announced Including New Source-Based Tone Mapping (SBTM) Feature - TFTCentral https://tftcentral.co.uk/news/hdmi-2-1a-certification-announced-including-new-source-based-tone-mappin
Preferred Networks (以下PFN)では、「現実世界を計算可能にする」「全てのひとにロボットを」という目標のもと、機械学習を始めとしたあらゆる計算技術を用いて研究開発に日々取り組んでいます。その過程では必ずといっていいほど、データの保存や読み出しが必要になります。ここでは、我々がどのようにデータ管理をしているか、また、その過程でどのようにHadoopを利用しているかについて紹介したいと思います。 写真: PFNカラーリングのストレージサーバー Hadoop導入の経緯 Hadoopが多く利用されているようなログ分析や、エンタープライズ向けのETL処理やデータサイエンスに比べると、深層学習の分野でよく利用されているような規模のデータは比較的小さいです。よく画像認識のベンチマークとされるImageNetの2012年のコンペで利用されたデータセットは200GB程度です。これはそもそ
. ├── backend.conf ├── main.tf ├── registry.tf ├── terraform.tfvars └── variables.tf main.tfでは、terraformのバージョン指定とサービスアカウントのroleの指定が定義されています。repo_nameは権限を与えるgithubリポジトリなので、この段階で連携するリポジトリを決めておく必要があります。 terraform { required_version = "~> 1.1.9" backend "gcs" { prefix = "terraform/state" } } locals { cloudrun_roles = [ "roles/run.developer", "roles/iam.serviceAccountUser" ] } resource "google_project_
同サイトによると、1月27日午後8時半(米東部時間)時点で、世界各国の症例数は4474件、死者数は107人、回復者数は63人。同大は「分かりやすいデータを提供することで、一般の人々が感染状況を理解するのを手助けする」としている。 関連記事 GMO、従業員の一部を在宅勤務に 新型コロナウイルスの感染拡大で 新型コロナウイルスの感染拡大に備え、GMOインターネットグループが渋谷・大阪・福岡オフィスに勤める従業員に対し、在宅勤務を命じた。中国に駐在、出張中の従業員には強制帰国を指示した。 オフライン地図で防災施設が一目瞭然、「東京都防災アプリ」が便利 「心肺蘇生法」「簡易コンロの作り方」──緊急時のTipsも満載 台風が来る前にできることの一つとして、「東京都防災アプリ」をスマートフォンにインストールしておくことをおすすめする。各種防災情報がまとまったアプリで、オフラインで使える「防災マップ」な
目次 目次 はじめに ECCV2022のトラッキング論文 ピックアップした論文 Towards Grand Unification of Object Tracking Tracking Objects As Pixel-Wise Distributions Particle Video Revisited: Tracking through Occlusions Using Point Trajectories XMem: Long-Term Video Object Segmentation with an Atkinson-Shiffrin Memory Model 最後に はじめに この記事は前回の記事の後編です。ECCV2022で紹介されたトラッキングに関する論文をいくつかご紹介します。 engineers.ntt.com ECCV2022のトラッキング論文 1645本の論文の中
手書きスケッチからリアル顔画像を作成、深層学習で「DeepFaceDrawing」 2020-06-04 中国科学院と香港城市大学による研究チームが開発した「DeepFaceDrawing」は、手書きスケッチからリアルな顔画像を生成する深層学習フレームワークだ。 手書きスケッチからリアル顔を生成するDeepFaceDrawing このような深層学習を用いたスケッチ画像からリアル画像への変換では、Image-to-Image Translation with Conditional Adversarial Nets [Isola et al. 2017] などで実証されている。しかしデータ駆動型の性質上、実画像とそれに対応するエッジマップのペアからネットワークを学習することが多いため、リアルな顔画像を合成するためには、実画像のエッジマップに近い品質のテストスケッチが必要となる。それを用意する
Our previous post in this series “What is Distributed SQL?” highlights the common architectural principles as well as the business benefits of distributed SQL databases. In this post, we compare distributed SQL databases against NewSQL databases so that we can better understand their differences. Before we dive into NewSQL, it is important to understand why NoSQL databases like MongoDB and Apache
Transcript Danilov: We'll talk about AWS Lambda, how it's built, how it works, and why it's so cool. My name is Mike Danilov. I'm a Senior Principal Engineer at AWS Serverless. A decade ago, I joined EC2 networking team, and it was a fantastic ride. Then, five years back, I heard about Lambda. I really liked the simplicity of the idea. We run your code in the cloud, no servers needed, so I joined
Table of Contents Introduction Part 1: Treesitter for Typescript & TSX LSP Support Completion setup Linter setup LSP Setup Eslint (Optional) Tailwind LSP Server LSP Performance Emacs LSP Booster Structural editing Formatting buffers with Prettier Other resources Conclusion Introduction I've worked within the JS ecosystem for the past 8 years using editors like Webstorm and VSCode, I started using
プログラミング言語C標準規格における改行文字(new-line character)と改行コードCR, LFとの関係性について。 まとめ: C標準規格ではプログラム内部で扱う「改行文字」と、外部ファイルにおける具体的なCR, LF等の「文字コード」を区別する。*1 *2 改行文字をファイル上でどう表現するかについて何ら規定しない。CR/LFを使わない方式も想定されている。 UNIX互換システムの場合、改行文字==改行コードLF(0x0A)となる。 Windows OSの場合、改行文字は2個の改行コードCRLF(0x0D 0x0A)で表現される。 上記のような改行コードによる行区切り表現だけでなく、メタ情報を利用した行区切り位置表現、長さプレフィックスと文字列データ表現、固定長レコードと特殊パディング文字表現(!)*3など、多種多様なテキストデータの表現方式を許容する。 仮想ターミナルなどの
(... and solving some PostgreSQL wicked problems) OrioleDB is a new storage engine for PostgreSQL, bringing a modern approach to database capacity, capabilities and performance to the world's most-loved database platform. OrioleDB consists of an extension, building on the innovative table access method framework and other standard Postgres extension interfaces. By extending and enhancing the curre
海洋における産業価値は2030年までに倍増すると予想されており、違法漁業や乱獲を防ぐための取り組みがますます重要視されています。この取り組みの一環として、各国の船舶がどこでどのように活動しているのかを明らかにした研究により、実に全体の75%もの船が位置を公開せずに航海していることが明らかになりました。 Satellite mapping reveals extensive industrial activity at sea | Nature https://www.nature.com/articles/s41586-023-06825-8 We used AI and satellite imagery to map ocean activities that take place out of sight, including fishing, shipping and energy
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く