魔法使いの卵

WEBエンジニアの卵の成長記録

ブログ移転します!!

移転先

raichel.tech

経緯

  • 一年ぐらい前にVPSドメイン契約して少し遊んで存在を忘れてた
  • もう一年遊べるドン!!ってことで更新されてたので悔しさの移転

はてなブログを使った感想

  • 普通にいいサービスでした
  • 正直不満に思えるところは特になかったです(贅沢言えば少しだけあるけど気にならない)
  • もしかしたら出戻りするかもしれないです(テックネタとはまた別で)

移転後のはてなブログ

  • 過去に書いた記事に手を入れて準備公開していきます
  • 修正後の記事ははてなブログのほうから消していく予定です

さいごに

  • 見てくださってた方、はてなブログの運用開発の方ありがとうございました

denite.nvimを導入してみた for Mac

経緯

  • 最近vimに出戻りしてきた中で denite.nvim が良さげということを知って導入することにしてみた

denite.nvimとは

導入時に必要になるもの

  • Python3

Python3の導入

  • Python3に関しては現状使う予定がないので以下をベースにそのままつっこんだ
    • brew install Python3

MacにPython3をインストールし環境構築【決定版】 - Qiita

vimでPython3を有効化する

  • 参考元の一部抜粋
> # 現在の有効なインターフェース確認
> brew info vim
==> --with-python3

> # vimを導入してない場合は普通にbrew installする
> brew reinstall vim --with-python3

> # python3が有効化されたか確認
> vim --version | grep python3
==> +python3

Vim 8 に denite.nvimをインストールした - ねむい

denite.nvimの導入

  • .vimrcに以下を追加
    • 適切な場所であれば .vimrc じゃなくてもok
call dein#add('Shougo/denite.nvim')
let g:python3_host_prog = expand('python3')

Vim8ではノーマルモードのマッピングが機能しません

  • denite.nvimを利用してみたところノーマルモードではなくインサートモードになってしまう問題があった
    • 以下をコマンドのあとに指定することで解決できた
-mode=normal buffer

Normal mode mappings don't work in Vim8 · Issue #166 · Shougo/denite.nvim · GitHub

感想

Laravel5.1のmigrationを使ってカラムの変更でハマった話

経緯

  • 実行したクエリもちゃんとバージョン管理下に置いておきたくてmigrationを使う運用をしている
  • カラムの情報を変更させる必要があったのでmigrationファイルを作ってカラムを変更しようとしたらできなかった

なにをやってたのか

  • migrationファイルを作った
php artisan make:migration --table 該当テーブル名 migrationファイル名
Schema::table('xxx', function (Blueprint $table) {
    $table->string('name', 50)->change();
});
  • migration実行
php artisan migration
  • データベースを確認しても変化なしのため一旦ロールバックして再度、実行しながらクエリログをみる

  • xxx テーブルに対してのログが一切でてこないのにmigrationテーブルは更新されてる

  • カラムの情報を変更できていないのにmigrationファイルは実行済みになっていた

  • Documentを探した

なぜカラムの変更ができなかったのか

  • パッケージをいれてなかった
  • 以下を入れろってDocumentに書いてました
composer require doctrine/dbal
composer install

結論

  • 作ったファイル消してパッケージ入れてファイル作り直したら動きました

vimのディレクトリ構成を作るスクリプトを作ってみた

経緯

  • 数時間前の僕は血迷って迷走していたのでやりたいことを整理することにした
    • 以下血迷ってた時の記録

raichel.hatenablog.com

結局どうしたのか

  • ケルトンを作成するようにした
    • 設定は個人に依存するのでスケルトンだけを生成してあとは丸投げがいい気がした

github.com

保守するの?

  • vim使ってるうちは(たぶん

vimrcはどうなったの?

  • 聞かないで下さい

vimで何がしたかったのかわからなくなった話

経緯

  • 最近マウス触るのがめんどくさくてめんどくさくてつらい
  • なんだかんだ仕事もプライベートもだいたいターミナルにいるしもうvimでいいのでは説浮上(原点回帰)

過去の遺産の覗いてみた

  • 仕事ではじめてvimを知りカスタマイズたのちぃって言ってたあの頃の遺産
  • 自分で書いたソレに目を通して僕はそっとブラウザを閉じた
  • ってわけにもいかないので、作り直すことを決意

やりたかったこと

  • 多言語対応対応したい(拡張子別に設定切り替えたり)
  • カオスすぎる .vimrc を適切なディレクトリ構造にしたい
  • とりあえずシンプルでいいからすっきりさせたい

やったこと

  • とりあえずvimのバージョンあげようぜ時代は8系だろ8系
  • バージョンあげたはいいけど過去の遺産を突っ込むと挙動おかしい
  • 1つ1つ動作確認しつつ使えるのものは使おう精神で移植作業
  • 過去の遺産の使えるところの移植作業(気が狂うかとおもった)
  • ディレクトリ構成を考えて色々調べてた
  • 以下迷走モード突入
    • neobundleってもうバグフィックスだけなのか今はなにがええんや
    • dein.vimかよっしゃ使ってみたろ
    • 手動でパス指定したりコピペしたりめんどくさいな
    • よっしゃ自動化したろ
  • 手動でなにかしないといけないところらへんから色々見失った

できあがったもの

  • ボク個人に依存する.vimrcの設定ファイル群
  • vimの個人環境を作成するセットアップスクリプト
  • 相反するものが今1つのレポに・・・

学び

  • やりたいことに対してやろうとしてることが合ってるのか検討(勢いに任せるの良くない)
  • dein.vimの使い方と導入方法

プロトタイプ

  • 爆死したレポはこちらです(手が・・・う、動かねぇまだやることg・・・)

github.com

いいわけ

  • これプロトタイプだから!!

シンボリックリンクを解除したかった時に犯した過ち

経緯

犯した過ち

実際にすると

正しく使うために

  • 削除するか解除するかを調べる・確認するなどする
  • 解除する場合は unlink シンボリックリンク (@ が付いているファイル名)

感想

  • これを知らずに普通に昔やらかしたことがあった

WebStorageを初めて知ったけどよさそうだった

そもそも

  • WebStorageって名前がついてることを知らなかった
    • sessionStorage : わかる
    • localStorage : わからない

www.htmq.com

本題

  • localStorageに関して無知すぎたので調べたメモをまとめた

LocalStorageの特徴

  • 保存容量はブラウザにより異なる(5MB~10MB)
  • サーバへ値を送信しない
  • 有効期限は無期限

Howto

  • データを保存する
var num = 1;
// データの保存
localStorage.setItem('access_count', num);
window.localStorage.setItem('access_count', num);
localStorage.access_count = num
  • データの取得
num = localStorage.getItem('access_count');
num = window.localStorage.getItem('access_count');
num = localStorage.access_count
  • データの削除
localStorage.removeItem('access_count');
window.localStorage.removeItem('access_count');
  • localStorageを初期化
localStorage.clear();
window.localStorage.clear();

参考元 LocalStorageとは? その使い方を徹底解説!

感想

  • こういうのって知ってる知らないとで労力が変わるんだろうなぁ・・・