golang の 正規表現で error parsing regexp: invalid or unsupported Perl syntax: `(?=`

golfing の 正規表現で以下のエラーが出た。 error parsing regexp: invalid or unsupported Perl syntax: `(?=`これは正規表現の「(?= 」(肯定先読み)をサポートしていないってことらしい。 使えないのか・・・。対応しているライブラリはあるみたい。 ht…

DDDと高負荷サービス(というか I/Oアクセス)は相性が悪いのか?

DDD

DDDはActiveRecordパターンのように1つのモデルが1つのテーブルと紐づくとは限らない。具体例を出すと、 DBにUserテーブルがあるからといってUserモデルを作るとは限らない。ログインユーザーを表現するLoginUserモデルと ユーザーのプロフィールを表現するU…

DDD における不要な getter/setter を実装するべきではないという件についての挫折と感想

DDD

別にDDDにかぎらず、 不要な getter/setter を実装しない方がいいというのはその通りなんだけど、 DBに紐づくモデルの getter に関してはそれができないケースがある。利用するORMによって、DBに紐づくモデルに規約が定められている場合は無理。 例えば、ク…

railsのControllerのbefore_actionにおける インスタンス変数セット(データ読み込み)について

Controllerのbefore_actionにおける インスタンス変数セットについて from pospome

vagrant + docker + mysql で mysql を起動したら Check that your OS and file system support files of this size のエラーが出た

発生したエラーは以下。 2016-05-05T10:22:59.842109-00:00 0 [ERROR] InnoDB: Write to file /var/lib/mysql/ibdata1failed at offset 8388608, 1048576 bytes should have been written, only 0 were written. Operating system error number 28. Check th…

MySQL5.7 の mysql_secure_installation でパスワードが分からなかった

パスワードについては以下に載ってる。 http://weblabo.oscasierra.net/mysql-57-init-setup/パスワードのバリデーションについては以下に載ってる。 http://yoku0825.blogspot.jp/2015/08/mysql-578rpmvalidatepassword.htmlこれらについては何かの勉強会で…

CentOS7 に MySQL 5.7 をインストール

rpmをインストールしてからmysqlをインストールするだけ。以下からRPMを選択する。 https://dev.mysql.com/downloads/repo/yum/今回はCentOS7なので 「Red Hat Enterprise Linux 7 / Oracle Linux 7 (Architecture Independent), RPM Package」 が対象になる…

docker + rails で rails start してもブラウザからアクセスできない

docker + rails で rails start してもブラウザからアクセスできなかった。IP指定を忘れていた・・・。 rails s -b 0.0.0.0

scala で warning: there was one feature warning; re-run with -feature for details

以下の warning が出た。 warning: there was one feature warning; re-run with -feature for details以下のように -feature オプションを付けると詳細を確認できる。 $ scala -feature hello.scala /Users/xxxxxi/hello.scala:22: warning: postfix operat…

docker-compose で volume を作る

それ用の書き方があるかと思ったけど、 なかったのでこうしました。 dvc1: image: busybox volumes: - /var/log/nginx/ command: [/bin/sh]一応動作したけど、これでいーのか・・・?

docker-compose で service 'version' doesn't have any configuration options. のエラー

docker-composeで以下のエラーが出た。 ERROR: In file './docker-compose.yml' service 'version' doesn't have any configuration options. All top level keys in your docker-compose.yml must map to a dictionary of configuration options.docker-com…

PlantUMLのpng画像が切れてしまう

大きめのシーケンス図を書いたらpng画像が切れてしまった。PlantUMLのデフォルト設定では png画像の最大サイズが400KB程度になっているので、 400KBを超えると切れてしまう。解決策は以下に載ってた。 http://plantuml.com/faq.html.zshrc に「export PLANTU…

Macに Scala + Play2.5 + IntelliJ の開発環境を作る

今回説明するのは以下です。1.VMに開発環境を作ろうとして諦めた話 2.各ツールの紹介 3.各ツールの用途は分かったけど、結局どれをインストールすればいいのか 4.実際に環境を構築してみる 1.VMに開発環境を作ろうとして諦めた話もともとPHPのエンジニアで最…

scala の sbt の起動で止まる

$ sbt Getting org.scala-sbt sbt 0.13.9 ...上記のような感じで止まったけど、 これはファイルをDLしているだけで止まっているわけではない。「Getting」と書かれていても何も起こらないから不安になる。DLには10分くらいかかったかな・・・。

ActiveAdminで秒単位の時間(期間)検索

秒単位の時間範囲検索をしたかった。日にち単位、時間単位、10分単位 とかなら「ActiveAdmin datepicker」とかで検索すると それ用の gem が出てくるが、 秒単位がなかった。イメージとしてはテキストボックスでstart = 2016-03-22 09:00:00 end = 2016-03-2…

ActiveAdmin + SwitchPoint + AwesomeNestedSet の組み合わせでデータ登録、更新が失敗する

AwesomeNestedSet と SwitchPoint の相性が悪いっぽい。 SwitchPoint の接続を write に向けると上手く行くっぽいので、 ActiveAdmin でも接続を write に向けたいところ。以下のように ActiveAdmin の create, update をオーバーライドして、 トランザクシ…

ActiveAdmin で連続した改行が1つの改行になってしまう現象の解決策

ActiveAdmin の改行では simple_format() を利用する。 column '名前' do |user| simple_format(user.name) end この simple_format は改行コードをHTMLの pタグ に変換するもので、 改行が連続で続いても1つのpタグ に変換してしまう。なので、入力されてい…

zsh で fg の %(パーセント)を省略する

いちいち fg %1 とかやるの面倒だし、 tabで補完するのも面倒なので、 bashみたいにしたかった。以下を発見。 http://stackoverflow.com/questions/32614648/weird-jobs-behavior-within-zsh.zshrcに以下を定義して終わり。 fg() { if [[ $# -eq 1 && $1 = -…

iterm2 で特定のホストにsshした時にテーマを変更する

http://d.hatena.ne.jp/pospome/20160227/1456548524 ↑ これの bin/ssh を以下に修正すればいい。 #!/bin/sh on_exit () { echo "\033]50;SetProfile=ft\a" } case $@ in *host1* | *host2* | *host3* ) trap on_exit EXIT echo 'please wait login .....' e…

rails の models を階層化するときに config.autoload_paths を指定したけどモデルを読み込んでくれない

rails の models を階層化するときに config.autoload_paths を指定したけど モデルを読み込んでくれなかった。名前空間を付けると問題なく読み込める・・・。原因はディレクトリ名とモデル名が重複してたからっぽい。以下のように user というディレクトリ…

Macのターミナル(bash)で特定のホストにsshした時にターミナルの背景(というかテーマ)を変更する

既存の ssh コマンドを自分で用意したシェルで上書きすることで実現できる。 既存の ssh は以下になっていると思う。 $ which ssh /usr/bin/ssh 次にシェルを用意する。 場所はどこでもいいけど、~/bin を作って、そこに配置するのがよさそう。 ssh を シェ…

DockerHub の AUTOMATED BUILD で Build process failed: The command 'xxx' returned a non-zero code: 1 のエラー

DockerHub の AUTOMATED BUILD でPHP用のイメージだけ以下のエラーが出る。 Build process failed: The command 'xxx' returned a non-zero code: 1ログを見ると、なんか失敗してる。 error: unpacking of archive failed on file /usr/sbin/suexec: cpio: c…

MongoDBの mongo コマンドで Error: network error while attempting to run command 'isMaster' on host '127.0.0.1:27017' のエラー

MongoDB に mongo コマンドで接続しようとしたらエラーが出た。 Error: network error while attempting to run command 'isMaster' on host '127.0.0.1:27017'/etc/mongod.conf で外部接続を許可していないだけでした・・・。 以下のように bindIp をコメン…

Docker + MongoDB で directory /data/db not found のエラー

Docker で MongoDB を動かそうと思った。公式のDockerfileを利用してもいいけど、 細かい設定が必要になると自前で用意した方がよかったりする。とりあえず、インストール方法は公式ドキュメントを確認した。 https://docs.mongodb.org/manual/tutorial/inst…

Nginx の nginx.conf が反映されない

ログのフォーマットを LTSV にして systemctl restart nginx しても反映されなかった。 log_format ltsv 'remote_addr:$remote_addr\t' 'remote_user:$remote_user\t' 'time_local:$time_local\t' 'request:$request\t' 'status:$status\t' 'body_bytes_sent…

【Docker】コンテナの全削除

https://techoverflow.net/blog/2013/10/22/docker-remove-all-images-and-containers/ ↑ ちまちま消すの面倒だから・・・。 無理矢理感あるけどw

Restful Web サービス

初版が2007年ということもあり、 そんなに目新しいことは書いていない印象・・・。 RESTって概念は2007年にはあったのか・・・。

Amon2で REST APIのJSON出力

amon2にはプラグインとして、 JSON.pm というJSON出力用のプラグインがある。 http://search.cpan.org/dist/Amon2/lib/Amon2/Plugin/Web/JSON.pmこのプラグインを利用すればJSONは出力できるんだけど、 HTTPのステータスコードを変更できない。ということで…

Amon2 の Large Flavor をインストールする。

ハマったのでメモ・・・・。cpanm が必要なので、cpanm をインストールしておく必要がある。 インストールし終わったらamonをインストールする。 # cpanm Amon2 プロジェクト内のモジュールの依存関係を解決する carton もインストールする。 # cpanm Carton…

ERROR: Unable to scan for SQL migrations in location: classpath:/xxx/xxxx

flyway で locations オプションを付けたら以下のエラーが出た。 ERROR: Unable to scan for SQL migrations in location: classpath:/xxx/xxxxパスの指定方法が問題だった。 以下のように filesystem: を付けないとダメ。 -locations=filesystem:/vagrant/d…