makotanの勉強日記

勉強したこととか設定系のメモとかそういうのを集めたもの

Elixirで部分適用

どうしてもやってみたくなったので・・・ def a3(a1,a2,a3) do a1 <> a2 <> a3 end def portion(f,v1) when is_function(f) do {f, [v1]} end def portion({f,arg},v) do Logger.debug "ca #{inspect f} #{inspect arg} #{inspect v}" {f , [v | arg]} end d…

Elixirでログ出力してみた

module内にLoggerをrequireしてあとは普通のLogger require Logger Logger.debug "debug string #{inspect hoge}" マニュアル見てるとfnを渡せるので後から評価したい場合はfn渡せば良いような気がする configにゴニョゴニョ書けば普通のLoggerっぽくフォー…

ソフトウェアを作ると言う事

ソフトウェアで実現したい事があって、そのソフトウェアを作る その場合に気をつける事などをふと気になったのでメモ 実現したい事 と それに必要な事の組み合わせ ソフトウェアで実現したい事だけを作ってもそれは実際には使えないソフトウェアになりやすい…

Eilxirでhello world

ただhello wordを出すだけの変哲の無いあれを1.0.4で作ってみる 最初はinstallとプロジェクトの作成 brew install elixir cd <project parent directory> mix new eli_test eli_testのlibにmainのファイルを作るというか、既にあるはずなので書き換える defmodule EliTest do def main </project>…

Homebrewを使ってPostgreSQLを動かすまで

2015年5月18日現時点の情報なので、バージョン他によっては違いが出るかも知れないのでそこだけは注意! 前提条件としてbrewとbrew cask(pgadmin3入れるとき)がセットアップ済みなこと brew install postgresql brew cask install pgadmin3 これでpostgresql…

スキルの蓄積を投資/投機として考える

エンジニアなので、スキルの蓄積はどうしても必要 ただし、どのスキルを身につけるのかによっては単なる投機(実質ばくち)になる事も確か ってことでスキルを身につけて蓄積する事とそれに時間とお金を投じる事を考えてみた 変化しにくいスキルと変化しやすい…

バランスと一点集中(偏り)

バランスを取るというのは凄く大事な事。 バランス良くXXXXをする、バランスのとれたXXXなど、バランスが良い状態は良い状態の一つ それに対して一点集中(偏り)はバランスが悪い状態になる バランスが良い状態と一点集中の状態をどう考えるか バランスが良い…

SpringBootのEmbeddedServletContainerでアクセスログをlogbackにする

必要なjarは ch.qos.logback:logback-access あとはEmbeddedServletContainerCustomizerを使ってセットする。jarの中にあるのでfile名の取得のところが気持ち悪いけど、設定で変更可能にすると幸せになれるかも @Bean public EmbeddedServletContainerCustom…

抽象化宗教

いくつかの宗教を抽象化してみた この3つが主なキーワード 何のために生きるのか 人にはそれぞれ与えられた役割がある。それを全うすること 役割は自分自身の中に既にあるので自分と向き合う事 どうやって生きるべきか 心を安定した状況に保ち、良い事を見て…

SpringBootでEmbeddedServletContainerで別ポートのServletコンテナを起動する

