サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
2024年ランキング
yuheikagaya.hatenablog.jp
最近またAnsibleでAWSの構成を書き始めました。 selectattrとmapが便利 次のような値を with_items で回してサブネットを作るとともに、publicなものを取り出してルートテーブルを作りたくなったのですが、selectattr()とmap()を使うと取り出すことができました。 --- vpc_subnets: - { name: bastion, az: ap-northeast-1a, cidr: 10.0.1.0/28, tier: bastion, public: true } - { name: web1a, az: ap-northeast-1a, cidr: 10.0.10.0/24, tier: web, public: true } - { name: web1c, az: ap-northeast-1c, cidr: 10.0.11.0/24,
管理画面コンソールでも操作できるけど、CLIを覚えた方が奥深くAWSの機能が学べて良いっぽい https://github.com/aws/aws-cli/ READMEやってみた インストール pip install awscli pip install --upgrade awscli コマンド補完を有効にする bashの場合 complete -C aws_completer aws zshの場合 source /usr/local/bin/aws_zsh_completer.sh .zshrcに書いとくとべんり [[ -s /usr/local/bin/aws_zsh_completer.sh ]] && source /usr/local/bin/aws_zsh_completer.sh AWS credentialsの設定 次のどれか コマンドで aws configure 設
家の前の日当たりがいい坂道にある桜がだいぶ咲いてきました。穏やかな春の陽気を感じます。 この週末は3連休ということもあり、いつかやろうと思っていたVimプラギンのパッケージマネージャの移行をしました。 今まで大変お世話になっていたneobundle.vimを卒業し、これからはdein.vimを使い始めます。 デインデイーン。闇の力を感じます。 こんな感じで.vimrcもスッキリしました。素敵です。 基本的な設定の形 call dein#begin('プラグインを管理する一番上のディレクトリ') call dein#add('プラグイン名') call dein#add('プラグイン名') ... call dein#end() vimrcの中で、上のようにdein#begin()とdein#end()の行の間にインストールしたいプラグインの名前をdein#add('プラグイン名')で書いて
理想のMarkdown編集環境を求めて ブログやQiita::Teamへの投稿はMarkdownで書いている。 Markdown中にコードやコマンドを貼り付けることがよくあるのだけど、iTerm + tmux + vimのCUI環境で開発しているので、MarkdownもVimで書けたら便利だなぁと思っていた。 課題 MarkdownをVimで気持ちよく書くためには、この辺が気になっていた。 リストのインデント リストの操作 タスクリストの簡単入力、チェックをつける操作 コードのシンタックスハイライト プレビュー 見出しのアウトライン表示 このうち、プレビューとアウトライン以外の機能を満たすMarkdown用の設定や関数を集めたVimプラグインを作った。なかなか快適。 github.com Markdownのプレビュー previmが最高。:PrevimOpenとコマンドを実行するだけで、M
Graidという画像プロキシサーバをつくりました。 外のサーバから画像を取得してリサイズしたりして返す、ということをするサーバです。 Golangでなんかミドルウェア的なものが作ってみたかったのでやってみました。 Graidについてのスライド エンジニアが集まってお昼ご飯を食べながら技術的なネタを話すテックランチという会が社内で定期的に開催されているので、Graidについて話してきました。 Graid // Speaker Deck 機能 http://localhost:8080/path/to/image.jpg:w400:h300:q80 例えば8080ポートで起動させてURLにアクセスすると、 オリジンの画像サーバ(設定ファイルに設定する)の/path/to/image.jpgを取ってきて 横400px、縦300pxにリサイズして画質80%に加工して レスポンスを返す という処理を
railstutorialはRuby on RailsとデファクトスタンダードなGemを使ってTwitter風アプリケーションを作るということを題材に、実際の仕事の開発でも行うGitHub Flowや振る舞い駆動開発をしながら、Webアプリケーション開発を学ぶチュートリアル。 Ruby on Rails チュートリアル:実例を使って Rails を学ぼう 長かったー。一週間以上かかった。本文中にも書いてあったが、飛ばし読みできない。とても濃厚なチュートリアルなので、1日1章ペース。休みの日に8,9,10章を一気にやったら大変過ぎて10章はあまり頭に入ってこなかった。中ボスと呼ばれている演習は全て飛ばした。 勉強になった点や疑問点、ハマった点をメモしながらやってみた。 メモ http://yuheikagaya.hatenablog.jp/entry/2014/10/15/005554 ht
https://github.com/violetyk/w.vim メモの管理 w.vimはメモを管理するためVimプラグインです。 僕はメモを書くときは単純に記録の他、考えるときや作業するときの頭の整理のためにも書くことが多いのですが、そのメモを管理するツールは今までいろいろなものを使ってきました。 今回w.vimは、自分が欲しいものを自分で作ってみようと思ったことがきっかけで始めてみました。 どんなメモ管理ツールが欲しかったか 次のようなことを考えていました。 紙copiぽいのが良い メモ本体は単純なテキストファイルで残したい。 タイトル一覧のサイドバーが見えている安心感が欲しい タグで管理したい 開き直すメモのほとんどが最近使ったメモなので、最近のメモを簡単にすぐに開きたい プログラムを書くときにVimが多いので、Vimでメモを取りたい メモ管理ツールで書いたメモをそのまま簡単にアウ
Vim scriptでは関数を辞書(PHPでいう連想配列)変数に代入することができます。 その関数のなかでselfを使うと、呼び出し元の辞書を参照できます。 let s:test = {'name' : 'hogefuga'} function! s:test.func() echo self.name endfunction call s:test.func() " 実行結果 hogefuga 普通の関数にもdict属性をつけると、selfで呼び出し元の辞書を参照できます。 function! Sum() dict return eval(join(self.data, '+')) endfunction let list = {'data': range(1, 10), 'sum': function("Sum")} echo list.sum() " 実行結果 55 ヘルプ :h s
Vagrant生活を始めたので、ターミナルで開発サーバにsshしてvimで開発するのをいったんお休みし、Vagrantとmacvimを使って開発することにしました。 感想 表示が速い!快適! コマンド叩きたいときにCtrl + zじゃなくて⌘+TABでiTermのウィンドウに移動する操作がちょっとアレ ソースの文法チェックとかでPHP使ってたりするので、結局VagrantのVMだけじゃなくてローカルのMacにも少し環境構築する必要があった まとめると、速くてよいです。 macvimインストール brewで入れています。更新も楽ですね。 # neocomplete.vimを使っているのでlua入りでインストール # pythonを有効にしてるのはvdebugを使うため brew install macvim --HEAD --enable-pythoninterp --with-lua br
Vagrant。2013年に単語を聞きまくっていたのに手をつけていなかったものをようやく触り始めました。 とりあえず、登場してくるものの概要を理解。 VirtualBox 仮想マシンを立ち上げるソフト(環境)。他にはVMWare、AWS。 Vagrant 仮想マシンを立ち上げるソフトのCLIラッパーのようなもの。 Chef 仮想マシンのプロビジョニングツール。他にはPuppet、Ansible、普通のShellスクリプトなど。 Box 仮想マシンのテンプレート。 Vagrantfile 仮想マシンの構築設定ファイル。 Berkshelf Chefのパッケージ管理ツール(yum, apt-get, bundle, Composerのようなものっぽい) VirtualBoxとVagrantをインストール Mac(10.9.1)にVirtualBoxとVagrantをダウンロードしてインストーラ
PHPの関数を補完するneocomplete用source neocomplete-php.vimはneocomplete.vimのPHP用sourceです。 補完時に、関数と一緒に短い説明が欲しかったので作り始めました。 今のところはPHPの組み込み関数の補完しかできないのですが、 これから次のような機能を実装しようかなぁと思っています。 インサートモード時に、statsulineにリファレンスを表示する機能 組み込みクラスの補完 メンバ変数やメソッド名や定数の補完 CakePHPへの対応 セットアップ プラグインをneobundleでインストールします。 NeoBundle 'Shougo/neocomplete.vim' NeoBundle 'violetyk/neocomplete-php.vim' 日本語の説明にする場合には、.vimrcなどにロケールを設定します。 デフォルトは
pplog - ゆるふわインターネットにポエムを刻もう pplogがおもしろいです。 ひとことでいうと、最新の1件だけ見ることができるブログ、でしょうか。 最新の1件だけという制限以外にも「フォロワーが分からないこと」がいいなぁと思いました。 誰に読まれるんだろうとかを気にしていたら、いい詩は刻めないですからね。 生きている瞬間を詠み、一期一会の詩を読む 画面の下の方にある肉球マークを押すと、適当な誰かのページをジャンプして見られます。 数字はポエマーの数ですかね? ポンポンとリズムよく人のポエムを読むって意外に楽しかったので、 こんな感じでhttp://www.pplog.net/zappingのリンクをブラウザのアドレスバーに入れてみました。 便利です。 パーマリンクの限界 あとこのpplogで、けんすうさんの記事 パーマリンクの限界 - nanapi社長日記 @kensuu をふと思
CakePHP2.4、php5.5でセッションハンドラにMemcacheを使おうとしたら、落ちました。 原因はsession.auto_startの指定 セッションの設定を1つずつ見ていったところ、わかりました。 session.auto_startはphp5.5.2と5.4.20からPHP_INI_PERDIRに変わったため、 プログラム側でini_set()できなくなり、CakePHPからセットしてはダメだったのが理由でした。 PHP: PHP 5 ChangeLog CakePHP 2.4.0 is ready :: The Bakery: Everything CakePHP core.php <?php Configure::write('Session', array( 'defaults' => 'cache', 'cookie' => 'SESSION_NAME', 'ti
PluginとVendorの中を1つのComposerで管理したい 以下のツリーのように、ひとつのCakePHP本体と複数のCakePHPアプリケーションがあるときに DebugKitやPHPUnitなどはそれぞれのアプリケーションごとにある必要は無く、共通で参照できる場所にあればオッケーです。 . ├── app1/(CakePHPアプリケーション) │ ├── Plugin/ │ └── Vendor/ ├── app2/(CakePHPアプリケーション) │ ├── Plugin/ │ └── Vendor/ ├── app3/(CakePHPアプリケーション) │ ├── Plugin/ │ └── Vendor/ ├── composer/ └── lib/(CakePHP本体) └── Cake/ 各CakePHP アプリケーションディレクトリ内のPlu
githubにあるcake.vimに、ローテーションジャンプ機能をつけてみました。 violetyk/cake.vim · GitHub 関連するファイルを巡る この機能を使うと、頭の中で「コントローラのファイルを開こう」とか考えなくても 適当にぐるぐる巡ってジャンプすることができます。 たとえば、現在開いているファイルがモデルの時(下の★) 関連するコントローラ(1つ前)やテストモデル(1つ先)にジャンプできます。 開く対象がない場合はスキップします。 (フィクスチャへ) ↑↓ テストコントローラ ↑↓ コントローラ ↑↓ ★モデル ↑↓ テストモデル ↑↓ フィクスチャ ↑↓ (テストコントローラへ) ローテーションするファイルの種類や順番は変更できます。 .vimrc等にg:cakephp_related_group をリストで設定します。 " モデル、フィクスチャ、テストモデルの順
ステータスラインが一瞬でリッチに lightline.vimはVimのステータスラインをかっこよくしてくれるVimプラグインです。 作者さんによるこのプラグインについての詳細な解説はこちらです。 lightline.vim作りました - プラグインの直交性について - プログラムモグモグ 結果、下の画面になりました。 (カラースキーマはmrkn256、フォントはRicty Regular for Powerline.ttfをつかっています) 僕は今まで、ステータスライン系のプラグインを vim-powerline → powerline → vim-airline と流行にもれず使ってきたのですがlightline.vimに落ち着きました。簡単にかっこよくなるし、動作が軽快でカスタマイズもしやすくて素晴らしいです。感謝! ステータスラインに表示している情報 ステータスラインを構成する要素は
CentOS6.4にelasticsearch0.90.2を入れました。 JDKのインストール せっかくなので古い最新のJDKを入れる。 rpm -qa | grep -E 'jre|jdk' rpm -qa | grep -E 'jre|jdk' | xargs rpm -e ブラウザからJDKをダウンロード。 http://www.oracle.com/technetwork/java/javase/downloads/index.html jdk-7u25-linux-x64.rpmを選択。 インストールしてバージョン確認。 rpm -ivh jdk-7u25-linux-x64.rpm vi /etc/profile.d/java.sh JAVA_HOME=/usr/java/default export JAVA_HOME export PATH=$JAVA_HOME/bin:$
elasticsearchのインストール - yuhei.kagaya elasticsearchのGUI「elasticsearch-head」がとても便利 - yuhei.kagaya に続き。elasticsearch0.90.2でやってみました。 大きな流れはこんな感じ。 kuromojiプラグインのインストール デフォルトでkuromojiを使うようにelasticsearch.ymlを設定 kuromojiを使って形態素解析&分かち書きしてインデクシング 検索 kuromojiプラグインインストール前に、検索できないことをテスト 学術研究用にlivedoorグルメのデータが公開されているので、利用規約に同意してダウンロード、解凍展開した後、 下記のPHPスクリプトを使ってとりあえず47都道府県データのprefのみをelasticsearchへ登録してみました。 livedoor
elasticsearchは、登録・検索・削除・管理など操作をJSONのHTTPリクエストで行います。 その使い方は単純で簡単なのですが、JSONを書くのがめんどうだったりします。 elasticsearch-headが便利 ElasticSearch Headは、ブラウザで動くelasticsearchのGUIです。 テーブルのように中身を表示できたり、検索クエリの作成や結果JSONの表示をマウスで操作できたりできて便利です。 ※キャプチャは本家サイトより インストール elasticsearchがインストールしてあれば、プラグインコマンド一発でインストールできます。 /usr/local/elasticsearch-0.90.2/bin/plugin -install mobz/elasticsearch-head ブラウザでアクセス http://localhost.jp:9200/
今までは都度パッチをダウンロードしてあててビルドしてたので、いい加減Mercurialにしないとなぁと思ってやってみました。 最初からやってみました。OSはCentOS6.4です。 前準備 最初からyumで入っているVimはアンインストールします。 vim-minimalまで消しちゃうとsudoとかも消えちゃうので要注意。 yum remove vim-enhanced vim-common 必要な物も入れときます。 yum -y install gcc python python-devel ncurses-devel python-setuptools Mercurialをインストール Mercurialはpythonのeasy_installを使いインストールします。 easy_install mercurial http://mercurial.selenic.com/につながらな
2013年にやりたいこと 年始に会社で所信表明をしたのですが、今年は「いい感じの検索」をつくりたいです。 日々の振り返りに使える「Day One」 で、目標を実現するには、計画を立てて実行し、振り返り次につなげていくことが大事ですが、 これも大変なのでツールに助けてもらうとよいと思っています。 日記や私的な雑なメモをとるために、iPhoneのDay Oneというアプリを使っています。 MacのアプリにもDayOneがあり、iCloudやDropboxで同期がとれてかなり便利です。 Day One | A simple Journal for iPhone, iPad and Mac App Store 今まではMomentoを使っていたのですが、 Macと簡単に連携がとりたかったので、乗り換えました。 UIはMomentoの方が暖かみがあって好きなんですが、残念。 Evernoteも使って
画面キャプチャはクラシックな感じですが、環境はWindows7でやりました。 1. Gitをインストール http://git-scm.com/ からDownload for Windowsをクリックして、インストーラをダウンロードします。 ※バージョンは1.8.0-preview20121022でした。 2.インストーラをすすめる ダウンロードしたインストーラのアイコンをダブルクリックして起動して、進めていきます。 ↓ここもこのままでオッケー ↓「Run Git from the Windows Command Prompt」を選びます。 ↓「Use OpenSSH」を選びます ↓「Checkout as-is, commit as-is」を選びます 3. 設定 デスクトップにできた、「Git Bash」のアイコンをダブルクリックしてGitBashを起動します。 コマンドラインで個人の識
「gf」と押すとカーソル下のファイル名を瞬時に開く vimのノーマルモードの「gf」はとても便利です。 例えば、次のようなときに*の場所にカーソルがありノーマルモードの時に「gf」と押すと、対象のファイルを開くことができます。 <!-- *の位置にカーソルがあるとき、gfでindex.htmlを開きます。--> <a href="in*dex.html">トップページへ</a> # *の位置にカーソルがあるとき、gfでhttpd-vhosts.confを開きます。 Include *onf/extra/httpd-vhosts.conf コマンドの覚え方は、"goto file" です。 横分割やタブで開くこともできます。 <C-w>f で横分割して開く <C-w>gf で新しいタブに開く 縦分割もしたい パソコンのモニターは横に長いことが多いので、僕は縦に分割することが多いです。 特に最
CIのバージョンは2.1.0でやった。 CIのMemcached キャッシングドライバは、PECLのmemcachedを使ってる(memcacheではない)ので要注意。 見事に動かなくてハマッたのでメモ。 libmemcachedが必要 のまえにgcc-c++が必要。 yum install gcc-c++ cd /usr/local/src wget https://launchpad.net/libmemcached/1.0/1.0.4/+download/libmemcached-1.0.4.tar.gz tar xf cd libmemcached-1.0.4 ./configure --prefix=/usr/local/libmemcached make make install echo /usr/local/libmemcached/lib/ > /etc/ld.so.co
SSH ログインさせないアカウントを作る - Ceekz Logs (吉田光男@筑波の日記) なるほどー。 やってみる。 /bin/false # /usr/sbin/usermod -s /bin/false hoge su hoge してパスワード入れても何もいわれなかった。 別サーバから ssh [email protected] したら下のように言われた。 Last login: Mon May 26 17:00:04 2008 from xxx.xxx.xxx.xxx Connection to foo.com closed. /sbin/nologin # /usr/sbin/usermod -s /sbin/nologin hoge su hoge してパスワード入れたら下のように言われた。 This account is currently not available. 別サーバから
CentOS5.6にて。ソースから入れてみたメモ。 折角なのでいったんキレイにしてみた yumでMySQLを入れてる場合 yum remove mysql-server mysql rpmでMySQLを入れてる場合 rpm -qa | grep -i mysql | xargs rpm -e mysqlのユーザの登録 groupadd mysql useradd -m mysql -g mysql -d /usr/local/mysql/data passwd mysql ソースをダウンロードしてきて展開 cd /usr/local/src wget http://www-jp.mysql.com/get/Downloads/MySQL-5.5/MySQL-5.5.18-1.rhel5.src.rpm/from/http://ftp.iij.ad.jp/pub/db/mysql/ rpm
cake.vimは、CakePHPのController、Model、Viewなどの移動を少し楽にするVimのプラグインです。 CakePHP1.3系、 2.0系の両方で動作します。 いろんな移動の方法があるのでcake.vimの操作を一通りまとめてみました。 インストール プラグインはvim onlineか、githubからダウンロードして解凍し、 cake/以下のファイルを.vim/配下にいれます。 cake.vim - Utility for CakePHP developers. : vim online violetyk/cake.vim · GitHub Vundleを使っている方は、 :BundleInstall violetyk/cake.vim でインストールできます。 設定 必須の設定はありません。 .vimrcにappディレクトリのパスを書いておくと、vimを起動して
※追記:こちらのエントリーでインストールから使い方までをまとめてみました。 CakePHP用のvimプラグイン、『cake.vim』を作ってみた。 - yuhei.kagayaで作ってみたものに いくつかの機能を加えてバージョンアップしました。 最新版は、vim onlineよりcake.tar.gzをダウンロードして.vim/以下で解凍して下さい。 cake.vim : cake.vim - Utility for CakePHP developpers. : vim online 今回で増えた機能の紹介 コントローラを開かなくても直接ビューファイルを開けるようになりました。{theme-name}はオプションの引数です。 :Ccontrollerview {controller-name} {view-name} {theme-name} コンフィグファイル(core.php、data
※追記:こちらのエントリーでインストールから使い方までをまとめてみました。 CakePHPのController、Model、View間の移動を少し楽にするプラグインです。 自分でCakePHPで開発しているときに、ジャンプできたら便利だな−。と前々から思っていたのですが 探してもなかなか見つからなかったので、Vimスクリプトの勉強を兼ねてつくってみました。 インストール violetyk/cake.vim · GitHub cake.vim - Utility for CakePHP developers. : vim online vim onlineまたはgithubからダウンロードして、.vim/以下で解凍後してください。 簡単な使い方 " 最初にCakePHPのルートの設定 :Cakephp /path/to/cakephp_root/ " コントローラ hogehoges_co
次のページ
このページを最初にブックマークしてみませんか?
『yuhei.kagaya』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く