memorandum

Webアプリ開発などを中心としたITに関するメモのブログです。

ghqのroot配下ではVCS導入しないとghq listが遅くなる

2020/01/11
2021/02/25

今さらながら ghq を使うのをデフォルトにしようと考えてローカルにあるリポジトリをすべて ghq の root に移したところ、ghq list がだいぶ遅くなったように感じた。

以下が原因&解決策であった。
https://hirakiuc.hatenablog.com/entry/2017/05/06/205846

バージョン管理システムがないディレクトリが多数含まれていると遅くなってしまうらしい。

サンプルプロジェクトは ~/.ghq/github.com/ksoichiro に移動してあったため、そのディレクトリで以下を実行して git 管理としたところ改善した。(管理といっても git init しているだけ)

for i in $(ls -1); do if [ ! -f $i/.git/config ]; then echo "$i is not in vcs"; pushd $i > /dev/null; git init; popd > /dev/null; fi; done

続きを読む...

一区切り...

2020/01/11
2021/02/25

2019年は自分にとって大きな変化のあった年となった。あまりそれ自体については詳しくは書かないつもりだが、具体的にいうと転職して12月から新しい職場で働いている。

このブログの更新も停滞していたが、これを機に再開していきたい。

続きを読む...

GitLab CI をセットアップする

2019/05/01
2021/02/25

今さらだが、自分でセットアップする機会ができたので。

ただのセットアップは公式のマニュアルなどで確認できるので、ここでは実際にビルド、テスト、レビューで活用できるようにするためのことを書く。
かなりの長文なので注意。

続きを読む...

yEdでジョブフロー図っぽいものを描く: Layout

2019/02/19
2021/02/25

yEd でどこまで描けるか?本当に良いかを確認するためいくつか図を描いてみる。以下の続編。
yEdでジョブフロー図っぽいものを描く: Edge Routing

ベースとなる図

前回同様に以下をいじってみる。

レイアウトといいながらEdge Routingから入ってしまったが、今回はメニューのLayout直下の項目を試す。

続きを読む...

yEdでジョブフロー図っぽいものを描く: Edge Routing

2019/02/19
2021/02/25

yEd でどこまで描けるか?本当に良いかを確認するためいくつか図を描いてみる。

ベースとなる図の作成

まずPaletteのFlowchartのSectionから、適当にボックスをドラッグアンドドロップする。

ダブルクリックでラベルを入力。

オブジェクトからオブジェクトへドラッグするとラインが引かれる。

オブジェクトの配置の際には、ガイドとなるラインが表示されるため縦横とも周囲の部品と合わせた位置に置くことができる。

ここまでで作れたのが以下。

レイアウトをいろいろとうまくやってくれるのが yEd の良いところのようなので試してみる。今回はEdge Routing。

続きを読む...

GitLab v7.9.4 のサーバ移行とアップグレード

2019/01/20
2021/02/25

GitLab Omnibus Package でインストールして運用してきた古い GitLab を別のサーバに移行し、最新版にアップグレードしたい。

ここでは v7.9.4 からの移行とアップグレードを考える。

サーバ移行については、データバックアップが取れるのでそれを新環境で取り込めば良い。

アップグレードについては Omnibus Package でインストールしたものなら基本的に以下を参照すればできる。
https://docs.gitlab.com/omnibus/update/

メジャーバージョンアップはバージョンをまたがない方がよい(1つずつ上げる)ということで、何度かに分けて上げる。

基本的に公式ドキュメントに記載されていることを正しく読み取って組み合わせれば良いのだが、以下では今回のケースで必要なことを事例として説明する。

続きを読む...

Android ナイトモードをダークテーマとして提供する

2019/01/08
2021/02/25

以前の以下のエントリの関連。
Android ナイトモードを起動時に設定するとonCreateが二度呼ばれる

ナイトモードは時間に応じて自動的に変わる設定もできて、そのようになっているアプリもある。ただ、いくつかのアプリを調べてみた感じでは、現状ではON/OFFの設定のみのアプリが多い印象。三日月のアイコンをタップするとON/OFFが切り替わったり、ダークテーマ、ダークモードなど別の名前で提供されているものも多い。

ON/OFFの切り替えだけなら実質的にはテーマの変更であって、テーマの変更として実現すれば configuration の変更にならず onCreate の二重呼び出しなども発生しない。ナイトモードを適用したからといって起動が遅いのは何かを見落としているのかもしれないが、現状では、単純なON/OFFで提供したいならテーマとして提供する方法が無難かもしれない。

以下、ナイトモードの実装状況について確認したアプリについて記録しておく。

続きを読む...

Node.js の csv-stringify で CSV レコード内の改行をダブルクォートで括る

2019/01/08
2021/02/25

Node.js で csv-stringify による CSV 出力をする際、項目(レコード)に何種類かの文字があった場合はダブルクォートで括るようにしたい。

csv-stringify が大体勝手にやってくれるが、現時点の最新版 v5.1.2 では改行の一部の取扱いが期待通りでなかった。

  • 行のデリミタが LF なら項目内に LF が含まれているとダブルクォートで括られる。→期待通り
  • 行のデリミタが CRLF なら項目内に CRLF が含まれているとダブルクォートで括られる。→期待通り
  • 行のデリミタが CRLF なら項目内に LF が含まれていてもダブルクォートで括られない。→期待と異なる

続きを読む...

© 2010 ksoichiro