サイト移行プロジェクトの現状【#np2020】

昨年11月に始めた現行サイトのサーバーアップデートとそれに伴うサイト移行プロジェクトですが、4ヶ月経った現在でもまだ移行出来る目途が立ってません。長い間に積もったものを一気に変えようとしているせいもあるし、課金をなるべく減らすべくローカルで作業しながら準備をしているせいで、作業は進んでも目に見える結果は何一つ出ていないというせいもあります。そもそも無い時間を縫って作業しているし。

続きを読む

開発がなかなか進まない【#np2020】

サーバの設定を確定し、静的ファイルのみで出来ているサイトを再構築するまでは終えたのだけれど、この先の開発をどうするかで迷って10日ほど開発が停滞中。一応、作業計画は立てたもののイマイチ踏み切れなくて。特にPHPフレームワークの移行(Symfony2 → Laravel)の学習コストが読めなくて、現行のシステムの移行にどれくらい時間がかかるか、新サーバの契約重複がどれくらい続くのかわからず……ってでもそんなの、ローカルに入れて動かしてみればいいんだよね。そりゃそうだ。 現在のタスク

  • 環境構築用のAnsibleをfixする
  • Laravelを入れてみる
この2つをクリアしたら、新サーバを契約して移行を始めていいんじゃないかと。よし、見えてきた。 業務でやってるんだったら、当然だけど先が見えて無くても道作って進んでいかなくちゃいけないんだけど、趣味でやってることだとついぼんやり時間過ぎがちですよねー。気持ちが乗ってるときはガーッと行くんだけど、ちょっと見えて満足しちゃうとリリースまで行ってないのにペース落ちちゃう的な。あかん。2月に入る前にもう一回リブートしましょう。コーディングする気が起きないなら、ドキュメントを死ぬほど書いておこう。あとで見直して良くも悪くも参考になるし。

続きを読む

シンプルなCMSとしてMDwikiがそこはかとなく使いやすい【#np2020】

タブレットでレシピを見る人のイラスト 前回、GitHub Wikiを使って店舗用マニュアルを作ってみました。 GitHub Wiki を使って店舗の作業マニュアルを作成する | mutter 短時間で構築した割には好評で、情報を見やすく集積できたと自分でも思うのですが、一方であくまでリポジトリのWikiであるため、余計な情報がたくさん表示されてしまいます。また共同執筆はあまり考慮していないテキストなので、完全なWikiである必要はあまりありませんでした。Wikiを公開するためだけにリポジトリをパブリックにするのも少し気になるところです。 (非公開情報をpushしなければいい話ですが) そういったことを鑑みてサーバに入れられるシンプルなWikiはないかなあと探して行き当たったのが「MDwiki」でした。 MDwiki – Markdown based wiki done 100% on the client via javascript

サンプル

https://nobodyplace.github.io/demo/mdwiki/

続きを読む

【メモ】Vagrantのスナップショット機能の補足【#np2020】

vagrant Vagrant1.8以降ではスナップショット機能が使えます。 コマンドを打つだけでスナップショットの作成、復元が行えてとても便利です。

保存

$ vagrant snapshot save backup

復元

$ vagrant snapshot restore backup
詳しくはこちらの記事にまとまっているので参考にしてください。 Vagrant1.8で追加されたSnapshot機能のまとめ – Qiita

続きを読む

RSSリーダー「Tiny Tiny RSS」を導入【#np2020】

tt-rss.png 「RSSリーダー」なんてもう絶滅危惧種なのかも知れませんが、確実に更新情報を得たい特定のブログやニュースサイトがある場合、やっぱり今でも必要だと思うんですよね、個人的には。Facebookの更新情報は並びが恣意的すぎて信用できないし、Twitterは埋もれるし。昔に比べるとRSSリーダーを見る機会はかなり減ったけれど、十分に有用だと思います。 で、今現在は、サイドフィード株式会社がかつて開発していたRSSリーダー「フレッシュリーダー」を利用しているんですが、開発が終了して9年半が経過していてセキュリティ的に不安があるし、もしソースが公開されていれば何かあったとき自分で直すことが出来ますが、フレッシュリーダーはソースが公開されていないのでそれも出来ない。長い間葛藤はあったんですけど、サーバ環境を一新するにあたってRSSリーダーも更新することにしました。使い勝手は少し変わるかも知れないけれど、まあ仕方ない。 選ぶ条件は以下の通り。

  • ソースコードが公開されている(OSSだとなおよし)
  • PHPベースのサーバインストール型
  • 複数ユーザーで使える
  • 日本語で利用可能
