ページ

2019/01/20

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

|

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

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

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

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

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

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

2019/01/08

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

|

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

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

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

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

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

|

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

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

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

2019/01/06

Android Studio (Asset Studio) で扱える SVG 画像を Inkscape で作る場合の注意点 (グラデーション)

|

Asset Studio で、Inkscape で作成した SVG 画像を扱うとき、Inkscape 特有のタグなどのせいでエラーが発生する場合は「プレーンSVG」として保存すれば良さそう。
ただ、この場合は Inkscape のデータが失われる。

参考:
https://graphicdesign.stackexchange.com/questions/82219/how-to-create-proper-vector-images-that-can-be-used-as-an-android-vector-drawabl

グラデーションに関しては上記では解決せず、
例えば ic_launcher.svg などを Inkscape で作って Asset Studio でアップロードしようとすると

ERROR @ line 83: Gradient has no stop info

のようなエラーが出て、グラデーションが適用されない。