並び順

ブックマーク数

期間指定

  • から
  • まで

121 - 160 件 / 248件

新着順 人気順

gcの検索結果121 - 160 件 / 248件

  • トラブルに備えるJVMオプション - n-agetsumaの日記

    以前の記事でトラブルが起きた後の初動対応を書いてみたが、いざトラブルに遭遇すると、まず再起動してからどうするか考えるケースが多いと感じている。しかし何も情報がないと『情報がない/再現方法が不明』などの理由からそのままお蔵入りになってしまう。今回はトラブルに事前に備えるために、地味だけど大切なJavaVMのオプションをまとめてみる。 GCログの出力とローテーション OutOfMemoryError発生時のヒープダンプ自動出力と出力パス設定 JavaVMクラッシュログの出力パス設定 JVMオプションの設定 (OpenJDK/OracleJDK) JavaVMにはGCおよびヒープメモリの状態をロギングする仕組みや、OufOfMemoryError時にヒープダンプを自動的に出力するような障害に備えて自動的に情報を出力する機能がある。おすすめのオプション*1は以下の通り。 java -Xms?g -

      トラブルに備えるJVMオプション - n-agetsumaの日記
    • 画像から簡単に精巧な3D写真が作成できる論文が公開される、実際に3D写真を生成することも可能

      RGBに「奥行き(Depth)」情報を加えた「RGB-D」画像から、立体的な写真である「3D写真」を生成する方法を研究者チームが提案しています。たった1枚の写真から精巧かつ立体的な3D写真が手軽に生成可能ということで話題になっています。 3D Photography using Context-aware Layered Depth Inpainting https://shihmengli.github.io/3D-Photo-Inpainting/ RGB-D画像から3D写真を生成する方法を開発したのは、国立清華大学の大学院生でありバージニア工科大学にインターンシップ中のMeng-Li Shih氏、バージニア工科大学の大学院生であるShih-Yang Su氏、Facebookリサーチで働くJohannes Kopf氏、バージニア工科大学の助教であるJia-Bin Huang氏ら4人です

        画像から簡単に精巧な3D写真が作成できる論文が公開される、実際に3D写真を生成することも可能
      • クラウドネイティブ環境におけるJavaチューニングの進め方 〜 20,000rpsをさばく超PayPay祭の事例

        ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog こんにちは、ショッピング統括本部の川口です。 本記事では、2022年2月から3月にかけて開催された超PayPay祭の事例をもとに、クラウドネイティブ環境におけるJavaチューニングの進め方について解説します。 本記事の内容は2022年6月19日に開催された、JJUG 2022 Springで発表した内容をベースにしています。 Yahoo!ショッピングにおける超PayPay祭は高負荷 超PayPay祭は全国のPayPay加盟店とオンラインショップでお得に買い物をお楽しみいただける大規模キャンペーンです。Yahoo!ショッピングにおいても、PayPayポイントがもらえるキャンペーンなどさまざまなお得な施策が実施されます。超PayPay

          クラウドネイティブ環境におけるJavaチューニングの進め方 〜 20,000rpsをさばく超PayPay祭の事例
        • Rust の 所有権、借用、ライフタイムについて初心者目線で説明と整理を試みる

          自分のブログを辿ってみたところ Rust を 2020 年には書いているようだが、初心者を名乗らせていただく。なぜならブログのネタにする以外で Rust 書いたことないし、これも調べながら書いているからだ。もっと練習したい、どこかに Rust を書ける機会ないかな〜チラッチラッ 👀 なぜありふれていそうな題材で書くか 題材はありふれているし解説もたくさんあるが、それらを読んで理解できるのか?という疑問がある。というのも、所有権、借用、ライフタイム自体についての説明は至る所で見るが、これらが無いと何が大変なのか、導入することで何が解決されるかがよく分からないと思うからだ。勿論、そのような点まで解説してくれているものもたくさんあるが、正直なところ Not for Me だった。何が Not for Me だったかというと、C++ の知識やコンピュータサイエンスの知識があることが前提になってい

            Rust の 所有権、借用、ライフタイムについて初心者目線で説明と整理を試みる
          • ドワンゴがRustで分散ファイルシステムを作っているらしい

            第2回 大量トラフィックを支えるインフラ~独自プロトコル,ファイルシステムの実装もいとわない!~ ドワンゴが分散ファイルシステムを作っているというニュースを見た. しかもRustで. ニュース以上のことも知りたくなったがツテがないし, あったとしても教えてくれるわけがないので外側から推測することにした. 実は分散ファイルシステムも独自に開発しました。もともと既存のオープンソースのファイルシステムを使っていたのですが,それだと期待する性能が出ないことがわかり,独自に調査開発を進めることにしました。 Rustという言語で,ガベージコレクションがなく,C++にメモリ安全性の機能を付加したようなものです。ニコニコの動画・生放送の配信基盤開発ではErlangを使うことが多いのですが,レイテンシを細かく制御したい分散ファイルシステムの分野では,どうしてもガベージコレクションが気になってきます。たしかに

              ドワンゴがRustで分散ファイルシステムを作っているらしい
            • C言語でインクルードするだけで使えるNon-movingで正確なコピーGCを作った - Qiita

              インクルードするだけで使えるNon-movingで正確なGCをC言語用に作りました。 行数がコメントを除いて100行に満たない非常に小さなライブラリです。 GCのアルゴリズムとしてはCheneyのコピーGCを採用しています。 通常のCheneyのコピーGCではメモリ空間のうち半分が無駄になってしまいメモリ効率が悪かったり、 GC発生時にオブジェクトが移動してしまいC言語のようなポインタを直接触れる言語との相性が悪いという欠点がありました。 今回はヒープ全体を二重連結リストとして管理することでそのような問題を解決しています。 ちなみにこれはTreadmill GCのアイデアと同じです。(が、アルゴリズム自体はTreadmill GCではありません。) APIはLinuxのlist.hに非常に近い見た目になっています。 ある構造体をgcで管理したい場合はstruct gc_head型のメンバを

                C言語でインクルードするだけで使えるNon-movingで正確なコピーGCを作った - Qiita
              • suVeneのあれ: Ajaxにおけるメモリリークの注意点

                2006年03月06日 Ajaxにおけるメモリリークの注意点 [ajax][javascript][はてブ] はてブの「ブックマークの確認」ページは、IEでメモリリークする! IE のメモリリーク調べる為の「Drip」ってツールが ここにあって、 このツールは単純にリークしそうなコードチェックしたり、 オートリロードして、外部から参照したメモリ使用量を記録してくれるだけなんだが はてブの追加ページで確認するとこんな感じになる。 (オートリロードなんで負荷高くなるから、悪用したり、やりすぎたりしないようにw) タスクマネージャー等の、外部から参照したメモリが増えているからといっても OSがアプリケーション用にキャッシュしているメモリが増加しているだけの 可能性があるから、一概に鵜呑みはできないんだが 平均して1回のリロードに 1M 近く増えていくとかおかしい。 (MicroSoft もタスク

                • 日本を捨てて海外永住したいけど、実際どうなのよ

                  8 : 作業療法士(アラバマ州):2010/09/11(土) 03:10:57.87 ID:8xjAtJhPP レベルの高い英語ができるかどうか これ次第 6 : たい焼き(catv?):2010/09/11(土) 03:10:36.31 ID:qT3+Qel3Q 海外に出たって一生よそ者扱いは辛い 9 : 作業療法士(アラバマ州):2010/09/11(土) 03:11:42.32 ID:8xjAtJhPP >>6 移民として住むならガチでキツい 51 : 路面標示施工技能士(兵庫県):2010/09/11(土) 03:43:06.50 ID:oizKubv30 正直日本以外は飯が不味すぎていくら他の部分が良くても移住する気にならん 399 : 芸術家(兵庫県):2010/09/11(土) 10:19:11.83 ID:4Y46vJeb0 永住権を取ろうと思ったら たいがい何の仕事をして

                  • Javaの性能を分析する10のツール | エンタープライズ | マイコミジャーナル

                    JDK16 jconsoleの動作例 JavalobbyにおいてJavaパフォーマンストラブルシューティングに役立つ10のツールがTop 10 Java Performance Troubleshooting Toolsとして紹介されている。OSの限定されるツールもあるため実質的には7つの紹介とみていいだろう。Javaのパフォーマンス分析といえばJDK 6 Update 7からJava VisualVMが同梱されるなど今後のさらなる発展が期待される分野だ。同文書で紹介されているツールは次のとおり。 jconsole - JDK1.5およびそれ以降のバージョンに同梱されているJavaモニタリングおよびコンソール管理ツール。JMX互換のグラフィカルツールでローカルで動作しているJava仮想マシンもリモートで動作しているJava仮想マシンもどちらもモニタリング可能 VisualVM - 高性能な

                    • Javaエンジニアだった私が当時困ったRustのコンセプト - paild tech blog

                      お手伝いの @helloyuki_ です。今回はポエムです。 今回は、Rust を始めた当時、プログラミング言語は Java しかまともに触ったことがない新米若手 Java エンジニアだった私[*1]が「見たことがなく、使いどころがわからなく理解が難しい」と感じたポイントについて紹介します。対象とするソフトウェアのレイヤーが低いか高いかを問わず、とにかく Rust をやってみて理解するまでに時間がかかり、難しいと感じたポイントについて紹介します。 Rust の「メモリ安全」って、結局何 所有権とライフタイム 参照 スマートポインタ 代数的データ型 関数が第一級である モジュールシステム self 型クラスという側面でのトレイト まとめ 私が Rust をある程度使いこなせるようになるまでの話 「難しい」って何?、の話 Rust の「メモリ安全」って、結局何 そもそも論ですが、Rust が取

                        Javaエンジニアだった私が当時困ったRustのコンセプト - paild tech blog
                      • GoConで発表してきたのでついでにruntime以下の知識をまとめていく #golang #goroutine - niconegoto Blog

                        3/25に行われたGoConで"How Communicating Sequential Goroutines Work"という発表をしてきました。 当初僕はCommunicating Sequential Processesについての話しをする予定だったのですが、時間内にとても発表できそうな内容ではなかったため、Concurrency全般についての話をしました。 そのため、ここではその際触れられなかったgoroutineの実装の話しやCSPの話しなどを含めてGoのruntimeについて何回かに分けてまとめていきたいと思います。今回は主にgoroutineについてです。 GoのConcurrency goroutineの説明に入る前にざっくりGoのConcurrencyについて説明します。 以下、GoConでの発表スライドにざっくりと沿いながら書いていきます。 speakerdeck.co

                          GoConで発表してきたのでついでにruntime以下の知識をまとめていく #golang #goroutine - niconegoto Blog
                        • C#に潜むstructの罠 - KAYAC engineers' blog

                          こんにちは。技術部平山です。 この記事ではC#のstructを使った際にはまった罠について書きます。 Unityでの体験を軸にお話しますが、Unityに限ったことではないかと思います。 お急ぎの方のために結論を申しあげますと、structを使うなとなります。 どうしてもstructを使いたい気分になった時に、罠にはまって時間を無駄にする覚悟をした上で使いましょう。 未来に活きる良い失敗ができると思いますし、最終的には製品の性能も上がるとは思いますが、 structを使わないといけない理由は、たぶんありません。なくても製品は作れます。 しかし、一回もstructと書かなかったとしても、C#で書く限りstructからは逃れられないのです。 (2019/04/10) 末尾に話を単純化しすぎた点について補足をいたしました。 structとは C#の型にはclassとstructがあります。 ...

                            C#に潜むstructの罠 - KAYAC engineers' blog
                          • Go言語の低レイテンシGC実現のための取り組み | POSTD

                            (訳注:2016/9/28、頂きましたフィードバックを元に記事を修正いたしました。) 私たち Twitch では、通信が大変混み合うシステムの多くで Go を採用しています。ライブ映像を配信したり、何百万人というユーザにチャットサービスを提供したりする場合に直面する問題を考慮すると、Goはそのシンプルさや安全性、パフォーマンス、読みやすさの点で良いツールだと言えます。 しかしこれは、私たちにとってGoがいかに素晴らしいツールかを説明する、よくある記事ではありません。Goで現在実装されているランタイムにより行き詰まったいくつかの局面をどう打開するか、さらに、私たちはそうした限界に達した時にどう対応したらいいのかについて書いたものです。 これからお話しするのは、「Go 1.4からGo 1.6へのGoランタイムの改善が、どのようにしてガベージコレクション(GC)の停止時間を20倍も改善することに

                              Go言語の低レイテンシGC実現のための取り組み | POSTD
                            • クックパッドの本番環境で使われている Ruby のバージョンが 2.2 になりました - クックパッド開発者ブログ

                              技術部の鈴木 (@eagletmt) です。 先日、クックパッドで使われている Ruby のバージョンを 2.0.0 から 2.2 にアップグレードしました。 アップグレードは主に @sorah と私で進めました。 今回はアップグレードまでの過程やアップグレード当日の流れ、そして今のところ見られているアップグレードによる効果などについて紹介します。 アップグレードまでの準備 テストを通す Ruby 2.1 がリリースされたときから 2.1 にアップグレードできないか検証環境でテストを回していました。 しかし、当時はクックパッドの全テストを実行すると必ず途中で Ruby がクラッシュする現象に悩まされていました。 Ruby の GC のバグ、拡張ライブラリのバグを疑いながら色々やってみたものの結局解決できず、Ruby 2.2 がリリースされてからもこの状況は改善されませんでした。 しかしある

                                クックパッドの本番環境で使われている Ruby のバージョンが 2.2 になりました - クックパッド開発者ブログ
                              • 「JVM Operation Casual Talks」発表資料のリンクをまとめてみる #jvmcasual - 元RX-7乗りの適当な日々

                                4/7に、LINEさんのオフィスで開催された「JVM Operation Casual Talks」。 一部で、Cassandra Casualだったのではないかという疑惑もありましたが、なかなかためになる話が多くて、あとできっと資料を見たくなる日が来そうなので、ちょっとまとめておこうと思う。 こちらもあわせて読みたい JVM Operation Casual Talks #jvmcasual - Togetter Understanding Memory Management of JavaVM
 in 15 minutes (@stanakaさん) https://speakerdeck.com/stanaka/understanding-memory-management-of-javavm-in-15-minutes @stanakaさん、どこでJVM使ってるのかと思ったら、今日は

                                  「JVM Operation Casual Talks」発表資料のリンクをまとめてみる #jvmcasual - 元RX-7乗りの適当な日々
                                • Web Application Server を動かす時の Java8 起動オプションのメモ - その手の平は尻もつかめるさ

                                  一般的な Web Application Server *1 を Java8 で動かすにあたって,最近有効にしている起動オプションについてメモ. 何か間違っていたり,あるいは「こっちの方が良い」みたいなのがあれば教えて下さい. -server server mode で起動させる (指定しないと client mode になる可能性がある,マシンスペックによってスイッチする?). -Djava.net.preferIPv4Stack=true If IPv6 is available on the operating system the underlying native socket will be an IPv6 socket. This allows Java(tm) applications to connect too, and accept connections from,

                                    Web Application Server を動かす時の Java8 起動オプションのメモ - その手の平は尻もつかめるさ
                                  • JavaのGCの仕組みを整理する - Qiita

                                    最近メモリを大量に使うJavaのプロセスに関する仕事があり、GCの知識が必要になったので調べたことをまとめておきます。調べたら色々出てくる時代ですが考えを整理するために書きました。間違った認識をしている可能性はあるのでそこはご指摘いただけると幸いです。 注: この記事は最新のGC事情を整理するものではなく、古典的?な手法について書いてます。 JVM まずはざっくりJavaの基本的な仕組みから。 JavaのプロセスはJVMと呼ばれる仮想マシンの上で動作します。この仕組みは様々なOSで動作し、環境の差異を気にする事なくコンパイルされたJavaのコード(クラスファイル)を様々な環境で実行可能にしてくれます。 JVMにはいくつ種類がありますが、本記事はOpen JDKで用いられるHotSpot VMの場合を想定しています。(他のJVMとの違いはわからない) ヒープ領域 Javaのプロセスを開始する

                                      JavaのGCの仕組みを整理する - Qiita
                                    • エデンの園でおきたこと - steps to phantasien

                                      有給を駆使し一足早くクリスマス休暇に突入、ヒャッホイ Ingress やるぜーと 意気込んでいた矢先ノロウイルスにやられダウンした。かなしい。鎮まれ俺の胃袋・・・ そんな腹痛日和の気晴らしとして今日は Garbage Collection Advent Calendar に参加してみることにしました。 Advent Calendar 初体験につきよくわかってないけど勝手に参加していいんですよね? GC というとジェネレーショナルだのパラレルコンカレントだのといった話が目立ちがちだけれど、 現実の問題というかブラウザを相手にするとそれ以外の細々とした面倒が目につく。 GC つき言語 (JavaScript) のコードと C++ で書かれたコードとの連携は最たる面倒の1つ。 たとえば WebKit の DOM は C++ で実装されており、 C++ のオブジェクトは JavaScript 処理

                                      • JavaVMのメモリ管理に関するまとめ(Javaヒープ、GC、ダンプ等) - ぺーぺーSEのブログ

                                        本ブログはJava8(特にMetaspace)に対応していない。 下記にJava8以降に対応した記事を記載する(予定)。 blog.pepese.com JavaVMのメモリ領域について JavaVMが管理するメモリ領域について 階層1 階層2 階層3 説明 Javaヒープ JavaVM上で起動するJavaプログラムのリソースを管理する領域。New領域とOld領域で構成される。 l" New領域 新規オブジェクトと閾値(-XX:MaxTenuringThreshold)未満のオブジェクトが配置される。(Young領域とも呼ばれる) l l" Eden領域 新規のオブジェクトが配置される。 l l" From領域 CopyGC(ScavengeGC、マイナーGC)が実行された際に、使用中のオブジェクトはここへコピーされる。(S0やS1とも呼ばれる) l lー To領域 CopyGC(Scav

                                          JavaVMのメモリ管理に関するまとめ(Javaヒープ、GC、ダンプ等) - ぺーぺーSEのブログ
                                        • ボーイフレンドを直す方法 あるいは賢いjQuery.Deferredの使い方 - mizchi's blog

                                          問題 モバイルは回線が不安定なので、ロードの失敗が頻繁に起こります。 開発時は高速なwifi環境で開発しているので、リリース間近になって帯域を圧迫していることに気づいたりします。 解決方法 画像を先読みします var preload = function(src){ var d = $.Deferred(); var img = new Image; img.src= src; img.onload = d.resolve img.onerror = d.reject return d.promise(); }; 何をやっているかというと、空のimgタグをつくってそこに画像を読み込みます。その過程でブラウザキャッシュに画像が保存されます。正確に言うとこの時点ではどこにも紐付いていないのでGC対象ですが、その後すぐDOMに画像をはるなら問題ありません。 並列で先読みする(速い・不安定) va

                                            ボーイフレンドを直す方法 あるいは賢いjQuery.Deferredの使い方 - mizchi's blog
                                          • BigQueryを分かりやすく! ハンズオンで始めるGoogle Cloudのデータ分析サービスと可視化ツールの使い方|ハイクラス転職・求人情報サイト AMBI(アンビ)

                                            ハイクラス求人TOPIT記事一覧BigQueryを分かりやすく! ハンズオンで始めるGoogle Cloudのデータ分析サービスと可視化ツールの使い方 BigQueryを分かりやすく! ハンズオンで始めるGoogle Cloudのデータ分析サービスと可視化ツールの使い方 Googleの高度な技術を利用できるGoogle Cloudにおいて、BigQueryは大規模データをスケーラブルに分析できるフルマネージドなデータウェアハウスとして提供されています。株式会社タイミーでデータエンジニアを務める土川稔生さんが、初心者向けのハンズオンとともにBigQueryの基本を解説します。 はじめまして。株式会社タイミーでデータエンジニアをしている土川(@tvtg_24)です。 タイミーでは、Google Cloudのデータ分析サービスであるBigQueryを中心に、データ基盤を構築しています。BigQu

                                              BigQueryを分かりやすく! ハンズオンで始めるGoogle Cloudのデータ分析サービスと可視化ツールの使い方|ハイクラス転職・求人情報サイト AMBI(アンビ)
                                            • Ruby 製バッチ処理を省メモリ化した - おいちゃんと呼ばれています

                                              少し前に Ruby 製のバッチ処理を省メモリ化したときの話をメモしておきます。 どのようなバッチ処理だったか 動画共有サイトにアップされた動画がオトナの事情によって削除されることがしばしばあるということは周知のことだと思う。そこで、一定時間おきに配信元サイトをチェックして、もし動画が配信元から削除されていたら、当該動画をこちらのサイトでも動画一覧に表示させないようにする、検索に引っ掛からないようにする、ということをやっていた。 便宜上、そのバッチ処理のことを「(動画の)存在確認くん」と呼ぶ。 oom-killer に殺されていた 彼は非常にデキる子だったが、なんか最近、動画の落とし漏れがあるなーと感じた。原因を調べたら、メモリを食い過ぎて oom-killer に殺されていた。 cat /var/log/messages Apr 6 12:46:45 xxx001 kernel: Out

                                                Ruby 製バッチ処理を省メモリ化した - おいちゃんと呼ばれています
                                              • Nimを知ってほしい2022

                                                Nimを知ってほしいという記事があり、Nimを知らなかった人々向けに最初の紹介として大変な貢献をしてくださりました。 しかしまだNimを使ったプロダクトというのも少なく、競プロではチラホラ見かけるものの、人々の中にある意識としては「気になっています」という域を越えられていないのも事実です。 そこで今回は企業での意思決定をする人や、5年以上の経歴があるエンジニア向けに、Nimを書いてみようと感じてもらうことを目的に、先日私が登壇したみんなのPython勉強会#79 『Pythonistaに伝えたいNimの魅力』に加筆して投稿してみたいと思います。 Nimって何? 2008年から開発が始まった新しいプログラミング言語です。 「Pythonに型が付いて、Goみたいに高速に、バイナリになってOSの実行環境に依存しないで動いてくれる言語ないかな〜」という全プログラマーの夢を叶えてくれる言語です。 書

                                                  Nimを知ってほしい2022
                                                • Google Colaboratoryを便利に使うためのTIPSまとめ - karaage. [からあげ]

                                                  Google Colaboratoryをもっと便利に使いたい ブラウザさえあれば、環境構築不要・無料でPythonの開発が可能なWebサービス「Google Colaboratory(以下Google Colab)」。Windows PC等で手元に適切なPython環境が無い場合や、手元の環境を崩したくないとき、GPUを活用したいときなど幅広く活用しています(詳細は以下記事参照下さい)。 そんな中、よく使うコマンドやTIPS、使いたいときに探すのに時間がかかるのが多いため、一度まとめてみることにしました。 以下に本記事で紹介するコマンドをまとめたGoogle Colabのノートブックのリンクを貼っておくので、こちらも好きにコピーして使用してもらってOKです。 Google Colab Tips集 スペック確認 OS確認 !cat /etc/issue 容量確認 !cat /etc/issu

                                                    Google Colaboratoryを便利に使うためのTIPSまとめ - karaage. [からあげ]
                                                  • Rubyコミッター・笹田耕一に世代別インクリメンタルGCを発想したプロセスを聞いてみた - エンジニアHub|Webエンジニアのキャリアを考える!

                                                    Rubyコミッター・笹田耕一に世代別インクリメンタルGCを発想したプロセスを聞いてみた Rubyのフルタイムコミッターである笹田耕一さんに、Rubyの処理性能を向上させるいくつかのブレイクスルーをどのように解決し、どのような困難があったのかを聞きました。 直感的な文法や生産性の高さから、世界中の人々に愛されるオブジェクト指向スクリプト言語Ruby。その黎明期から現在に至るまで、大きな変化を遂げてきた要素があります。“処理速度”です。数々の最適化が行われた結果、Rubyの処理性能はかつてとは比べものにならないほど向上しました。 その改善を支えたのは、世界中のRubyコミッターたち。中でも、性能向上において多くの成果を残してきたのが、クックパッド株式会社でフルタイムRubyコミッターとして働く笹田耕一(ささだ・こういち/ @koichisasada )さんです。本稿では、彼がいかなる設計方針に

                                                      Rubyコミッター・笹田耕一に世代別インクリメンタルGCを発想したプロセスを聞いてみた - エンジニアHub|Webエンジニアのキャリアを考える!
                                                    • 「Google Cloud Scheduler」リリース。スケーラブルなcronサービスとしてジョブの予約や定期実行、自動リトライなど可能に

                                                      GoogleはGoogle Cloud Platformの新機能として、クラウド上で時間指定や定期スケジュール指定などによるジョブや関数を起動するcronのような機能を提供する「Cloud Scheduler」をリリースしました。 Cloud SchedulerはWebのユーザーインターフェイスやコマンドライン、APIを通じてcronと同様に複数の時、日、週、月、年などのスケジュール設定が可能です。 HTTP/HTTPSやPub/Subなどを通じてGoogle Clooud Platform内だけでなくほかのクラウドやオンプレミスのエンドポイントも呼び出せます。 また、App Engineのアプリケーションの起動、Cloud Functionsの関数の起動など、さまざまな方法でジョブを起動可能です。 またジョブが失敗したときの自動リトライ機能も備えています。 Cloud Scheduler

                                                        「Google Cloud Scheduler」リリース。スケーラブルなcronサービスとしてジョブの予約や定期実行、自動リトライなど可能に
                                                      • 継がれず無縁、さまよう墓石 不法投棄続々、墓の墓場も:朝日新聞デジタル

                                                        先祖代々受け継がれてきた墓が受難の時を迎えている。墓守が絶えた無縁墓から撤去された墓石は、慰霊の場を離れ、さまよう。人里離れた山中に“墓の墓”が現れ、不法投棄も後を絶たない。 高松市のJR高松駅から車で30分の山中に“墓の墓”がある。約1ヘクタールの空き地にコンクリートで固めた最大幅100メートル、高さ15メートルの扇状の巨大なひな壇が設けられ、壇上に墓石1万基が並ぶ。 「古石材預り所」と称する管理者(52)によると、中四国や関西の寺から撤去された墓石を石材店などの業者が持ち込んでくる。家庭の事情で墓を引き払い不要になった墓石のほか、無縁墓もある。1基1万円で受け入れ、最近は年300基ほど集まる。クレーン機で石を整然と並べ、定期的に雑草をとる。「ここ数年でどんどん増えている。もうけはないが、やめたくてもやめられない」。まだ9万基収容できるという。 一方、不法投棄された“墓の山”もある。兵庫

                                                          継がれず無縁、さまよう墓石 不法投棄続々、墓の墓場も:朝日新聞デジタル
                                                        • パーフェクトなCRubyを目指して - 1行のバグ修正に潜む苦労 - - I am Cruby!

                                                          この記事はパーフェクトRuby Advent Calendar 2013 - Adventar の9日目です。 前の日のエントリーはパーフェクトRuby Advent Calendar 2013(8日目) Let's Sinatra Life - たちブログです。 まだ参加できますので、みなさまもぜひ。 パーフェクトRuby Advent Calendar 2013 - Adventar パーフェクトRubyRubyの仕様に大変詳しい同僚への献本をインターセプトして読ませていただきました。 さまざまな機能をまとめたとてもよい本だと思います。 著者のみなさまの苦労が偲ばれました。パーフェクトRuby (PERFECT SERIES 6)作者: Rubyサポーターズ,すがわらまさのり,寺田玄太郎,三村益隆,近藤宇智朗,橋立友宏,関口亮一出版社/メーカー: 技術評論社発売日: 2013/08/1

                                                            パーフェクトなCRubyを目指して - 1行のバグ修正に潜む苦労 - - I am Cruby!
                                                          • Javaガベージコレクションのエッセンス

                                                            あるアプリケーションの作業にとって、スループットは最も重要なターゲットです。1つ例を挙げると、長時間実行されるバッチ処理のジョブです。ガベージコレクションが実行されている間、バッチジョブが時々1、2秒止まっても、ジョブ全体がすぐに完了すれば問題ありません。 人間が直接対話するアプリケーションから金融取引システムまで、実質的な他のすべての作業では、システムが1、2秒か、数ミリ秒以上反応しない場合、大変なことになり得ます。金融取引では、しばしば一貫した停止時間と引き換えに、スループットを犠牲にするだけの価値はあります。物理的に利用可能なメモリ量によって制限されるアプリケーションを持ったり、footprintを維持しなければならなかったりすることもあります。そのような場合、停止時間とスループットの面の両方で、パフォーマンスをあきらめなければなりません。 以下のトレードオフは度々起こります。 大部

                                                              Javaガベージコレクションのエッセンス
                                                            • JVMのチューニング - ITエンジニアとして生きる

                                                              前回、JVMとGCのしくみ - ITエンジニアとして生きるでJVMとGCのしくみについて書いた。 今回はその続きということでJVMのチューニングについて書きたいと思う。 JVMチューニングって -Xms ・・・ ヒープ全体(New領域+Old領域)の初期値 -Xmx ・・・ ヒープ全体(New領域+Old領域)の最大値 くらいしか話題に上がらないし意識しないことが多い(気がする)。 でもホントはこれだけではダメで、前回のようにPermanent領域、New領域、Old領域を意識したチューニングが必要になる。 VMチューニングを考えるその前に・・・チューニングの話をする前にまずVMの起動モードについて話したいと思う。 VMには大きく以下2つの起動モードがあり、それぞれ以下のような特徴を持つ。 ◆クライアントVMモード 起動時間を短縮し、メモリサイズを縮小するように調整されている。 VM起動時

                                                                JVMのチューニング - ITエンジニアとして生きる
                                                              • Javaの現状:世界で最も人気のあるプログラミング言語の一つであるJavaの動向とデータ

                                                                成功者がどのようにNew Relicを使用してKubernetesのパフォーマンスを4倍に向上させ、拡張性とスループットを改善したかをご覧ください。

                                                                • ガベージコレクションのアルゴリズムと実装

                                                                  ガベージコレクションのアルゴリズムと実装 中村 成洋, 相川 光, 竹内 郁雄(監修) 達人出版会 1,045円 (950円+税) GCについて初めて日本語で書かれた技術書です。前半部分でアルゴリズムをわかりやすく解説し、後半は複数の言語処理系の実装を読み解いていきます。GCの理論と実際の利用方法を学べる書籍です。 内容紹介本書は次の2つのテーマを扱います。 GCのアルゴリズム(アルゴリズム編)GCの実装(実装編)アルゴリズム編では、これまでに考案されてきた数多くのGCアルゴリズムの中から、重要なものを厳選して紹介します。伝統的かつ基本的なものから、やや高度なアルゴリズムを選定しています。GC独特の考え方や各アルゴリズムの特性などを理解していただくのがアルゴリズム編の最大の目的です。 実装編では、筆者らが選定した言語処理系のGCを読み進めていきます。アルゴリズム編では理論をしっかり学び、実

                                                                    ガベージコレクションのアルゴリズムと実装
                                                                  • LeakCanaryでメモリリークを検出する - Qiita

                                                                    Squareがメモリリークを検出するライブラリ square/leakcanary を公開したので、さっそく使ってみたらすごく便利だった話です。 A small leak will sink a great ship Piwaiが書いたLeakCanaryの記事がこちらです。 LeakCanary: Detect all memory leaks! 要約すると、 Squareではビットマップキャッシュに顧客の署名を書いていたが、端末の画面のサイズ分のメモリを確保するので、署名をするときにクラッシュすることがあり、それがOOMの大半を占めていた。 Bitmap.Configを変更したり、OOMをキャッチしてGCを走らせたりしたが、問題の解決には至らなかった。 我々は間違ったアプローチを取っていたことに気が付いた。ビットマップの大きさではなくメモリリークが根本的な原因だったのだ。 通常であれば

                                                                      LeakCanaryでメモリリークを検出する - Qiita
                                                                    • 見えてきた「ECMAScript 6」。JavaScriptの生みの親が書く「Harmony of Dreams Come True」

                                                                      見えてきた「ECMAScript 6」。JavaScriptの生みの親が書く「Harmony of Dreams Come True」 JavaScriptの標準仕様となっているのがECMAScriptで、最新バージョンは2009年12月に策定されたECMAScript 5th Editon。そして次のバージョンとなるECMAScript 6は、コード名「Harmony」もしくは「ES.next」や「ES6」と呼ばれています。 ECMAScript 6にはどのような機能が加わるのか、JavaScriptの生みの親であるBrendan Eich氏が、自身のブログに「Harmony of Dreams Come True」というエントリをポストし、その内容を紹介しています。PublickeyではEich氏の許可を得て日本語訳を掲載します。 (正確な翻訳に務めましたが、言語仕様やガベージコレクシ

                                                                        見えてきた「ECMAScript 6」。JavaScriptの生みの親が書く「Harmony of Dreams Come True」
                                                                      • ゼロから始めるWebAssembly - Qiita

                                                                        学習記録 WebAssemblyとは ブラウザ上でクライアントサイドのスクリプトとして効率的に動くバイナリフォーマットです。 現在JavaScriptより軽量で高速な処理を提供するためにベンダー各社で開発されています。 現時点ではDOM, WebAPIへのアクセスとかできません。GCもない。なので現状使いどころは重い処理をWebAssembly部分に投げ出すイメージです。 スレッドとかもFuture Workらしい。 https://github.com/WebAssembly/design/blob/master/FutureFeatures.md#threads もちろんWebを意識しているが、最終的にはWeb以外でも使えるような思想です。一つのバイナリを作ってしまえばどんなところでも動くようなReact Nativeのようなところを目指しています。 https://github.co

                                                                          ゼロから始めるWebAssembly - Qiita
                                                                        • 独習 Scalaz — 独習 Scalaz

                                                                          独習 Scalaz これまでいくつのプログラミング言語が羊の衣を着た Lisp に喩えられただろうか? Java は馴染み親しんだ C++ のような文法に GC を持ち込んだ。それまで他にも GC を載せた言語はあったけども、現実的に C++ の代替となりうる言語に GC が載ったことは 1996年には画期的に思われた。やがて時は経ち、人々は自分でメモリ管理をしないことに慣れていった。JavaScript と Ruby の両言語もその第一級関数 (first-class function) やブロック構文を持つことから羊の衣を着た Lisp と呼ばれたことがある。S式の同図像性がマクロに適することから Lisp系の言語はまだ面白いと思う。 近年の言語はもう少し新しい関数型言語から概念を借りるようになってきた。型推論やパターンマッチングは ML にさかのぼることができると思う。時が経てば、人

                                                                          • @IT:Javaパフォーマンスチューニング 第3回

                                                                            本記事は、HP-UX Developer Edgeに掲載された記事を株式会社アットマーク・アイティおよび本記事の筆者が独自の判断のもとに加筆・修正したものです。 今回は、Javaにおけるヒープ・メモリ管理の詳細を説明します。JVMのヒープ・メモリの中で、新しいオブジェクトと古いオブジェクトがどのように配置されるかを理解することで、ヒープ・メモリが有効に利用されているか否かを判断することができます。また、JVMが出力するガベージ・コレクションのログを解析し、オプションの指定によってヒープ・メモリのサイズを適切にチューニングする方法を紹介します。 Java ヒープ・メモリの構造 Javaにおけるガベージ・コレクションのメカニズムを理解するには、まずヒープ・メモリの構造を知っておく必要があります。 図1は、JVM におけるヒープ・メモリの構造を示したものです。この図が示すように、ヒープ・メモリの

                                                                              @IT:Javaパフォーマンスチューニング 第3回
                                                                            • MVCCとInnoDBでの実装について - shallowな暮らし

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

                                                                                MVCCとInnoDBでの実装について - shallowな暮らし
                                                                              • GoはいつGCするのか?

                                                                                TL;DR Go(のランタイム)は以下のタイミングで自動的にGCを実行する 前回のGC後に占有していたメモリと同量を新たに確保したとき 前回のGCから2分後 cgroupなどでメモリ制限しているときは、メモリ使用量が制限の50%以上になったらruntime.GC()を呼び手動でGCすべきである 前置き: GoとOOMのこれまで 以下はGo 1.16での調査結果です。Goのバージョンが異なった場合は事情が異なる可能性があります。 Goでプログラムを書く際に、使用メモリ量を気にしなければならないシーンはGCのおかげでそう多くはありません。実際それは間違いではないのですが、運用まで視野に入れるとそうは言ってられないことがあるのもまた現実です。昨今はコンテナの利用が当たり前になったことに伴い、OOMによりプロセスが強制的に終了させられることもあり、それを避けるために一定量以下のメモリで動くことが重

                                                                                  GoはいつGCするのか?
                                                                                • goで書いたコードがヒープ割り当てになるかを確認する方法 · hnakamur's blog

                                                                                  2018-01-30 はじめに Allocation Efficiency in High-Performance Go Services · Segment Blog という記事を読みました。素晴らしいのでぜひ一読をお勧めします。 この記事は自分の理解と実際に試してみた結果のメモです。 一番のポイントは go build -gcflags '-m' のようにオプションを指定してビルドすればコードのどの箇所でヒープ割り当てが発生したかを確認できるということです。 pprof や go test -benchmem でもヒープ割り当ての発生回数は確認できますが、上の方法ではコードのどこ(何行目の何カラム目)でヒープ割り当てが発生したかとなぜ発生したかの理由を確認できます。 元記事の内容メモ 冒頭にあげた記事を読んで私が理解した内容のメモです。 元記事の全ての内容を書いているわけでないので、元