これが意外に候補が無くて、最終的になんとか「Tiny Tiny RSS」が見つかってこれに決めました。 Tiny Tiny RSS 要件の全てを満たしている上に、gitコマンドだけでインストール出来て設定も楽そうだったので。

続きを読む

Vagrantで複数サーバー起動してAnsibleを動かしてみるテスト【#np2020】

ansible.png

業務では前任者が選定した「Chef」を使って環境構築を行っているのですが、色々調べるに最近は「Ansible」を使うのが主流っぽいので次のサーバではそれを使うことにしてみました。概念としては、管理用のサーバを1つ用意してそこにAnsibleの設定を書いておいて、そこでコードを実行することで、更新対象のサーバに一斉に設定を反映できる仕組み、という感じですよね。なにそれやばい。しかし見たことも触ったこともないのでいまいち設定や実行のイメージがつかめない。だったらまあ、簡単な環境を作ってハンズオン(体験学習ぐらいの意味)してみればいいんじゃない? やってみた。

続きを読む

タスクをチケット管理する(物理)

タスク管理のためのツールは色々ありまして、僕自身も業務ではRedmineとGitHubのPRとissueを組み合わせる感じで管理しています。詳細が誰にもわかる形で残るし、関連情報や関連チケットを紐付けたり担当者を明確にしたり期日をはっきりさせたり、あるのとないのとでは大違いです。超便利。 ただ、自分自身のちょっとしたタスクという点で言うとちょっと大仰なんですよね。チームで動いていて情報を誰かと共有する必要がある、タスクのサイズが割と大きめである、PCで参照すること前提に情報を記載したいなどの要件があれば便利と言えるんですけど、小さいサイズのタスクを備忘録的に使うのには向いてません。そういうレベルのタスク管理で昔から使われているのが「付箋」で、デスクトップ上に付箋を再現するソフトウェアもたくさんリリースされています。使ってみたこともあるんですが、ウィンドウの下に隠れてしまうのが不便、かつ、ウィンドウの下に隠れない(常に最前面に表示)とそれはそれで邪魔というなんとも微妙な感じがあって、使うのを止めてしまいました。 それ以来iPhoneのメモにあるチェックリストを使ったり、試行錯誤していたんですが、最近引き出しの中に昔ながらの「付箋」があることに気付いて使ってみたら、まあなんというか、便利ですよね。細かい情報を記載するのには向いてませんが、

  1. タスクをなるべく小さく分割する
  2. 付箋1つに記載するタスクは1つだけ
  3. 最小限の動きで見える部分(かつ邪魔にならない場所)に貼っておく
  4. 終わったら終わった端から捨てる
というルールを作って運用してみたら、あら便利。 年配の方や非技術者の方には「お前今さら何言ってんだ」と言われるかも知れませんが、いやあ、なんでもかんでもデジタルにしたがるもんなんですよ技術者ってのは。確かに検索機能とかリンク機能とか、デジタルじゃないと上手く機能しない機能ってたくさんありますし、便利だとも思うんですけど、アナログで十分って言うこともたまにはありますよね。僕にとってはそれがこれでした。

運用上の注意

ちょっと運用してみて思ったことをざっくりと。
  • つい付箋にあれこれ書いてしまいがちなのを控える
  • 詳しいことが決まっていない案件は大枠だけ書いておけばOK(上の画像の「Laravel」みたいに)
  • 要件が決まったらそれに合わせてチケットを細かく切る
  • 情報が少ないので付箋だけで完結させるのは不可能。別にドキュメントがあることが前提
  • 終わったら即捨てる。容赦なく捨てる
