並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 148件

新着順 人気順

heapの検索結果1 - 40 件 / 148件

  • アメリカでソフトウェアエンジニアの職を探した - pco2699’s blog

    はじめに 前提 アメリカで働くためのビザ 業務経験 2023年のアメリカのテック業界の状況 具体的な就活のステップ ソフトウェアエンジニアのインタビューで求められることの抽象的な理解 レジュメ Job Descriptionから逆算してレジュメを作る 一枚におさめる 数字を用いてスケールとビジネスインパクトを示す なるべく隙間を埋める フォーマット添削ツールにかける レビューを受ける ネットワーキング・リファラル 応募する アメリカの就活はNumber Game 採用のトレンドを追う 時期を見計らう Linkedinで最新の求人を見つける方法 Promotedをすべて非表示にする "Most Recent"順にする 検索クエリを工夫する 設定をブックマークする 時間を決めて巡回する コーディングインタビュー対策 アルゴリズムの地図を脳内に作る 大学やCouseraでアルゴリズムの授業を取る

      アメリカでソフトウェアエンジニアの職を探した - pco2699’s blog
    • 型キャストの場所のせいで、秒で終わっていたクエリに1時間超かかるようになってしまった話 - SmartHR Tech Blog

      SmartHRで届出書類という機能を担当しているプロダクトエンジニアのsato-sと申します。 今日は、以前私が調査にとても苦労したパフォーマンス上の問題の話を紹介したいと思います。 TL;DR PostgreSQLのアップグレードを実施した アップグレード後、今までは問題のなかった特定のクエリの実行に1時間超かかり、DBのCPU使用率がピッタリ100%に張り付くようになった 色々調査した結果、PostgreSQL上の型キャストの場所のせいで、良くないクエリプランが選択されることが原因だった 型キャストの場所には気をつけよう PostgreSQLのアップグレードと挫折 SmartHRでは基本的にWebアプリケーションのデータベースとしてGoogle CloudのCloudSQLによって提供されるPostgreSQLを利用しています。 私の担当している届出書類機能では、利用中のPostgre

        型キャストの場所のせいで、秒で終わっていたクエリに1時間超かかるようになってしまった話 - SmartHR Tech Blog
      • まつもとゆきひろ氏が“幻のPerl6”から学んだ教訓 「OSSの最大の敵」と「セカンドシステムの危険性」

        プログラミング言語「Ruby」の国内最大のビジネスカンファレンス「RubyWorld Conference」。Rubyの先進的な利用事例や最新の技術動向、開発者教育の状況などの情報を発信することで、「Rubyのエコシステム(生態系)」を知ることができる場として開催します。ここで登壇したのは、Rubyアソシエーション 理事長のまつもとゆきひろ氏。プログラミング言語の過去、歴史から学ぶ教訓について発表しました。全4回。3回目は、「Second System Syndrome」について。前回はこちら。 退屈は最大の敵 まつもとゆきひろ氏:次はPerlですね。ここまでですでに4回ぐらいPerlの話題が出てきています。なぜかというと、私はPerlが大好きなんですね。実は、Perlが大好きなんですが、Perlのプログラミングは大好きじゃないんですね。あと、Perlのソースコードも大好きじゃないんですね

          まつもとゆきひろ氏が“幻のPerl6”から学んだ教訓 「OSSの最大の敵」と「セカンドシステムの危険性」
        • How does the Linux Kernel start a Process

          ...and how to ptrace the entry point and m3ss w1th da stack. In this article, you will learn what happens inside the Linux Kernel when a process calls execve(), how the Kernel prepares the stack and how control is then passed to the userland process for execution. I had to learn this for the development of Zapper - a Linux tool to delete all command line options from any process (without needing r

            How does the Linux Kernel start a Process
          • ARM に存在する JavaScript 専用命令「FJCVTZS」を追う(ついでに V8 をビルドする)

            前回の記事では、JavaScript の実行エンジン V8 の JIT 出力コードを読んでみました。記事は M1 Mac 上で動かした結果でしたので、ARM アーキテクチャのアセンブラを読むことになりました。 さてそんな ARM アーキテクチャですが、最近の ARM には FJCVTZS という JavaScript 専用の機械語命令があるのをご存知でしょうか?CPU に、特定の言語(それもコンパイラを持たない JavaScript)専用の命令があると知ったとき、私は大いに驚きました(過去にも Jazelle みたいなものはありましたが) 今回は、この FJCVTZS 命令について、実際にどれだけ効果があるのか、V8 をビルドしながら調べてみましょう。 FJCVTZS 命令とは? FJCVTZS 命令は、Arm v8.3 から導入された JSCVT 命令の一つで、JavaScript の言

            • PostgreSQL チューニングよもやま話 - エムスリーテックブログ

              【Unit4 ブログリレー3日目】 こんにちは,エムスリーエンジニアリンググループの榎田です.数学とテレビゲームが好きです. 今回は,Unit4 で運用している "Docpedia" というサービスで実施した SQL チューニングの実例を2つご紹介します.普段の私が意識していなかった, RDBMS の内部機構に関する話が登場して面白かったので,今回の記事を書きました. なお,本稿で扱う議論はすべて PostgreSQL 11.x 以上を対象としており,特にその他の RDBMS で同様の動作をするかは確認していません.定性的な挙動に共通するものはあるかもしれませんが,ここで述べた話はそのままは通らないであろうことをお断りさせてください*1. プロダクトについて index なしで意外と耐えたが,耐えきれなかった話 実際の SQL とテーブル定義 原因の分析 対応策 SELECT DISTIN

                PostgreSQL チューニングよもやま話 - エムスリーテックブログ
              • Node.js でメモリ肥大化の原因を特定してみた

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

                  Node.js でメモリ肥大化の原因を特定してみた
                • 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 体験記
                  • 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年版)
                    • プロと読み解く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
                      • Goコンパイラのお勉強(1) ~ゼロ幅の型によるメモリ利用の最適化と未定義動作 ~ - Techtouch Developers Blog

                        はじめに メモリアロケーションの回避 ゼロ幅の型(=ゼロサイズの型)とは アドレスの同一性に関する未定義動作 この最適化が有効な場面 1. map 2. chan 3. interface の実装 おわりに 参考文献 はじめに こんにちは。SRE の izzii です。 最近は某フィットネスゲームが習慣だったり、ボルダリングを再開したり、登山シーズンが到来したりと心身ともに調子が良いです。 さてつい先日、Go のコンパイラによる最適化について勉強したまとめを社内で共有したところ、メンバーが面白がってくれたため、細かいところを自分の手で触ってみたり、Go Forum で質問を投稿したりした上で記事にしてみました。Go コンパイラの最適化について知りたいという方だけでなく、Go に慣れた方でも意外と知らない挙動を垣間見ることのできる内容かと思います。 github.com を元にしているのです

                          Goコンパイラのお勉強(1) ~ゼロ幅の型によるメモリ利用の最適化と未定義動作 ~ - Techtouch Developers Blog
                        • Learning Zig

                          home Learning Zig Welcome to Learning Zig, an introduction to the Zig programming language. This guide aims to make you comfortable with Zig. It assumes prior programming experience, though not in any particular language. Zig is under heavy development and both the Zig language and its standard library are constantly evolving. This guide targets the latest development version of Zig. However, it's

                          • Ruby のメモリ使用量問題を調査し upstream で解決していただいた話 - ANDPAD Tech Blog

                            はじめに こんにちは。リアーキテクティングチームの髙橋と申します。 この記事では、アンドパッドの施工管理サービスで利用している Ruby をバージョンアップしたときに発生したメモリ使用量の問題の発生から解決までをお話しします。 Ruby のバージョンアップ(3.0 -> 3.2) アンドパッドでは昨年 2023 に、施工管理サービスで利用している Ruby を 3.0 から 3.2 にバージョンアップしました。 バージョンアップ自体は過去に確立済みの手法(詳しくは過去記事をご参照ください)により、粛々と進められリリースされました。 ところがこのリリースから数日後、とある問題が発覚しました。 メモリ増大問題 アプリケーションのリソース使用状況を監視している SRE チームのメンバーから、以下のような連絡がありました。 Ruby バージョンアップのリリース以降、アプリケーションの利用するメモリ

                              Ruby のメモリ使用量問題を調査し upstream で解決していただいた話 - ANDPAD Tech Blog
                            • 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
                              • 50 Shades of Go: Traps, Gotchas, and Common Mistakes for New Golang Devs

                                50 Shades of Go: Traps, Gotchas, and Common Mistakes for New Golang Devs 50 Shades of Go in Other Languages Chinese Translation: blog post, segmentfault (by wuYin) - needs updates Another Chinese Translation: blog post (by Shadowwind LEY) - needs updates Russian Translation: blog post (by Ilia Ozhereliev, Mail.Ru Group Blog) - needs updates Overview Go is a simple and fun language, but, like any o

                                • UnityでモバイルWebGLゲーム開発を頑張る話 - Mirrativ Tech Blog

                                  こんにちは。ミラティブUnityエンジニアの菅谷(tetsujp84)です。 ミラティブのライブゲームはUnityで開発し、MirrativアプリのWebGLで動いています。 ライブゲームを支える仕組みと実際のライブゲーム開発で使用した技術については過去の記事で紹介しています。 tech.mirrativ.stream tech.mirrativ.stream UnityはWebGL向けにもビルドでき、モバイルのWebGLであってもUnity製プロダクトが動くようになっています。一方で、Unityは正式にはモバイルWebGL対応をサポートしておらず、ネイティブのモバイル開発と比べると開発の難易度は高いです。その難易度の高さは具体的にどこにあったのか、実際にモバイルWebGL向けのゲームを開発した経験を元に知見を共有します。 パフォーマンス編 モバイルWebGLの開発は常にパフォーマンスの意

                                    UnityでモバイルWebGLゲーム開発を頑張る話 - Mirrativ Tech Blog
                                  • Small String Optimization で Rust ライブラリ ratatui を最適化した話 - はやくプログラムになりたい

                                    最近 ratatui という crate に Small String Optimization を利用した最適化を入れたので,その話を書きます. 目次 Small String Optimization (SSO) とは(SSO を既に知っている人は読み飛ばして大丈夫です) Rust で SSO を適用した文字列型を提供する crate 比較 SSO を利用して ratatui のメモリ効率と実行効率を最適化した話 compact_str crate の実装の最適化の話 インラインストレージに24バイト全てを使える理由 隙間最適化のための工夫 説明を簡潔にするため,特に断りが無い場合 64bit アーキテクチャを前提とします. Small String Optimization (SSO) とは Rust の可変長文字列型 String は文字列バッファへのポインタ,文字列の長さ,バッフ

                                      Small String Optimization で Rust ライブラリ ratatui を最適化した話 - はやくプログラムになりたい
                                    • How I made a heap overflow in curl | daniel.haxx.se

                                      In association with the release of curl 8.4.0, we publish a security advisory and all the details for CVE-2023-38545. This problem is the worst security problem found in curl in a long time. We set it to severity HIGH. While the advisory contains all the necessary details. I figured I would use a few additional words and expand the explanations for anyone who cares to understand how this flaw work

                                      • スーパーファミコンで mruby/c を動かす

                                        はじめに mruby/c という軽量な Ruby 処理系をスーパーファミコンに移植し、標準出力に文字列を出力する簡単な Ruby コードをエミュレータ上で動かしたので、その移植作業を記事にまとめました。 この記事で動かしたコードは次のリポジトリにあります。 この移植作業を行うという発想は、2年前の RubyKaigi 2022 で行われた mruby/c を Mega Drive 上で動かすという Yuji Yokoo さんによる発表(https://rubykaigi.org/2022/presentations/yujiyokoo.html)がベースとなっています。 元々スーパーファミコン上で動くコードを趣味で書いたことはあったのですが、最近スーパーファミコンで使われている 65C816 という CPU 向けの(まともに動く) C コンパイラが存在することを知ったので、今回移植作業に取

                                          スーパーファミコンで mruby/c を動かす
                                        • Ruby 3.3.0 リリース

                                          Ruby 3.3.0 が公開されました。Ruby 3.3ではPrismという新しいパーサーの追加、新しいパーサージェネレーターであるLramaによるBisonの置き換え、RJITという新たなJITの仕組みを追加、YJITの高速化など様々な改善が行われています。 Prism default gemとしてPrismパーサを導入しました。 Prismは、Ruby言語のためのポータブルで、エラートレラントで、保守可能な再帰下降パーサです。 Prismは本番環境で使用する準備が整っており、積極的にメンテナンスされています。Ripperの代わりに使用することができます。 Prismの使用方法については、詳細なドキュメンテーションがあります。 Prismは、CRubyに内部的に使用されるCライブラリと、Rubyコードを解析する必要がある任意のツールに使用できるRuby gemの2つのコンポーネントを持っ

                                          • async/awaitは今後もベストフレンドであり続けるか - hadashiA

                                            えーあーー みなさん聞こえますでしょうか。この記事はC# アドベントカレンダー17日めのために書かれました。 いくつかみかけた、async/await と java loom/goroutine的なものを比較する議論に興味があり、少し追ってみた感想です。実装まで深く調べられてません。 TL;DR Green Thread Experiment Results #2398 .NET の runtimelabにて、async/awaitの代替としてのグリーンスレッドを検証した結果が公開されていたが、今後も async/await でいくという結論になっている。 JVM (Java) は対象的に、コードの書き方をなにも変えなくてもランタイムが自動的にI/Oを非同期にしてくれる夢のVirtual Thread を導入した。 Rust界隈では「Why async/await ? why? why?

                                              async/awaitは今後もベストフレンドであり続けるか - hadashiA
                                            • 【Go 1.21】ループ変数が共有される問題への対策(プレビュー)が公開されました - Money Forward Developers Blog

                                              こんにちは、マネーフォワードエックスカンパニー サービス開発部 バンキングアプリ開発グループの仲川です。 先日Go 1.21がリリースされましたが、以前から多くのGoエンジニアを悩ませてきた「ループ変数が共有される問題」への対策が実験的に盛り込まれたので、今回はそちらについて紹介したいと思います。 Go 1.21 is released! - The Go Programming Language ※本記事で紹介するコードの実行結果は全てGo 1.21での挙動です ※本記事は主に以下ドキュメントの情報を基に作成しています(8月15日時点) golang/go/wiki/LoopvarExperiment golang/go/issues/60078 go.dev/doc/faq#closures_and_goroutines TL;DR Goのfor文で宣言されるループ変数は、ループ(イテ

                                                【Go 1.21】ループ変数が共有される問題への対策(プレビュー)が公開されました - Money Forward Developers Blog
                                              • Node v20.6.0 (Current) | Node.js

                                                Notable changes built-in .env file support Starting from Node.js v20.6.0, Node.js supports .env files for configuring environment variables. Your configuration file should follow the INI file format, with each line containing a key-value pair for an environment variable. To initialize your Node.js application with predefined configurations, use the following CLI command: node --env-file=config.env

                                                  Node v20.6.0 (Current) | Node.js
                                                • Red Hat Enterprise Linuxのマイナーリリースは固定せずに適宜アップデートして欲しい件 | DevelopersIO

                                                  RHELだからマイナーバージョンアップしないというのは危うい こんにちは、のんピ(@non____97)です。 皆さんは定期的にRed Hat Enterprise Linux(以降RHEL)のマイナーリリースは固定して運用されていますか? 全てのパッケージのマイナーリリースを固定するのは止めましょう。 RHELにおいて、基本的にパッケージが修正されるのは最新のマイナーリリースのみです。 抜粋 : Red Hat Enterprise Linux ライフサイクル EUS, AUS, ELSの考え方 P.4 そのため、最新でないマイナーリリースを使い続ける場合、パッケージの修正があったとしても適用することができません。 Errataの重要度や優先度が限定的ではありますが、特定マイナーリリースのサポート期間を2年間に延長する仕組みとしてEUS(Extended Update Support)が

                                                    Red Hat Enterprise Linuxのマイナーリリースは固定せずに適宜アップデートして欲しい件 | DevelopersIO
                                                  • Elasticsearch piped query language, ES|QL, now generally available — Elastic Search Labs

                                                    Elasticsearch piped query language, ES|QL, now generally available Today, we are pleased to announce the general availability of ES|QL (Elasticsearch Query Language), a dynamic language designed from the ground up to transform, enrich, and simplify data investigations. Powered by a new query engine, ES|QL delivers advanced search using simple and familiar query syntax with concurrent processing, e

                                                      Elasticsearch piped query language, ES|QL, now generally available — Elastic Search Labs
                                                    • kyju.org - Piccolo - A Stackless Lua Interpreter

                                                      Piccolo - A Stackless Lua Interpreter 2024-05-01 History of piccolo A "Stackless" Interpreter Design Benefits of Stackless Cancellation Pre-emptive Concurrency Fuel, Pacing, and Custom Scheduling "Symmetric" Coroutines and coroutine.yieldto The "Big Lie" Rust Coroutines, Lua Coroutines, and Snarfing Zooming Out piccolo is an interpreter for the Lua language written in pure, mostly safe Rust with a

                                                      • Object structure in JavaScript engines

                                                        Object structure in JavaScript enginesFrom a developer's perspective, objects in JavaScript are quite flexible and understandable. We can add, remove, and modify object properties on our own. However, few people think about how objects are stored in memory and processed by JS engines. Can a developer's actions, directly or indirectly, impact performance and memory consumption? Let's try to delve i

                                                          Object structure in JavaScript engines
                                                        • curl 8.4.0 | daniel.haxx.se

                                                          We cut the release cycle short and decided to ship this release now rather than later because of the heap overflow issue we found. Release presentation Numbers the 252nd release 3 changes 28 days (total: 9,336) 136 bug-fixes (total: 9,551) 216 commits (total: 31,158) 1 new public libcurl function (total: 93) 0 new curl_easy_setopt() option (total: 303) 1 new curl command line option (total: 258) 4

                                                          • バグバウンティにおける JavaScript の静的解析と動的解析まとめ - blog of morioka12

                                                            1. 始めに こんにちは、morioka12 です。 本稿では、バグバウンティなどの脆弱性調査で行う、JavaScript の静的解析と動的解析についてまとめて紹介します。 1. 始めに 免責事項 想定読者 検証環境 静的解析と動的解析 2. 静的解析 (Static Analysis) 2.1 JavaScript File の URL を収集する getJS hakrawler getallurls (gau) 2.2 エンドポイントを列挙する LinkFinder xnLinkFinder katana jsluice endext 2.3 シークレット情報を検出する SecretFinder jsluice Mantra trufflehog 2.4 潜在的な脆弱性情報を検出する Retire.js ESLint 3. 動的解析 (Dynamic Analysis) DevTool

                                                              バグバウンティにおける JavaScript の静的解析と動的解析まとめ - blog of morioka12
                                                            • AST vs. Bytecode: Interpreters in the Age of Meta-Compilation

                                                              233 AST vs. Bytecode: Interpreters in the Age of Meta-Compilation OCTAVE LAROSE, University of Kent, UK SOPHIE KALEBA, University of Kent, UK HUMPHREY BURCHELL, University of Kent, UK STEFAN MARR, University of Kent, UK Thanks to partial evaluation and meta-tracing, it became practical to build language implementations that reach state-of-the-art peak performance by implementing only an interprete

                                                              • Go 1.21 Release Notes - The Go Programming Language

                                                                Introduction to Go 1.21 The latest Go release, version 1.21, arrives six months after Go 1.20. Most of its changes are in the implementation of the toolchain, runtime, and libraries. As always, the release maintains the Go 1 promise of compatibility; in fact, Go 1.21 improves upon that promise. We expect almost all Go programs to continue to compile and run as before. Go 1.21 introduces a small ch

                                                                  Go 1.21 Release Notes - The Go Programming Language
                                                                • The path to implementing a programming language

                                                                  This blog tries to summarize all the choices and paths you could take to implement your next programming language, more specifically the frontend for your language. There are a lot of factors that will influence your choices. Maybe you have your favorite host language that you would like to use for implementing your language, whether your language is dynamically or statically typed, or you are des

                                                                  • モバイルクライアントアプリにおける「どんなログを出してるのか?」「どの様に役立てているのか?」事例 - KAYAC engineers' blog

                                                                    このエントリは【カヤック】面白法人グループ Advent Calendar 2023の19日目の記事です。 こんにちは。カヤックアキバスタジオの須藤崇浩(@p_chin)と申します。 本記事では私のログに対する考えと、実際にどの様なログを出して、どの様に役立ててるかを紹介します。 また、記事内ではUnity製のモバイルゲームでの事例に限定して話をします。(モバイル以外のクライアントアプリにも応用可能だと思いますが) おそらく周りでも同じ様な事をやっていそうですが、開発の参考になれば幸いです。 私のログを出す際の考え方 具体的にどんな場合にログを出して役立てているのか?の例 実際に出しているログファイルについて紹介 エラーリスト ログ出力時の機種 / アプリ特有の状態リスト 全てのログを含めたもの 以前に起動した時のエラーリスト ログ出力時にメモリに載っているリソースリスト ログ出力時の画面

                                                                      モバイルクライアントアプリにおける「どんなログを出してるのか?」「どの様に役立てているのか?」事例 - KAYAC engineers' blog
                                                                    • mTLS: When certificate authentication is done wrong

                                                                      EngineeringSecuritymTLS: When certificate authentication is done wrongIn this post, we'll deep dive into some interesting attacks on mTLS authentication. We'll have a look at implementation vulnerabilities and how developers can make their mTLS systems vulnerable to user impersonation, privilege escalation, and information leakages. Although X.509 certificates have been here for a while, they have

                                                                        mTLS: When certificate authentication is done wrong
                                                                      • 【Python】四分木の中で最も複雑な領域を分割し続けるアートを実装してみた - Qiita

                                                                        はじめに 数ヶ月前に、このツイートが目に留まりました。 非常に魅力的で、自分でも作りたいと思ったのですが、アルゴリズムや実装が公開されているにもかかわらず、実際にやっている人が少ないようでした。 そこで、本記事では、Pythonの画像処理ライブラリPillow(PIL)を使用して、四分木の中で最も複雑な領域を分割し続けるアートの実装方法について解説します。 アルゴリズム 以下の操作を再帰的に繰り返します。 キャンバス上のすべての矩形領域の中から、最も複雑な領域を選んで四分割する。 新しくできた矩形領域において画像の複雑度(score)と平均色を求め、領域を平均色で塗りつぶす。 詳しくは元記事を参照してください。 実装 Rectクラス Rectクラスは、長方形のフレームの座標情報を保持するクラスです。 calc_areaは長方形のフレームの面積を計算するメソッドです。 class Rect:

                                                                          【Python】四分木の中で最も複雑な領域を分割し続けるアートを実装してみた - Qiita
                                                                        • A new way to bring garbage collected programming languages efficiently to WebAssembly · V8

                                                                          A recent article on WebAssembly Garbage Collection (WasmGC) explains at a high level how the Garbage Collection (GC) proposal aims to better support GC languages in Wasm, which is very important given their popularity. In this article, we will get into the technical details of how GC languages such as Java, Kotlin, Dart, Python, and C# can be ported to Wasm. There are in fact two main approaches:

                                                                          • 日本の組織を標的にした外部からアクセス可能なIT資産を狙う複数の標的型サイバー攻撃活動に関する注意喚起

                                                                            複数の被害組織での調査や攻撃活動の追跡が並行して行われており、今後、記載したもの以外の製品の脆弱性や通信先等のインディケータ情報を追記、更新する見込みですので、今後の情報更新もご確認ください。 I. 概要JPCERT/CCは、2022年5月以降におけるArray Networks Array AGシリーズの脆弱性を悪用する標的型サイバー攻撃に対する侵害調査を進めてきました。 Array Networks Array AGシリーズの脆弱性を悪用する複数の標的型サイバー攻撃活動に関する注意喚起 https://www.jpcert.or.jp/at/2023/at230020.html JPCERT/CCでは注意喚起に対するフィードバックや、サイバーセキュリティ協議会の活動を通じて、注意喚起に掲載した攻撃活動に関連すると考えられる活動を認識しました。「II. 攻撃活動の概要」の概要やインディケ

                                                                              日本の組織を標的にした外部からアクセス可能なIT資産を狙う複数の標的型サイバー攻撃活動に関する注意喚起
                                                                            • Progress toward a GCC-based Rust compiler [LWN.net]

                                                                              This article brought to you by LWN subscribersSubscribers to LWN.net made this article — and everything that surrounds it — possible. If you appreciate our content, please buy a subscription and make the next set of articles possible. The gccrs project is an ambitious effort started in 2014 to implement a Rust compiler within The GNU Compiler Collection (GCC). Even though the task is far from comp

                                                                              • pg_analytics: Transforming Postgres into a Fast OLAP Database - ParadeDB

                                                                                We’re excited to introduce pg_analytics, an extension that accelerates the native analytical performance of any Postgres database1 by 94x. With pg_analytics installed, Postgres is 8x faster than Elasticsearch and nearly ties ClickHouse on analytical benchmarks2. Today, developers who store billions of data points in Postgres struggle with slow query times and poor data compression. Even with datab

                                                                                  pg_analytics: Transforming Postgres into a Fast OLAP Database - ParadeDB
                                                                                • Garnet–open-source faster cache-store speeds up applications, services

                                                                                  Researchers at Microsoft have been working for nearly a decade to address the increasing demand for data storage mechanisms to support the rapid advances in interactive web applications and services. Our new cache-store system called Garnet, which offers several advantages over legacy cache-stores, has been deployed in multiple use cases at Microsoft, such as those in the Windows & Web Experiences

                                                                                    Garnet–open-source faster cache-store speeds up applications, services