BLUDITを入れて最初にやったこと

家で作ったものを動く状態でそのまま公開できるサイトが欲しかったので、BLUDITというPHP製でDB不要のCMSを使って作ってみた

naosim.sakura.ne.jp

BLUDITはうたい文句の通り一瞬でブログが完成するからイイ感じでした

www.bludit.com

今回のサイト構築でBLUDITの初期状態に対していくつか変更を加えたのでその内容をメモしておきます

  • 自分専用のテーマを作成する
    • デフォルトテーマをコピーして自分専用テーマを作る
      • デフォルトテーマをコピーする
      • テーマ名を変更する
    • CMSでテーマを変更する
  • 開発環境(ローカルホスト)でも動くようにする
  • jqueryを駆除する
  • コードハイライトに対応する
  • ナビゲーションバーの色を変える
  • mermaid.jsで図が表示できるようにする
    • 管理用変数の作成
    • タグをみて判断するプログラムを追加
    • 上記プログラムを読み込む
    • mermaid.jsを読み込む
  • まとめ
続きを読む

wordpressにバージョン番号を入れたら開発が楽になった

wordpressに機能追加するのは正直つらい...
本番環境で開発できないし、ローカルだと本番DBとの差異がでちゃってデプロイしにくいし...
何故1つのDBにコンテンツとデザインとアカウント情報を共存させてるんだよ...

バージョン番号をつけて本番環境で直接開発する

とにかくwordpressの開発がしにくいので、もう本番環境で直接開発しちゃいますw

まず適当な場所にバージョンを取得できるコードを書く

<?php
global $version;
$version = 201601; // 現行バージョン
if($_GET['version'] == '201801') {
  $version = 201801;
}

これで通常は$versionに201601が入ってますが

/path/to/contents/?version=201801

こんな感じに書くと201801が入ります

このバージョン番号を使って開発をします
たとえば機能追加ならこんな感じ

<?php if($GLOBALS['version'] >= 201801) { //version201801 ?>
<div>追加機能だよーーー</div>
<?php } //version201801 ?>

これで通常は追加機能は表示されないけどURLでversionを指定した場合のみ表示さるようにできました

バージョンを上げて公開完了

先程のversion分岐を駆使して開発を進めたら、最後にバージョンを上げます

global $version;
$version = 201801; // 現行バージョンを上げる

これで公開完了
もちろん各コードに散らばったらif文も消しましょう
コーディング時にバージョン用if文に//version201801みたいなコメントを入れておくとgrepしやすいです

とはいえ本番環境での開発は怖い

本番環境で直接コーディングしてるとシンタックスエラーになっただけでサービスが止まって怖い...
なので実際はローカルで作ってgitで管理しつつこまめに本番に上げて作ってます
ちょっと面倒だけど常に本番で動作確認でるから安心です

まとめ

wordpressにバージョン番号を入れて出し分けできるようにしておくと開発が楽になるよ

Spring + mybatisなコンポーネントライブラリを作成する方法

Spring + mybatisを使った開発用に、DBの自動テスト用ユーティリティを作成しました
DbTestUtil https://github.com/naosim/DbTestUtil
SQL文をサクッと実行したりできます

このユーティリティでは
Spring(DI)とmybatisを使ったコンポーネントをライブラリ化してますが、設定周りが結構大変だったのでメモ

続きを読む

GithubApiメモ

プルリク周りのメモです
(GithubApiを使うたびに毎回調べてる気がしていい加減飽きたので...)

セットアップ

curlで叩く程なので変数にaccess_tokenをセット

token=your_access_token

APIレスポンスはjsonなのでjqもインストール

brew install jq
続きを読む

【辛み】Chromeの等幅が揃わない

ちゃんとフォントで等幅のRictyを指定して、そのフォントを指定してるのにChromeだけ幅が揃わない
atomsublimeは揃うのに...

chrome
f:id:naosim:20180616064343p:plain
↑全角4文字と半角8文字が揃わない

atom
f:id:naosim:20180616064403p:plain

sublime text
f:id:naosim:20180616064416p:plain

なんでや。


追記
firefoxでも揃わなかった
なのでhtml的な何かが原因かな

htmlのテーブルからmarkdownを作る

以前の記事でmarkdownからSQLのcreate table文を作る方法を載せました

naosim.hatenablog.jp

これを真面目に作ってチームで使おうと思ったら
メンバーがDB仕様書をコンフル上で作っちゃったので
そこからmarkdownに変換する必要が出てきましたw

てことでやってみたのでメモ

続きを読む