アナログでいいとはいえ、詳しい情報を残せないのはつらい。そういう意味ではきちんとドキュメントも残して、そこからタスクを切り出す際のUIとしてチケット(物理)があるという感じの捉え方です。今のところGoogleドキュメントに残していますが、情報が増えてきたらGitHubのwikiに移行するかもしれません。以前はPukiwikiをサーバに入れて運用していたこともあるんですけど、なかなかねえ。情報が散乱しがちで、綺麗にまとめるの難しいんですよね。かといって記憶しておくってのは不可能だし。趣味でプログラミングしてる人はこういうのどうしてるんでしょうかね。趣味でもきちんとタスク管理してるのかしら。

続きを読む

開発環境の整備(Vagrant+VirtualBox+CentOS7.6+PHP7.1)【#np2020】

vagrant.png ローカルの開発環境として、Vagrantを使います。Macの方がセットアップ・運用共にが楽なんですが、Windowsでも問題なくできます。

概要

  • 使用OS:Windows 7
  • ゲストOS:CentOS 7.6
  • 仮想環境:Vagrant 2.2.2 + VirtualBox 6.0.0

手順

  1. VagrantとVirtualBoxをインストール
  2. CentOS7.6を追加してVagrant起動
  3. PHP 7.1をインストール

参考サイト

基本的には、こちらの記事を参考にさせていただきました。 Vagrant + VirtualBoxでWindows上に開発環境をサクッと構築する – Qiita Windows上でVirtualBox+Vagrant+CentOSによる仮想環境構築 – Qiita ただ記事と時差があるのか個別にハマったところも何点かあったので、それらについてはまた別の記事を参考にしています。

続きを読む

Windowsにターミナル「mintty」をインストールする【#np2020】

mintty.jpg

インストール

インストールはこちらを参考にしました。 Windowsにminttyを入れた話 – 駄文置き場ですから 少しわかりにくいのは、「mintty」というソフトウェアが独立して存在しているのではなくて、「MinGW」というGNUツールの一部として提供されているということです。なのでまず「MinGW」のインストーラをインストールし、そのインストーラ上で「mingw-developer-toolkit」をインストールします。で、そこから「mintty」をインストールするという具合。 インストールの方法やその後の設定については、上の記事に詳しく記載されているので参考にしてください。書いてあるとおりにやれば大丈夫です。個人的に変更したところは透過を「High」にしたのと、フォントを「Ricty Diminished Discord」にしたくらいですかね。 RictyDiminishedDiscord.png (画像:https://qiita.com/hamaguchitm/items/546d40b7777bd9242e78 上記記事内では日本語周りのカスタマイズを結構してますが、僕の環境では特に設定しなくても問題は出てません。バージョンの問題かなあ。

感想

開発を伴うサイトの引っ越しを始めるにあたり、今さらですが手元のWindowsにちゃんとしたターミナルがないなあということを感じました。今までは「Poderosa」を使っていてそれで十分に満足していたんですが、最近使われているターミナルってどんなのだろうと検索しても「Poderosa」は出てこないんですよね。無期限無償で使えるけど一応ライセンス登録が必要なシェアウェアだし(というのを今サイト見て思いだした)、カスタマイズが可能な安定したフリーウェアを探しがちなエンジニアからは敬遠されているのかも知れません。いや、良いソフトウェアなんですけどね。使い勝手良いし安定してるし。 そのまま使い続けても良かったんですけど、今回は色んなものを技術的にもシステム的にもアップデートしていこうという方針で取り組んでいるので、使うツールや環境面も変えていくことにし、検索した中で一番評判が良かった(というか安定していた)「mintty」を採用することにしました。UIをカスタマイズしない状態ではWindowsに付属しているコマンドプロンプトとあまり変わらないんですけど、使ってみると道具として実に良い。Linuxのシェルに慣れていることもあってとても使いやすい。これ以上に尖ったソフトウェアはあるでしょうけれど、「これを入れておけば間違いない」って言われる理由はわかる気がします。デザインに凝りたいのであれば別ですけど、開発を行う上ではこれがあれば十分です。 なるほどなー。

続きを読む