shim
「shim」の意味・「shim」とは
「shim」は、一般的には薄片や詰め物という意味を持つ英語の単語である。工学や建築分野では、部品間の隙間を埋めたり、位置を調整したりするために使用される薄い板や片を指す。例えば、機械の部品が完全にフィットしない場合や、建築物の構造体が完全に水平でない場合などに、「shim」が活用される。「shim」の発音・読み方
「shim」の発音は、IPA表記では /ʃɪm/ となる。IPAのカタカナ読みでは「シム」、日本人が発音するカタカナ英語では「シム」と読む。この単語は発音によって意味や品詞が変わるものではない。「shim」の定義を英語で解説
A 'shim' is a thin piece of material, often used in engineering or construction, to fill gaps or adjust positioning between parts. For instance, when a machine part does not fit perfectly or a building structure is not entirely level, a 'shim' can be used to make necessary adjustments.「shim」の類語
「shim」の類語としては、「spacer」、「gasket」、「washer」などが挙げられる。これらの単語も、部品間の隙間を埋めたり、位置を調整したりするための部品を指す言葉である。「shim」に関連する用語・表現
「shim」に関連する用語としては、「gap」(隙間)、「alignment」(整列)、「leveling」(水平調整)などがある。これらは「shim」が使用される状況や目的を表す言葉である。「shim」の例文
1. The mechanic used a shim to adjust the alignment of the engine parts.(整備士はエンジン部品の整列を調整するためにシムを使用した。)2. The construction worker inserted a shim to level the beam.(建設作業員はビームを水平にするためにシムを挿入した。)
3. The shim was necessary to fill the gap between the door and the frame.(ドアと枠の間の隙間を埋めるためにシムが必要だった。)
4. The engineer used a shim to ensure the machine was operating smoothly.(エンジニアは機械がスムーズに動作するようにシムを使用した。)
5. The shim helped to stabilize the structure of the building.(シムは建物の構造を安定させるのに役立った。)
6. The mechanic replaced the worn-out shim with a new one.(整備士はすり減ったシムを新しいものと交換した。)
7. The shim was made of durable material to withstand pressure.(シムは圧力に耐えるために耐久性のある材料で作られていた。)
8. The shim was too thin to fill the gap properly.(シムは隙間を適切に埋めるには薄すぎた。)
9. The use of a shim can greatly improve the performance of a machine.(シムの使用は機械の性能を大幅に向上させることができる。)
10. The shim was carefully inserted to avoid damaging the parts.(部品を傷つけないように、シムは慎重に挿入された。)
シム
部品の間にはさみ、隙間、高さや位置を調整する薄鋼板で、一般に板厚1mm以下の間隙調整板をシム、1mm以上のものをスペーサーあるいはディスタンスピースといっている。用途にもよるが、通常0.1mm、0.5mm跳びに数種の厚さのものを準備しておき、これを適宜選択して組み込まれる。
Shim
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2025/04/19 03:34 UTC 版)

shimとは、コンピュータプログラミングにおいて、透過的にAPI呼び出しを傍受し、渡される引数を変更したり、操作自体を処理したり、他の場所へ操作をリダイレクトするライブラリである[1][2]。shimは、新しい環境で古いAPIをサポートするため、あるいは古い環境で新しいAPIをサポートするために使用されることがある。また、開発されたソフトウェアプラットフォームとは異なるプラットフォーム上でプログラムを実行するためにも使用される。
古いAPI用のshimは、通常APIの動作が変更されたことで、従来の機能に依存していた古いアプリケーションが互換性の問題を起こすときに登場する。このような場合、古いAPIは新しいコードの上に薄い互換レイヤーを設けることでサポートされ得る。新しいAPI用のshimは「その環境の手段のみを用いて、新しいAPIを古い環境にもたらすライブラリ」と定義される[3]。
例
Webのポリフィルは、特定のウェブブラウザで新しいウェブ標準が利用できない場合に、古い標準やJavaScriptを用いて新しい標準を実装する[3]。
AppleTalkのサポートは、Macコンピュータにおいて、AppleがOpen Transportネットワークシステムを短期間サポートしていた時期に実現された。何千ものMac用プログラムがAppleTalkプロトコルに基づいており、これらをサポートするためにAppleTalkはOpen Transportの「スタック」として再実装され、さらにこの新しいライブラリ上にAPI shimとして再実装された。
Microsoft WindowsのApplication Compatibility Toolkit (ACT) では、この用語は後方互換ライブラリを意味する。shimは、古いバージョンのWindowsに依存するレガシーアプリケーションのために、古いバージョンの動作をシミュレートしたり、変更されていないAPIの呼び出し方法が不適切なアプリケーションに対処したりする。たとえば、最小特権ユーザーアカウント (LUA)に関連するバグを修正する目的で用いられる[4]。
bind.soは、Linux用のshimライブラリであり、任意のアプリケーションが、権限にかかわらず、リッスンソケットへのバインドや送信元IPアドレスの指定を可能にする[5]。これは、任意のプログラムにshimや他のライブラリを読み込むことができるLD_PRELOADメカニズムを利用している。
「type tunnel」パターンにおいては、汎用のインターフェース層が一連のshimを利用して、異種の型集合を基盤となるAPIが使用する単一のプリミティブ型に変換する[6]。
関連項目
脚注
- ^ “Your company's apps incompatible with Windows 7? Shim them, says Microsoft”. Computerworld (2009年3月21日). 2014年4月7日時点のオリジナルよりアーカイブ。2014年4月5日閲覧。
- ^ “Demystifying Shims - or - Using the App Compat Toolkit to make your old stuff work with your new stuff”. Microsoft TechNet (2011年6月17日). 2014年4月5日閲覧。
- ^ a b アクセル・ラウシュマイヤー (2014). Speaking JavaScript. Shims Versus Polyfills
- ^ “Microsoft Application Compatibility Toolkit 5.0”. Microsoft (2007年12月11日). 2008年6月24日閲覧。
- ^ “Source code of bind.so”. Daniel Ryde (2010年1月9日). 2014年3月30日時点のオリジナルよりアーカイブ。2014年4月5日閲覧。
- ^ ウィルソン, マシュー (August 2003), “Generalized String Manipulation: Access Shims and Type Tunneling”, C/C++ Users Journal 21 (8)
外部リンク
- Shimのページへのリンク