並び順

ブックマーク数

期間指定

  • から
  • まで

241 - 280 件 / 12621件

新着順 人気順

Writeの検索結果241 - 280 件 / 12621件

  • 内製オブジェクトストレージサーバ「b3」でコスト最適化を目指した話 - Mirrativ Tech Blog

    インフラストリーミングチームの近藤 (@udzura) です。今回は、ミラティブで内製しているオブジェクトストレージサーバ「b3」の紹介記事を書きたいと思います。 今回の記事は、6月にGopher Talkというイベントで発表した「Go製ミドルウェアを実践投入するにあたりやったこと」をベースに、内容を詳細にしたり直近の開発状況に合わせて更新したものです。一部内容はこの発表と重複していますがご了承ください。 オブジェクトストレージサーバを内製した背景 1. 大量オブジェクトの操作や増え続ける転送量に対応したい 2. 一定期間しかファイルの保持をしない 3. オンメモリ/SSD/HDDを組み合わせたチューニングがしたい オブジェクトストレージb3の特徴 S3 互換の基本的なAPIを実装 LSM-Tree index+WALなDB/マージ操作に対応 I/O 帯域を制限可能 非同期レプリケーション

      内製オブジェクトストレージサーバ「b3」でコスト最適化を目指した話 - Mirrativ Tech Blog
    • ルールは現場で死にました - The Rules of Programming の読書感想文 - じゃあ、おうちで学べる

      本日は人生の数ある選択肢のなかから、こちらのブログを読むという行動を選んでくださいまして、まことにありがとうございます。 はじめに プログラミングの世界には多くの指針や原則が存在します。Chris Zimmerman氏の「The Rules of Programming」(邦題:ルールズ・オブ・プログラミング ―より良いコードを書くための21のルール)は、不変の知恵を凝縮した一冊です。これらの原則は、多くの開発現場で活用できる有益な内容となっていると思いました。 The Rules of Programming: How to Write Better Code (English Edition) 作者:Zimmerman, ChrisO'Reilly MediaAmazon 本書は、大ヒットゲーム『Ghost of Tsushima』などで知られるゲーム制作スタジオ、Sucker Pun

        ルールは現場で死にました - The Rules of Programming の読書感想文 - じゃあ、おうちで学べる
      • alacritty+tmuxもいいけど、weztermがすごい件

        私はターミナルが大好きなので毎日使っているんですが、永らく alacritty + tmux を愛用してました。(といってもさっき見たら alacritty 使ってたのは 1 年ちょっとだったらしい・・・) しかし最近 wezterm というターミナルの話を Reddit とかでちょくちょく聞くようになってたので 2022 年個人開発環境大変革[1]に合わせて試してみることにしました。 wezterm とは? wez さんが作った Rust 製の GPU-accelerated で cross-platform なターミナルです。自分の名前をプロダクトに入れるところに正直自信の表れを感じます w wez さんは 2022 年現在 Facebook(meta)で働いているようです。 まぁけど、Rust 製の GPU-accelerated で cross-platform なターミナルってそ

          alacritty+tmuxもいいけど、weztermがすごい件
        • Popular git config options

          Hello! I always wish that command line tools came with data about how popular their various options are, like: “basically nobody uses this one” “80% of people use this, probably take a look” “this one has 6 possible values but people only really use these 2 in practice” So I asked about people’s favourite git config options on Mastodon: what are your favourite git config options to set? Right now

          • 本当にtransactionは必要なのか? - 急がば回れ、選ぶなら近道

            前提 前提ですが。 transaction=Consistency/Isolationを担保する仕組みの話とする。 一般にtransactionが持つべき属性はACIDと言われる。C/Iに比べて、A/Dが“わかりやすい”のでAtomic/Durableの属性の方が人口に膾炙しているが、現在のtransactionではA/Dネタはあまり話題にならない。A/Dネタはローカルだけで見るのであれば普通にfile system /storageの話になる。元来Atomic/Durableはtransactionのコンテクストでは専らlogging / recoveryの話だった。そして、これは非同期のepoch-basedになるとそれ自体の取り扱い優先度が下がる。現代的なtransactionでは、「現時点ではread committedが保証されているFS/storageでA/Dの問題は(ある程度

              本当にtransactionは必要なのか? - 急がば回れ、選ぶなら近道
            • microCMS + Gatsby + GitHub Actions + S3 でJamStackのチュートリアル | DevelopersIO

              What is Jamstack? ここ数年でよく聞くようになったワード。 Jamstackとはウェブサイトを構築および運用するための、技術の組み合わせです。 JavaScript・API・事前にレンダリングされたMarkupの組み合わせでJamStackとのこと。 (以前はJAMStackといってたけど、最近はJamstackだったりする) Jamstackは、 「ウェブをより速く・より安全に・より簡単に拡張できるように設計されたアーキテクチャ」であり、 生産性を最大化するツールやフレームワーク、ライブラリやワークフローなどを 組み合わせて構築されるもの、とのことです。 ※jamstack.orgより 従来のCMSではアクセスがあったとき動的にページを生成しますが、 Jamstackではデプロイ以前に必要なページを生成します。 具体的には、下記。 Webサイトのフロントエンド全体(HTM

                microCMS + Gatsby + GitHub Actions + S3 でJamStackのチュートリアル | DevelopersIO
              • Web Push for Web Apps on iOS and iPadOS

                Today marks the release of iOS and iPadOS 16.4 beta 1, and with it comes support for Web Push and other features for Home Screen web apps. Today also brings the first beta of Safari 16.4. It’s a huge release, packed with over 135 features in WebKit — including RegExp lookbehind assertions, Import Maps, OffscreenCanvas, Media Queries Range Syntax, @property, font-size-adjust, Declarative Shadow DOM

                  Web Push for Web Apps on iOS and iPadOS
                • AWSサーバーレスバッチ処理アーキテクチャの構築 | Amazon Web Services

                  Amazon Web Services ブログ AWSサーバーレスバッチ処理アーキテクチャの構築 この投稿は、AWSソリューションアーキテクトであるReagan RosarioとWWPSソリューションアーキテクトであるMark Curtisによって書かれました。バッチ処理は多くの組織にとって基礎となるもので、大量の情報を効率的に自動化した形で処理することができます。ユースケースとしては、ファイル取り込み処理、キューベースの処理、トランザクションジョブ、さらに重いデータ処理のジョブなど、多岐にわたります。 この記事では、ファイル取り込み処理を実装するためのバッチ処理を、サーバーレスに実現するための方法を説明していきます。今回の例では、オーケストレーションにAWS Step Functions、オンデマンドのコンピューティングにAWS Lambda、データストアにAmazon S3、メールの送

                    AWSサーバーレスバッチ処理アーキテクチャの構築 | Amazon Web Services
                  • あらためて学ぶOSの役割 - 「OSの気持ち」を知り、コンピュータをよりよく理解しよう |ハイクラス転職・求人情報サイト AMBI(アンビ)

                    あらためて学ぶOSの役割 - 「OSの気持ち」を知り、コンピュータをよりよく理解しよう パソコンを操作するうえで、欠かすことができないOS(オペレーティングシステム)ですが、あまりにも「あたりまえ」の存在ゆえ、その実像をイメージすることは多くはないでしょう。OSは「なにを」「どのように」処理しているのかを学ぶと、自身が使用するパソコンがもっとよく理解できるようなるかもしれません。内田公太さんが、OSの役割と働きの基本、そして「OSの気持ち」を理解するための方法を解説してくれました。 こんにちは、内田公太(@uchan_nos)です。 普段皆さんはパソコンを使っていろいろな処理をしていると思います。ネットサーフィンに文書作成、音楽を聴いたり絵を描いたり。この記事をお読みの方はプログラミングもしている方が多いと思います。 C言語の入門書で学ぶ最初のプログラムはだいたい printf("Hell

                      あらためて学ぶOSの役割 - 「OSの気持ち」を知り、コンピュータをよりよく理解しよう |ハイクラス転職・求人情報サイト AMBI(アンビ)
                    • DDDを実践するための手引き(概論・導入編)

                      ナニコレ DDDは「Domain-Driven Design(ドメイン駆動設計)」の略語で、エリック・エヴァンスさんという人が考えるソフトウェア設計におけるプラクティスまとめみたいなものです。 『エリック・エヴァンスのドメイン駆動設計』というバイブル的な書籍がありますが、「途中で挫折した」「読んでもよくわからない」「よくわからないけど自分なりに解釈して実践している」というような感想をよく聞きます[1]。DDDの概念は幅広く、哲学的で、抽象的であるため、DDDをどのように解釈しどのように実践すればいいのかわかりにくいものです。 この記事ではそのような問題に悩んでいる人たちのために、数年に渡りDDD(的なもの)を実践してきた筆者が噛み砕いた(個人の独断的な)解釈と実践方法を解説します。 DDDってなぁに? DDDがカバーする領域 DDDが言及する範囲はとても幅広いです。エリック・エヴァンスさん

                        DDDを実践するための手引き(概論・導入編)
                      • Rustで古典的なDisk-Oriented DBMSを実装した話 - Write and Run

                        KOBA789 です。みなさん DBMS は好きですか。私は好きです。 最近、自作 DBMS をずっと作っていて、ようやく最低限の機能ができたので公開をしました。 (とはいえコードを書いていたのは正味2日ほど。設計と勉強に2週間かかった) github.com この記事ではこれを作った目的と、そのちょっとした詳細についてご紹介します。 目的 Disk-Oriented DBMS の学習に適している Rust で書かれた実装が欲しかった、というのが理由です。 DBMS の勉強に適している実装というのは意外と多くありません。 MySQL や PostgreSQL といった有名な実装は実用的である一方でコード量は非常に多く、また細かな最適化によって教科書的なアルゴリズムと実際のコードの差が大きくなっているため、初学者にとっては構造を把握しづらくなっています。 教科書的な実装の Disk-Orie

                          Rustで古典的なDisk-Oriented DBMSを実装した話 - Write and Run
                        • Amazon S3 へのファイルアップロードで POST Policy を使うと、かゆいところに手が届くかもしれない - カミナシ エンジニアブログ

                          はじめに こんにちは。カミナシでソフトウェアエンジニアをしている佐藤です。 みなさんは、アプリケーションのフロントエンドから、Amazon S3 にファイルをアップロードするときに、どのような方法を用いているでしょうか? 「バックエンドのサーバーにファイルを送信し、バックエンドのサーバー経由で S3 にアップロードしている」「Presigned URL を払い出して、フロントエンドから直接 PUT している」など、いくつかの方法があると思います。 弊社で提供しているサービス「カミナシレポート」でも、用途に応じて上記の方法を使い分けて S3 へのファイルのアップロードを行っています。 特に、Presigned URL は、手軽に利用できる上に、バックエンドのサーバーの負荷やレイテンシーの削減といったメリットも大きく、重宝しています。 一方で、その手軽さの反面、アップロードに際して様々な制約を

                            Amazon S3 へのファイルアップロードで POST Policy を使うと、かゆいところに手が届くかもしれない - カミナシ エンジニアブログ
                          • さようなら、TypeScript enum - 株式会社カブク

                            フロントエンドエンジニアの今村です。TypeScriptではenumを使わずunion型を使いましょう、という話を書きます。 モチベーション 何を今さら、と思う方もいるかもしれません。 TypeScriptのunion型はenum的なものを表現可能であり、基本的にenumよりもunion型を使うべき、という意識を持っているTypeScriptプログラマーはすでに少なからずいるのではないかと思います。しかし、ではenumの使用はいかなる場合も避けるべきなのか、そうでないとしたらどのような基準でenumとunion型を使い分けるべきなのか、といった点について、広く合意の取れたガイドラインはなさそうです(少なくとも私は知りません)。この結果、コードレビューなどで少しやりづらさを感じることがあったので、白黒つけてしまいたいという気持ちからこのブログを書いています。 結論としては、enumは全面的に

                              さようなら、TypeScript enum - 株式会社カブク
                            • プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ

                              技術部の笹田(ko1)と遠藤(mame)です。クックパッドで Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 去年の記事「プロと読み解く Ruby 2.6 NEWS ファイル」に続き、今年も本日 12/25 リリース予定の Ruby 2.7 の NEWS ファイルの解説をしてみようと思います。NEWS ファイルとは何か、というのは去年の記事を見て下さい。 実は最近、NEWS ファイルを読みやすくしよう、と例を入れたりしていて、以前のものに比べて読みやすくはなっています(英語だけど)。記事中のコードも、NEWS ファイルから引用しているものがあります。本記事では、変更の解説に加え、執筆者らが開発に携わっているということを活かして、「なぜ変更

                                プロと読み解くRuby 2.7 NEWS - クックパッド開発者ブログ
                              • Hosting SQLite databases on Github Pages - (or IPFS or any static file hoster) - phiresky's blog

                                Hosting SQLite databases on Github Pages(or IPFS or any static file hoster) Apr 17, 2021 • Last Update Jun 04, 2023I was writing a tiny website to display statistics of how much sponsored content a Youtube creator has over time when I noticed that I often write a small tool as a website that queries some data from a database and then displays it in a graph, a table, or similar. But if you want to

                                • 【PHP8.1】PHPで簡単に非同期処理を書けるようになる - Qiita

                                  PHPは長きにわたり同期的、すなわち、あらゆる処理を上から順に実行していくというスタイルを取ってきました。 しかしたとえば、複数のURLからデータを取ってきて結果をまとめたいといった場合、時間のかかるHTTPリクエストは同時に投げたいですよね。 この用途にはGuzzleというライブラリが存在し、これを使えば同時にリクエストを投げられます。 しかし、ではHTTPアクセスとDBアクセスを同時にやりたい場合は? 時間のかかる計算を裏でやりたい場合は? などと考え始めると、こういった個別のライブラリでは対処しきれません。 ということで汎用的な非同期処理をPHPで書けるようにするRFCが提出されました。 PHP RFC: Fibers Introduction 人類史上ほぼ全ての期間において、人々はPHPを同期的なコードとしてのみ書いてきました。 同期的に実行されるコードのみが存在し、そしてそれを同

                                    【PHP8.1】PHPで簡単に非同期処理を書けるようになる - Qiita
                                  • M1搭載MacBook Airが届いたのでJavaやDockerなどいろいろベンチマークした - きしだのHatena

                                    M1 MacBook Airが届いていろいろやってたら年も明けてだいぶたったけども、ビルド速度とかJavaとかDockerとかTensorFlowとか、技術者が気になるベンチマークを試してたので、まとめました。 MacBook Airを買ってしまった なんかM1 Mac解説動画をとるためにいろいろ調べていたら、悪質サイトのリンクを踏んだみたいで、MacBook Airを買ってしまっていた。 その悪質サイトは最初は7万円台ですよーっていっておいて、結局12万円くらいになっていた。 みんなもapple.comってサイトには注意しましょうね。 www.youtube.com とどいた! 12/12到着予定といいつつ11日になっても羽田から動いてなかったので大丈夫かーと思ったら11日深夜というか12日未明というかそのあたりには福岡に届いてて、朝発想されて夜にとどいた。 でこれだ! ベンチマーク G

                                      M1搭載MacBook Airが届いたのでJavaやDockerなどいろいろベンチマークした - きしだのHatena
                                    • Linux:昨今のI/Oスケジューラ事情 2020

                                      まえがき HDDやSSDはシステムの中でもボトルネックとなる一番データの転送速度が遅い記憶媒体だ。 オペレーティング・システムには記憶媒体による遅延を減らすためキャッシュを利用するなど I/Oアクセスを最小限に留める工夫が施されている。そんな中でもI/OスケジューラはI/Oリクエストの処理順を入れ替えたりリクエストを一つにまとめたりすることにより応答速度やスループットを向上させる機能だ。ディスク・スケジューリングとも呼ばれることがある。 数年前まではLinuxカーネルは cfq noop deadline と言ったI/Oスケジューラを搭載していたが、昨今のスケジューラはだいぶ変わっているようだ。 Linuxカーネル ver 3.13 からCPUの多コア化、SSDやPCIeなどの高速な記憶媒体の普及に対応するために旧来の単一キュー処理からマルチキュー処理をする Blk-mq(Multi-Qu

                                        Linux:昨今のI/Oスケジューラ事情 2020
                                      • Why Is SQLite Coded In C

                                        Note: Sections 2.0 and 3.0 of this article were added in response to comments on Hacker News and Reddit. Since its inception on 2000-05-29, SQLite has been implemented in generic C. C was and continues to be the best language for implementing a software library like SQLite. There are no plans to recode SQLite in any other programming language at this time. The reasons why C is the best language to

                                        • Nostr. Nostrという新しい分散型のソーシャルプロトコルを試してみています。 | by Fumi | Feb, 2023 | Medium

                                          Nostrという新しい分散型のソーシャルプロトコルを試してみています。 私の公開鍵 はこちらです。 npub1zkquutx5q7c3f8pv5ad2wgszrwxkmnmj9769dxf7r3uvnf92mn0sas5dnh NostrとはNotes and Other Stuff Transmitted by Relays、略してNOSTR。 こちらがGitHub。 The simplest open protocol that is able to create a censorship-resistant global “social” network once and for all. It doesn’t rely on any trusted central server, hence it is resilient; it is based on cryptographic

                                            Nostr. Nostrという新しい分散型のソーシャルプロトコルを試してみています。 | by Fumi | Feb, 2023 | Medium
                                          • SQLite、複数クライアントからの同時書き込みを可能にする「BEGIN CONCURRENT」文を実装へ

                                            SQLite、複数クライアントからの同時書き込みを可能にする「BEGIN CONCURRENT」文を実装へ SQLiteの開発チームは、複数クライアントからの同時書き込みを可能にするBEGIN CONCURRENT文を実装していることを明らかにしました。 これまでSQLiteでは書き込みの同時実行はできず、つねに1つのクライアントだけが書き込み可能でした。 同時書き込み処理は、データベースのジャーナルモードが「wal」(Write-Ahead-log)もしくはwalを改良した「wal2」で、BEGIN CONCURRENT文を実行した場合に可能となります。 どのように同時書き込み処理が行われるのかについては、上記のWebページの説明を引用しましょう。 ロックが延期されることで同時書き込みが可能に まず、書き込み時のロックがCOMMITまで延期されることで同時書き込みが実現されると説明されて

                                              SQLite、複数クライアントからの同時書き込みを可能にする「BEGIN CONCURRENT」文を実装へ
                                            • Next.js + Vercel + Cloudflare Workers KV + Googleスプレットシートで寄付管理サービスを作った

                                              Next.js + Vercel + Cloudflare Workers KV + Googleスプレットシートで寄付管理サービスを作った philan.netという寄付の予算を決めて寄付した記録をつけるウェブサービスを作ったので、この記事では技術的な部分の解説をします。 philan.net自体については、次の記事で解説しています。 寄付をするために、寄付の予算と寄付の記録をSpreadSheetベースでつける philan.net というサービスを作った | Web Scratch この記事では、Next.js + Vercel + Cloudflare Workers KV + Googleスプレットシートを使って動いているphilan.netについて解説します。 あと検証中にCloudflare Workersを色々いじったのでそれについても書いていきます。 Idea phila

                                                Next.js + Vercel + Cloudflare Workers KV + Googleスプレットシートで寄付管理サービスを作った
                                              • 次世代データベース TiDB の検証とその評価 [DeNA インフラ SRE] | BLOG - DeNA Engineering

                                                ※こちらは先日実施された DeNA インフラエンジニア / SRE MEETUP で話した内容を Blog 記事化したものです! こんにちは!IT基盤部の熊谷です。IT基盤部にて大規模ゲームのインフラを見ている 新卒2年目のインフラエンジニアです。この記事では “DeNA でのデータベース運用とそのツラミ” と、“TiDB導入への検証・検討” をご紹介させていただきます。 データベースの最適解 DeNA のデータベース構成は最適解を求めて改良を積み重ねてきました。最初期の構成、(便宜上、第1世代と呼びます) では VM Instance 上に MySQL を構築し管理する MySQL on EC2 構成。続く第2世代では、マネージドサービスを駆使した Aurora MySQL 構成。この2世代の中で生じた “ツラミ” を解消する次の世代、言わば 第3世代に該当する新しいデータベース構成を現

                                                  次世代データベース TiDB の検証とその評価 [DeNA インフラ SRE] | BLOG - DeNA Engineering
                                                • Introducing WebContainers: Run Node.js natively in your browser

                                                  Introducing WebContainers: Run Node.js natively in your browser Update: Since the publication of this blog post in May 2021, WebContainers became stable and available on Firefox. Most importantly, we released the WebContainers API for you all to enjoy! You can even self-host the API with StackBlitz Enterprise. Get in touch to learn more. A few years ago we realized that the web was heading towards

                                                    Introducing WebContainers: Run Node.js natively in your browser
                                                  • Yasuke is so white! ― ポリコレ視点から見るアサシンクリードシャドウズ(Assassin's Creed Shadows)弥助炎上事件 - 宇野ゆうかの備忘録

                                                    日本が舞台のゲーム「アサシンクリードシャドウズ」が、大炎上していますね。先に結論を言うと、これはアジア人差別的なビデオゲームです。私はこのゲームのファンなので、とても残念な気持ちです。この問題は、シリーズを知らない人にはわかりにくいので、順に説明していきますね。 この問題を理解する鍵は、欧米におけるアジア人男性に対するステレオタイプ、「白人の救世主」という概念、Ubisoftの制作陣が言った「私たちの侍(our samurai)」という言葉です。 なお、ここで「アジア人」と書いてある場合、それは東アジア人のことを言います。 アサシンクリード(Assassin's Creed)とは? アサシンクリードは、歴史の裏で暗躍する暗殺者になって、歴史上の人物から無名のモブキャラまで、人を殺しまくるゲームです。残酷なシーンや大人のロマンスシーンがあるので、年齢制限が設けられています。 これまで、ルネッ

                                                      Yasuke is so white! ― ポリコレ視点から見るアサシンクリードシャドウズ(Assassin's Creed Shadows)弥助炎上事件 - 宇野ゆうかの備忘録
                                                    • 業務で使うツール(iTerm2,SequelPro,Chrome)をShellScriptでハイパーテクニックする - ハイパーマッスルエンジニア

                                                      業務で使うツール(iTerm2,SequelPro,Chrome)を ShellScriptでハイパーテクニックする はじめに この記事は今年イチ!お勧めしたいテクニック by ゆめみ feat.やめ太郎 Advent Calendar 2019の20日目の記事です。 今年は「お勧めテクニック」ということで、業務効率化ッ!!を盾に業務時間の30%はShellScript遊びに当てている私にピッタリな企画ですね、ありがとうございます。 今回は業務でよく使うツールを、ShellScriptでハイパーテクニックする方法をいくつかご紹介。 今回紹介するコードは全部Githubにあげているので実際に試したい人はどうぞ。 ハイパーテクニックする対象 GoogleChrome iTerm2 SequelPro GoogleChrome ブラウザに移動せずTerminalで自在にタブ移動する Web開発を

                                                        業務で使うツール(iTerm2,SequelPro,Chrome)をShellScriptでハイパーテクニックする - ハイパーマッスルエンジニア
                                                      • Modern web apps without JavaScript bundling or transpiling

                                                        August 12, 2021 Modern web apps without JavaScript bundling or transpiling I didn't much care for vanilla JavaScript prior to ES6. Through all of the 2000s, I chased different approaches to avoid writing too much of it. First there was RJS (Ruby-to-JavaScript). Then there was CoffeeScript. Both transpiling approaches that turned more enjoyable-to-write source code into the kind of JavaScript that

                                                          Modern web apps without JavaScript bundling or transpiling
                                                        • How to use GitHub Copilot: Prompts, tips, and use cases

                                                          AI & MLLearn about artificial intelligence and machine learning across the GitHub ecosystem and the wider industry. Generative AILearn how to build with generative AI. GitHub CopilotChange how you work with GitHub Copilot. LLMsEverything developers need to know about LLMs. Machine learningMachine learning tips, tricks, and best practices. How AI code generation worksExplore the capabilities and be

                                                            How to use GitHub Copilot: Prompts, tips, and use cases
                                                          • dbtで見やすいER図を生成する - yasuhisa's blog

                                                            背景: dbtを使っていてもER図は欲しい! どうやってER図を生成するか どうやってER図を見やすくするか まとめ 背景: dbtを使っていてもER図は欲しい! dbtはモデル間のリネージなど可視化が得意なツールではありますが、万能なわけではありません。モデルの生成過程などはリネージで担保できますが、分析時に「どれとどのモデルがJOINできて、JOINする際のキーはこれを使って」というER図で扱うような可視化はディフォルトではできません。 DWHを作っている側からすると「このテーブルはあの辺のテーブルと一緒に使うと便利で、いつもあのキーでJOINして」というのが頭の中に入っていることが多いため、ER図がなくてもどうにかなることも多いでしょう。しかし、分析に慣れていない人や分析に慣れている人であっても、普段と異なるドメインのテーブルを触るときはER図が提供してくれる情報は有用です。ちなみに

                                                              dbtで見やすいER図を生成する - yasuhisa's blog
                                                            • Go でマルチスレッドプログラミングする際に最低限知っておくべきこと - Cybozu Inside Out | サイボウズエンジニアのブログ

                                                              この記事は、CYBOZU SUMMER BLOG FES '24 (クラウド基盤 Stage) DAY 10 の記事です。 こんにちは。クラウド基盤本部の野島です。Go は goroutine やチャネルなどの仕組みが備わっており、簡単にマルチスレッドなプログラムを書くことができる言語だと言われています。しかし、マルチスレッドプログラミングには独特の罠があり、何も知らない人が雰囲気でコードを書くとわかりにくいバグを仕込んでしまうリスクが非常に高いです。 この記事では、マルチスレッドプログラミングに詳しくない人に向けて、そのような罠を避けるための方法を紹介します。この記事は Go の基本的な使い方を知っていることを前提としています。 這い寄るデータ競合の恐怖 まずは以下のようなプログラムを考えてみましょう。これは複雑な計算を行って結果を返すような HTTP サーバーのコードです。 // 複雑

                                                                Go でマルチスレッドプログラミングする際に最低限知っておくべきこと - Cybozu Inside Out | サイボウズエンジニアのブログ
                                                              • 訳文;「そこにはなんの報酬もありません。このゲームが何を為していてどう機能しているのか、ただただ見ていたかったのです」ジェンキンズ、カーソン、ホッキング、『Outer Wilds』へつづく2,3の論考 - すやすや眠るみたくすらすら書けたら

                                                                翻訳の秋が今年もきました。また去年みたく面白い記事をいくつか見つけて勝手に紹介したいところです! 去年アップした『訳文;「"好奇心駆動型の冒険"とでも言うべき特殊なタイプの冒険に報酬を与えるゲームをつくりたい、それが『Outer Wilds』の主目的です」A・ビーチャム氏の論文より』で翻訳紹介した論考のなかで、参照文献として挙げられていた文献のうち2つ、ヘンリー・ジェンキンズ著『GAME DESIGN AS NARRATIVE ARCHITECTURE(物語による建築物としてのゲームデザイン)』とボニー・ルバーク取材『Clint Hocking Speaks Out On The Virtues Of Exploration(クリント・ホッキングが語る冒険の美徳)』。別記事1つ、ドン・カーソン著『Environmental Storytelling: Creating Immersive

                                                                  訳文;「そこにはなんの報酬もありません。このゲームが何を為していてどう機能しているのか、ただただ見ていたかったのです」ジェンキンズ、カーソン、ホッキング、『Outer Wilds』へつづく2,3の論考 - すやすや眠るみたくすらすら書けたら
                                                                • A Proposal For Type Syntax in JavaScript - TypeScript

                                                                  Today we’re excited to announce our support and collaboration on a new Stage 0 proposal to bring optional and erasable type syntax to JavaScript. Because this new syntax wouldn’t change how surrounding code runs, it would effectively act as comments. We think this has the potential to make TypeScript easier and faster to use for development at every scale. We’d like to talk about why we’re pursuin

                                                                  • はてなブログの DB を RDS for MySQL 8.0 にアップグレードした話 - Hatena Developer Blog

                                                                    この記事は、はてなエンジニア Advent Calendar 2023の2024年1月17日の記事です。 はてなエンジニア Advent Calendar 2023 - Hatena Developer Blog id:hagihala です。先日、はてなブログの DB を RDS for MySQL 5.7 から 8.0 へアップグレードしたので、工夫した点などを共有します。 Aurora MySQL 3.x にしなかった理由 MySQL 5.7 -> 8.0 で対応した変更点 character set や collation のデフォルトが変更される explicit_defaults_for_timestamp がデフォルトで有効になる SQL mode の変更 デフォルトの認証プラグインが caching_sha2_password になり、 mysql_native_passw

                                                                      はてなブログの DB を RDS for MySQL 8.0 にアップグレードした話 - Hatena Developer Blog
                                                                    • Twitter に投稿したツイートを Mastodon に転送するようにした - mizdra's blog

                                                                      去年の 11 月から続く一連の騒動を受けて、id:mizdra のフォロワーの中でも Twitter から Fediverse に移行してきている人が増えてきた。僕自身は移行するつもりはないけれど、移行したフォロワーが僕のツイートを Fediverse から見れるように、ツイートを Mastodon へと転送するようにしてみた。せっかくなので、そのやり方について書き残しておく。 作戦 IFTTT という「〇〇したらXXする」みたいなピタゴラスイッチをボタンポチポチで作れるサービスがある。これを使い、当該 Twitter アカウントでツイートがされたら、それを契機に Mastodon にトゥートを投稿する、というピタゴラスイッチを組むことにする *1。 転送する上での注意点 (2023/4/10 追記) (トラバで情報を頂いたので追記) 今回紹介する方法では、普段は自動投稿のみをする BOT

                                                                        Twitter に投稿したツイートを Mastodon に転送するようにした - mizdra's blog
                                                                      • Webサービスエンジニアが教えるサーバサイドのログ分析 情報を可視化して負荷状況を見よ

                                                                        ログ分析勉強会は、日々の業務に役立てられる「ログ分析」についての情報交換を目的として活動しています。オンライン開催となった今回、AWSに詳しい山口氏がWebサービスのパフォーマンス改善に必要なログ分析について、日々の業務から得た知見を共有しました。後半は、サーバーサイドから見たログ分析について。 サーバ情報を可視化して負荷状況を見る 続いて、サーバの負荷状況を見るところですね。リソースの情報をコマンドで取得してサーバ情報を可視化しましょうというところです。 よく使うのは、1つ目はhtopですね。htopでプロセスごとにどれくらいのメモリやCPUを使っているかを取っていくのがあります。リクエストが多いときにこれを取っていって、どこが重たくなっているかを見るというのがいいかなと思っています。 例えばアプリケーションサーバと同梱されているものだったりとかすると、アプリケーションサーバの負荷がいき

                                                                          Webサービスエンジニアが教えるサーバサイドのログ分析 情報を可視化して負荷状況を見よ
                                                                        • Introducing ChatGPT and Whisper APIs

                                                                          Developers can now integrate ChatGPT and Whisper models into their apps and products through our API. ChatGPT and Whisper models are now available on our API, giving developers access to cutting-edge language (not just chat!) and speech-to-text capabilities. Through a series of system-wide optimizations, we’ve achieved 90% cost reduction for ChatGPT since December; we’re now passing through those

                                                                            Introducing ChatGPT and Whisper APIs
                                                                          • GitHub Container Registry 入門 - 生産性向上ブログ

                                                                            github.blog 9/1 に GitHub Container Registry がパブリックベータとして公開されました。GitHub が提供する Docker レジストリサービスです。 この記事では、GitHub Container Registry についていろいろ調べたり動かしたりした内容をまとめます。 目次 注意事項 背景 Docker Hub と GitHub Container Registry GitHub Packages と GitHub Container Registry 料金 organization での GitHub Container Registry の有効化 試してみる パーソナルアクセストークンの作成 イメージの push イメージの権限変更 認証なしで public イメージの pull イメージの削除 GitHub Actions から Git

                                                                              GitHub Container Registry 入門 - 生産性向上ブログ
                                                                            • 歴代チャットボットと最近のLLMのまとめ - Qiita

                                                                              LLMs The History of Chatbots ELIZA (1966) 初期の人工知能プログラムのひとつ。 ルールベースの簡単なパターンマッチングで返答していた。 心理療法士の会話を模したELIZA(DOCTOR)が有名。 PARRY (1972) PARRYは偏執病的統合失調症患者をシミュレートしようとしたもの。 ELIZA(DOCTOR)と通信し話題となった。 Jabberwacky (1982, 1988, 1997) ユーモラスな人間同士の自然な会話をシミュレートすることを目的としていた。 ユーザーとの会話の大規模なデータベースを構築し、言語と文脈を学習することができた。 プロジェクト自体は1982年から開始されていたが、当初は学習機能は有していなかった。 ローブナー賞を2005年(George)、2006年(Joan)に受賞している。 ローブナー賞(Loebner P

                                                                                歴代チャットボットと最近のLLMのまとめ - Qiita
                                                                              • GitHub Actions ことはじめ - tech.guitarrapc.cóm

                                                                                GitHub Actions 以前調べたのですが、いろいろあって個人プロジェクトでサクッとビルドするのみに使っていました。 今回改めて調べを進めたのでメモ。 幾つかのリポジトリを GitHub Actions に移行したけど、記事にしようとまとめてたらやった内容以上に調べることになってめちゃめちゃ時間かかった。 目次 目次 TL;DR トレンド GitHub Actions の基本 使用条件 使用制限 料金 ホストランナーの指定 ハードウェアリソース インストールされるツール IP OSの選択 実行権限 ファイルパス 環境変数 シークレット GITHUB_TOKEN コンテキスト Artifact トリガーイベント Cache Actions 通知 YAML Getting started YAMLシンタックス on env jobs.<job_id>.needs jobs.<job_id

                                                                                  GitHub Actions ことはじめ - tech.guitarrapc.cóm
                                                                                • スタディサプリ最大のRailsアプリケーションにYJIT+pitchforkを導入してメモリ使用量を劇的に削減するまで - スタディサプリ Product Team Blog

                                                                                  こんにちは。SREのkyontanです。Rubyが大好きなのでRubyの話をします。ちなみにリクルートはRubyKaigi 2024へGold Sponsorとして協賛しています! *1。ぜひ沖縄でお会いしましょう。 これはあるアプリケーションのメモリ消費量を示すグラフなのですが、まさかgemを入れ替えるだけでこんなに嬉しい変化が見られるとは思っていませんでした。今日はそんなgemの話をします。 話は遡って2023年4月のある日、インターネットを眺めていたところ、ShopifyがpitchforkというOSSを公開したという情報が目に留まりました。 調べてみると、どうやら著名なRackサーバー実装の1つであるunicornの派生版であり、メモリ使用量の削減に特化しているらしいのです。 github.com これはスタディサプリ小中高のあのリソースドカ食いマイクロサービス第一位である api

                                                                                    スタディサプリ最大のRailsアプリケーションにYJIT+pitchforkを導入してメモリ使用量を劇的に削減するまで - スタディサプリ Product Team Blog