動かざることバグの如し

近づきたいよ 君の理想に

vagrant box updateでエラー「An error occurred while downloading the remote file」

ふと、bento/ubuntu-16.04Vagrant boxをアップデートしてやろう思って

vagrant box update

したが、エラーになって何回やってもできない

An error occurred while downloading the remote file. The error 
message, if any, is reproduced below. Please fix this error and try 
again.

原因

boxのダウンロード元URLが変わっているのが原因。

boxのURLはMacだと~/.vagrant.d/boxes/BOX名/metadata_urlに記載されている。今回だと

$ cat ~/.vagrant.d/boxes/bento-VAGRANTSLASH-ubuntu-16.04/metadata_url 
https://atlas.hashicorp.com/bento/ubuntu-16.04

になっていたが、

https://vagrantcloud.com/bento/ubuntu-16.04-i386

に変えてあげる必要がある。

そもそもbento/ubuntu-16.04については ubuntu-16.04-i386って名前に変わってたってのも問題だったが、、、

とりあえず解決したので

2018年に軽量CSSフレームワークを選ぶなら「milligram」

個人でサクッとサービス作りたいときに、毎回Bootstrapだと飽きてきたのでちょっと浮気してみたメモ。

ここでいう軽量とは

シンプル、最小限を目指したCSSフレームワークのこと

  • CSSフレームワークのくせにJavascript必須とか論外
  • Bootstrapより機能少なくていい
  • 適当にボタンとフォームがいい感じに表示できればそれでいいんだよ(暴言
  • けど流石にグリッド整えるだけのフレームワークは勘弁
    • こっちは楽をしたいのである。。

一番良かったのがmilligram

milligram.io

色々試した中で一番感触良かったのがミリグラム。名前からしてシンプル感伝わってくる。2018年3月17日現在で v 1.3.0

良かった点は以下

  • マジ質素
    • 公式で Only 2kb gzippedって言ってるのは伊達ではない -ドキュメントが1ページに収まるレベル
  • スマホ対応
  • グリッドシステム対応 参考: https://milligram.io/grids.html
  • 特に明示的にclassを付与しなくてもいい感じにしてくれる(良くも悪くも

逆にイマイチかなって思ったのは

  • デフォルトだと色がパープルのみ
  • フラッシュをいい感じにするclassがない
    • Bootstrapでいうalert alert-infoみたいなやつ

けどまじでシンプルなので、オレオレCSSフレームワーク作るぐらいだったらこれ使ったほうが10倍いいと思う。

他に見たCSSフレームワークたち

CSS書きたくなさすぎ問題2017 - DRYな備忘録から色々見てた

Skeleton

デザインいいし利用ユーザーも多そうだが、更新がここ数年止まってるので却下

pure

これシンプルだって推すブログよく見かけるけど、このジェネレーター見ても同じこと言えるか?却下

Spectre.css

Spectre.css - a Lightweight, Responsive and Modern CSS Framework.

割りとアリ。てかclassがBootstrapとほぼ同じなのでポストBootstrapとして使えるのでは

2018年08月20日追記: 細かいところでclass名が違ったりなかったりして逆に面倒

siimple

ググラビリティが悪い。却下。

telnetコマンドが無いときはcurlで代用

macOS High Sierraではtelnetコマンドが消えたらしい

macOS High Sierraで消されたftpとtelnetを復活させる - Qiita

あ、はい

が、ポート開放できるかの開放にtelnetコマンドはよく使うのでないのは困る。もちろんbrewでインストールするのもありだけど他人のPCとかだとなぁと思ってたらなんとcurlでも叩けるらしい

やりかた

今までのtelnetコマンドでのやり方

$telnet example.com 443
Trying 93.184.216.34...
Connected to example.com.
Escape character is '^]'.

curlでやるときは curl -v telnet://HOSTNAME:PORT

$curl -v telnet://example.com:443
* Rebuilt URL to: telnet://example.com:443/
*   Trying 93.184.216.34...
* TCP_NODELAY set
* Connected to example.com (93.184.216.34) port 443 (#0)

-vつけているのは、付けないと結果が分からないため。

ちなみにポートが開放されてない場合は以下のようになる

$curl -v telnet://example.com:22
* Rebuilt URL to: telnet://example.com:22/
*   Trying 93.184.216.34...
* TCP_NODELAY set
*   Trying 2606:2800:220:1:248:1893:25c8:1946...
* TCP_NODELAY set
* Immediate connect fail for 2606:2800:220:1:248:1893:25c8:1946: No route to host
*   Trying 2606:2800:220:1:248:1893:25c8:1946...
* TCP_NODELAY set
* Immediate connect fail for 2606:2800:220:1:248:1893:25c8:1946: No route to host
*   Trying 2606:2800:220:1:248:1893:25c8:1946...
* TCP_NODELAY set
* Immediate connect fail for 2606:2800:220:1:248:1893:25c8:1946: No route to host

てかどこに向かってるんだろMacOS

td-agentで動的なIndexでElasticsearchにデータを流す

やりたいこと

Railsのログをtd-agentを使ってElasticsearchへ流しているのだが、indexの名前を日付に紐付かせて動的にしたい。

例えばindex_nameがrailslogだとrailslog_2018みたいにしたい

やり方

普通

index_name railslog

だが、

    index_name railslog_%Y
    type_name logs
    <buffer tag, time>
      @type memory
      timekey 5
    </buffer>

にする

RailsでURL生成するときに必ずhttpsにしたい

Railsで posts_url みたいにヘルパーを使ってルーティングからURLを生成する際、デフォルトだとhttpsならhttpsで、httpならhttpのURLになるが、 明示的にhttpsにさせたい場合、

<%= link_to 'りんくだよ', posts_url(protocol: 'https') %>

でいける。

どういうときにつかうの

httpsなサイトをRailsで作っている。その中でメール送信部分があり、メール本文をRailsのビューで生成しているのだが、そこで*_urlを取得するとhttpになってしまう。サイトはhttpsなのでhttps://〜の形で欲しかった。

参考URL