並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 44件

新着順 人気順

gcの検索結果1 - 40 件 / 44件

  • モバイルバッテリーが膨張した時の回収先を把握してますか?

    モバイルバッテリーが膨張した時の回収先を把握してますか? by Balshark 2024年6月25日 「あれ、このモバイルバッテリー膨張してない。。。?」 そう思ったのは出張明けの週末に家の掃除をしている時のことでした。筆者は仕事とプライベートの両方で家を空けることが多いため、一時期モバイルバッテリーを複数持ち歩いている時期がありました。さらにモバイルバッテリーを多用する中で、「もっと良いものがあるのではないか?」とAmazon等でセールがある度にとりあえず買うように。さながらミルクボーイの漫才のつかみの如く「こんなんなんぼあっても良いですからね」状態でした。 しかし、出張装備の軽量化を図ったり宿泊施設で夜間にモバイルバッテリーの充電を忘れても日中に案外問題がなかったり、等の理由でいつしかモバイルバッテリー自体を使うことがなくなっていました。ということが今回のバッテリー膨張の発端でした。

    • Goで解放したメモリが少しずつ戻ってくる現象 - knqyf263's blog

      情報を発信する人のところに情報が集まることを日々実感しているので、Linuxのメモリ管理に特に詳しいわけではないのですが最近遭遇した問題について自分の理解を書いておきます。ざっと調べても同じことを書いている人を見つけられなかったので、公開には意義があると考えています。識者の方がフィードバックをくださると嬉しいです。 ※ AIの出力をベースに書いているのでいつもと少し文体が違います。 背景 要約 調査 再現の難しさ Goアプリケーションの調査 pprofによる分析 GCログの調査 Linuxの調査 Goランタイムの調査 GoのGCとTHP khugepagedの問題 Goランタイムにおける回避策 回避策の削除 max_ptes_noneのデフォルト値について MADV_NOHUGEPAGEをやめた理由 調査内容まとめ 解決策 検証 C言語 Go言語 まとめ 背景 Go言語で書かれたOSSのア

        Goで解放したメモリが少しずつ戻ってくる現象 - knqyf263's blog
      • イラレの生成AIが凄いので Live - 2023/10/11 Adobe MAX 2023|CreativeEdge Vlog

        Adobe Illustraor 28.0に搭載された生成AI(ベクターグラフィックの生成)が衝撃的だったので、このページにまとめていきます。 イラレの生成AIの探求は以下の新しいページに掲載しています 新しいイラレ生成AI関連ページイラレの生成AIでハロウィンのイラストを描こう! イラレの生成AIでイラストを描くLive - 2023/10/14-15 Adobe Illustrator「イラレの生成AIを探求する」ライブ配信 イラレで生成したベクターグラフィック本日からロスアンゼルスでAdobe MAX 2023がスタートしましたが、遂にAdobe Illustrator(バージョン28.0)に「テキストからベクター生成 (Beta)」が実装されました。Adobe Fireflyのベータ版が登場した時から待機リストに掲載されていたので、いつ搭載されるのか注目していました。 参考:Ill

          イラレの生成AIが凄いので Live - 2023/10/11 Adobe MAX 2023|CreativeEdge Vlog
        • 時代がstaticおじさんに追いついてきた(追記あり) - きしだのHatena

          この文章みてください。 オレはもう20年以上システム業界にいるけどな、その長い経験から言うと、オブジェクト指向なんてものは、理論としては面白いけど、およそ実用的とは言い難いものだな。まぁ、例えばGUIのコンポーネントとかはオブジェクト指向に基づいて作られているようだから、そういうツールとかを作る人には必要なものなのかもしれない。しかし君たちがいずれ作ることになる業務アルゴリズムにはまったく無縁のものだと思ってもらって間違いない。どうもこの業界、オブジェクト指向でなければダメ、というような風潮がまかりとおっているけどな、オブジェクト指向なんか本当に使っている人はほとんどいないよ。オレも少し勉強してみたけど、カプセル化とかポリ何とかとか、どうにも利点が理解できなかったね。実際、実業務で使ったことなどないしな…… 「またお前、オブジェクト指向の話をしてるのか」と思ったかもしれませんが、2010年

            時代がstaticおじさんに追いついてきた(追記あり) - きしだのHatena
          • スーパーソング・ベスト6

            マルナカ「ナカマカナ」https://www.youtube.com/watch?v=vgcvg0Vm2Gc 気になるフレーズ:マルナカー マルナカー ナカマカナマルナカは四国や山陽エリアで見かけるスーパー。 観音寺市内のスーパーで昼食を済ませた際に耳にした。 その後3日くらいは上記フレーズが頭から離れなかった。 歌っているのは水森かおり。 マルナカ創立55周年記念コンサートでは生歌唱したらしい(https://ameblo.jp/kaori-mizumori/entry-12254604376.html)。うらやましい。 マックスバリュ「ウフフな生活マックスバリュ」https://www.youtube.com/watch?v=Ev-N-OFnLLc 気になるフレーズ:お魚 お肉 お惣菜 コロッケ 胃薬知っている人は多そう。マックスバリュでよくかかってるアレ。 他のスーパーよりも曲として

              スーパーソング・ベスト6
            • Rustでリレーショナルデータベースを自作したときの成果と反省と学び - Yoshisaurのメモ

              はじめに この記事では、個人プロジェクトとしてRust言語でリレーショナルデータベースを開発した経験(もう五ヶ月も前...)について、その成果と反省、得た学びを共有します。 DBMSを自作した理由 自分がDBMSの自作に着手したのは、『Designing Data-Intensive Applications』という本の内容を深く理解するためでした。 この本は、データシステムの設計と運用において最も大切な「信頼性」、「拡張性」、「保守性」を保証する方法論を、豊富な文献を引用しつつ、理論と実践の橋渡しを巧みに行いながら、丁寧に説明している名著です。読んだことがない人は速攻購入してくだい。本当にいい本です。 この本は、データベースの内部構造に関する話も豊富に含まれていたので、「データベース自作してみようか...」という気持ちになりました。 Rustを採用した理由 データベースの実装のついでに、

                Rustでリレーショナルデータベースを自作したときの成果と反省と学び - Yoshisaurのメモ
              • 0063 号 巻頭言

                DDD を理解したいあなたのための DDD 入門以前 Rubyist Magazine 63 号をお届けする。 突然のお知らせで恐縮だが、日本 Ruby の会の主たる事務所が東京から北海道に移転した。それもあってあまりまとまった時間がとれず、11 月のうちに書くはずだったのが気がつくと 12 月も半ばを過ぎていたので、今回は以前書きかけていた文章を発掘してお茶を濁したい。 Ruby とは直接関係がなくて恐縮だが、Ruby に限らずソフトウェア開発では現在でもちょくちょく話題になることがある、DDD についての話である。 ドメイン駆動設計こと DDD は 2020 年代のソフトウェア開発でもよく話題にされるが、率直に言うとストレートにポジティブな評価が行われているとは言い難い。 どちらかというと、ある種マニアックで、対象分野が制限されており、また初心者にはとっつきにくいところがある手法と思わ

                • <主張>教科書にLGBT 男女否定の授業にするな 社説

                  文部科学省の検定に合格し、令和7年度から使われる中学校の教科書で、LGBTなど性的少数者についての記述が増加することになった。 保健体育では、性的少数者に関連し「性自認」「性的指向」など学習指導要領の範囲外の内容が「発展的内容」として全ての教科書に掲載される。英語や社会科地理などの教科書にも関連した内容が入る。 性的少数者への差別をなくす教育は必要としても、男女の性差を否定するような行き過ぎた指導で、思春期の子供たちを混乱させてはならない。 検定結果によると、保健体育では「人間の性は単純に『男性』と『女性』に分けられるものではありません」などの説明とともに、合格した全3点の教科書が「性の多様性」について踏み込んだ内容を記述した。 性教育とは関係の薄い地理でも「性的少数者に配慮した社会へ」として、同性婚を法制化したニュージーランドなどの事例を好意的に紹介するコラムを掲載した教科書がある。社会

                    <主張>教科書にLGBT 男女否定の授業にするな 社説
                  • リリース頻度を毎週から毎日にしてみた - NTT Communications Engineers' Blog

                    目次 目次 はじめに NeWork とは リリース頻度変更の背景 それまでの運用 課題 実現方法 解説 日次でワークフローが起動するようにする main ブランチの HEAD にタグが付与されていなければ付与する develop に差分があれば main へのマージを自動で行う 細かな工夫点 main の内容を develop に自動で取り込む 祝日はリリースしないようにする 自動リリース・自動 develop → main マージの制御 Slack にリリース結果を通知する stg 環境に変更内容を通知する その他の考慮 上司への事前説明の省略 スプリントレビュー前のリリース リリースノート 品質面 リリース頻度を変えてみて おわりに はじめに こんにちは、NeWork 開発チームの藤野です。普段はオンラインワークスペースサービス NeWork のエンジニアリングマネジメントをしています

                      リリース頻度を毎週から毎日にしてみた - NTT Communications Engineers' Blog
                    • Rubyの並列並行処理のこれまでとこれから - クックパッド開発者ブログ

                      技術部の笹田です。今日で退職するので、バタバタと返却などの準備をしています。 本記事では、Rubyの並行並列処理の改善についての私の取り組みについて、おもに RubyKaigi 2022 と 2023 で発表した内容をもとにご紹介します。 並行と並列はよく似た言葉ですが、本記事では次のような意味で使います。 並行処理(concurrent processing)は、「複数の独立した実行単位が、待っていればいつか終わる(もしくは、処理が進む)」という論理的な概念で、古典的にはタイムシェアリングシステムなどが挙げられます。 並列処理(parallel processing)は、「複数の独立した実行単位のうちのいくつかが、あるタイミングで同時に動いている」という物理的な概念で、古典的には複数のCPU上で同時に実行させる、というものです。最近では、1つのCPU上で複数コアが同時に動いている、という

                        Rubyの並列並行処理のこれまでとこれから - クックパッド開発者ブログ
                      • BudouX: 読みやすい改行のための軽量な分かち書き器

                        .app 1 .dev 1 #11WeeksOfAndroid 13 #11WeeksOfAndroid Android TV 1 #Android11 3 #DevFest16 1 #DevFest17 1 #DevFest18 1 #DevFest19 1 #DevFest20 1 #DevFest21 1 #DevFest22 1 #DevFest23 1 #hack4jp 3 11 weeks of Android 2 A MESSAGE FROM OUR CEO 1 A/B Testing 1 A4A 4 Accelerator 6 Accessibility 1 accuracy 1 Actions on Google 16 Activation Atlas 1 address validation API 1 Addy Osmani 1 ADK 2 AdMob 32 Ads

                          BudouX: 読みやすい改行のための軽量な分かち書き器
                        • GopherがRust入門したので違いをまとめてみた

                          はじめに ウホウホ。 Rustを使い始めてちょうど2年くらい経って、すこしRustのことがわかってきたので、改めてGoとRustのそれぞれの違いを整理したいなと思いこの記事を書きました。 筆者はウェブ開発の経験しかないので、ウェブを中心にまとめています。 気づいたらかなりな量になってしまったのとGopher向けにRustを紹介するような記事になってしまいましたが、よければ読んでみてください。 筆者について Goを使い始めて7年ほど経っていて、これまでCLI/TUIツールをいくつか作ってきました。 スペシャリストではないですが、プロダクトでGoを書く分には特に問題ないレベルかなと思います。 Rustは2022年夏ころから使い始めてちょうど2年ほど経ちました。 なにかツールを作ったわけではないですが、勉強がてらにいくつか作ったもの・書いた本があります。 普通にRustを書く分には問題ないですが

                            GopherがRust入門したので違いをまとめてみた
                          • スタディサプリ最大の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
                            • RustでAPIサーバーを書くのが思ったより良い

                              最近いろんなところで採用事例が増えてきたRustですが、Webサービス開発でのAPIサーバーを書くのにRustは向いてないと言われたりします。Rustの第一のターゲットはシステムプログラミングでありGCがないためAPIサーバー開発でシビアなメモリ管理はしたくないというのは一理あるのですが、RustでAPIサーバーの開発を実際にやってみるとむしろ開発体験が結構いいなと感じます。パフォーマンスのために難しい所有権を無理にがんばるみたいなマイナスのイメージはほとんど当てはまらなかったです。 Rustの難しいライフタイム、所有権があまり出てこない Rustにおいて難しいとされるライフタイム、所有権といった概念があり私も書く前はかなり身構えていたのですが、これに苦しむことは思ったよりも少ないです。その要因はWebサーバーで扱う処理のほとんどがリクエスト・レスポンスモデルでデータの流れが一方向でシンプ

                                RustでAPIサーバーを書くのが思ったより良い
                              • WebAssembly は次世代のコンテナ技術になれるか?

                                色々あって WebAssembly の component model を調べていたら、未来が見えた気がしたのでここに書いておきます。 「今の WebAssembly」 とは何か WebAssembly の Web の部分は忘れてください。これは単に JVM version 20xx です。ポータブルなバイナリ仕様です。 実行にあたっては今はホスト言語として JS が使われていますが、実際にはホストがJSである必要すらなく、なんならホストが不要なスタンドアロン環境すらあります。(wasmtime/wasmer) じゃあ WebAssembly は何かというと、サンドボックスで実行される VM の仕様です。比較的高水準なバイナリで、 V8 や Spider Monkey に付属する WebAssembly Runtime や、 Wasmtime や Wasmer といった WebAssemb

                                  WebAssembly は次世代のコンテナ技術になれるか?
                                • KeyTrap (CVE-2023-50387)を検証してみた - knqyf263's blog

                                  DNSは趣味でやっているだけですし有識者のレビューを経ているわけでもないので誤りを含むかもしれませんが、DNS界隈には優しい人しかいないのできっと丁寧に指摘してくれるはずです。 追記:めちゃくちゃ丁寧にレビューしていただいたので修正いたしました。森下さんほどの方に細かく見ていただいて恐れ多いです...(学生時代に某幅広合宿で森下さんの発表を見てDNSセキュリティに興味を持った) 4万文字を超える大作、おつかれさまです。わかりやすく書けていると思いました。 ざっと読んで、コメントしてみました。ご参考まで。https://t.co/bVj5WeFHQr https://t.co/ku5NOx6ua8— Yasuhiro Morishita (@OrangeMorishita) 2024年2月19日 要約 背景 詳細 DNSSECとは? DNSSECの可用性 鍵タグの衝突 攻撃内容 SigJam

                                    KeyTrap (CVE-2023-50387)を検証してみた - knqyf263's blog
                                  • WebAssembly所感

                                    WebAssemblyをちょっといじってみて思ったところをまとめてみます。 設計思想 WebAssembly/designに設計文書がまとまっています。特にHighLevelGoals.mdから読み取れるポイントは以下の4点です。 サンドボックス化された環境であること。 移植性があること。つまり、特定の実CPUアーキテクチャ等に依存しないこと。 少なくともC/C++の(十分に高速な)コンパイルターゲットとして機能すること。 安定した仕様を持つこと。 サンドボックスという観点からは、先行技術として以下のようなものが特筆に値します。 Webサンドボックス JavaScript および asm.js Javaアプレット Flash (ActionScript) NaCl, PNaCl Web以外のサンドボックス OSのユーザーランド、特にLinux userland これらのサンドボックスとの比

                                      WebAssembly所感
                                    • 優秀と噂なCohere社のCommand R+でRAGチャットボットを簡単に構築して体験しよう! - Qiita

                                      1. はじめに Cohere社が最近リリースしたLLMのCommand R+がGPT4に迫る性能を発揮していたり、RAG利用での性能で話題となっています。 そのCommand R+でRAGを体験できるチャットアプリの実装がLightningAIにてチュートリアルが公開(CC-BY-4.0ライセンスとして)されています。 これを身近な環境で動かしてみたいと思います。 このチャットボットでCohere社の以下のモデルが使われています LLM: Command R+ Embed: embed-english-v3.0 / embed-multilingual-v3.0 Reranker: rerank-english-v3.0 / rerank-multilingual-v3.0 以下の動画のようにブラウザでPDFファイルをアップロードしてチャットで問い合わせができます。 2. 必要なもの 以下

                                        優秀と噂なCohere社のCommand R+でRAGチャットボットを簡単に構築して体験しよう! - Qiita
                                      • MoonBit が WebAssembly 時代の理想(の原型)だった

                                        最近 moonbit という言語を知ったのですが、これが調べれば調べるほど好きになる言語だったので、紹介させてください。 文法的には GC 付きの Rust で、 WebAssembly にコンパイルされます。とくに CDN Edge Worker 上での実行を想定しているようです。もう好き。 注意: まだ若い言語なので、これから言語仕様がガンガン変わっていくと思われます。あくまで現時点での情報です。 tl;dr Pros だいたい GC あり Rust と捉えていい 文法面のキャッチアップが容易 ライフタイムの難しさを考えなくていい すでに vscode 拡張やパッケージマネージャ等のエコシステムが整っている Cons まだ安定していない / しばらくはソースコードが公開されない 現時点では学習リソースやパッケージ数が足りず、書き手の腕力が求められる はじめに: JS/TS/Rust へ

                                          MoonBit が WebAssembly 時代の理想(の原型)だった
                                        • Node.js でメモリ肥大化の原因を特定してみた

                                          はじめに ユビーでエンジニアをしているおおいしつかさです。 これは、Ubie Engineering Advent Calendar 2023の12月7日の記事になります。 何を書こうかなー、最近はユビーの根幹システムのリアーキテクチャをやっているのでその辺かなーと思ったのですが、まだ仕掛かり中だということと具体な業務に直結しそうな内容なので抽象化して書くのが面倒そうだなーと思ってたところに軽いトピックが飛び込んできたので、そのことを書くことにしました。 ChatGPTはみなさん使われていると思いますが、ぼくも別の業務でOpenAI関連の機能開発に携わっています(ユビーで働くといろんな業務に携われるのがいいところです) 。 その仕事の中で、Node.js環境でメモリ肥大化の事象に遭遇したので、それをどのように発見して改善したかについてお話します。 ぼくは今も昔もRubyが大好きですが、ふだ

                                            Node.js でメモリ肥大化の原因を特定してみた
                                          • Ruby 3.3でYJITを今すぐ有効にすべき理由 - k0kubun's blog

                                            Ruby 3.3がリリースされた。YJITには非常に多くの改善が含まれたリリースだったが、 NEWS解説記事やリリースパーティーでは 2点しか触れられなかったので、この記事ではRuby 3.3でYJITがどう改善されたかについて解説する。 YJITは既に実用段階 YJITはRuby 3.1で導入されたが、Ruby 3.2の時点でexperimentalのマークが外れ、実用段階となった。 Ruby 3.2では、以下のような企業で性能改善が報告された。 DeNA: 40% 高速化 GMOペバボ: 18% 高速化 STORES: 6.5-7.5% 高速化 Timee: 10% 高速化 メドピア: 2.8% 高速化 BOOK☆WALKER: 20-30% 高速化 Discourse: 15.8-19.6% 高速化 Lobsters: 26% 高速化 CompanyCam: 20-40% 高速化 弊

                                              Ruby 3.3でYJITを今すぐ有効にすべき理由 - k0kubun's blog
                                            • Google、Google Sheetsの計算エンジンをWebAssemblyに最適化し、2倍の性能を実現したと発表

                                              Google、Google Sheetsの計算エンジンをWebAssemblyに最適化し、2倍の性能を実現したと発表 GoogleはWebブラウザ上でスプレッドシート機能を提供する「Google Sheets」の計算エンジンの性能をWebAssembyで実装し、従来のJavaScriptによる実装と比較して性能を2倍に向上させたことを明らかにしました。 これにより単純なSUM計算から複雑なクエリまで、シート上でのあらゆる計算を始め、ピボットテーブルの作成、条件付きフォーマットなどさまざまな処理が高速になるとのことです。 この性能向上は、JavaScriptで構築されていた計算エンジンをWebAssemblyに最適化したことで実現していると説明されており、そのためにWebAssemby GC(ガベージコレクション)機能を用いたとのことです。 そのため現時点ではChromeとMicrosoft

                                                Google、Google Sheetsの計算エンジンをWebAssemblyに最適化し、2倍の性能を実現したと発表
                                              • 「第4のブラウザ言語」WebAssemblyが変えるフロントエンド開発 | レバテックラボ(レバテックLAB)

                                                執筆 山内 直 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)に所属するテクニカルライター。出版社を経てフリーランスとして独立。ライター、エディター、デベロッパー、講師業に従事。屋号は「たまデジ。」。著書に『Bootstrap 5 フロントエンド開発の教科書』、『作って学べるHTML+JavaScriptの基本』など。 監修 山田 祥寛 静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「独習」シリーズ、「これからはじめるReact実践入門」、「改訂3版 JavaScript本格入門」他、

                                                  「第4のブラウザ言語」WebAssemblyが変えるフロントエンド開発 | レバテックラボ(レバテックLAB)
                                                • Haskell は Rust になれるのか?──2023年の Linear Haskell 体験記

                                                  追記:いくらなんでもあまりにも長いので、配列演算に焦点を絞ってより「Rustっぽさ」の気持ちを強調した姉妹編を書きました。手っ取り早く雰囲気を掴みたい方はこちらもどうぞ。 TL;DR GHC 9.0 から Haskell に入った線型型(Linear Types)の機能を一部割とガッツリ使ってみたので、Linear Haskell の現在の使い心地と将来の展望を報告するよ。 使おうと思えば使える段階にあるけれど、一部バグもあるし、まだ言語機能面で実装が追い付いていない部分もあって、快適に書けるようになるにはもうちょっと掛かるよ。それでも実用しようと思えばできるレベルにあるよ。 RustのようになるにはLinear Constraintsに期待。 更新履歴 2023/12/15 11:45 姉妹編へのリンク追加。 2023/10/01 12:30 線型性を納得してくれない場合の \eta-展

                                                    Haskell は Rust になれるのか?──2023年の Linear Haskell 体験記
                                                  • AWS Lambdaの高速なコンテナロードの仕組み | CyberAgent Developers Blog

                                                    CTO統括室の黒崎(@kuro_m88)です。今回はAWS Lambdaの高速なコンテナロードの仕組みについて紹介します。 AWS Lambdaはサーバレスなマネージドサービスであり、難しいことを知らなくてもユーザ(私たち)は簡単にアプリケーションをホストでき、簡単にスケールします。 ユーザから見るとシンプルですが、その裏側では様々な仕組みがあったり最適化が行われたりしています。 マネージドサービスの裏側を必ずしも知る必要はありませんが、仕組みを知っておくとより使いこなせるはずですし、自信を持って技術選定ができるはずです。(そして何より裏側を知ることは楽しい!🤗) 本記事はUSENIX ATC 2023で発表された論文「On-demand Container Loading in AWS Lambda」の内容に基づいて、読んでいて面白かったポイントをまとめています。 On-demand

                                                      AWS Lambdaの高速なコンテナロードの仕組み | CyberAgent Developers Blog
                                                    • Node.jsのメモリ制限 (2024年版)

                                                      Node.jsのメモリ制限については以下の記事に記述があります。 しかし、現在の挙動はやや異なるようです。 結論から言うと デフォルトでは、システム (cgroup等) から取得した制限があればそれがそのまま設定、そうでなければ32bit環境では700MiB, 64bit環境では1400MiBの制限が設定されます。 V8のメモリ制限 Node.jsはJavaScriptエンジンとしてV8を利用しています。 V8のGCは世代別GCになっています。ほとんどのオブジェクトは生成されてすぐに不要となるため、メモリ使用量にはそれほど貢献しません。メモリ使用量に貢献するような長命なオブジェクトは、数回のGCを生き抜いた後old generation領域に移されます。したがって、V8のメモリ使用量の制限は実質的にこのold generation領域のサイズ制限によって決まると考えてよいでしょう。 このo

                                                        Node.jsのメモリ制限 (2024年版)
                                                      • PEP 703 - 兼雑記

                                                        https://peps.python.org/pep-0703/ Python の GIL 外す話。これすごく楽しい読みものでした。参照カウントのところが一番人気だと思うのですが、他のところも色々良い。こういう、「んーこういうことするとこういう問題が起きない?」と思ったら次の章くらいでそれが説明される、みたいな読みものは大変好きです 参照カウント: オブジェクトっていうのは作ったスレッドが解放するというのがほとんどなんだから、その場合はロックをいらなくする、他に渡ったら普通の参照カウントぽくする、という話。 Swift に 2018 年に導入された 話らしい。他のスレッドに渡された後で DECREF すると他スレッド用の参照カウントが負になりうるのだけど、その時に queue に入れるということをして、ややこしいので、なんかこれ無しですむ方法はないのかなぁ……と Immortalize

                                                          PEP 703 - 兼雑記
                                                        • ライトノベルに(ジュブナイル・ヤングアダルト・少年向け・少女向け・青年向け・R-18・新文芸・ライト文芸……)全部含んだら、個人がオールタイムベストを構築することは可能なのかに挑んでみた地獄録 ※暫定○|82(ぱに) / 平々八十二

                                                          ライトノベルに(ジュブナイル・ヤングアダルト・少年向け・少女向け・青年向け・R-18・新文芸・ライト文芸……)全部含んだら、個人がオールタイムベストを構築することは可能なのかに挑んでみた地獄録 ※暫定○選リストあり ライトノベルオールタイムベストを生み出そう! という動きがある。この記事を書き出してもう多少時間が経っているのでSNSでの反応や熱量はもう変化しているかもしれないが、日本百名山や百名城で代表されるように、そういったベスト選出はあらゆるジャンル・コンテンツで人気があるし、見るのも作るのも面白いものだ。 ライトノベルを中心に据えたオタクエンタメ史の探求をライフワークとしている身としては、もちろん食いつく。思春期の頃は最強デッキ作りではないが、読んだ作品のお気に入りランキングとか隙あらば作っていた気がするよね。基本脳内でだけど。 けど、本格的にエンタメ史を趣味研究するようになってから

                                                            ライトノベルに(ジュブナイル・ヤングアダルト・少年向け・少女向け・青年向け・R-18・新文芸・ライト文芸……)全部含んだら、個人がオールタイムベストを構築することは可能なのかに挑んでみた地獄録 ※暫定○|82(ぱに) / 平々八十二
                                                          • プロと読み解くRuby 3.3 NEWS - STORES Product Blog

                                                            テクノロジー部門CTO室の笹田(ko1)と遠藤(mame)です。今年の 9 月から STORES 株式会社で Ruby (MRI: Matz Ruby Implementation、いわゆる ruby コマンド) の開発をしています(Rubyのこれからを STORES で作る。Rubyコミッター笹田さん、遠藤さんにCTOがきく「Fun」|STORES People )。お金をもらって Ruby を開発しているのでプロの Ruby コミッタです。 本日 12/25 に、恒例のクリスマスリリースとして、Ruby 3.3.0 がリリースされました(Ruby 3.3.0 リリース)。クックパッド開発者ブログで連載していたように、今年も STORES Product Blog にて Ruby 3.3 の NEWS.md ファイルの解説をします(ちなみに、STORES Advent Calendar

                                                              プロと読み解くRuby 3.3 NEWS - STORES Product Blog
                                                            • 「ガベージコレクション 自動的メモリ管理を構成する理論と実装」を読んだ

                                                              最近「おれってガベージコレクションを勉強するにあたってめちゃくちゃ恵まれた環境にあるのでは?」とふと思い立ち、ベージコレクションの勉強を始めました。 ガベージコレクションの勉強を始めるにあたって、とりあえず「The Garbage Collection Handbook (first edition)」の邦訳である「ガベージコレクション 自動的メモリ管理を構成する理論と実装」を読むことにしました。 この記事では、読み終わってうれしいので、雑に感想を書きなぐっています。表記が「GC」だったり「ガベージコレクション」だったりするのは雑に書いたからです。 前提知識 ガベージコレクションの事前知識はほとんど不要で、何をしてくれるものか大まかにわかっていれば良い程度だと思います。つまり、ヒープに確保した領域を明示的に解放しなくても、何かのアルゴリズムでいい感じにやってくれる仕組み、ということを知って

                                                                「ガベージコレクション 自動的メモリ管理を構成する理論と実装」を読んだ
                                                              • Goコンパイラのお勉強(3)~配列の効率的な操作に関する最適化~ - Techtouch Developers Blog

                                                                はじめに string と byte のキャスト最適化 1. map のキー指定のためのキャスト 2. string を byte 毎に処理するためのキャスト 3. 比較のためのキャスト memclr による配列ゼロクリア最適化 ガベージコレクションのマークスキャン回避 おわりに 参考文献 はじめに SRE の izzii (𝕏: @ahneahneahne) です。今回をもって「Go コンパイラのお勉強」と題した連載ブログが完結です!仕事の話とは直接関係がないネタだったので、書く内容に悩むということはなく気持ちよくかけました。さて、今回は「配列の効率的な利用」と題して golang/go CompilerOptimizations で扱われている残り物の紹介をしていきます笑 残り物とは言っても知ると知らないとでは Go コードの読み方が変わるかと思いますので、ぜひ! [第 1 回] G

                                                                  Goコンパイラのお勉強(3)~配列の効率的な操作に関する最適化~ - Techtouch Developers Blog
                                                                • C言語でWASMインタプリタを実装した話

                                                                  概要 公式のcore testが全て(UTF8, WAT, SIMD関連のものは除く)通るWASMインタプリタをC言語でフルスクラッチで実装した。自作WASMランタイムで省略されがちなValidation Stageも実装した。この記事はWebAssembly Advent Calendar 2023の三日目の記事である。 目的 このWASMランタイムを実装するにあたり、「できるだけ仕様に従って実装する」ことを心掛けた。WASMの仕様書は以下のissueが立つほど読みにくいものとなっているが、ランタイムをどのように実装すべきかが詳しく書いてあり、一応仕様書を頑張って読めばランタイムが作れるようになっている。 この自作WASMランタイムの目的は、できるだけ仕様に従った実装を与えることで、仕様の理解を助けることである。早さや効率性よりも分かりやすさを優先しているため、実用には向かない。仕様書を

                                                                    C言語でWASMインタプリタを実装した話
                                                                  • 2024年春開始の新作アニメ一覧

                                                                    放送・配信中のアニメの最終回が近づき、入れ替わりに新たな作品が始まる時期がやってきました。2024年春に始まるアニメの数は、ショートアニメや特撮も含めると約65本。春は例年本数が多いので、特別多くも少なくもない数ですが、うまく好みの作品を見つけて楽しんでください。 今期はオリジナルアニメが充実している印象で、『ガールズ&パンツァー』の水島努監督が手がける『終末トレインどこへいく?』、『銀魂』の高松信司総監督が仕掛ける『アストロノオト』、東映アニメーションによるバンドアニメ『ガールズバンドクライ』、女性レーサーを題材にした『HIGHSPEED Étoile(ハイスピード エトワール)』、『エロマンガ先生』などを手がけた竹下良平監督による『夜のクラゲは泳げない』、シンカリオンシリーズ新作で設定を一新した『シンカリオン チェンジ ザ ワールド』、プリティーシリーズ待望の新作『ひみつのアイプリ』、

                                                                      2024年春開始の新作アニメ一覧
                                                                    • プログラミング言語Rustになぜ注目するのか - Qiita

                                                                      この記事は NTTコムウェア AdventCalendar 2023 5日目の記事です。 自己紹介&動機 高鶴と申します。NTTコムウェア コーポレート革新本部で、プログラム設計~コーディング~ユニットテストにかかわる技術の社内標準化をやっております。 プログラムの静的な解析で早期にバグを発見・修正することで、後工程でのバグ対処コスト削減(ウォーターフォール開発の場合)や、技術的負債の早期解消(アジャイル開発の場合)を目指す、というのが私のチームの仕事の大きな一部となっています。 静的な解析で早期にバグを発見するツールには、オープンソースでも商用でも様々なものがあります。しかし、ソフトウェアの品質をより抜本的に良くしていこうと思うと、「プログラミング言語を何とかする」というところを考えたくなってきます。 Rustであれば、そのような期待に応えてくれるのではないかと期待し、調査・検証を始めま

                                                                        プログラミング言語Rustになぜ注目するのか - Qiita
                                                                      • 「Rubyは落ちるか、伸びるかの岐路に立っている」 まつもとゆきひろ氏が語る、30年後に向けた生存戦略

                                                                        プログラミング言語「Ruby」の国内最大のビジネスカンファレンス「RubyWorld Conference」。Rubyの先進的な利用事例や最新の技術動向、開発者教育の状況などの情報を発信することで、「Rubyのエコシステム(生態系)」を知ることができる場として開催します。ここで登壇したのは、Rubyアソシエーション 理事長のまつもとゆきひろ氏。プログラミング言語の過去、歴史から学ぶ教訓について発表しました。全4回。4回目は、Rubyコミュニティが生存するために必要なことについて。前回はこちら。 Rubyコミュニティが生存するためには何が必要か まつもとゆきひろ氏(以下、まつもと):さて、これらの教訓をもとに、Rubyの未来はどうなるかについて考えてみましょう。 教訓をもう1回まとめておきますね。アイデアだけでは、価値がない。単純さは、いつもいいこととは限らない。仕様が大きいことは、いつもい

                                                                          「Rubyは落ちるか、伸びるかの岐路に立っている」 まつもとゆきひろ氏が語る、30年後に向けた生存戦略
                                                                        • Rubyインタプリタのむずかしいバグを直した - STORES Product Blog

                                                                          STORESでフルタイムRubyコミッタをやっている遠藤(@mametter)です。 最近Rubyインタプリタのとある問題の修正に成功した(と思う)ので紹介します。といっても格好良い話ではなく、とても泥臭い話です。 問題 RubyのCIで不定期に次のようなエラーが発生していました。いわゆるflaky test。 1) Failure: TestSymbol#test_inspect_under_gc_compact_stress [.../ruby/test/ruby/test_symbol.rb:126]: ":testing" expected but was ":\"\\x00\\x00\\x00\\x00\\x00\\x00\\x00\"". 発生確率が絶妙で、しばしば起きるのですが、デバッグのために狙って再現しようとしても起きないという代物でした。 問題の分析 エラーが起きていた

                                                                            Rubyインタプリタのむずかしいバグを直した - STORES Product Blog
                                                                          • GCP という呼び名はもう古いので気をつける

                                                                            たまに言っちゃうので自戒も込めて。 正しくは「Google Cloud」 2 年以上前に公式からアナウンスが出ています。 Google Cloud Platform が Google Cloud に名称変更 お客様のエクスペリエンスをシンプルにし、プロダクト間の一貫性を保つために、Google Cloud Platform は Google Cloud という名称になりました。 (以下略) Google Cloud の新しくなったホームページのご紹介 | Google Cloud 公式ブログ さらに、 Google Cloud Japan の Zenn Publication の記事内でも以下のように紹介されています。 コラム: Google Cloud? Google Cloud Platform? GCP? (中略) 実は 2022 年の 6 月に、公式ブログ でブランディングが変更さ

                                                                              GCP という呼び名はもう古いので気をつける
                                                                            • Goコンパイラのお勉強(2)~高階関数のためのインライン展開とエスケープ解析~ - Techtouch Developers Blog

                                                                              はじめに インライン展開 インライン展開とは 高階関数のパフォーマンスが落ちる例 インライン展開の制約 エスケープ解析 エスケープ解析とは 高階関数のパフォーマンスが落ちる例 さいごに 参考文献 はじめに 先々月にも Go コンパイラの最適化に関するブログ記事を書いたのですが、多くのブックマークを頂けて感謝です! SRE の izzii です。 github.com 上のドキュメントを参考にしつつ Go コンパイラの最適化に関する記事を連載していきます。本記事は 2 本目です。 [第 1 回] Goコンパイラのお勉強(1)~ゼロ幅の型によるメモリ利用の最適化と未定義動作~ [本記事] Goコンパイラのお勉強(2)~高階関数のためのインライン展開とエスケープ解析~ [第 3 回] Goコンパイラのお勉強(3)~配列の効率的な操作に関する最適化~ 文字数の関係でタイトルでは高階関数という言葉を

                                                                                Goコンパイラのお勉強(2)~高階関数のためのインライン展開とエスケープ解析~ - Techtouch Developers Blog
                                                                              • New York Timesが選ぶ21世紀の100冊の邦訳リスト - YAMDAS現更新履歴

                                                                                www.nytimes.com 21世紀といってもまだ四半世紀も経っていないのに気が早い話だが、およそ5年前に Guardian も同様の企画をやっており、まぁ、やりたくなるものなんでしょう。Guardian と同じく、2000年発表の作品が入っているのはなんだかなと思ってしまうが。 503人もの作家や批評家などの投票による今回のリストの中で、邦訳が出ているのは以下の66作品になる(抜けがあったらすいません)。 1. エレナ・フェッランテ『リラとわたし』(asin:4152096985、asin:B073S4BSRG) 3. ヒラリー・マンテル『ウルフ・ホール』(asin:415209205X、asin:4152092068) 4. エドワード・P・ジョーンズ『地図になかった世界』(asin:456009019X) 5. ジョナサン・フランゼン『コレクションズ』(asin:41512006

                                                                                  New York Timesが選ぶ21世紀の100冊の邦訳リスト - YAMDAS現更新履歴
                                                                                • WasmGCについて予習する

                                                                                  この記事はWebAssembly Advent Calendar 2023 2日目の記事です. ガベージコレクタ(WasmGC)[1]が10月頃にChromeとFirefoxでデフォルトで有効になり,標準化目前ということで大いに盛り上がったのは記憶に新しいかと思います. これはChromeが対応したというよりはChromeが採用しているJavaScriptのランタイムであるV8がデフォルトでWasmGCが有効になったというのが正確な表現で,DenoでもDartからビルドしたWasmを実行する際にGCを有効にするフラグを立てる必要がなくなり,実行しやすくなったなぁと皆さんも感じているかと思います. -$ deno run --allow-read --v8-flags=--experimental-wasm-gc run.js +$ deno run --allow-read run.js

                                                                                    WasmGCについて予習する