タグ 実行時
人気順 10 users 50 users 100 users 500 users 1000 userseBPFを使った自動テストツール「Keploy」がすごい
この記事はKeployのバージョンv2.0.0-alpha53 を前提に執筆しております。 Keployとは KeployはeBPFを利用して取得できるWebアプリケーションの通信に関するトレース情報を元に、テストとそのテストの実行時に利用するスタブサーバーを生成することができるツールとなります。 公式サイトのトップには以下のようなスロー... 続きを読む
Go言語、実行時プロファイル情報による最適化「Profile-guided optimization」が正式機能に。Go 1.21リリース
Go言語の開発チームは8月8日にリリースしたGo 1.21で、実行時のプロファイル情報を用いてコンパイルを最適化し、実行速度の改善を図る「Profile-guided optimization」機能が正式版になったことを明らかにしました。 Go言語のコンパイルはソースコードの静的な解析を基にして高速なバイナリを生成するような最適化が行わ... 続きを読む
メモリプロファイラ「Memray」の解説 | gihyo.jp
Memray公式サイトのキャプチャ インストール方法は以下のとおりです。 $ pip install memray Memrayの基本的な使い方 Memrayがインストールされていると、memrayコマンドが使えるようになります。 プロファイリング対象のスクリプトをmemrayから実行すると、スクリプトを実行した同じフォルダに実行時のプロファイリング... 続きを読む
Wasmはなぜセキュアなのか?
Wasmはなぜセキュアなのか? 前回Wasmのバイナリを読んでみたが、実行時にどのようにセキュアに実行しているのか気になったので調べてみた。 とりあえず今回も公式ドキュメントを見ながら整理しつつ、実際のコードも無理なく辿れそうなところはwasmerの実装を参考に見ていきたいと思う。 Wasmの目指すセキュリティ とり... 続きを読む
RSpecのテストコードを実行時に書き換えて実行速度を改善した話 - STORES Product Blog
CTOの藤村です。つい最近まで STORES ブランドアプリ のチームでRailsを書いていました。 STORES ブランドアプリ のRailsリポジトリではdatabase_cleanerを(strategy = truncationで)使ってテスト中のデータベースをリセットしており、このことがテストコードの品質、速度などで重荷となっていました。 これを、テスト... 続きを読む
TypeScriptのexhaustiveness checkをスマートに書く
TypeScriptではデザインパターンとしてtagged unionによる直和がよく使われます。このときパターンマッチに相当する処理はswitchで行われますが、そこで直和に対する分岐が網羅的であることの保証を実行時と型検査時の両方で賢く行う方法がこれまでも模索されてきました。 今回、ヘルパー関数を導入せずにいくつかの問題... 続きを読む
TypeScript で実行時の入力を含む文字列を型で弾く - Object.create(null)
TypeScript (4.7 時点) において, 文字列に付けられる型には以下の 3 つ (とそのユニオン型) があります. 文字列型 string 文字列リテラル型 ("foo" など) テンプレートリテラル型 (`data-${string}` など) これらのうち, 実行時の入力, 特に事前にパターンが想定されていないような任意の入力が含まれるような文字列に... 続きを読む
【Rust】static でも Drop したい
Rustのstatic変数はいわゆるグローバル変数として使われることが多いですが、static変数はDropできない(デストラクタが呼ばれない)という特徴があります。 Static items do not call drop at the end of the program. メモリ管理の仕組みとして見ると、'static なライフタイムを持つstatic変数はdrop() の実行時でも生... 続きを読む
TypeScript をより安全に使うために その 2: オブジェクトの具体的な形にアクセスするのを避ける - Object.create(null)
前回はこちら. susisu.hatenablog.com 引き続き環境は以下を前提とします: TypeScript 4.4 (この記事を書いている 2021 年 11 月時点の最新版) strict: true 原則: オブジェクトの具体的な形にアクセスするのを避ける ここで「オブジェクトの具体的な形にアクセスする」とは, 静的な型によらずに, 実行時にオブジェクト... 続きを読む
なぜiPhone 11 Pro では0.5の線が描画できないのか調べてみた - Qiita
と出力された! 目の錯覚ではなく、たしかに上の線のほうが濃いことがわかった。 なぜ0.5で指定しているのに正しく描画されないか Twitter にてこの疑問をつぶやいてみたところ、 @kishikawakatsumi さんが回答をくださった。 Frameの小数部分は実行時にPixel alignedになるように丸められるからですね。Scaleをかけて割... 続きを読む
たのしく学ぶLinuxカーネル開発(第一回): `rm -rf /`実行時にカーネルパニックさせる - Qiita
はじめに Linuxカーネル開発を学ぶためにhello worldモジュールからはじめて少しづつ強化する記事を過去にいくつか書きました。これはちゃんとやれば身に付くことは身に付くのですが、非常に地味なので、よほどカーネルに興味を持っている人以外には退屈でしょう。そこで、目的をもって特定の機能をカーネルならではの方... 続きを読む
PHP 8でのJIT採用が可決、賛成50反対2。PHP 7.4への試験的採用は否決 - Publickey
現在開発中のPHP 8にJITコンパイラを組み込むべきかどうかを決定する投票が3月28日に締め切りを迎え、賛成が50票、反対が2票と圧倒的多数で可決されたことが、発表されました。 JITコンパイラはプログラムの実行時にコンパイルを行い、ネイティブコードを生成して実行するというもの。事前にコンパイル作業が不要なため... 続きを読む
TypeScriptの型情報を利用したCustom Transformerの現状確認 - Islands in the byte stream
TypeScriptのコンパイラ・プラグインとして振る舞いASTの操作を行えるcustom transformer (AST preprocessor) が実装されたのは TypeScript 2.4 (2017年) でした。 そのときの様子は次のエントリに非常によくまとまっています。 [TypeScript 2.4] custom transformer を利用して実行時に型情報を参照可能にする - Qiita ... 続きを読む
Windows 7にDLL読み込みの脆弱性、更新プログラムの提供はなし | マイナビニュース
IPAは2月28日、脆弱性情報データベース「JVN」において、Windows 7の脆弱性の情報を公開した。 Windows 7の標準のDLLファイルには、プログラムの実行時に必要とする他のDLLファイルを呼び出し元プログラムと同一のディレクトリから読み込むように作られているものが存在する。 こうした中、細工されたDLLファイルが実行... 続きを読む
Microsoft製の複数製品に意図しないDLLを読み込んでしまう脆弱性、修正の予定はなし - 窓の杜
ニュース Microsoft製の複数製品に意図しないDLLを読み込んでしまう脆弱性、修正の予定はなし インストーラーや自己解凍書庫の実行時はフォルダーに不審なファイルがないか確認を 樽井 秀人 2018年5月17日 16:09 “JVN”が公開した脆弱性レポート 脆弱性ポータルサイト“JVN”は17日、複数のMicrosoft製品およびそのインストーラーに脆弱性が存在することを発表した。DLLを... 続きを読む
4.5. ファイアウォールの使用
動的ファイアウォールデーモンである firewalld は、動的に管理されるファイアウォールを提供し、信頼レベルをネットワークと関連する接続およびインターフェースに割り当てるネットワーク 「 ゾーン 」 をサポートします。これは、 IPv4 および IPv6 のファイアウォール設定をサポートします。また、イーサネットブリッジをサポートし、実行時と永続的な設定オプションを別々にすることできます。ファ... 続きを読む
JSを事前コンパイルするPrepackを試してみた - Qiita
ゴールデンウィークの最中に、Facebookから「 Prepack 」が公開されました。 PrepackはJavaScriptのソースコードを最適化するツール。計算可能なことはコンパイル時にしてしまうことで、実行時の性能向上ができます。 公式サイトのコード 適用前のコードがこれだとしたら ( function () { function hello () { return 'hello' ; } ... 続きを読む
実行時におけるJVMバイトコード最適化手法 // Speaker Deck
All slide content and descriptions are owned by their creators. 続きを読む
Swift で Phantom Type (幽霊型) - Qiita
社内の「Scala 勉強会」で Phantom Type (幽霊型) という厨二心をくすぐる感じのデザインパターンを教えてもらったので、同じことを Swift でもやってみました。インスタンスの状態を変数ではなく 型パラメータ として持つことで、状態チェックを実行時ではなく コンパイル時 に行えるという優れものです。 class Status{} class NotReady: Status{} ... 続きを読む
Ruby - bundlerのstandaloneモードでプログラムの起動時間を速くする - Qiita
Rubyで書いたスクリプトの起動時間を速くした話。 tl;dr bundle execもしくはbundle install --binstubsで生成して動かす実行ファイルはそこそこ遅い 一方、bundlerには bundle install --standaloneというオプションがあり、実行時にbundler無しにversion lockしたgemを使う方法を提供する仕組みで、bundle i... 続きを読む
Rubypeを使ってRubyで型のメリットを享受する! - Qiita
Ruby + Type = Rubype 既存のコードとの互換性を崩すことなく、選択的にメソッドに型保証を与えるGemです. Github HP HackerNews ここで指す'メソッドの型保証'とは実行時レベルでメソッドの引数返値のクラス型や反応すべきメソッドを保証する事です. 得られる一般的な型保証のメリット Executableなドキュメントをコード内に付与出来る. エラーがより意味のある... 続きを読む
モンキーパッチのライブラリを使って,golang のメソッドを差し替える黒魔術を使ってみた - 押してダメならふて寝しろ
2015-04-01 モンキーパッチのライブラリを使って,golang のメソッドを差し替える黒魔術を使ってみた golang モンキーパッチというのは,オリジナルのソースコードを変更せずに実行時にコードを拡張したり変更したりする手法のことです.動的言語で見かけるようなモンキーパッチを golang でもやってのけることができます(って,そういうライブラリを作っちゃった人がいます! 手法については... 続きを読む
golang でのクロスコンパイルの留意事項 — KaoriYa
golang (for Windows) でクロスコンパイルする際にハマったポイントと、 解決方法を紹介します。 TL;DR golang のクロスコンパイルを準備する場合には、以下の点に留意してください。 (Windows のみ) gccは32ビット版か64ビット版か、使いたい方を正しく選択する 2つ以上の環境へクロスコンパイルする場合には、make.bat/make.bash 実行時に --n... 続きを読む
顕在化するmainBundleリスク - yashigani?.days
2015-03-05 顕在化するmainBundleリスク iOS iOS向けのアプリケーションやライブラリで画像やローカライズファイルなどのリソースを使うとき,bundleという仕組みを利用します. bundleはアプリケーションやライブラリに組み込まれ,実行時に各リソースファイルとの橋渡しをします. 例えば,ローカライズに使うNSLocalizedStringマクロはこのように定義されています... 続きを読む
jQueryとAngularJSにおけるAjaxの微妙な違い | ゆっくりと…
AngularJS の勉強、始めました。 最初はそのプログラミングに関する独特のお約束事項にイラッとしましたが、キモであろう DI を「粗な関係のクラスを(実行時に)結びつけるのに必要な仕組み」と割り切り、DI – 猿でも分かる! Dependency Injection: 依存性の注入 で引用されている ITpro 記事 の クラス図 をコードから想像できるようにり、それなりに面白くなって来たと... 続きを読む