Cookbookの共通化(library) 前回エントリではrecipeとdefinitionを用いたCookbookの共通化の手順を紹介しました。 今回はChefのもうひとつの共通化の仕組みであるlibraryを紹介します。 libraryって libraryはRubyコードを用いて、Chefに新しいクラスやメソッドを追加することができる仕組みです。 libraryはクックブック内のlibraries/library_name.rbに定義することで自動で読み込まれ、recipes, attributes, file, definitions, providers, definitionsで利用することができます。 libraryの用途は以下の様なものがあります。 ファイルに格納されている属性値へのアクセス ループのようなプログラムテクニックの利用 Chefのレシピから直接呼び出せるような
このページは初心者向けChef入門講座と銘打ちましたが、実は僕もChef初心者です(2014年12月現在)。
はじめに 最近、フロントエンドのライブラリ乱立問題について盛り上がってました。 自分はnobkzさんの以下の文に全てがまとまっていると思います。 僕の最初の違和感は、「技術的な流行り」に乗ることに何の価値があるのだろうか?ということである。もちろん、最新のツールやフレームワークはより何かが良くなってるかもしれない。しかし、 それをあなたのプロジェクトで採用するには何の価値があるだろうか? 「最近のフロントエンドへの違和感 - nobkzのブログ」より 裏を返せば、新しいライブラリの内容、特に「どのような問題を解決するためにこのライブラリが生まれたのか」という思想を把握しておくことは重要だと言えます。 つまりは、 "How?(ライブラリの使い方)" よりも "Why?(なぜそのライブラリが必要なのか)" を学んでおこう ということです。この記事では どのような既存の問題・要求を どう解決して
ライブラリ この章は、どのようにあなたのライブラリをComposerでインストールできるようにするかお話します。 全てのプロジェクトはパッケージである composer.jsonをディレクトリに配置した時点で、そのディレクトリはパッケージとなります。 あなたがrequireをプロジェクトに追加する時、あなたは他のパッケージに依存したパッケージを作っています。 プロジェクトとライブラリの唯一の違いは、プロジェクトは名前のないパッケージということです。 インストール可能なパッケージを作成するために、あなたはそれに名前をつける必要があります。 そのためcomposer.jsonにnameを追加してください。 { "name": "acme/hello-world", "require": { "monolog/monolog": "1.0.*" } } この例では、プロジェクト名はacme/he
2010年09月03日 00:28 カテゴリコンピュータC/C++ Linuxで動的リンクライブラリ(.so)を作成する Posted by ha_yshr No Comments No Trackbacks Tweet Cのソースから.soを作るコマンドです。 $ gcc -shared -o libtest.so test.c プログラム起動時にこの.soをリンクするようにコンパイルするには、次のようにします。 ※libtest.soはライブラリ検索対象パスに入れておく(/usr/local/libなど) $ gcc -ltest -o main main.c -lオプション:後に続く文字列の頭に"lib"、後ろに".so"をつけたファイル名をライブラリ検索対象パスから探します。 /usr/local/libに書込み権限がない場合など、.soファイルを好きなディレクトリに置きたい場合は
最近の gcc だとシンボル解決がうまくいかないといかないことがあったので、ちょっと調べました。 次のような 3つのソースファイルがあったとして、ダイナミックリンクで作ってみましょう。 `main.c` int foo(void); int main(void) { return foo() + 1; } `foo.c` int bar(void); int foo(void) { return bar() + 1; } `bar.c` int bar(void) { return 0; } shared object を作るのに必要なのは、コンパイル時に `-fPIC` オプションをつけることと、リンク時に `-shared` オプションをつけることの 2点です。 $ gcc -fPIC -c -o bar.o bar.c $ gcc -shared -o libbar.so bar.o
$ LD_LIBRARY_PATH=/usr/local/lib:/usr/lib; export LD_LIBRARY_PATH システム全体でライブラリパスを設定したい場合は、/etc/ld.so.confファイルにライブラリへのパスを追記します。 /etc/ld.so.confの設定。 # su - # vi /etc/ld.so.conf --- /usr/local/lib /usr/lib 設定ファイル/etc/ld.so.confからキャッシュファイル/etc/ld.so.cacheへキャッシュ化を行います。OSは、検索速度を上げるために、ライブラリパスをキャッシュファイルから検索します。 従って、設定ファイルの内容を元にキャッシュファイルを更新する必要があります。 # ldconfig 確認します。 # ldconfig -v
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く