AWS VPCまわりの知識インプットメモ
まずはこちらの資料をベースにインプット。
www.slideshare.net
アドレスレンジ、サブネットの話は、いつもフワッと理解するだけに留まっていたので、今回本気で理解する。
サブネットマスクとCIDAR表記の違いはこの記事が分かりやすい xtech.nikkei.com
IGWとNAT-GWの違い milestone-of-se.nesuke.com
細かい設定まわりはやっぱりやってみないと分からないと思うけど、概要は何となく掴んだ。
bitcoindのCPU使用率が100%近くなるので、対応。
Running a Bitcoin full node on $5 a month
json rpc - Bitcoind (linux) CPU usage through the roof - Bitcoin Stack Exchange
bitcoind のCPU負荷が高い時の対処 | block-chain.jp
このあたりの記事を見ると、bitcoindのcpu使用率を10%に抑えるのが良さそうなので、以下のコマンドで試してみて様子見てみます。
cpulimit -l 10 bitcoind
このコマンドでbitcoindのプロセスも立ち上がります。
Node.jsとECMAScript6まわりの情報まとめ
koa.jsについて調べるにあたって、ECMAScript6についての情報も結構得たので、せっかくだからまとめます。
ES6対応状況
- ECMAScript 6 compatibility table 各種ブラウザのES6対応状況がわかります。
- io.jsについて知っていること Node.jsをフォークしたio.jsがどういう存在なのか、今後どうなりそうなのかがまとまっている良記事。
- Node.jsのv0.12の時に harmony はdefaultにならないという結論になりました。 Node.jsからES6の機能を使うには実行時に--harmonyのオプションが必要です。
- What ECMAScript 6 features are currently present in Node.js, without using the --harmony flag? 逆に現行のNode.js(v0.12.0)で、--harmonyなしで使えるES6の機能です。
- Overview of ECMAScript 6 features ES6で使える機能の紹介です。見やすい!
koa.js、React、Node、MongoDBでWebアプリでも作ってみようかなと
最近ネイティブの開発ばっかりしてたが、久々にWebアプリでも作ろうと思ったので、ちょっと調べてみました。結論から言うと、koa.js、React、Node、MongoDBの4つを掛け合わせて作ることにしたんですが、せっかくなんでそこまでの過程を記しておきます。 この決定において、技術的な考慮は多少しているものの、基本的に僕の好みに全面依存しているのであしからず^^/
ミーハーにはやはりGo言語か
最近Go言語の勢いがすごいみたいなのがこういう感じの記事になってたり、4月から働くことになっている会社で、SwiftとかGo言語とかをゴリ押ししているので、せっかくだからGo言語で作ってみようかなと、日頃チェックしていたリポジトリを中心に見てみる。
フルスタック(Rails的な)
最小限(Sinatra的な)
とまあ、良さ気なものはある。 しかもやっぱり、Go言語の爆速具合は魅力だけど、別にそんなスペックの高い必要が最初からあるわけじゃないしなぁ〜 Go言語自体のバージョン切り替えの上手くやるツールとか、パッケージマネージャーのデファクトとかがよくわからないので、もう少し静観していようかなという感じ。
Go言語がダメだと、次に魅力に見えるのはNode.js ...
年末(?)にio.jsがフォークしたりで何かと話題になっていたNode。 JSは個人的にもたくさん書いてきたし、今後もネイティブの開発はしつつ、Web関連の技術にはついていきたいと思っていたからやっぱりこのあたりかな。
そうなるとやはりMEANスタックかな?でもAngularは最近評判悪いし、実際使ってみて覚えること多いし、動きもよくわからなかったりしたし、ちょっと嫌だなぁ〜
ということで調べてみると、koa.jsというキーワードに行き当たる。
koa.jsとは
どうやらMEANスタックの一角を担うExpressのECMAScript6対応&シンプル版という感じのようだ。 なんでもExpressの作者が作ったようなので、そのへんExpressを使ったことがあると学習コストも低いかもしれない。 ES6で導入されたgenerators/yeildもコールバック地獄から解放してくれるし、結構いいかもしれない! ES6の書き方になれることもできるし!
そしてKOREMスタック誕生へ・・・!
で、せっかくMEANスタックの一角を変えたんだし、フロントもAngularじゃなくてfacebookのReactを使ってみよう!(Reactについては割愛。なにやら仮想DOMとか使ったイケてるフロントエンドツールのよう)
DBは、、まぁMongoのままでいいかな
という感じで、ミーハーWebアプリケーション、KOREMスタックの誕生の瞬間であった。
【Android Studioでエラー】uses-sdk:minSdkVersion 14 cannot be smaller than version L declared in library com.android.support:support-v4:21.0.0-rc1
Android DevelopersのSampleを動かそうとしたら、タイトルのようなエラーが出ました。
こっちはAndroid Studioを今日インストールしたばっかで参ったな〜という感じだったんですが、こちらに解決方法が書いてありました。
要するに、build.gradle (Application) の書き方がまずくて、依存関係が解決していなかったようですね。
dependencies { compile 'com.android.support:support-v4:21.+' compile 'com.android.support:gridlayout-v7:21.+' compile 'com.android.support:cardview-v7:21.+' compile 'com.android.support:appcompat-v7:+' }
サンプルのままだとこうなっていると思います。
この21.+
という表記だと、足りないsdkをインストールするっていう導線までいかないようです。
よって、下のように書き換えてみました。
dependencies { compile 'com.android.support:support-v4:21.0.0' compile 'com.android.support:gridlayout-v7:21.0.0' compile 'com.android.support:cardview-v7:21.0.0' compile 'com.android.support:appcompat-v7:21.0.0' }
こうすると、足りないsdkのインストールに進むので、うまくいきます。
Sass記法でベンダプレフィックスをフォールバックしてくるmixinを書く
一般的にはScss記法が多い気がしますが(「{}」で囲むスタイル)、 {}とか;を書くのが億劫なので、普段はSass記法を使っています。
今回、ベンダープレフィックス用にmixinをつくろうと思いました。 ループを使って綺麗に書きたかったんですが、Sass記法でどうやるのかあまり情報がない。 公式サイトを見てもmixinについてはScss記法しか載っていない。
そこでいろいろ試してみました。
普通に@each
が使えた
使えました、@each
が普通に。
Sass記法の場合は、mixinも@mixin
じゃなくて=
を書くだけで、@(アットマーク)はほとんど使う場面がないのですが、普通に使えるんですね。
=transform($value) @each $prefix in '', -webkit-, -ms- #{$prefix}transform: scale($value, $value)
値のところの関数っぽいところに変数は使えるのか
次に気になったのは、上記のscale
のところを変数にできるのか、というところ。
関数名(便宜上「関数」って呼んでます)の部分に変数を渡すのはNGなような気がします。
が、普通にできました。
=transform($property, $value) @each $prefix in '', -webkit-, -ms- #{$prefix}transform: #{$property}($value, $value)
これで、transform
みたいな、関数名にscaleとかtranslateとかいろいろ入る奴がきてもDRYが保てそうです。
可変引数もとれた
あとひとつ気になったのが、scale
の引数で可変引数はとれないか、というところ。
=transform($property, $value...) @each $prefix in '', -webkit-, -ms- #{$prefix}transform: #{$property}($value)
普通に取れました。 これで完成です!
Scss記法より書く量が省けて、Stylusのように:(コロン)まで取ってしまうスタイルよりも可読性が高くて、個人的にはSass記法、大好きです。
OSX YosemiteにアップデートしたらHomebrewが動かなくなった
嬉々としてYosemiteをアップデートしたら下のようなエラーが、、、
/usr/local/bin/brew: /usr/local/Library/brew.rb: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby: bad interpreter: No such file or directory /usr/local/bin/brew: line 23: /usr/local/Library/brew.rb: Undefined error: 0
どうも、Ruby 1.8がないせいなような気がします。 実際今動いているのは、2.0.0でした。 Yosemiteにアップデートになると、Rubyのデフォルトのバージョンが2系になって1.8はなくなるみたいですね。 1.8系、1.9系ともにサポートが終了するようですし → Ruby 1.8.7 および 1.9.2 のサポート終了について
再びHomebrewを動かすには、、、
調べると、いろいろGithubでPRがあったりするんですが、このサイト( Fixing Homebrew for OS X 10.10 Yosemite )が一番シンプルでわかりやすいかなという感じです。