会社ブログ用に書いたchefのレシピをリファクタしてみた。

会社の技術ブログで「vagrant + chef + serverspecを使った~」みたいな記事を書きました。 その際のchefのレシピはいくつか問題点があると思ってます。 今回はその問題点を解消すべくリファクタしてみた!っていうお話です。会社ブログの記事http://tech.vo…

Provisioning Frameworks Casual Talks いてきた感想

きたる5/10、定時ダッシュで会社を飛び出しProvisioning Frameworks Casual Talks に 参加してきました。内容はchefとpuppetなどのサーバの構成管理ツールのあれこれというお話で、個人的には「サーバの構成をコード化して共有する」「サーバの構成をテスト…

Amazon Web ServicesでSymfony2.1の動作環境を10分で構築する手順

去年は少し忙しくてブログの更新をさぼった一年でしたが、今年は更新頻度を上げていこうかなと思います(笑 awsでSymfony2.1の検証的な環境を構築する手順です。 Symfony2を触ってみたいけど、わざわざ設定するのはメンドクサイなーってな人向けです。awsな…

Symfony2 ドキュメントの翻訳手順 cookbookを翻訳

前回の記事で確認環境の準備ができたので今回はcookbookを翻訳をしてみます。 基本的に本家と日本語版のディレクトリ構造は同じではありますが、 日本語版が本家について行けてない部分がありますので、そこは推測する感じで行きます。本家のドキュメントの…

Symfony2 ドキュメントの翻訳手順 環境準備

久しぶりにユーザ会のコンテンツを翻訳してみようと思い立ったけど 割と忘れていたので、振り返りがてらメモした手順となります。Symfony2のドキュメントはsphinxというPython製ドキュメンテーションビルダーで 構築されています。 まずはsphinxでSymfony2の…

10分ぐらいで学べるSymfony2 〜Doctrine2のassociationsを見てみる〜

masterとcategoryのように複数テーブルに情報が分かれている場合でもDoctrine2はよろしくMAPしてくれます。 ただ、ORMを使っているとSQLが直接見えない分、残念なSQLになってしまう事があるので挙動を調べたメモです。 Doctirne2のテーブル間の関係性におい…

Symfony2コマンドの出力先を変更 : Symfony Advent Calender 2011 JP - 4日目 -

taka512です。Symfony Advent Calendar JP 2011の4日目の記事です。 Symfonyユーザ会の大御所から引き続いての4日目ということで緊張で手がプルプル震えつつ書いてます。 今回はSymfony2コマンドを実行した際の出力先を変更する方法を紹介します。 Symfony2…

10分ぐらいで学べるSymfony2 〜configの読込編〜

configの読込についてメモです。 app/configの下には各dev/test/prod環境の設定ファイルも含めて4つ存在します。 (1)config.yml (2)config_dev.yml (3)config_test.yml (4)config_prod.yml ・dev環境の場合 (2)→(1) ・prod環境の場合 (4)→(1) ・test環境の場…

10分ぐらいで学べるSymfony2 〜DataFixturesの使い方編〜

Symfony2にはDoctrineFixturesBundleというデータを投入するバンドルが存在し、コマンドからデータを投入する方法はマニュアルに記載があります。 phpunitのsetUp処理でデータを「クリア→投入」したかったのですが、やり方が見当たらなかったので調べたメモ…

10分ぐらいで学べるSymfony2 〜データベース接続設定編〜

memcachedにつないだり、mongoにつないだり、複数のmysqlにつないだりとデータベースにつなぐ際の設定のメモとなります。 1. 通常の設定 $ vi app/config/parameters.ini [parameters] database_driver = pdo_mysql # myslを使うならこのまま database_host …

10分ぐらいで学べるSymfony2 〜Symfony2のログ設定を見てみる編〜

Symfony2のデフォルトの設定を見ていきます デフォルトコンフィグログ出力例loggerは「Symfony\Bridge\Monolog\Logger」で「Monolog/Logger」を継承しており そこでinfoやerrメソッドが定義されてます。 メイン処理は「vendor/monolog/src/Monolog/Logger.ph…

10分ぐらいで学べるSymfony2 〜monolog理解編〜

自分がmonologについて社内のwikiにまとめた内容を公開してみます。 monologとはPythonのLogbookライブラリにインスパイヤを受けて作ったライブラリだそうです。 (みたいな事がreadmeの下の方に書いてありました) Symfony2ではこのライブラリをログ出力の標…

10分ぐらいで学べるSymfony2 〜自分のloggerを設定してみる編〜

なんとなくloggerに慣れてきましたが複数ファイルに出力をだしたい時の設定について、もやもやしてました。 (同じメッセージを複数出力する場合はconfig.ymlのmonolog項目に設定を追加すれば良いですが、apiの入出力値はAファイル、アプリケーションのメッセ…

10分ぐらいで学べるSymfony2 〜app/config/config.ymlに自分の設定追加編〜

app/config/config.ymlに自分のバンドル設定を追加した際のメモ Taka512\GooglePlaceBundleみたいなバンドルを制作しましたが google placeはアクセスするのにapi keyが必要なため、app/configに 自分のバンドルの設定項目が欲しくなり追加してみました。 $ …

10分ぐらいで学べるSymfony2 〜メール送信サービス作成編〜

Symfony2ではある機能を利用する際にクラスをnewして呼び出すのではなく サービスとして呼び出すみたいな事を行います。 今回は仮登録メールを送信するサービスを実装する例として実装します (1)サービスクラスの作成 サービスの本体を作成します。 Symfony2…

10分ぐらいで学べるSymfony2 〜admin generator編〜

informationテーブルに対してアドミンジェネレータでCRUD処理を作成するメモ SonataAdminBundleを利用します。今回はエンティティは「src/Root/SiteBundle/Entity/Information.php」に作成済とします(1)インストール vendor下にインストールするが結構な数の…

10分ぐらいで学べるSymfony2 〜pager編〜

今回はSymfony2でpageを実装する際のやり方のメモとなります。 symfony1だとsfPager又はsfDoctrinePager オブジェクトが存在してpager機能を実装してたのですが Symfony2だとそんな機能はコア機能にはないようです。 そこでPagerBundleというバンドルを利用…

memcachedコマンドリスト

検索コマンド 検索を行うコマンド戻値書式 VALUE []\r\n \r\n key 送信したキー flags ストレージコマンドで送信したflag bytes 取得データのデータ長 cas unique casコマンドで使用するキー(getsコマンドで取得) data block キーのデータ getコマンド 実行…

memcached-toolの使い方

以前も調べた記憶がありつつも毎回忘れるのでメモ memcachedにはアクセスするための「memcached-tool」という便利ツールが存在する バージョンによって表示内容が少し異なりますが、新しいバージョンの「memcached-tool」でも 古いバージョンのmemcachedに対…

10分ぐらいで学べるSymfony2 〜Doctrineテーブル作成編〜

データベースにテーブルを作成するまでとメタデータ回りのメモmysqlに今回の接続に使用するアカウントとパスワードとデータベースを作成 $ mysql -u root -p create database symfony20 GRANT ALL PRIVILEGES ON symfony20.* TO symfony20@localhost IDENTIF…

10分ぐらいで学べるSymfony2 〜基本構造編〜

前回は環境を作りましたので今回は簡単にバンドルの作成と それに付随する構造のメモです。 基本的にはSymfony Bookに書いてある内容だったりします。 基本ディレクトリ構造 Symfonyのプロジェクトルート以下の構造 web/ # ドキュメントルート src/ # プロジ…

10分で試せるSymfony2 〜環境構築編(ubuntu)〜

AWSを利用してSymfony2 スタンダード環境の構築メモ 既にCentOS6がリリースされてますが、AWSでCentOS6イメージが用意される気配が無いので 今回は「ubuntu-natty-11.04」の64bit版のイメージを利用曖昧な記憶ですがAWSに↓の特典があり、無料で試せると思わ…

SQL脳に優しいMongoDBクエリー入門

mongoコマンドから接続した際にオールドタイプ(SQL脳)たる我々人類にも 調べやすい形でinsert、select、updateを行う方法を調べました。 定義参照 // use [データベース名] use [データベース名] // show databases show dbs // show tables show collection…

MongoDBのリリース履歴を調べてみた

MongoDBを触っているとバージョン毎の機能差異が気になったので調べてみました。 ちなみにMongoDBは1.0、1.2、1.4・・・のように偶数のリビジョンが安定版で 1.7のような奇数は開発版となります 2009年8月 1.0GA版リリース そんな昔じゃないですね。 この時…

gitコマンドメモ

git

gitは「HEAD」、「インデックス」、「ワークツリー」状態が存在する。 addで「ワークツリー」の変更を「インデックス」に反映、 commitで「インデックス」の変更を「HEAD」に反映 変更反映 git add 全部変更 git add -u 一部変更 git add -p git commit差分/…

postfixのインストールと送信設定

内部のサーバから外部へメール送信(SMTP)の設定を行います。 POPに関してはSPAM対策がしんどいので自宅サーバでは設定しないSMTPを設定するに当たって気をつけなければならない点に「オープンリレーにしない」「OP25B」「SMTP AUTH」「SPFレコード」がありま…

細々した設定

Selinuxを切る # vi /etc/selinux/config SELINUX=disabled # init 6(再起動nfsを設定 (ちなみに利用するアカウントのuidとgidを各サーバで合わせる事を忘れない事) # mkdir -p /exports/home # chmod 777 /exports/home # vi /etc/exports /exports/home c…

xenのインストール

xenでCentOSをインストールしたときのメモなぜか、対話での入力ができなかったのでオプション指定でインストール # virt-install --nographics --paravirt ERROR A name is required for the virtual machine. (use --prompt to run interactively) # virt-i…

ntpのインストール

なんか毎回忘れてググルので時刻あわせのメモ # yum install ntp # date 2002年 1月 2日 水曜日 13:35:33 JST # ntpdate 133.100.9.2 28 Nov 17:54:03 ntpdate[5219]: step time server 133.100.9.2 offset 280988302.678879 sec # date 2010年 11月 28日 日…

iptablesの設定

コマンド 一覧表示 iptables -L 全部削除 iptables -F アクセス許可 iptables -A INPUT -p tcp --dport 80 -j ACCEPT ルールの保存 /etc/init.d/iptables save前提知識↓から使いそうなのを抜粋 http://linux.kororo.jp/cont/security/iptables.php INPUT 自…