2018年8月23日

休み明けの週のせいか、今週は木曜の時点で息切れ気味。

やること山積みでかつなかなか一つ一つのタスクが重い。それなりにタスクを自力で片付けていけるだけのスキルや段取りができるメンバーが少ないので特定の人間に負荷がかかりがち。
客先に常駐している形なので自分たちには改善をする権限もないし、声は挙げ続けているけれど。

どうも奥の歯に先日から違和感があると思ったら、歯が欠けているというか虫歯っぽい感じがする。
歯医者の定期検診も1年以上ほったらかしにしていたし、日々のケアも十分にできなかった。
前に治療に行った歯医者に近いうちに行ってみることにする。


2018年8月22日

昨日に続いて仕事でJenkins構築。

Pipelineを初めて使ってみたけど、ビルドのフローが可視化できて割といい感じ。
フローの途中のジョブからパラレルで実行することもできる(昔からできてたかもしれないが)。

Pipelineで使えるgroovyのコマンドがいまいち分かりづらいものがあったり、できることできないことがありそうな感じはするけど、最悪はシェルスクリプトでやればなんとか。

水曜なので残業なしで帰宅してから、Giteaを触ってみる。Gitlabのオンプレ用よりセットアップも簡単で動作も速い。これを仕事で使うことはおそらくないけど、こういう選択肢もあるのかという知見。

いろいろやっていたらすぐに時間が経ってしまいいつもの睡眠時間。
平日は4時間くらいしか睡眠時間が取れてないのでもう少し取りたい。


2018年8月21日

仕事で思うところがあり、久しぶりにJenkinsの環境を構築。

2,3年前と比べてUIが少しわかりやすくなったような気もするけれど、設定の面倒さは変わらず。

設定の自由度が高い分仕方ないのだろうけど、最初にビルドタスクが通るようにしたりテストとかのタスクがきちんと動くように持っていくまでが手間がかかる。

実行時のパーミッションが違うとか、SCMからチェックアウトしたままの状態ではビルドが通らない(Makefileとか設定ファイルの変更が必要)から、チェックアウト後に修正済み設定ファイルを上書きするとか、別プロジェクでビルドしたファイルが後工程で必要になるとかいろいろ。

オンプレで使えるCIツールはJenkinsの一人勝ち?なのは変わってないのかな。
いまの時代は外部のCIサービスを使えってことなのだろうけど、当然我々のようなSI仕事の場合はセキュリティポリシー云々で外のサービスは原則使えないので。


2018年8月20日

夏休みの9連休明け。

ほぼインドアな過ごし方だったが休み中にやろうと予定していたことの3分の1もできなかった。
起きてる間はいろいろやってたはずだけど、時間はどこに消えたのか…。

読書も録画消化もあまり進まず。
技術の勉強は手を付けた程度で何かを作るまでも至らず。

・このブログのテーマ、見た目の調整
・VPS、クラウドについて調べる(途中)
・録画番組消化

文字にしてみるとこの程度か。

時間だけあっても使い方が上手ではないのだろうなあ。
まあ動画を観たりゲームしてたりもしてたのである程度は仕方ないか。


個人で開発する時のサーバに悩む

個人開発者向けサーバ環境の選び方まとめ(heroku,aws,firebaseなどなど)

↑の記事にあるように、個人でちょっとお試し開発したいときのサーバの選択肢は意外と難しいように思う。

自分が作ったサービスとかを公開するつもりなら別だけど、自分しか使わないとかちょっと実験的な使い方だと使う頻度も高くないので

・できれば安く(数百円、高くても月1000円以内)
・でもある程度自由が効く(ソフトのインストールができる)
・対応言語が多い(今はpythonが動いてくれればいいかな)
・DBも使える(しっかり使うわけでもないので軽く使えればOK)

という感じ。

勉強として考えるとAWSとかAzureあたりを触っておくのがいつか役に立つかもしれないけど、どうしてもこのあたりはVPSとして使おうとすると割高になるように思う。
(スモールインスタンスやサーバレス環境があるのは知ってるけど、一通りのVPSとして使うとなると)

いまは、このブログのレンタルサーバとしてエックスサーバー、VPSはDTIのServersMan@VPSを契約している。

ServersManは月500円でメモリ1GBと安くてスペックもそこそこだけれど、管理画面が貧弱というか無いに等しいのと、選択できるOSが古めのしかない、VPSサービスの改善やアップデートが数年単位で止まっているように見えるのが少し不満なので、どこか良い所があれば乗り換えたい。

今の時点ではいろいろ見てみて、Conohaあたりを検討中。サーバスペックは落ちるけど現在進行系でサービス内容がアップデートされているところが良いかなあと。


2018年8月10日

昨日あたりから朝晩の通勤の人が目に見えて減る。
今週が夏休みのところも多いのだろう。

うちは今週末から9連休。
いつも客先の夏休みは5日間と、自社の夏休み期間より短くて損した気分だったのだけど今年は17日を有給にすることで9連休に。

休みが長くなったとは言っても少し風邪気味なのとこの猛暑で、どこか旅行して日中に観光する、という意欲が沸かない。
おそらく基本は自宅で、行っても近場くらいの過ごし方になるかな。


夏風邪

