Create Rust AppSet up a modern rust+react web app by running one command.
Early-stage startups shouldn't run on Kubernetes yet. But eventually, growth-stage and large companies should be running on Kubernetes in some form. Kubernetes Maximalism doesn't mean one-size-fits-all. Infrastructure should progressively grow with your workloads and team. How can you choose the right technology now so that you can maximize growth and minimize pain later when you inevitably outgro
MongoDBが時系列データ対応、サーバレス対応、HTTPS経由でのAPI操作対応など機能強化を相次いで発表 NoSQLデータベースには、MongoDBに代表されるドキュメントデータベース、InterSystems IRISに代表されるオブジェクトデータベース、Neo4jに代表されるグラフデータベース、Redisに代表されるキーバリューストアなど、さまざまな製品があります。 ガートナーが発表したNoSQL専業ベンダに関する調査結果によると、NoSQL市場の中で過去5年において圧倒的に高い成長率を見せ、市場のリーダーとなっているのがMongoDBです。 ガートナーは2016年に発表したクラウドサービス「MongoDB Atlas」がこの成長を支えてきた大きな要因だと分析しています。 そのMongoDBはMongoDBは、6月7日から9日にかけて米ニューヨークで開催されたイベント「MongoD
TypeScriptの型システムは不完全です。 型システム上しょうが無い所も、どうしてそうなってるのって所もあります。 この記事では共通認識となっているようなものから、あまり認知されていないものも含め、TypeScriptの安全性の穴になり得る所を紹介します。 tsconfig.json 項目が大量にありますが、この記事では型安全性に大きく影響のあるオプションのみ紹介します。 strict このオプションが無効だと型安全性が大幅に失われます。 具体的にはnull | undefinedが無かったことにされたり、暗黙のanyが大量発生したりします。 なんでデフォルトがfalseなんですか? 詳しくはこの記事を読んでください。 noUncheckedIndexedAccess このオプションがfalseの場合、インデックスシグネチャへのプロパティーアクセスが型安全ではなくなります。 const
インメモリデータストアを現代風に再実装したら? 高速なデータアクセスのためのインメモリデータストアとしては、RedisやMemcachedが有名です。ただし、これらは10年以上前に設計されており、Memcachedに至っては、2003年と約20年前です。 長い年月を経て、機能追加や最適化が進む一方で、どうしても設計の古さも目立ってきます。 その課題を解決すべく開発されたのがDragonfly です。 全ての操作がアトミック 高スループットでもミリ秒未満のスループット を目指し、Redis/Memcached互換なAPIを提供します。 Redisの25倍のスループットを誇り、1インスタンスで百万オーダーのQPSをさばけます。 開発者が実施したAWS EC2上のベンチマークによると、Dragonflyは本家RedisやRedisのマルチスレッドforkであるKeyDBよりも圧倒的なスループット
GitHubの使い方を学ぶ「GitHub Skills」が無料公開。GitHubを実際に操作してMarkdown、Pages、Pull Requests、マージのコンフリクト解消などを体験 GitHubは、実際にGitHubを操作しながらGitHubの使い方を学べる無料の教材「GitHub Skills」を公開しました。 Expand all you know about the GitHub platform. We're introducing GitHub Skills, a new learning experience integrated into the GitHub UI, backed by GitHub Actions. Try it out today! https://t.co/XnqCYdVqBL — GitHub (@github) June 6, 2022 G
「8Kと4Kの違いってわかるものなの?」専門家に聞いてみた2022.05.07 22:0085,921 Daniel Kolitz - Gizmodo US [原文] ( 福田ミホ ) 4Kの次に行くべきなのかどうなのか。 TVってハードウェアだけでも、この四半世紀で大きく変わりましたよね。巨大で重いブラウン管TVがほとんど絶滅して、画面はフラットになり、解像度もどんどん上がってきました。ちょっと前まで「4Kはまだ要らない」みたいな話があったのに、今じゃその2倍の8KのTVが普通に売られてます。 でも、4Kでもすごいキレイだな〜って思ってるのに、8KTVは4Kの2倍キレイってことなんでしょうか? それとも画質っていうのは、どこかで頭打ちになるんでしょうか? 専門家に聞いてみました(以下、太字は訳者)。 すごく大きいテレビに近づくなら見分けられるカリフォルニア大学バークレー校心理学教授で視覚
TypeScript/JavaScriptの言語思想的にはtry/catchを使ってerror handlingをするのが普通
CircleCI に入って色々と面白いなぁって思いながら毎日楽しんでる。その楽しんでることのひとつに Git のブランチモデルがある。最初はびっくりしたけど、慣れるととても良い 最初に言っておくと、この手法がどこにでも当てはまるとは思ってない。業種や、開発形態、プロダクトのタイプなどによって合うやり方は違う。単に CircleCI には、この手法がとても合ってるなぁと思う トランクベースのブランチモデル タスクに着手するときは、まずメインブランチからそのタスク用のブランチを作る。develop ブランチや release ブランチみたいな長く生きてるブランチはない。そのタスク用のブランチにコミットをプッシュしたらプルリクエストを出す。そして、レビューが終わればメインブランチにマージされる。タスクに着手してからマージまで、はやければ1時間ぐらい。長くてもだいたい2,3日くらい そして、メイン
先日、こちらのツイートを見かけました。 それに対して筆者は以下のツイートをしたところ、いくつかの反応が寄せられました。 コード部分を再掲します。 async function foo1() { return await Promise.resolve(); } async function foo2() { return Promise.resolve(); } async function wait() { await null; } // pika // chu // と表示される foo1().then(() => console.log("pika")); wait().then(() => console.log("chu")); // chu // pika // と表示される foo2().then(() => console.log("pika")); wait().the
まとめ: std::sync::RwLock::{write(), try_read()} を併用した場合には「書き込みロックを最優先」という挙動は必ずしも期待できない (LinuxではNG) Pthread の規約が挙動に自由度をもたせており、Linuxにおけるデフォルト実装では writer starvation が発生する Rustにおいて writer starvation を回避しつつ readers-writer lock を使うには parking_lot::RwLock を使うと良い 目次 背景: Readers-writer lock とは? 背景: Rustにおける readers-writer lock 背景: RwLock::write() と RwLock::try_read() 再現コード 原因分析 修正: parking_lot::RwLock を使う おわり
株式会社モリサワ(代表取締役社長:森澤彰彦 本社:大阪市浪速区敷津東2-6-25 Tel:06-6649-2151 代表、以下モリサワ)は、Google の提供するフォントサービスライブラリ Google Fonts へ、ユニバーサルデザインに配慮した「BIZ UDフォント」を提供します。 BIZ UDフォントは、「文字の形がわかりやすい」「文章が読みやすい」「読み間違えにくい」をコンセプトに開発されたユニバーサルデザイン(UD)フォントです。より多くの方にとって読みやすく使いやすいように設計されており、ユーザ評価に基づく読みやすさのエビデンスを取得しています。ICT化が進む教育現場やビジネスでの書類作成をはじめ、正確な情報伝達が必要な場面でお使いいただけます。2017年から当社が展開する、日常的なビジネス文書作成のためのUDフォントソリューション「MORISAWA BIZ+」で初めて提供
NTT Tech Conference 2022 での「Dockerからcontainerdへの移行」の発表資料です https://ntt-techconf.connpass.com/event/241061/ 訂正: P2. . 誤: ``` Ship docker run -it --rm alpine Run docker push ghcr.io/ktock/myalpine:latest ``` 正: ``` Ship docker push ghcr.io/ktock/myalpine:latest Run docker run -it --rm alpine ``` Read less
AWS Compute Blog Choosing the right solution for AWS Lambda external parameters This post is written by Thomas Moore, Solutions Architect, Serverless. When using AWS Lambda to build serverless applications, customers often need to retrieve parameters from an external source at runtime. This allows you to share parameter values across multiple functions or microservices, providing a single source o
The Go 1.18 release adds support for generics. Generics are the biggest change we’ve made to Go since the first open source release. In this article we’ll introduce the new language features. We won’t try to cover all the details, but we will hit all the important points. For a more detailed and much longer description, including many examples, see the proposal document. For a more precise descrip
Go Package Management Go takes a semi-decentralized approach to package management, allowing any git repo to be used as a module package system. Modules can be downloaded directly from their source control servers or alternatively through a module proxy which performs a simple forwarding of requests to the appropriate source. The following diagram is a high-level take on what happens when go get a
TL;DR; Eventual Consistencyとか言いながらどうせもっとまともな一貫性実装してることはよくあるんだからみんな適切な名前を使おうぜ。 なぜこの記事を書くのか NoSQLの文脈においてスケーラビリティとのトレードオフでEventual Consistencyという用語は結構な頻度で出てくる。 ACIDに対抗してBASE(Basicaly Avalilable, Soft state, Eventual consistency)なんて言葉が出てきたり、CAP定理の中のAとPだと言ってみたり、分散システムのスケーラビリティを高めるために人類は一貫性を諦めることに余念がない。 その一方で、諦められた一貫性に関しては雑な分類論で語られる事が多く実はもっと適切な言葉があるのに「Eventual Consistencyです」なんて言われる事が良くある。そこで、この記事では過去に並行
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く