この方法でコンテナとしてはいくつでも起動出来る TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory(9090); servletContainer = factory.getEmbeddedServletContainer((c) -> { ServletRegistration.Dynamic dis…

もう来てる次の時代のアーキテクチャの単なるメモ

microservice:ちっちゃいさーびすをたくさん作ってそれらを連携させる 認証:ユーザのパスワードを使わないAPIベースの認証 認可:細かいレベルでのアクセス認可 クラウド:サーバが必要なタイミングで必要な数取得できる service間連携:ちっちゃいサービ…

Ninja インストール

必須 java7 maven 3.1以上 アプリの作成 mvn archetype:generate -DarchetypeGroupId=org.ninjaframework -DarchetypeArtifactId=ninja-servlet-archetype-simple テストで動かす cd MY_INSTALLED_PROJECT mvn clean install mvn ninja:run ブラウザで開く h…

IntelliJ IDEAのClojureプラグイン

言語だけなら普通にプラグインで入る La Clojure を入れる でも、Leiningenも込みでサポートが欲しい場合はこれを入れる Cursive: The IDE for beautiful Clojure code ライセンスを書いてないのがちょっと気になる

IntelliJ IDEAがエラーで動かなくなったときの対策

IntelliJ標準以外のプラグインの関係などでIntelliJが動かなくなったときに、IntelliJ IDEAの設定を削除して動かすようにするまでの記録 現象 IntelliJ IDEAを12から13に更新しようとした それまで使っていたClojureプラグインがIDEA 13に対応していないのが…

IntelliJ IDEAでmidjeのautotestをするまで

Intellij IDEA 12だとClojureプラグインが駄目なので13に変えるか、Intellijのサポートページからダウンロードしてインストール。って思ったけど、実はあんまり必須じゃ無いので詳細はパス プログラムを作ってて面倒なのが、コードを書いてUnitTestを動かし…

LinuxにPostgreSQLを入れて外からアクセスできるようにする

OSに設定されてるPostgreSQLが古いときはPostgreSQLのリポジトリを追加する postgresqlの設定で、localhost以外からのアクセスを受けとれるようにする 一個目 sudo vim /etc/postgresql/9.3/main/postgresql.conf listen_addresses = '*' 二個目 sudo vim /e…

RedHat系のLinuxでサービスの有効化などなど

サービスの一覧 sudo chkconfig --list ここでonになっているサービスが有効なヤツ サービスをマシン起動と一緒に起動するには sudo chkconfig servicename on サービスをマシン起動と一緒に起動しないようにするには sudo chkconfig servicename off よく操…

Mac上にvagrant(1.4.2)の環境を作る

VirtualBoxをインストールする VMWareの場合はVagrantから購入すればたぶん動くはず Downloads – Oracle VM VirtualBox Vagrantをインストールする ググるとすぐ出てくるところを見るとgemからでも出来るらしいけど、やってみたら動かなかったのでこっちから…

MacのJava7でのjava.library.pathにライブラリを設定する方法

一番最適な判断方法はJavaの中でこれを出力する System.getProperty("java.library.path"); そこに~/Library/Java/Extensionsがあるのに気がついたので mkdir -p ~/Library/Java/Extensions こんなコマンドでディレクトリを作成したあとでExtensionsなライブ…

brewでElasticsearchのインストール記録

単なるメモ コマンドは brew install elasticsearch これだけ。 % brew install elasticsearch ==> Downloading https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-0.90.9.tar.gz ###########################################…

IntelliJ IDEAのUnitTestの実行ディレクトリがずれる問題

IntelliJ IDEAと他の環境の違い IntelliJでマルチプロジェクトを作った状態でJUnitを動かすと、大元のプロジェクトで実行されてテスト用に使うファイルの位置がずれてエラーになったりする。 mavenでpackageしたりするときの位置と合わせる方法 設定 Run/Deb…

IntelliJ IDEA 12に設定すること

Kyemap Emacsにする Plugins emacsIDEAsを入れる これを入れるとだいぶEmacsに近くなる Editor Allow placement of caret after end of line このチェックを外す これで行末を超えなくなる

Macに設定すること

Dock 自動的に隠す様にする。サイズを小さくする Spotlight キーボードショートカットを削除 ディスプレイ Retinaの場合はスペースを拡大にする キーボード Caps LockキーをControlに変更する F1、F2を標準のファンクションキーとして使用する ユーザとグル…

Macにインストールするアプリ

最小限生きていけるための環境を羅列 ウィルス対策ソフト 今となってはMacでも必須かなと 無料のもあるしね! Chrome Safariも結構良いけどこっちメインなので仕方ない Dropbox まずはこれを入れないと次に進めないので(^^ゞ 1Password これも入れないと何も…

macのキーボードとマウスを共有する

同じLANの中でMacが2台あってそれぞれディスプレイが付いてるときキーボードとかを切り替えて使うのは面倒な場合はこれ http://abyssoft.com/software/teleport/ 何か問題があったら Control+Option+Shift+Esc