先週あたりから夏風邪をひいたらしい。
職場で体調を崩していた人がいたので、感染ったのか他の原因なのかは分からないが。

いつもの風邪のパターンに比べて、鼻水が少なく、喉の痛みも少ない。
ただ咳と痰はいつもと同じ。

今週末から夏休みだというのに体調を崩すとは…。
ひとまずこれ以上ひどくならないように用心。


最近触っている技術

後の自分のためにメモ。
2018年8月時点ではだいたいこんなことをやっている。

・仕事はC++メイン。テンプレートをゴリゴリというより割とシンプルなクラス構成のもの
・ただし開発環境がC++11もフルで使えないくらいのコンパイラバージョンなので少し面倒

・勝手にPythonの勉強も兼ねて開発用ツールを作っている。PythonでCUIツールだったり、Python + FlaskでWebアプリだったり(勝手に作っているとは言っても作ったものはチーム内に公開してる)
・LeafletやGoogleMap APIも入門レベルでは使えるようになった
・CSSフレームワークはBulma。簡単な分、少し手の届かないところもあるがあまり不満はない
・JS関係はVue.jsでSPAを見よう見まねで。ただしVue.jsのコンポーネントは勉強できてないので作れない
・DBはPostgreSQL。ただこれはデータストアのために使っているだけなので、そこまでDB自体を弄り倒してない
・SCMはチームはTFSやSVN。手元では一人ローカルgitで開発ブランチ切ったりして少しだけ導入してる


自作PCを新調してみようか考え中

いま使っているデスクトップPCを自作したのが、だいたい4年前

haswell世代のCorei5を使っていてそれほど不満は無かったのだが、今年話題になったCPUの脆弱性「Spectre」「Meltdown」の対策が入ったあたりから体感で速度が落ちているような気がする。

実際に対策パッチを当てるとパフォーマンスは多少低下するらしいので、この体感での低下もまんざら気のせいではないのだろう。

ということで、ふとPCを新調しようか…という気分になってきた。
過去にはAMDのCPUを好んで使っていたこともあるので、Ryzenが気になる。

ずっと自作PC関係のニュースを追っていなかったので、パーツの相場を調べるところからだけどメモリが高いらしいので、16GBくらい載せたい私としてはちょっと考えどころかもしれない。


Subversionのコマンド結果(svn logなど)をXML形式で取得する

つい最近まで知らなかったのでメモ。

ソースコードのバージョン管理と言えば今ではgitがトレンドだけど、仕事先ではまだまだSubversionだったりマイクロソフトのTeam Foundation Serverだったりで、おそらくgitを使っているチームはほとんど無いのではないかと思う。

そんな中、Subversionのコミットログをプログラム上で扱いたいと思うことがあり、いろいろと方法を探していた。
最初はSubversionの言語バインディング(API)を使うしかないのかな、と調べてみたけれどJavaとCしかまともにサポートされてなさそうな雰囲気だったのと使い方が面倒そうで保留。

次にSubvertionがリポジトリとやり取りしてるプロトコルを喋れないかと調べてみたけれどこれも仕様がよく分からず、WebDAVだとどうかな?と見てみてもSubversionのサーバー構築の情報はたくさん出てくるけれど、あまり情報が無くてこれも保留。

※いまこのブログを書いてる途中に調べてみると、WebDAVのプロトコル仕様は公開されている様子。時間があればこちらも調べてみる。

で、何気なくsvn logコマンドのリファレンスを眺めていたら”–xml”というオプションがあるのを発見。

通常のsvn logコマンドだとこんな感じの出力(一部省略)だが、

# svn log -l 2 http://svn.apache.org/repos/asf/subversion/trunk
------------------------------------------------------------------------
r1801108 | philip | 2017-07-07 05:56:14 +0900 (金, 07  7月 2017) | 24 lines

Add exception checks to some of the JavaHL native code to avoid JVM
warnings about JNI problems of the form:

  WARNING in native method: JNI call made without checking exceptions when required to

------------------------------------------------------------------------
r1801012 | danielsh | 2017-07-06 19:19:47 +0900 (木, 06  7月 2017) | 3 lines

* tools/dist/templates/rc-release-ann.ezt,
* tools/dist/templates/stable-release-ann.ezt:
    Fix a copy-pasto in these templates.
------------------------------------------------------------------------

–xmlオプションをつけると

# svn log -l 2 --xml http://svn.apache.org/repos/asf/subversion/trunk



philip
2017-07-06T20:56:14.167594Z
Add exception checks to some of the JavaHL native code to avoid JVM
warnings about JNI problems of the form:

  WARNING in native method: JNI call made without checking exceptions when required to



danielsh
2017-07-06T10:19:47.297427Z
* tools/dist/templates/rc-release-ann.ezt,
* tools/dist/templates/stable-release-ann.ezt:
    Fix a copy-pasto in these templates.


とXMLで出力される。

これなら標準入力でXMLを受け取ってパースすればどうとでも扱える。プログラム内からsvnコマンドを直接実行するのでセキュリティ的にどうこうはあるかもしれないが、個人が使うちょっとしたツールではあまり問題にならないだろう。

svn logコマンド以外にもsvn info や svn status など–xmlオプションを付けられるコマンドは他にもあるようなので、上手く使うと便利なことができるかも。


スポンサーリンク