並び順

ブックマーク数

期間指定

  • から
  • まで

281 - 320 件 / 503件

新着順 人気順

Writeの検索結果281 - 320 件 / 503件

  • 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
      • Railsのモデル名をすべて変更した話 - SmartHR Tech Blog

        SmartHRでは開発にRuby on Railsを広く採用しています。 今日は負債解消のために、開発しているサービスでRailsのモデル名をすべて変更した話を紹介します。 既存のモデル構造のつらみ 私達が開発しているサービスでは、モデルの親子構造が分かりやすいということで、モデルをネストした構造にしていました。 例えば、 User に紐づくプロフィール画像 User::ProfileImage は、 app/models/user/profile_image.rb に配置する具合です。 パッと見の構造が分かりやすいのですが、時が経つにつれて次のようなつらさが顕在化してきました。 Railsの規約(推奨ルールのようなもの)に則っていないので、関連定義が冗長になる テーブル名が長くなる。 外部キーや関連名が長くなる。 関連名と外部キー名が一致せず、カラムを呼び出したいときにDB定義を見ないと

          Railsのモデル名をすべて変更した話 - SmartHR Tech Blog
        • ちょっとJavaのsynchronizedをGoに移植しようとしたはずが、なぜか1万文字の作文ができた - エムスリーテックブログ

          AI・機械学習チームのブログリレーも9日目になりました。同チームの横本@yokomotodです。 本日はJavaとGoを題材に並行プログラミングまわりの自由研究をしたお話をしてみたいと思います。 3部構成で、パート1では発端となった「排他制御」について、パート2では「メモリの可視化」について、それぞれJavaとGoを比べてみました。 最後にパート3では、それらの動作を規定する「メモリモデル」について、わかりやすく解説されているリソースを紹介します。 長過ぎる! 3行で!! パート1: synchronized = 「排他制御」? Java synchronized vs Go sync.Mutex Goで再入可能なロック? 仮にGoで再入可能なロックを実装するなら? Javaが再入可能を選択した理由 パート2. sycnhronized = 「排他制御」+「メモリ可視性の保証」 Javaの

            ちょっとJavaのsynchronizedをGoに移植しようとしたはずが、なぜか1万文字の作文ができた - エムスリーテックブログ
          • 今日から始める「システム監視」。大量トラフィックのシステムを安定して運用する知見をアソビューのSREに学ぶ - Findy Tools

            公開日 2024/08/16更新日 2024/08/15今日から始める「システム監視」。大量トラフィックのシステムを安定して運用する知見をアソビューのSREに学ぶ はじめにアソビュー株式会社では、アソビュー!という電子チケットを販売するサイトを運営しています。 システムを安定稼働させるためには、日常的にシステムの状態を監視して、問題があれば調整するというプロセスを繰り返すことが必要不可欠です。本記事では、アソビュー株式会社において、どのような体制でこの安定稼働を実現しているかということを書くことによって、同じようにシステムを安定稼働させたいと日々考えておられる方々を想定読者として、そのノウハウを共有しようと思います。 安定稼働をするために必要な要素 人間の健康管理のために必要なことシステムを安定稼働するために必要なことというのは、人間が健康に生きていくためにやっておいたほうがいいことと共通

              今日から始める「システム監視」。大量トラフィックのシステムを安定して運用する知見をアソビューのSREに学ぶ - Findy Tools
            • Slackで動くChatGPTのチャットボットをGoogle Apps Script(GAS)でサクッと作ってみる

              Slackで動くChatGPTのチャットボットを作りたい 本記事では、Slackで下記仕様を実現できるChatGPTのチャットボットをGoogle Apps Script(GAS)でサクッと作成していきます。 botが所属するSlackのチャンネル内でメンションされると、スレッドで返信する botとのダイレクトメッセージの場合は、メンション無しでもスレッドで返信する botが参加しているスレッド内でのメッセージには、メンション無しでも(スレッド内の会話内容を読み取った上で)返信する また、下記項目も自由に設定することができます。何でも明るく回答してくれる社内のアイドル的なbotを作ってみるのも良いかもしれません。 botのアイコン、振る舞い(人格・役割など)の設定 gpt-3.5-turboやgpt-3.5-turbo-16kなどのGPTモデル設定 今回のbotは、非エンジニアの方でも作成

                Slackで動くChatGPTのチャットボットをGoogle Apps Script(GAS)でサクッと作ってみる
              • ログ基盤のFluentdをFluent Bitに移行して監視ツールを実装した話 - Mirrativ Tech Blog

                はじめまして、Azuma(@azuma_alvin)です。現在大学院の1年生で、2024年2月から4ヶ月間ミラティブのインフラチームにインターンとして参加しました。普段はインフラやMLOpsといった領域に興味があり、最近はVim環境の整備がマイブームです。 本記事では、ログ基盤をFluentdからFluent Bitへ部分移行した経緯とその2種類の監視ツールの実装についてお話しします。 記事の最後に、インターンから見たインフラチームの特徴と私が4ヶ月間で学んだことを紹介しています。興味がある方は末尾までスクロールしてぜひご覧ください。 1. 背景と目的 2. ミラティブのログ基盤について 3. ログ欠損の原因調査 Fluentdのバッファリングの仕組み fsnotifyを用いたバッファリングの観察 負荷試験 日付時刻フォーマットとワイルドカードによるログ欠損 ログ保存とサーバータイムスタン

                  ログ基盤のFluentdをFluent Bitに移行して監視ツールを実装した話 - Mirrativ Tech Blog
                • Herokuにあった個人アプリを軒並み対応した - くりにっき

                  背景 やったこと1. 廃止 やったこと2. GCPに移行 ユースケース図 URLベースで見たユースケース図 実行環境で見たユースケース図 実際にGCPに移行したアプリ達 Cloud Run Cloud Functions AppEngine GCP移行した全てに共通してること やったこと3. CircleCIに移行 付録A. 道のり 付録B. 調査メモ(移行時に参考にしたドキュメントやサービスなど) 無料プラットフォームがまとまってるドキュメント ElephantSQL (PostgreSQL) PlanetScale (MySQL) Redis Enterprise Cloud 付録C. Redisを雑にFirestoreに置き換えたらクラウド破産しかけた 2022/09/22 20:45ブコメレス 背景 Herokuの無料プラン終了のため10個以上あった個人アプリを1ヶ月くらいかけて色

                    Herokuにあった個人アプリを軒並み対応した - くりにっき
                  • Aurora MySQL のバックアップは本当にそれでいいのだろうか? | CyberAgent Developers Blog

                    技術本部 サービスリライアビリティグループ(SRG)の長谷川 @rarirureluis です。 #SRG(Service Reliability Group)は、主に弊社メディアサービスのインフラ周りを横断的にサポートしており、既存サービスの改善や新規立ち上げ、OSS貢献などを行っているグループです。 また Amazon Aurora MySQL(以下:Aurora MySQL)の話です。何でこんなに Aurora MySQL に関する記事ばっか書いてるのか僕も分かりません。 前回の Aurora MySQL のアップグレード方法のベストプラクティスはこちらです。 RDS Graviton2 に少ないリスクで切り替える方法を考えてみる【アップグレード編】 | CyberAgent Developers Blog 今回はバックアップについてです。 そのクラスター、間違ったクエリ流したときに

                      Aurora MySQL のバックアップは本当にそれでいいのだろうか? | CyberAgent Developers Blog
                    • Pull Requestの質を向上させるために行った戦略/戦術の話 - JMDC TECH BLOG

                      株式会社JMDCでモバイルアプリエンジニアをやっている @mrtry です。入社した当初、モバイルアプリチームのエンジニアは私一人だったのですが、現在では4人になりました。最近はPull Requestのレビュー数も爆増しており、とても疲弊しがちです(嬉しい悲鳴)。たいへんポイントを減らすために、最近Pull Requestまわりの運用を整えたので、今日はその話をしたいと思います。 Pull Requestのレビューがたいへん 現在、モバイルアプリチームでは、3つのプロダクトの開発をしています。各プロダクトに1名ずつassignされており、リードエンジニアとして私が一通りレビューをしている状況です。そんなこともあり「Pull Requestのレビューがたいへん」というのが最近の悩みでした。 Pull Requestのレビューをするとき、私は以下のような観点でレビューしています。 機能仕様レ

                        Pull Requestの質を向上させるために行った戦略/戦術の話 - JMDC TECH BLOG
                      • GitHub ActionsでAWSの永続的なクレデンシャルを渡すことなくIAM Roleが利用できるようになったようです | DevelopersIO

                        GitHub ActionsでAWSの永続的なクレデンシャルを渡すことなくIAM Roleが利用できるようになったようです アクセスキー、撲滅してますか? ナカヤマです。 目黒方面より、以下のような福音が聞こえてきました。 何がどのくらい最高かと言いますと! GitHub Actions に AWS クレデンシャルを直接渡さずに IAM ロールが使えるようになることがまず最高で! クレデンシャル直渡しを回避するためだけの Self-hosted runner が必要なくなるところも最高です!!✨✨✨ https://t.co/IUQmfzkIB0 — Tori Hara (@toricls) September 15, 2021 元ネタはこちら。 Ok I blogged about it. That's how excited I am. 1. Deploy this CFN templ

                          GitHub ActionsでAWSの永続的なクレデンシャルを渡すことなくIAM Roleが利用できるようになったようです | DevelopersIO
                        • 「ベタープログラマ」を読んだ - Magnolia Tech

                          原著が出てたときから割と気になっていた「ベタープログラマ」を読んだ。 全体的な感想 第Ⅰ部はコードスタイルや、不要なコードの存在、テストコードを書く話など、非常に実践的な内容が多かった。 第Ⅱ部は割と考え方というか、思想的な話になっていって、第Ⅰ部をきちんと読んで危機感を持って行動を変えられる人であれば自然とそこに到達するのでは?と思った。 まずは第Ⅰ部をしっかり読んで、自分の置かれた環境との差異や、これから行動することを書き出す、みたいな読み方をすると良い。 第Ⅲ部以降は、もう完全に生き方というか、エンジニアとしての振るまいや、哲学の話になってくるので、一気に通読する、というより少し間を置いて拾い読みしながら読み進めて行くと良いかも。 流し読みしても全然役に立たないタイプの内容なので、読書メモは必ず書いた方がいいと思うし、書かれていることが万人にとって正解、といった類いのものでもないので

                            「ベタープログラマ」を読んだ - Magnolia Tech
                          • OCaml でゲームボーイエミュレータを書いた話 - Qiita

                            はじめに ブラウザ上で動くゲームボーイエミュレータを OCaml で書きました。以下のページで試せます。 デモページ いくつかの homebrew ROM も一緒になっているのでいろいろ遊んでみてください。おすすめは「Bouncing ball」と「Tobu Tobu Girl」です。最近のスマホならだいたい安定して 60 FPS 出るはずなので、スマホでも遊べます。 レポジトリはこちらです。 スクリーンショット なぜ OCaml でゲームボーイエミュレータ?新しいプログラミング言語を学ぶ過程で以下のように思ったことはないでしょうか? 簡単なプログラムなら書けるが、中規模以上のコード1をどうやって書けばよいのか分からない 発展的な言語機能2も勉強しなんとなく理解した気になったが、実践のなかでどのように活用すればいいのかが分からない OCaml を本格的に勉強し始めてた数ヶ月前の筆者はまさに

                              OCaml でゲームボーイエミュレータを書いた話 - Qiita
                            • Go製ミドルウェアのメモリリークを解決した話 - Mirrativ Tech Blog

                              インフラ・ストリーミングチームの id:udzura (@udzura)です。今回は、Goミドルウェアのメモリリークを見つけて解決する際に、どのようなプロセスを踏んでいったかを解説します。 Go製のミドルウェアの概要 ミラティブでは、Webアプリケーションのみならず、ミドルウェアに相当する部分についても必要なものは内製しています。その中の一つに、社内で「Radisha」と呼んでいる各種集計とキャッシュなどを行うためのミドルウェアがあります。Radishaは以下のような特徴を備えています。 GET、SET、SETEXなど基本的なRedis互換のコマンドを実装している。そのため、既存のRedisクライアントライブラリから操作が可能である。 ランキング集計、一定時間内のアクセス集計などが行えるよう、Redis にない独自のコマンドを実装している。 高い可用性を志向しており、オンメモリのデータは

                                Go製ミドルウェアのメモリリークを解決した話 - Mirrativ Tech Blog
                              • 22 Hacking Sites To Practice Your Hacking Skills

                                22 Hacking Sites To Practice Your Hacking Skills �8�U Taken from: https://hackerlists.com/hacking-sites/ 22 Hacking Sites, CTFs and Wargames To Practice Your Hacking Skills InfoSec skills are in such high demand right now. As the world continues to turn everything into an app and connect even the most basic devices to the internet, the demand is only going to grow, so it’s no surprise everyone wan

                                  22 Hacking Sites To Practice Your Hacking Skills
                                • 「Auto-GPTとAgentGPTは別物です」という話

                                  ChatGPTを皮切りとしたAIブーム。流石にちょっと過熱気味になってきた印象があります。 中でも気になるのは「AutoGPT」の話題。Twitter上だと、 他にも、AgentGPTを使って「AutoGPTすごい!AGIだ!」としている投稿を多く見かけました。 ですが、「AgentGPTはAuto-GPTのブラウザ版」ではありません(少なくとも2023年4月15日時点は)。 両者とも似たアプローチはとっていますが、Auto-GPTは 「GPT-4に情報探索・処理や長期記憶の手段を持たせている」 という点が大きく異なります。 AgentGPTは、 ユーザーが設定したゴールをAIにいくつかの問い(タスク)に分解させる それぞれの問いに回答を出させ、その結果を踏まえて追加で必要な問いを考えさせてタスクリストに追加する という自問自答のループを回すことで思考を深めています。 一方、Auto-GP

                                    「Auto-GPTとAgentGPTは別物です」という話
                                  • Ultimate Guide to Improving MySQL Query Performance

                                    MySQL is certainly a powerful open source database management system, but even the most robust engine struggles when queries take an eternity to execute. For DBAs and developers, improving MySQL query performance is an ongoing goal. Efficient query performance is crucial for ensuring the smooth operation and optimal user experience of applications powered by MySQL databases. When businesses rely h

                                      Ultimate Guide to Improving MySQL Query Performance
                                    • M1MacでOllamaを試したら爆速で驚いた

                                      はじめに いつもNVIDIAが載っているWindowsで楽しくLLMを動かしたり生成AIライフを楽しんでいますが、今回はMacOSでOllamaを入れてLlama3を動かしてみました。 スペック: Apple M1 Pro(16 GB) 少し前だとCUDAのないMacでは推論は難しい感じだったと思いますが、今ではOllamaのおかげでMacでもLLMが動くと口コミを見かけるようになりました。 ずっと気になっていたのでついに私のM1 Macでも動くかどうかやってみました! 結論、爆速で推論できていたのでとても驚きました。OSS開発に感謝です! Ollamaとは OllamaとはローカルでLLMを動かすことができるアプリケーションです。 以下からダウンロードできます。 MacOSとLinuxで使うことができます。Windowsもプレビュー版があるみたいです。 #いざ推論 ダウロードができたらシ

                                        M1MacでOllamaを試したら爆速で驚いた
                                      • MVCCとInnoDBでの実装について - shallowな暮らし

                                        こんにちは。id:shallow1729です。先日はredo logを中心にストレージエンジンについて解説を行いましたが、今回は同時実行制御、特にMySQLなど多くのデータベースで採用されているMultiversion Concurrency Control(MVCC)という技術にフォーカスしようと思います。 今回の記事ではまず前半でMVCCというものがどういうものかについて解説をして、次にMVCCの実装方法についてInnoDBの実装を参考にしながら見ていこうと思います。前提知識はあまりいらないと思いますが、リレーショナルデータベースの操作経験はあったほうがいいかなと思います。また、前回のストレージエンジンの解説で述べた内容はあまり説明しないので、軽く目を通してもらえると頭に入りやすいかなと思います。 shallow1729.hatenablog.com トランザクションの原子性 まずトラ

                                          MVCCとInnoDBでの実装について - shallowな暮らし
                                        • RustでOSを書いた

                                          はじめに RISC-V CPU を FPGA 上に実装して、マイクロカーネル OS を Rust で書いて動かしてみました。 CPU について RISC-VとChiselで学ぶ はじめてのCPU自作 に沿って RISC-V の CPU を作り、機能をエンハンスしました。 乗除算命令、RVC命令、ビット拡張命令の一部を追加 7段パイプライン化 DRAM コントローラ 4KB命令キャッシュ、8KBデータキャッシュ 2ビット分岐予測 周辺コントローラ実装(SDC、UART、タイマー、割込コントローラ) Arty A7-35T という FPGA ボード上で動作させています。 スーパーバイザーモードは実装していないので、仮想メモリは使えません。みんなで仲良くメモリを共有します。 CPU の実装はこちらに置いてあります。書籍のサポートリポジトリの fpga 実装版を fork して機能追加しています。

                                            RustでOSを書いた
                                          • C言語でSQLiteのクローンを作るチュートリアルやった - valid,invalid

                                            2019年12月の冬休みに1週間程かけて"Let's Build a Simple Database"という、C言語でSQLiteのクローンを作るチュートリアルをやりました。この存在を教えてくれた同僚に感謝 :pray: cstack.github.io チュートリアルの内容 Richard Feynman先生の“What I cannot create, I do not understand.”という言葉が掲げられているように、データベースを作ることでデータベースをより深く理解することに主眼が置かれているチュートリアルです。 これは重要事項説明かつタイトル詐欺に関する謝罪なのですが… 残念ながらこのチュートリアルは完成しておらず、Part 13が2017-11-26に公開されたのを最後に更新が止まってしまっており、以下の13章しかありません。 Part 1 - Introduction

                                              C言語でSQLiteのクローンを作るチュートリアルやった - valid,invalid
                                            • Understanding how Facebook disappeared from the Internet

                                              This post is also available in 简体中文, Français, Deutsch, Italiano, 日本語, 한국어, Português, Español, Рyсский and 繁體中文. The Internet - A Network of Networks “Facebook can't be down, can it?”, we thought, for a second. Today at 15:51 UTC, we opened an internal incident entitled "Facebook DNS lookup returning SERVFAIL" because we were worried that something was wrong with our DNS resolver 1.1.1.1.  But as

                                                Understanding how Facebook disappeared from the Internet
                                              • Twitter、長文(2500文字)コンテンツ投稿「Twitter Notes」のテスト開始

                                                タイトルは100文字まで、本文は2500文字までという制限がある。完成したら[Publish]ボタンをクリックして投稿する。投稿したNoteはTwitterのタイムラインに「Note card」として表示され、一般ユーザーはこのカードをタップすることでNote全体を開ける。 Twitterのプラットフォームには、立ち上げ段階では投稿の長さは140文字までという制限があった。2017年に280文字に拡大し、より長い文章を投稿するにはスレッドを使う必要がある。Notesはこの制限を大きく超え、米Mediumなどのブログサービスに近い。これまでMediumなどでコンテンツを公開し、それをツイートで告知していたライターは手間が省けそうだ。なお、Noteにはツイート同様に一意のURLがあり、Webブラウザでも表示できる。 投稿したNoteは投稿後に編集することも可能だ。なお、Twitterはツイート

                                                  Twitter、長文(2500文字)コンテンツ投稿「Twitter Notes」のテスト開始
                                                • [翻訳]ShopifyにおけるRuby on Railsで速いコードを書く方法

                                                  こちらの記事は翻訳記事となります。 原著者の許諾を得て翻訳・公開しております。 英語記事: How to Write Fast Code in Ruby on Rails原文公開日: 2019/10/08著者: Gannon McGibbonURL: https://engineering.shopify.com/blogs/engineering/write-fast-code-ruby-rails はじめにShopifyでは、ほとんどのプロジェクトの開発フレームワークにRuby on Railsを使用しています。 RailsとRubyはともにパフォーマンスに対するスティグマ(偏見)が存在します。 多くの個人や企業が、Rails以外での解決方法を探しています。 しかし一方で、私たちShopifyではRuby on Railsを採用して、毎分何百万ものリクエスト(requests per

                                                    [翻訳]ShopifyにおけるRuby on Railsで速いコードを書く方法
                                                  • マイグレーションしないRDBMS

                                                    README.md マイグレーションしないRDBMSが欲しい! 課題 PostgreSQLなどの既存のRDBMSはスキーマを持つ。スキーマがあることは良いことだが、このスキーマのライフサイクルはアプリケーションコードのライフサイクルと乖離しがちで、結果として以下のような問題が発生する。 特に自動化をしない場合はマイグレーションをデプロイとは別に行う必要が発生する。これにより、 シンプルに作業が面倒。 承認フローが追加で必要になる。または、デプロイはレビューの管理下に置かれているのにマイグレーション側が適切に管理されないなどのミスマッチが起きる。 マイグレーション忘れ、マイグレーションのリバート忘れのリスクがある。 異なるバージョンのアプリケーションは同時に存在できるがスキーマは同時に存在できない。これにより、 ある種のスキーマ変更はローリングデプロイ環境下では実質的に実行できない。 (テー

                                                      マイグレーションしないRDBMS
                                                    • 「ショタ同人誌を用いた自慰」に関するイギリスの研究が査読付き学術誌に掲載されるも物議を醸し削除される

                                                      イギリスの名門大学・マンチェスター大学の研究者が、少年のキャラクターを描いた日本の漫画で自慰行為をした際の体験についてまとめた論文を査読付き学術誌に掲載して物議を醸し、論文が削除されました。 Removal notice: I am not alone – we are all alone: Using masturbation as an ethnographic method in research on shota subculture in Japan - Karl Andersson, 2022 https://doi.org/10.1177/14687941221096600 University investigates PhD student’s paper on masturbating to comics of ‘young boys’ | UK news | The

                                                        「ショタ同人誌を用いた自慰」に関するイギリスの研究が査読付き学術誌に掲載されるも物議を醸し削除される
                                                      • アセンブラをゼロから作って自作コンパイラをアセンブルするまで(日記)

                                                        GNU Assembler互換(サブセット)のアセンブラをGo言語でフルスクラッチで作ってみました。 開発22日目で自作Goコンパイラ(をセルフホストしたときに出力される20万行のアセンブリ)をアセンブルすることに成功しました。 どうやって作ったかというと、小さいコードを GNU Assembler (以下 as) に食わせて出力されたバイナリを観察する、を繰り返して中のロジックを推定し再現しました。as の実装は見ていません。(一瞬見たけど巨大すぎて何もわからなかった) アセンブラ自作は、やってみるとコンパイラ自作よりだいぶ簡単でハマりポイントも少ないので、学習テーマとしてはおすすめです。2箇所ほど難所(命令エンコーディングのルールを理解するのと、ジャンプ命令の最適化)がありましたがそれ以外はさくさく楽しく作れました。 作ってみた結果、アセンブリ言語の理解が深まったのはもちろんのこと、E

                                                          アセンブラをゼロから作って自作コンパイラをアセンブルするまで(日記)
                                                        • マイクロカーネルとL4について (Yabaitech.tokyo, Writing a (micro)kernel in Rust in 12 days より) - 豆腐の豆腐和え

                                                          怒田さん*1のこの記事、「CとRustで一から作るマイクロカーネルOS」のおかげで、マイクロカーネルとRustが今ホットです。そこで、技術書典6, 7に出展したYabaitech.tokyoにて連載している、"Writing a (micro)kernel in Rust in 12 days"から、マイクロカーネルとL4についての話を書いた"1日目"の記事の一部冒頭を、いい機会なので再編集してご紹介します。「マイクロカーネルってタネンバウム教授とリーナスの論争のあれだよね?」とか、「L4ってなに?」って方に読んでいただいて、L4ファミリーとマイクロカーネルについて簡単にご紹介できればなと思います。 ちなみに抜粋元の上述の記事は、僕が怒田さんと同じようにRustでマイクロカーネルを書いてみよう、という趣旨の企画です。なので、Yabaitech.tokyoの方もよろしくお願いします!ただし、

                                                            マイクロカーネルとL4について (Yabaitech.tokyo, Writing a (micro)kernel in Rust in 12 days より) - 豆腐の豆腐和え
                                                          • gihyo.jp編集部におけるMarkdown記法 | gihyo.jp

                                                            本稿では、gihyo.jp編集部で利用しているMarkdownファイルの記述方法を主に解説します。 注意:gihyo.jp編集部内でのみ採用しているMarkdownの書き方をまとめた文書を、記事の体裁を取って公開したものです。なお、記事公開後に記述方法を追加・変更する可能性もあります。 Markdownとは? はじめに、筆者の把握している範囲でMarkdownについて概説しておきます。 近年は一般向けのウェブサービスやテキストエディタでも利用されてきているMarkdown。端的に言えば、テキストファイル上で文書を書くための構文です。文書の読みやすさに焦点を当てており、Markdown形式のテキストファイル(=Markdownファイル)をそのまま見れば文書とその構造が理解できるように、Markdown特有の編集記号や字下げを用いて表現します。また、MarkdownファイルをHTMLファイルに

                                                              gihyo.jp編集部におけるMarkdown記法 | gihyo.jp
                                                            • パフォーマンスチューニング9つの技 ~「書き」について~|PostgreSQLインサイド

                                                              今回の記事は、パフォーマンスチューニングの観点と仕組みを理解することに主眼を置いています。具体的な対処方法についてはシステムによって異なるため、マニュアルの確認や、各種チューニングサービスのご利用をご検討ください。なお、この記事で対象にしているPostgreSQLのバージョンは9.5以降です。 本記事の構成 本記事「パフォーマンスチューニング9つの技」は以下4つの記事から構成されています。他の記事も併せてご覧ください。 パフォーマンスチューニング9つの技 ~はじめに~ パフォーマンスチューニング9つの技 ~「書き」について~(本記事) パフォーマンスチューニング9つの技 ~「探し」について~ パフォーマンスチューニング9つの技 ~「基盤」について~ 1. パフォーマンスチューニングの「書き」とは 一般的にデータベースは、大量データを扱い、大量の問い合わせや更新を高速に処理し、さらに障害発生

                                                                パフォーマンスチューニング9つの技 ~「書き」について~|PostgreSQLインサイド
                                                              • 未だ現役なPerl5.8 & MySQL4.0とどう戦うか? ライブドアブログが生んだカオスとレガシーからの脱却

                                                                未だ現役なPerl5.8 & MySQL4.0とどう戦うか? ライブドアブログが生んだカオスとレガシーからの脱却 Inside of Blog 15年熟成されたサービスの光と影、カオスとレガシーへの挑戦 #2/2 2019年11月20、21日の2日間、LINE株式会社が主催するエンジニア向け技術カンファレンス「LINE DEVELOPER DAY 2019」が開催されました。1日目は「Engineering」をテーマに、LINEの技術の深堀りを、2日目は「Production」をテーマに、Web開発技術やUI/UX、プロジェクトマネジメントなど、より実践的な内容についてたくさんのプレゼンテーションが行われました。「Inside of Blog; 15年熟成されたサービスの光と影、カオスとレガシーへの挑戦」に登壇したのはLINE 開発Bチームの大森貴博氏。後半パートとなる今回は、現役で稼

                                                                  未だ現役なPerl5.8 & MySQL4.0とどう戦うか? ライブドアブログが生んだカオスとレガシーからの脱却
                                                                • Javaを中心に偏見ベースでプログラミング言語の関係をまとめた - きしだのHatena

                                                                  オブジェクト指向言語の話をするときに便利なように、Javaを中心にプログラミング言語をまとめてみました。 Javaに影響与えるか、Javaから影響を受けるか、という感じですね。 Simula オブジェクト指向はここから始まったと言われています。 クラス、オブジェクト、継承、仮想関数(多態)といった、オブジェクト指向の基本要素が備わっていました。 ただし、「オブジェクト指向」という言葉は生まれていません。 Smalltalk Simulaから発想を得て「オブジェクト指向」という言葉を生んだのはアラン・ケイでした。 しかし、モデルとしてはSimulaとは異なりメッセージングを主体としたものでした。また、アラン・ケイの「オブジェクト指向」はプログラミングのパラダイムだけではなく、人がコンピュータをどのように扱うかというメタファであり、ダイナブックというハードウェアやそのユーザーインタフェースを含

                                                                    Javaを中心に偏見ベースでプログラミング言語の関係をまとめた - きしだのHatena
                                                                  • AstroでWordPressを爆速Headless化してみる - Qiita

                                                                    最近流行りのAstroフレームワークで、WordPressの静的Headless化がかなりお手軽にできたのでまとめてみました。 開発環境 Astro 2.0 WordPress 6.1.1 Local node 18.12.1 Mac OS 13.2(Ventura) Visual Studio Code(Astroプラグイン入り) Astroとは? Astroは、コンテンツにフォーカスした高速なWebサイトを構築するためのオールインワンWebフレームワークです。 (公式ドキュメントより) LocalでWordPressを構築 まずLocalを使って、ローカル環境にWordPressを構築します。 サイト名 Astro Blog(お好みで) サイトドメイン astro-blog.local WordPressの設定 WP AdminでWordPressのダッシュボードを立ち上げ、いくつかの

                                                                      AstroでWordPressを爆速Headless化してみる - Qiita
                                                                    • Go でトランザクションをフルスクラッチで実装した - kawasin73のブログ

                                                                      一歩ずつ一歩ずつ前へ進んでいく、確実に。どうも、かわしんです。 到底 1 記事に収まるような内容ではなく長いので、トランザクションの作り方に興味のない方は途中の「なぜ Go なのか」まで読んでいただければ嬉しいです。 この記事は、Go2 Advent Calendar 2019 の 7 日目と セキュリティキャンプ 修了生進捗 #seccamp OB/OG Advent Calendar 2019 の 7 日目を兼用しています。 さて、僕の興味は必要になったライブラリやミドルウェアなどを自作して、作りたいプロダクトを完成させることです。必要なコンポーネントがないからといってプロダクトを作るのを諦めたり妥協したりはしたくありません。 多くのアプリケーションではデータベースは重要なコンポーネントです。大抵のアプリケーションは MySQL や Postgres、Redis など既存のデータベース

                                                                        Go でトランザクションをフルスクラッチで実装した - kawasin73のブログ
                                                                      • Goodbye to sequential integers, hello UUIDv7!

                                                                        At Buildkite, we've historically stored our data with two keys. We use sequential primary keys for efficient indexing, and UUID secondary keys for external use. The upcoming UUIDv7 standard offers the best of both worlds; its time-ordered UUID primary keys can be utilized for indexing and external use. This blog post will take you on the journey Buildkite took that led to our eventual adoption of

                                                                          Goodbye to sequential integers, hello UUIDv7!
                                                                        • ”Abuse(虐待)”, "Torture(拷問)"・・・オリンピック開閉会式楽曲提供者の過去の障害者虐待問題とキャンセル・カルチャー - WRITE, DREAM, LIVE

                                                                          画像は本文とは関係の無いWalmartで見かけた食用「蛙の足」 小山田圭吾さん(akaコーネリアス)の例の問題、海外でも報じられ始めていますね。 ということは、世界の障害者やその家族の方の中で、私のようにうっかり彼の過去の鬼畜蛮行を読んでショックを受けて落ち込む人が出てきてしまうわけで・・・。彼に正義の鉄槌を下したい人たちは、英語ニュースに「この問題を取り上げてくれてありがとう」とかSNSでコメントをつけていますが、こういう報道が拡がると悲しい思いをする人の波もひろがるので、複雑な心境です。でも、これが無かったことにされるのも納得いかないというか・・・。 本人がスパッとオリンピックの音楽チームから自分の名前を外せば、それ以上こうして騒がれることも減り、あの鬼畜蛮行が衆目に触れることもなくなり、傷つく人も減ると思うんです。「今からやめたら周囲に迷惑がかかる」というのであれば名前だけ外して陰で

                                                                            ”Abuse(虐待)”, "Torture(拷問)"・・・オリンピック開閉会式楽曲提供者の過去の障害者虐待問題とキャンセル・カルチャー - WRITE, DREAM, LIVE
                                                                          • マインクラフトでデフォルトで表示される「あの風景」にたどり着くためのプロジェクト「pack.png」がついに約束の地にたどり着く

                                                                            累計販売本数が2億本を超えた人気ゲーム「Minecraft(マインクラフト)」には、「pack.png」と呼ばれる多くのユーザーが目にしたことのある風景が存在します。この風景にたどり着くためのプロジェクトが「pack.png」で、ついに目的の風景に到達しました。 pack.png - The Project https://packpng.com/ Pack.png - A Search By The Minecraft Community https://docs.google.com/document/d/1PpZqHWXPLjOsXf_T7uyH4rWuxUMxzBlxvv5gm19P_Z8/ マインクラフトではゲームをプレイする際に、プレイヤーが遊ぶ世界である「ワールド」がランダムに生成されます。このワールドは281兆4749億7671万656種類も存在しており、「シード値」と呼ば

                                                                              マインクラフトでデフォルトで表示される「あの風景」にたどり着くためのプロジェクト「pack.png」がついに約束の地にたどり着く
                                                                            • Apple M1の参照カウントは本当に速いのか - yamasaのネタ帳

                                                                              Apple M1に関して以下のようなツイートが話題になった。 18/ Another "magic" trick is how their "Swift" programming language uses "reference counting" instead of the "garbage collection" in Android. They did something in their CPU to double the speed of reference counting.— Robᵉʳᵗ Graham😷, provocateur (@ErrataRob) 2020年11月26日 fun fact: retaining and releasing an NSObject takes ~30 nanoseconds on current gen Intel, and ~6.

                                                                                Apple M1の参照カウントは本当に速いのか - yamasaのネタ帳
                                                                              • Socket Supply Co.

                                                                                npm npm i @socketsupply/socket -g curl . <(curl -s -o- https://socketsupply.co/sh) iwr iwr -useb https://socketsupply.co/ps | iex Write Once, Run Anywhere Ship apps faster than anyone else using one skill set, and one codebase. You can even turn your existing web app into a native Socket app. Connect Everyone Our modern P2P protocol makes it possible for users anywhere in the world to communicate

                                                                                  Socket Supply Co.
                                                                                • 大阪都構想の投票結果を区ごとに分析してみた - Qiita

                                                                                  はじめに 私は現在大阪市に住んでおり、一昨日の都構想投票はテレビにかじりつきながら見ていました。 経過を見ていて思ったのが、区ごとの結果の差が顕著に出ており、分析対象として適したデータが得られそうだと感じたため、詳しく分析してみました。 ※下図はおおさか維新の会HP掲載の、都構想における新旧区分け GitHubに、使用したスクリプトやクレンジング後のデータをアップロードしています Qiitaのガイドラインにあるように、あくまで技術記事としての領分を超えないよう、政治的な深い考察は避け、得られた事実のみを列挙していこうと思います。 また、私は因果推論のような高度な分析のスキルは持ち合わせていないので、「さらに深い知見を得るためにはこうしたらいい」 というような手法に関するアドバイスがございましたら、コメント頂けると大変ありがたいです! 結論 結論に至るまでの手順は次章以降で述べますが、以下の

                                                                                    大阪都構想の投票結果を区ごとに分析してみた - Qiita