並び順

ブックマーク数

期間指定

  • から
  • まで

321 - 360 件 / 405件

新着順 人気順

heapの検索結果321 - 360 件 / 405件

  • zaki日記(2011-12-10) Android Advent Calendar 2011 Android開発を行う際の eclipse の便利設定

    _ Android開発を行う際の eclipse の便利設定 今日は Android Advent Calendar 2011 参加のエントリです。Advent Calendar って何という方は こちら をどうぞ。 多くの方が Android 開発に eclipse を使用していると思いますが、eclipse の機能を使いこなして快適な開発・効率のよい開発をしているでしょうか。今日は、わたしが普段使っている開発環境で行っている eclipse の設定を紹介したいと思います。まぁどっちでもいい好みの問題といえるような設定から、是非皆さんに使って欲しいお勧め機能までいろいろ紹介します。 今回のエントリでは eclipse の設定画面がたくさん出てきますが、どこにある設定であるかを示すのに [ aaa > bbb > ccc ] という表記をします。一番左が設定画面(Preferences)

    • Android NDKで使えないシステムコール・ライブラリ関数一覧 : DSAS開発者の部屋

      Android NDKでCのコードを書いていると、普段のCプログラミングでは悩まないことで悩むことがあります。たとえば、AndroidのlibcはGoogle製でPOSIXに準拠していません。他のUnix系環境であれば必ず実装されているライブラリ関数が存在しないなどの罠があるため、メジャーなツールをビルドするのにもconfigure;makeが素直に通らなかったりします。 それだけでなく、Android NDKが提供する開発環境にも問題があります。特に、NDKで配られているヘッダファイルとビルド用の共有ライブラリで対応が取れていないのは頭痛のタネです。どういうことかというと、ヘッダファイルに定義されているシステムコールを使おうと思ったらリンカエラーが出ることがあります。 また、システムコールの一部については、カーネルレベルでは正しく実装されているもののlibcにインターフェース実装がなく、

        Android NDKで使えないシステムコール・ライブラリ関数一覧 : DSAS開発者の部屋
      • Sitespeed.io - Webサイトパフォーマンスの統合環境 MOONGIFT

        Webサイトは高速であればあるほど、ユーザ体験が向上して満足度向上につながります。その逆に遅いWebサイトはすぐにユーザが離れてしまいます。 そうしたWebサイトのパフォーマンスを第三者的に見られる仕組みを提供するのがSitespeed.ioです。詳細なレポーティングが可能で、定期的に測定することでWebサイトの改善につなげられるでしょう。 Mac OSXの場合、インストールはHomebrewでできます。 $ brew tap sitespeedio/sitespeedio $ brew install sitespeedio/sitespeedio/sitespeed.io 終わると sitespeed.ioコマンドが使えるようになります。ヘルプは以下の通りで、細かいオプションがたくさんあります。 $ sitespeed.io -h usage: /usr/local/bin/sites

          Sitespeed.io - Webサイトパフォーマンスの統合環境 MOONGIFT
        • How To Write Fast, Memory-Efficient JavaScript — Smashing Magazine

          There are many common pitfalls when it comes to writing memory-efficient and fast code. In this article we’re going to explore some test-proven approaches for writing code that performs better. JavaScript engines such as Google’s V8 (Chrome, Node) are specifically designed for the fast execution of large JavaScript applications. As you develop, if you care about memory usage and performance, you s

          • oss-security - Qualys Security Advisory CVE-2015-0235 - GHOST: glibc gethostbyname buffer overflow

            Follow @Openwall on Twitter for new release announcements and other news [<prev] [next>] [thread-next>] [day] [month] [year] [list] Date: Tue, 27 Jan 2015 08:29:36 -0800 From: Qualys Security Advisory <qsa@...lys.com> To: oss-security@...ts.openwall.com Subject: Qualys Security Advisory CVE-2015-0235 - GHOST: glibc gethostbyname buffer overflow Qualys Security Advisory CVE-2015-0235 GHOST: glibc g

            • VisuAlgo - データ構造とアルゴリズムを可視化する

              VisuAlgo.net/en visualising data structures and algorithms through animation VisuAlgo is a trilingual site. Try visiting the other versions of VisuAlgo other than the default English version, e.g., Chinese or Indonesian. Users can see the translation statistics for these three pages. We aim to make all three has near 100% translation rate. Unfortunately the translation progress with other language

              • V8 javascript engineについての細かい話 (Node.js Advent Calendar 2017) - abcdefGets

                Node.js Advent Calendar 2017 25日目の記事です。トリとなります。 さて先日11/26・27日に行われたNode学園祭でv8について発表させて頂いたが、 30分という制約上色々カットせざるを得なかった。 またv8のコードを読む・コントリビュートする上で伝えられる事も色々と溜まったので一度アウトプットすることにした。 というわけでまとまりのない記事になる可能性が高いがご容赦いただけると助かります。 事前資料 以下のスライドがNode学園祭の発表資料なので読んどいていただけると理解がはやいかも speakerdeck.com 前準備 チェックアウト v8はGitHubに直接はホスティングされていない。 GitHub上にあるv8リポジトリはミラーで実際にはchromium.googlesource.comにホスティングされている。 ただし開発の際にはGitHubのリポ

                  V8 javascript engineについての細かい話 (Node.js Advent Calendar 2017) - abcdefGets
                • Java 起動(Launcher)の仕組み - unnamed

                  ※:この記事は下書き中に本文ががっつり消えたため、知らずに部分的に端折ってるところがあるかもしれません。(´;ω;`) Java、すなわち JVM (HotSpot) を立ち上げた時、どういった処理が行われているのでしょうか。正確に知りたい場合は OpenJDK のソースコードを読むのが最も確実ですが、概要レベルでどのような処理が行われていて、それがソースコードのどのあたりに書かれているのか案内があった方がすんなりと理解できます。と言うわけで、自分用のメモ書きをちょっとだけ整理してここで公開してみます。 なお、自分の理解をベースに記述しているので間違いが含まれている可能性があります。見つけた場合はそっとコメントか @sugarlife にお教え頂けると大変喜びます。 Java の動作概要について Java、特に HotSpot の動作概要については、OpenJDK コミュニティによって「H

                    Java 起動(Launcher)の仕組み - unnamed
                  • ¥1,650で買えるARM基板STM32F4DISCOVERYでmrubyを動かす - kyabの日記

                    今までchipKIT Max32でmrubyを動かして遊んでいたわけですが、最近STMicroelectronicsのSTM32F4DISCOVERYという評価ボードを知りました。 STM32F4DISCOVERY ARM Coretex-M4 STM32F407VGT6 Microcontroller 1MB Flash 128KB + 64KB RAM 秋月電子で\1,650で販売されています。色々人気なようで、動画プレイヤーを作っている方もいます。すごい・・。 この基板、RAMは合計で192KBあるのですが、メモリマップ上で128KBと64KBが分断されています。このためヒープ(mallocで使う場所)はどちらかしか使えないのですが、スタックを64KB側に置いたり色々工夫できるので、mrubyを動かすには今までより余裕がありそうです。 で、既にyamanekkoさんがmrubyを動か

                      ¥1,650で買えるARM基板STM32F4DISCOVERYでmrubyを動かす - kyabの日記
                    • Back and forward cache  |  Articles  |  web.dev

                      Back and forward cache Stay organized with collections Save and categorize content based on your preferences. Back/forward cache (or bfcache) is a browser optimization that enables instant back and forward navigation. It significantly improves the browsing experience, especially for users with slower networks or devices. This page outlines how to optimize your pages for bfcache across all browsers

                        Back and forward cache  |  Articles  |  web.dev
                      • 第12回 POE:「Perl萌え~」の略ではなく | gihyo.jp

                        あだ名の多さは人気の証明? POEという名前にはあきれるほど多くの寓意がこじつけられています。もともとはPerl Object Environment「Perlのオブジェクト環境」の頭文字を並べたものですが、POEの公式サイトを見てみると、Edgar Allan POE「エドガー・アラン・ポー」に始まり(そう、POEは「ポエ」ではなく「ポー」(⁠ないし「ポゥ⁠」⁠)と読みます⁠)⁠、Parallel Object Executor「オブジェクトの並列処理機⁠」⁠、Pathetically Over-Engineered「涙がちょちょ切れるほど作り込みすぎた⁠」⁠、Perl Obfuscation Engine「Perl難読化エンジン⁠」⁠、Perl Objects for Events「イベント用Perlオブジェクト⁠」⁠、Persistent Object Environment「永続オ

                          第12回 POE:「Perl萌え~」の略ではなく | gihyo.jp
                        • Standardizing WASI: A system interface to run WebAssembly outside the web – Mozilla Hacks - the Web developer blog

                          Standardizing WASI: A system interface to run WebAssembly outside the web Today, we announce the start of a new standardization effort — WASI, the WebAssembly system interface. Why: Developers are starting to push WebAssembly beyond the browser, because it provides a fast, scalable, secure way to run the same code across all machines. But we don’t yet have a solid foundation to build upon. Code ou

                            Standardizing WASI: A system interface to run WebAssembly outside the web – Mozilla Hacks - the Web developer blog
                          • Go 1.3 is released - The Go Programming Language

                            Andrew Gerrand 18 June 2014 Today we are happy to announce the release of Go 1.3. This release comes six months after our last major release and provides better performance, improved tools, support for running Go in new environments, and more. All Go users should upgrade to Go 1.3. You can grab the release from our downloads page and find the full list of improvements and fixes in the release note

                              Go 1.3 is released - The Go Programming Language
                            • 最近のruby-core (2016年4月) - Money Forward Developers Blog

                              こんにちは。卜部です。 ruby-coreというRuby本体の開発の議論がされているメーリングリストがあります。 新機能やバグ報告などがだいたいここに集約されてくるので購読しておくとRubyの動きが分かります。 最近興味深かったトピックを紹介します。先月長いと言われたので今回はちょっと厳選気味です。 [#12241] super end 4月といえばエイプリルフールですね。今年は end end end ... とか書かなくてもいいようにするパッチが投稿されていました。もちろん冗談です。しかしこの投稿はだた「できるといいな」じゃなくて実際に実装してみせているので、技術的には見るものがある。PythonとかHaskellとかみたいなインデントでブロック表現するやつだと、改行が暗黙のsuper endになってるわけですね。 以前、Rubyのバグトラッカーにはこの種の提案のためのカテゴリjoke

                                最近のruby-core (2016年4月) - Money Forward Developers Blog
                              • Goのロギングライブラリから見たゼロアロケーション - Speee DEVELOPER BLOG

                                はじめに UZOUという広告配信プラットフォームでバックエンドエンジニアをしている@muroon01です。 Goのロギングライブラリであるzerolog, zapは(使用法によりますが)ゼロアロケーションであると言われています。 そこでゼロアロケーションのロギングライブラリとは一体どのようなつくりなのか、またGoのソースをゼロアロケーションにする方法について記述していきたいと思います。 ゼロアロケーションとは? (メモリ)アロケーションとはプログラムが動作するのに必要なメモリの割り当てを意味しており、スタック領域へのもの(静的アロケーション)とヒープ領域へのもの(動的アロケーション)が存在します。 スタック領域へのメモリの割当は割当サイズおよび確保・解放されるタイミングがプログラムの記述時に静的に決まります。 一方、ヒープ領域は宣言時にメモリの最大割当サイズを指定せずに、プログラム実行時に

                                  Goのロギングライブラリから見たゼロアロケーション - Speee DEVELOPER 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
                                  • mrubyを小さくしたり大きくしたりした話 - スペクトラム

                                    最近mrubyにコミットしているので自分の活動をまとめます。 mrubyを小さくした話 mrubyでは、文字列の扱いはシンプルにchar*を構造体でラップしていました。 struct RString { MRB_OBJECT_HEADER; mrb_int len; union { mrb_int capa; struct mrb_shared_string *shared; } aux; char *ptr; }; そのため1つの文字列毎に、構造体分と文字列分の2回のmalloc/freeが発生していました。 ここでCRubyのRStringを見てみます。 #define RSTRING_EMBED_LEN_MAX ((int)((sizeof(VALUE)*3)/sizeof(char)-1)) struct RString { struct RBasic basic; union {

                                      mrubyを小さくしたり大きくしたりした話 - スペクトラム
                                    • Glasgow Haskell Compiler — The Glasgow Haskell Compiler

                                      Latest News 1 July 2024 GHC 9.6.6 Released! [download] 10 May 2024 GHC 9.10.1 Released! [download] 16 April 2024 GHC 9.6.5 Released! [download] What is GHC? GHC is a state-of-the-art, open source compiler and interactive environment for the functional language Haskell. Highlights: GHC supports the entire Haskell 2010 language plus a wide variety of extensions. GHC has particularly good support for

                                      • ダイクストラ法, 貪欲アルゴリズム - naoyaのはてなダイアリー

                                        現実逃避をしながらウェブを眺めていたら ダイクストラ法(最短経路問題) にたどり着きました。単一始点最短路問題におけるダイクストラ法の解説です。 何を思ったのか、図を眺めていたところ動かしたい衝動に駆られて、気付いたらパワポでアニメーションができていました。 http://bloghackers.net/~naoya/ppt/090319dijkstra_algorithm.ppt 実装もしてみました。隣接ノードの表現は、ここではリストを使いました。 #!/usr/bin/env perl use strict; use warnings; package Node; use base qw/Class::Accessor::Lvalue::Fast/; __PACKAGE__->mk_accessors(qw/id done cost edges_to prev/); package Q

                                          ダイクストラ法, 貪欲アルゴリズム - naoyaのはてなダイアリー
                                        • GA4代替のアクセス解析ツール候補、あるいはユーザーのデータをどこに預けるべきか - makitani.com

                                          Googleアナリティクスのユニバーサルアナリティクス版の停止予定が発表された。 で、はたしてGA4は小規模サイトのアクセス解析ツールとして機能するのか、代替ツールっていま何がある?という話はa2iのセミナー編成委員会でも出ていて、他所でもその議論を見かけるので、ちょっとつらつらと書いていく。 お題。「GA4の代わりになる無料や低価格のアクセス解析ツール候補」。 ただし、ここで挙げるツールをすべてオススメしているわけではない。機能や条件として可能性のありそうなものをとりあえず挙げている。 GA4代替の無料や低価格のアクセス解析ツール候補 1. Matomo オープンソース。GA代替として機能面も申し分ない感じ。データも所有サーバーに保存。インストールにはMySQLのデータベースが必要なので、手軽に利用できる感じではないかもしれない。昔はPiwikという名前だったのでご存じの人多し。でも使っ

                                            GA4代替のアクセス解析ツール候補、あるいはユーザーのデータをどこに預けるべきか - makitani.com
                                          • WebAssemblyとは?〜実際にC言語をブラウザで動かす〜【2019年6月版】 - Qiita

                                            ブラウザからアセンブリ(機械語)を実行できるようにする技術 高速化手段、あるいはJavaScriptの処理系にできないことをするといった目的で提案された 2015年6月、Mozilla、Google、Microsoft、Appleが標準フォーマットとして開発することに合意した WebAssemblyが生まれた経緯 JavaScriptに実行速度が求められる時代になった 1. なぜJavaScriptは遅いか? インタプリタ言語で 動的型付けをしている → 解析に時間がかかってしまう よって、コンパイラ言語と比べると遅い😭 当初、JavascriptはHTMLに飾り付けをする程度だった さっと書いて、すぐに動く、それが売りだった しかし最近では・・・ 複雑なアニメーション WebGLなどのグラフィック処理 計算速度の遅いモバイル端末 などにも用途が広がり、実行速度が求められるようになってき

                                              WebAssemblyとは?〜実際にC言語をブラウザで動かす〜【2019年6月版】 - Qiita
                                            • GCViewer

                                              GCViewer (download) is a free open source tool to visualize data produced by the Java VM options -verbose:gc and -Xloggc:<file>. It also calculates garbage collection related performance metrics (throughput, accumulated pauses, longest pause, etc.). This can be very useful when tuning the garbage collection of a particular application by changing generation sizes or setting the initial heap size.

                                              • HDD負荷の原因となったプロセスを特定する : 電子の密林を開拓する

                                                今回は、(CloudWatchではなくて) ふつーの Linux 的な方法で 負荷原因となっているプロセスを特定するための方法について調べます。 ・前提 複数のプログラムが動作している状況で、いずれかのプログラムがHDDを高頻度に利用し、サーバ負荷を高めている。この負荷原因となっているプログラムとプロセスを特定したい。 ここでは、「負荷試験用にEC2ラージインスタンスを用意し、sysbench を使ってソコソコ以上の HDD 負荷を発生させる」という状況を作っておきます。 今回は負荷試験が目的なので、負荷試験中でも快適な(?)操作が出来るように性能の高いEC2インスタンスにしてみました。 ・EC2インスタンス作成と準備 まずは EC2インスタンスを作成します。 HDDの負荷試験を行うので、EBSタイプでなく InstanceStore (ローカルの EphemeralDisk を使用する)

                                                  HDD負荷の原因となったプロセスを特定する : 電子の密林を開拓する
                                                • @IT:Windows TIPS -- Caution:原因不明のメモリ不足エラーに対処する方法(デスクトップ・アプリケーション・ヒープ不足エラーに対処する方法)

                                                  16bitの流れを汲むWindows 9xには、システム・リソースと呼ばれるWindowsシステムの作業用メモリ領域があり、新しいウィンドウが生成されたときや、ウィンドウへのグラフィックス描画がなされたときなど、作業データがこの領域に確保されるようになっている。Windows 9xの原点とも呼べるWindows 3.0では、ウィンドウ管理用(USERリソースと呼ばれていた)やグラフィックス描画用(GDIリソースと呼ばれていた)として、それぞれ16bitアドレッシングによる1セグメント(64Kbytes)のメモリ領域が割り当てられていた。残念なことにWindows 3.0では、ウィンドウを幾つか同時に開いたり、巨大なアプリケーションを実行したりすると、特にこのうちのUSERリソースが不足することが多かった。システム・リソースが不足すると、アプリケーションで使用可能なメモリ領域はまだ残っている

                                                  • 「深層学習と自然言語処理」オックスフォード大/DeepMind 講義まとめ(用語集付き)

                                                    オックスフォード大の「深層学習と自然言語処理」(Oxford Deep NLP 2017 course)の講義メモです。 講義ビデオ、スライド、講義の詳細等については、講義の公式ページを参照してください。 目次 講義1a: 導入 (Phil Blunsom) 講義1b: 深層ニューラルネットは友だち (Wang Ling) 講義2a: 単語レベルの意味 (Ed Grefenstette) 講義2b: 実習の概要 (Chris Dyer) 講義3: 言語モデルとRNN パート1 (Phil Blunsom) 講義4: 言語モデルとRNN パート2 (Phil Blunsom) 講義5: テキスト分類 (Karl Moritz Hermann) 講義6: Nvidia の GPU を使った深層学習 (eremy Appleyard) 講義7: 条件付き言語モデリング (Chris Dyer)

                                                      「深層学習と自然言語処理」オックスフォード大/DeepMind 講義まとめ(用語集付き)
                                                    • WEB DB PRESS vol.38 - naoyaのはてなダイアリー

                                                      WEB+DB PRESS Vol.38 の見本誌が届きました。連載も今回で7回目。今回は POE の話の後編です。複数の HTTP サーバーに非同期で同時アクセスするクライアントプログラムを POE::Component::* に頼らずつくり、その後 POE::Component を紹介しつつ IRC bot を作る、という内容になってます。先日の前編の vol.37、それから先日の YAPC::Asia の資料とあわせてお読みいただけると理解が深まるかなと思います。 今月号は新連載が色々始まってたりして関心が高いわけですが、断固guy 小飼弾さん (http://blog.livedoor.jp/dankogai/) の Alpha Geek に逢いたいのゲストがIT戦記の id:amachang とあの"はまちちゃん"で、はまちちゃんの写真が載っていました。はまちちゃんの顔が見たい人は

                                                        WEB DB PRESS vol.38 - naoyaのはてなダイアリー
                                                      • 【最速PHPフレームワーク】Phalconを実案件で使った感想

                                                        こんにちは。宇都宮です。 最近は、「最速PHPフレームワーク」Phalconで開発を行っています。 Phalconは、PHP拡張として実装された、フルスタックのPHPフレームワークです。非常に高速に動作するという特徴がありますが、特有の難しさもあります。 そこで、実際に開発を行って感じたPhalconの特徴を、Q&A方式で紹介していきます。 Q. Phalconを使うと、高パフォーマンスのアプリが作れるの? A. フレームワークの遅さに足を引っ張られることはなくなる Phalcon公式ベンチマークからも読み取れるように、Phalconは一般のPHPフレームワークを大きく上回る実行速度を持っています(req/secで2倍〜7倍程度)。 また、Phalconの提供している機能を積極的に利用することで、パフォーマンスの最適化を図ることができます。たとえば、Phalconのモデルが提供するORマッ

                                                          【最速PHPフレームワーク】Phalconを実案件で使った感想
                                                        • Introducing Incremental DOM

                                                          Over the last few years virtual DOM implementations like React, virtual-dom, Glimmer and others have gained major adoption and changed how developers think about their interaction with the DOM. In our own work with virtual DOM implementations we have found 2 major issues that we set out to fix: We really like templates. Our designers like templates. Lets make sure we can continue to use our existi

                                                          • キャミバ様が id:ymotongpoo を木人形にされるようです - camlspotter’s blog

                                                            事の次第 @camlspotter「めんどくせ、あいつに押し付けよ… @camloeba「おれには強く型付けされたコードが必要だ! あらゆる実験にたえうる木人形がな!ぶつぶつ‥ @camlspotter: 「キャミバ様、実はこんなものが… @camloeba「ほう… … ||||||:::::::;:::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::::::|     | |::::::;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::::::::::::::||||||| |||||::::::::::/   ●   \:::|    |:::/   ●   \::::::::::||||||| |||::::::::;;;;;;;──────;;;;;;;;|    |;;;;;;──────;;;;;;;;;;:::::|||||| |;;;;;;;

                                                              キャミバ様が id:ymotongpoo を木人形にされるようです - camlspotter’s blog
                                                            • Rustとアセンブリで実装された新たなRuby処理系 JITコンパイルをサポートして速く動く「monoruby」

                                                              Kernel/VM探検隊は、カーネルやVM、およびその他なんでもIT技術の話題ジャンルについて誰でも何でも発表してワイワイ盛り上がろうという会です。monochrome氏は、Ruby処理系「monoruby」について発表しました。 高速な実行が可能なRuby処理系「monoruby」 monochrome氏(以下、monochrome):monochromeといいます。今日は「機械語で書くRuby処理系のその後」ということで、前回の発表のその後を報告いたします。 自己紹介です。monochromeといいます。(スライドを示して)Twitterはこれです。最近、Twitterは治安が悪いので、Mastodonにアカウントを作りました。RustでRubyの処理系を作っています。プログラミング処理系、言語処理系が好きな人の集まりのSlackとか、最近はこの「Zulip」というアプリに移動して、こ

                                                                Rustとアセンブリで実装された新たなRuby処理系 JITコンパイルをサポートして速く動く「monoruby」
                                                              • OutOfMemoryErrorが発生したときにきちんとJavaプロセスを殺す - nekop's blog

                                                                OutOfMemoryErrorが発生してもスレッドを異空間に葬るだけでJava VMはそのまま動き続ける場合があるけど、当然ながら状態に一貫性のない状態で動いている可能性があるわけで基本的にはとっとと死んで欲しいわけである。一般的に言うところの「不定」状態。OOMEはErrorであってふつうの例外ではなく、致命的なJava VMエラーを示すものである。OOME発生後にプロセス再起動しないでそのままどうこうしようというのは絶対に避けた方が良い。 例えばJDBCのコネクションオープンしてDBからデータを読み込んでるときにOOMEが起きた場合、JDBCコネクションは大抵オープンしっぱなしで回収はされなかったりする。OOMEではfinallyブロックが呼ばれる保証はない。JDBCコネクションリークくらいならまだ良い方だが、これは全てに当てはまる。A-B-Cといったセットになっている処理は例外など

                                                                  OutOfMemoryErrorが発生したときにきちんとJavaプロセスを殺す - nekop's blog
                                                                • Emscriptenの論文読んだ。Webの賢い選択。 - Akihiro Memo

                                                                  大学院に入学するとともに、無職になりました。新しい仕事場を探しています!といってもインターン先ですが!という挨拶も程々に、Emscriptenの論文を読みましたので、その内容について少し。 JIT関連の論文を読んでいて、これは難しいと思い悩んできたところ、友達が卒研の参考文献であげていたプロジェクトがOOPSLAで発表した(正確にはSPLASH '11)よー、ということなので、じゃあこれしかないということで読み始めました。 サイトや論文は以下(正確には自分が読んだのはSPLASH '11版) https://github.com/kripken/emscripten/wiki Emscripten とは、LLVM-IR(LLVMにおけるプログラムの内部表現)をJavaScriptに変換するものです。前回の記事で投稿したものとは変換方向が逆になります。Emscriptenは、主に他の

                                                                  • 実例で学ぶ MySQL/MariaDB デバッグ - nayuta-yanagisawa's blog

                                                                    この記事では、MySQL/MariaDB のバグを修正するための典型的な手順を、具体例を通して解説する。次の MariaDB のバグを例として取り上げるが、基本的なデバッグの手順は MySQL でもまったく同様である。 MDEV-24868: Server crashes in optimize_schema_tables_memory_usage after select from information_schema.innodb_sys_columns なお、MySQL/MariaDB のデバッグ方法についての包括的な解説を与えるのは、この記事のスコープ外である。デバッグ手法の詳細を知りたい場合は、以下の一連の記事を参照してほしい。 Debugging MySQL/MariaDB (1): Build and Test Debugging MySQL/MariaDB (2): DBU

                                                                      実例で学ぶ MySQL/MariaDB デバッグ - nayuta-yanagisawa's blog
                                                                    • A Docker Tutorial for Beginners

                                                                      Learn to build and deploy your distributed applications easily to the cloud with Docker Written and developed by Prakhar Srivastav   Star Introduction What is Docker? Wikipedia defines Docker as an open-source project that automates the deployment of software applications inside containers by providing an additional layer of abstraction and automation of OS-level virtualization on Linux. Wow! Th

                                                                        A Docker Tutorial for Beginners
                                                                      • Introduction to GCJ (Fedora Core Expert, July 2005)

                                                                        Java Ahead-of-TimeコンパイラGCJ 首藤 一幸 注: このページの文章は Fedora Core Expert 誌 (2005年 7月発売) に掲載された以下の記事の元原稿です。 編集部の了承の元に、本ウェブページに掲載しております。 首藤一幸, "GCCのJavaコンパイラ "GCJ" ガイド", Fedora Core Expert, pp.180-191, (株)技術評論社, 2005年 7月 2日 GCJは、Javaプログラムを実行前にネイティブコードに変換するコンパイラです。 Fedora Core 4には、GCJ、およびGCJでコンパイルされたJavaプログラムが いくつか含まれています。 本稿では、Eclipseといった大きな実用プログラムが動作するくらいに成熟してきた GCJの機能と性能を紹介します。 もくじ GCJとは 準備 使い方 サポートしている

                                                                        • MySQL Cluster Architecture - hirohama.wiki

                                                                          今後は、hirohama.mysqlを更新します。 このページでは雑誌掲載の内容とバックアップ/リストアについて紹介しています。 MySQL Clusterのセットアップ手順はPDFファイル([1])の後半にあります。HTML化していません。 最新情報などはMySQL Clusterページへ。 MySQL Clusterのアーキテクチャ 一言で言うとMySQL Clusterは,Alzato 社が開発したNDB ClusterをMySQLサーバと統合した,非共有ディスク型でアクティブ・アクティブ型のインメモリデータベースです.共有ディスクを必要としないために高価なH/Wを必要とせず,アクティブ・アクティブ型なのでフェールオーバに必要な時間は非常に短い.またメモリベースのデータベースであるので高速にデータへアクセスできます. MySQL Clusterの特徴 非共有ディスク型 アクティブ・ア

                                                                          • 【音付き】15種のソートアルゴリズムの可視化

                                                                            Youtubeからの転載です。http://www.youtube.com/watch?v=kPRA0W1kECg-----① 選択ソート(Selection Sort)② 挿入ソート(Insertion Sort)③ クイックソート(Quick Sort)④ マージソート(Merge Sort)⑤ ヒープソート(Heap Sort)⑥ 直接基数法による基数ソート(LSD Radix Sort)⑦ 基数交換法による基数ソート(MSD Radix Sort)⑧ イントロソート(Intro Sort)※GCC標準ソート⑨ 適応型反復マージソート(Adaptive Merge Sort)※GCC標準安定ソート⑩ シェルソート(Shell Sort)⑪ バブルソート(Bubble Sort)⑫ シェーカーソート(Cocktail sort / Shaker Sort)⑬ ノームソート(Gnome

                                                                              【音付き】15種のソートアルゴリズムの可視化
                                                                            • Writing High Performance Go

                                                                              Writing High Performance Go GopherChina 17 April 2016 Dave Cheney Welcome 您好! Thank you for coming to my talk. Thank you also to the GopherChina organisers for inviting me to speak. My name is David. I'm a Go programmer from Sydney, Australia. I'm a contributor to the Go project and I run the Sydney Go Users' group. 2 Agenda This talk is aimed at development teams who are building production Go ap

                                                                              • フロントエンドパフォーマンスのチェックリスト2021年版(PDF、Apple Pages、MS Word)-中編 | POSTD

                                                                                目次# 前編 準備段階:計画と指標 パフォーマンスを重視する文化、Core Web Vitals、パフォーマンスのプロファイル、CrUX、Lighthouse、FID、TTI、CLS、端末。 現実的な目標の設定 パフォーマンスバジェット、パフォーマンス目標、RAILフレームワーク、170KB/30KBバジェット。 環境の定義 フレームワークの選択、パフォーマンスコストの基準設定、Webpack、依存関係、CDN、フロントエンドアーキテクチャ、CSR、SSR、CSR + SSR、静的レンダリング、プリレンダリング、PRPLパターン。 中編 アセットの最適化 Brotli、AVIF、WebP、レスポンシブ画像、AV1、アダプティブメディア読み込み、動画圧縮、Webフォント、Googleフォント。 ビルドの最適化 JavaScriptモジュール、モジュール/ノーモジュールのパターン、ツリーシェイ

                                                                                  フロントエンドパフォーマンスのチェックリスト2021年版(PDF、Apple Pages、MS Word)-中編 | POSTD
                                                                                • Windows における例外ハンドリングとか 64-bit プロセス固有のあれそれとか - NyaRuRuが地球にいたころ

                                                                                  Windows における例外ハンドリング - @a4lg の準技術的日記 すごくまとまってました.個人的に印象深かったのはこの辺. 実は、x64 版 Windows 用のバイナリにおいては、fs:[0] に例外ハンドリング構造体へのポインタを設定するなどという行為は一切行いません。というより、コード上には、例外をハンドルする如何なる追加コードも存在しません。これは、例外ハンドリングを行わない場合のプログラムには一切オーバーヘッドが存在しないということを意味します。 Windows の細かい部分まで見てみると,64-bit プロセスのみ影響を受ける仕様というのがいくつかあって,今回のケースもそのひとつですかね.64-bit アプリケーションの場合,「従来から存在するバイナリ」というのが存在しないので,互換性に悩まされることなく 32-bit 時代の仕様をリセットできる,と. Windows

                                                                                    Windows における例外ハンドリングとか 64-bit プロセス固有のあれそれとか - NyaRuRuが地球にいたころ