こんにちは!学習動画・Webテストの開発を行っています エンジニアの daichi (id:kudoa) です。 この記事では、最近チームで導入したライブラリアップデートを自動化した仕組みとその経緯について紹介します。 なぜ自動化しようと思ったか サービスを開発するだけではなく、日々の運用も必要です。 その運用業務の1つとして、ライブラリのアップデートがあります。 これはサービスを運用する上では大切なことではありますが、日々ライブラリアップデートのPRをさばき続けるのも大変です。 その時間をできるだけ減らし、その分空いた時間をユーザーへの価値提供や将来の投資に充てるために、今回の自動化の仕組みを作成しました。 この辺りの話は以前勉強会でLTしたことがありますので、興味があればご覧ください。 作ったもの 前置きは長くなりましたが、凝ったものを作ったわけではありません。 作成したものはライブラ
はじめに この記事では、 フロントエンドの開発において意義のあるテストはなにか? それらをコスパよく実現するためにはどうすればよいか? について考えて、作った構成を紹介します。 前提 下記の技術スタックを利用していますが、これ以外のスタックでも応用可能な仕組みが多いと思います。 Next.js Storybook playwright msw msw-snapshot (拙作) 注意事項 この記事の構成は、まだまだ実験的な機能だったり怪しい技術が一部採用されています。 msw-snapshot 拙作のライブラリであって、動作が怪しい可能性がめっちゃあります。 Next.js の testmode playwright + msw を実現するために必要でした。 まだまだ全然まともに動かないかもしれません。(サンプルリポジトリの単純なテストは動いた) サンプル 下記のリポジトリにサンプルを用意
データベースのロックについて、資料を読んだり実際に試してみたので、学んだことを整理してみようと思います。はじめにロックについての基本的な知識を整理して、最終的にはデッドロックとその対策について説明します。 使用したソフトウェアのバージョン MySQL 8.0.31 この記事ではMySQLを使用しています。その他のデータベースについては、基本的な部分は共通していると思いますが、異なる点があることをご了承ください。 ロックとは何か(概要) ロックはデータの更新を正しく行うための仕組みの一つで、あるデータに対する更新処理を制御するためのものです。ここで、データを正しく更新するとはどういうことかを説明するために、口座への振込を例に考えてみます。 例えば、口座Aから口座Bに1万円の振込を行うとします。このとき、口座Aの出金処理と口座Bの入金処理は、必ず両方が成功しなければなりません。このための仕組み
この記事の狙い この記事は、端的に言えば この図が言わんとしていることを理解できるようになるための解説を目指しています。 昨今のプログラミング環境において、メモリの管理方法やその実態は、詳細を知らずとも目的を達成できるようになっています。といっても、実際にはメモリは無尽蔵に使えません。制約が厳しい環境下で動かさねばならないプログラムもありますし、多少潤沢に使える環境であっても、無駄に浪費するよりは、必要最低限のメモリで効率よく動作するプログラムの方が、多くの場面においては良いプログラムと言えるでしょう。 メモリのことなど知らなくてもプログラムを書けるのは一つの理想ではありますが、現実的にはその裏に隠されている(抽象化されている)仕組みを知っておいたほうが有利です。また、昨今のレトロゲームにおけるタイムアタックで駆使されるメモリ書き換えのテクニックなども、何故そういったことが可能なのかを知る
こんにちは、ティアフォーでフロントエンド開発を担当している田上です。 ティアフォーでは先日ご紹介したSREの信頼性への取り組みの一つとして、少人数でも信頼性が高く、効率的な開発ができるように技術選定会を実施しています。 今回は、最近技術選定会で取り上げた「Point cloud data(PCD)のように大きなサイズのデータを含んだROS TopicをAWS CloudからWebブラウザに転送する」仕組みと技術選定会の様子についてお話したいと思います。 なお、今回ご紹介するようにティアフォーには新しい技術や技術的なチャレンジを良しとする雰囲気、エンジニアの興味や好奇心を満たせる環境があります。ぜひ以下のページから募集職種のリストを見ていただき、興味を持った方は応募をしていただければと思います。 herp.careers 背景 Autowareを使った自動運転車両は車両に搭載したLiDARを
なぜ動くか? ここ最近、技術者と名乗る人々と会話して思うのが、「なぜ動くか」ということを知りたいという興味が失われているということです。 問題 例えば、下記の書籍を紹介します。 「ネットワークはなぜつながるか」という本で、あらゆる技術者に読んでほしいと思っています。目次は以下のようになっています。 ブラウザにURLを入力してからWebページが表示されるまでの道筋をたどりながら、その裏側で働くTCP/IP、LAN、光ファイバなどの技術を説明していきます。インターネットを通ってサーバーまで行って帰ってくる道筋の途中には、今のネットワークの主要な技術要素が全部あります。そこでの機器やソフトウエアがどのように動き連携しているのかを探検すればネットワーク全体の動きがわかります。 第2版では、全体の構成を見直し、探検の途中で、今、ネットワークのどの部分にいるのかを明確にしました。また、各技術の基本的な
2019年2月27日、恵比寿ガーデンプレイスザ・ガーデンホールにて、「Cookpad TechConf 2019」が開催されました。Cookpadのエンジニアやデザイナーがどのようにサービス開発に取り組んでいるのか、またその過程で得た技術的知見について公開します。プレゼンテーション「〜霞が関〜 クックパッドiOSアプリの破壊と創造、そして未来」に登壇したのは、クックパッド株式会社エンジニアの三木康暉氏。講演資料はこちら クックパッドiOSアプリの破壊と創造、そして未来 三木康暉氏:こんにちは、「@giginet」です。今日は、クックパッドのiOSアプリを例に、巨大で歴史のあるアプリの開発効率をどうやって改善していくかというお話をします。どうぞよろしくお願いします。 (会場拍手) クックパッドのiOSアプリは多くのユーザーさんがいらっしゃる一方で、巨大で歴史のあるアプリです。最初のコミットは
by Jarle Naustvik World Wide Webを考案し、「ウェブの父」とも呼ばれるティム・バーナーズ=リー氏が、自由で開かれたウェブのために考えるべき3つの問題を示しました。 Tim Berners-Lee's annual letter on the World Web's 30th anniversary — Quartz https://qz.com/1568798/tim-berners-lees-annual-letter-on-the-world-webs-30th-anniversary/ ティム・バーナーズ=リー氏がWebの基本的な仕組みを発明してから30年が経過した今、世界の半分がウェブに接続されるようになり、ウェブが人々の生活をどんどん豊かにしています。一方で、ウェブには憎悪を拡散させ、ウェブ上の犯罪を助長する側面もあります。個人の力でインターネットを
ブロックチェーン入門 ─ JavaScriptで学ぶブロックチェーンとBitcoinウォレットの仕組みと実装 本記事ではブロックチェーンのプログラミングを、実践とともに学びます。ブロックチェーンとは、分散環境の新しいデータ構造であり分散合意のアルゴリズムですが、Node.jsでブロックチェーンおよびBitcoinウォレットを実装し、その仕組みを理解していきましょう。 フリーランスでエンジニアとライティングなどをゆるゆる行っているerukitiと申します。 個人のサークル「東京ラビットハウス」から「Modern JavaScript」「簡単JavaScript AST入門」「JavaScriptで覚える暗号通貨入門#1 Bitcoin完全に理解した」といったJavaScript関連の技術同人誌を単著で発行しています。 この記事では、ブロックチェーンの仕組みを解説し、実際にブロックチェーンやB
10月に入り、スマートフォンが巨大化して持ちにくくなっている問題をカバーする“子機”が国内外で登場しました。懐かしのPDAブランドを冠した「Palm」(日本未発売)や、NTTドコモの「ワンナンバーフォン ON 01」といった小型端末です。また、スマホ巨大化の反動か、機能を削って薄型軽量にした「カードケータイ KY-01L」のような通話端末も出てきています。 また「Apple Watch」のようなスマートウォッチも、そうした「通知が来る度に、大きなスマホをいちいち取り出すのが面倒」といった問題に答える端末です。そのうちAR(拡張現実)対応のメガネがもっと進化して違和感なく装着できるようになり、安全性も確保できたら、スマホがそれに取って代わられるかもしれません。 ……といった話を前回のコラムで書いたのですが、そんな電脳メガネの夢に近づいたような製品が出てきました。カナダの新興企業Northが1
世間では、ブロックチェーンが持て囃されています。 けれど、中には、ブロックチェーンではできないことや、ブロックチェーンじゃなくてもできることが、ブロックチェーンで実現するかのように書かれているものを目にすることもよくあります。 かなりネガティブな文章のようですが、ブロックチェーンの持つ可能性を正しく理解するには、ブロックチェーンの性質を正しく認識する必要がある、という信念によるものです。ご理解ください。 1. ブロックチェーンでの「改竄が困難」とは、システム管理者による改竄が困難という意味である 普段、銀行にお金を預けている皆さんは、銀行職員によって預金を不正に引き出されないか心配されていると思います。 また、SNSを利用されている皆さんは、SNS運営会社の社員によって、不正にご自身の投稿内容を改竄されてトラブルに発展するのではないかと心配されていると思います。 ブロックチェーンを利用すれ
リサーチ・アンド・イノベーションの浜田(hamadu)と申します。 いつものお買い物がちょっとお得に、家計簿にもなるポイントアプリ「CODE」のサーバサイド、およびAndroidアプリの開発を担当しています。 序 CODE ではバックグラウンドジョブシステムとして、Sidekiq を採用しています。その作者、Mike Perham 氏が新しい仕組みを作っていました。その名も Faktory。Sidekiq と違いワーカーが言語に依存せず、また本体はGoで書かれているためスケールするのがウリのようです。まだまだ開発中で、プロダクションで使うには厳しい印象を受けますが、今後Sidekiqを置き換えうるプロジェクトになるのではと思います。 本稿では簡単に仕組みの紹介をして、Rubyでジョブを投げるClientと、ジョブを処理するワーカーをそれぞれ実装してみました。 ソースコードは faktory
How browsers work Stay organized with collections Save and categorize content based on your preferences. Preface This comprehensive primer on the internal operations of WebKit and Gecko is the result of much research done by Israeli developer Tali Garsiel. Over a few years, she reviewed all the published data about browser internals and spent a lot of time reading web browser source code. She wrot
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く