メモ書きブログ

日々の覚書

emacsからVSCodeに移行した

とりあえず、markdownだけでも書けるようにと思い移行することにした。

フォント

自分の書くMarkdownの殆どが日本語ドキュメントとなっており、自分の好きなフォントが、Consolas と MSゴシックなのだが、半角と全角それぞれで違うフォントにしてしまうと、 1:2の関係が保てなくなりフォントが等幅フォント同士でもずれて表示されるのだ。

markdownで表を書くときにとても気持ち悪いので、プログラミング用フォントを探して試すことにした。

Source Han Code JPは、Adobeが開発していたフォントをベースにしているらしい。
Githubからリリースバージョンを落としてインストール後、VSCodeに "Source Han Code JP" とだけ指定すればいい。

github.com

試してみたが半角3:全角2の扱いに微妙に慣れない。
他にも、'BIZ UDゴシック', 'PlemolJP', 'Myrica M'、’Cica’など試した モダンなのが苦手なのでCicaにしておいた、暫くはこれで行くか
Consolaベースのフォントがあれば・・・。

ちなみに指定するフォントの名前は、コントロール パネル\デスクトップのカスタマイズ\フォント で確認できる

emacs

Awesome Emacs Keymap というプラグインを導入。

これだけで、ほぼ完ぺき。

ターミナルとの行き来は、Ctrl+@で。

ターミナルからファイルを開くときはcode コマンドで。

Bitnami Redmineを更新した話

新しいバージョンのインストール

新しいバージョンのBitnami Redmineをインストールすると、古いバージョンと共存することが出来る。
その際にポートなどは競合するので、自動的に競合しないポート番号などが指定してくれる。
ポート番号を指定して新しいバージョンが動作しているか、ブラウザで確認。

http://hogehoge/redmine/ → 現行バージョン http://hogehoge:82/redmine/ → 新しいバージョン

dbの移行

SQLフォルダがmariaDBというmySQLの姉妹プロジェクトになっていたが、使い方は一緒。

cd C:\Bitnami\redmine-4.0.5-0\mysql\bin
mysqldump -u root -phogehoge --databases bitnami_redmine --add-drop-database > C:\temp\bitnami_redmine.sql

cd C:\Bitnami\redmine-5.0.2-2\mariadb\bin
mysql -u root -phogehoge < C:\temp\bitnami_redmine.sql

cd C:\Bitnami\redmine-5.0.2-2\apps\redmine\htdocs
bundle exec rake db:migrate RAILS_ENV="production"
bundle exec rake tmp:cache:clear

ファイルとプラグインの移動

古いバージョンのフォルダ C:\Bitnami\redmine-4.0.5-0\apps\redmine\htdocs

新しいバージョンのフォルダ C:\Bitnami\redmine-5.0.2-2\apps\redmine\htdocs

この中にあるfilesとpluginsを、にコピーする

migration

C:\Bitnami\redmine-5.0.2-2にあるuse_redmine.batを実行。
これをするとコマンドプロンプトが起動するが、これはrubyへのPATHが通っており、migrationはこのプロンプトで行う。

cd apps\redmine\htdocs

set http_proxy=http://proxy.xxx.co.jp:8080
set https_proxy=http://proxy.xxx.co.jp:8080
bundle install --without development test --no-deployment
rake redmine:plugins:migrate RAILS_ENV=production

Redmine_Thin1とThin2を起動すると、新しいバージョンに移行したデータが見れるようになる。

古いバージョンの削除

C:\Bitnami\redmine-4.0.5-0\manager-windows.exeのConfigでApacheMySQLのポート番号を控える。

C:\Bitnami\redmine-4.0.5-0\uninstall.exeを実行する。

ポートの変更

C:\Bitnami\redmine-5.0.2-2\manager-windows.exeのConfigでApacheMySQLのポートを元通りにする。

Tomcatとの連携

どうやら、RedmineApacheTomcatと連携するという不可思議なことをしていたようで、Tomcatのサービスが動かなくなった。

C:\Bitnami\redmine-5.0.2-2\apache2\conf\httpd.conf

に対して、以下のように追加する。

<Location /aaaa/>
ProxyPass ajp://localhost:8009/aaaa/
</Location>

<IfModule proxy_module>
<IfModule proxy_ajp_module>
  AllowEncodedSlashes NoDecode
  ProxyPreserveHost On
  ProxyPass /bbbb ajp://localhost:8009/bbbb
  ProxyPassReverse /bbbb ajp://localhost:8009/bbbb
</IfModule>
</IfModule>

ついでに看板をインストール

まずpluginを削除

bundle exec rake redmine:plugins:migrate NAME=redmine_agile VERSION=0 RAILS_ENV=production

インストール

bundle exec rake redmine:plugins:migrate NAME=redmine_agile VERSION=0 RAILS_ENV=production

Redmine_Thin1とThin2を起動すると、Agileプラグインを認識しているが、
Agileのページを開くと、Internal Errorが起きている

Redmineのinternal errorはここをみる。
C:\Bitnami\redmine-5.0.2-2\apps\redmine\htdocs\log

どうやら Mysql2::Error: Table 'issue_status_orders' already exists のように怒られている。

issue_status_ordersを削除して、もう一度実行する。

mysql -u bitnami -p bitnami_redmine
Enter password: (ここはdatabase.ymlに記述されているパスワードを入力)
drop table issue_status_orders;
exit

bundle exec rake redmine:plugins:migrate NAME=redmine_agile VERSION=0 RAILS_ENV=production

これで無事に移行が成功した。

フォントの話

エディタの一般的なフォントはConsolasだ。

似たフォントで、Lucida console というものがあり、 Lucida consoleの場合もあるが、大体はConsolasだと思う。

一目見て、資料に使いたいようなとてもきれいなフォントというわけではないが、 monospaceで、とにかく読みやすい。

BIZ UDゴシックという綺麗なフォントがあって、それを利用してみたのだが、 やっぱりコーディングするときはConsolasが落ち着く。

WEBサーバー作るときのメモ的なもの

sudo apt-get -y install php7.4 libapache2-mod-php7.4 apache2 php7.4-mbstring php7.4-xml
cd /var/www/html
touch php_info.php

sudo emacs php_info.php
sudo emacs /etc/php/7.4/apache2/php.ini
sudo chown -R www-data:www-data /var/www/html/wiki
sudo apt-get install php-ldap libldap-2.4-2
sudo systemctl restart apache2

sudo mkdir /mnt/usb0
sudo emacs /etc/fstab

emacs backup.sh
chmod 775 backup.sh
sudo crontab -e

Eclipseのリンク機能

Projectを跨って、ファイルを共有したい場合がある。 例えば、BootloaderとApplicationの両方にUARTドライバが必要な場合など。 このときに使う機能として、Eclipseのリンク機能が使えた。

BootloaderがBプロジェクト、ApplicationがAプロジェクトだとすると、 AプロジェクトからBプロジェクトのソースの特定フォルダのリンク参照できる。 Bプロジェクトの中にはソースのコピーやリンクファイルのような実体は作成されず、 リンクはeclipseのプロジェクトファイルが管理する。 つまり、Bプロジェクトからソースを書き換えると、Aプロジェクトの内容が変わる。

ProjectのPropetiesを開いて、C/C+ Generalから、Paths and Symbolsを選択。 Source Locationタブから、Link Folder...ボタンを押すと、リンクフォルダを選択できる。

Includeフォルダが別であっても、同じようにSource Locationとして追加する。 そうすると実体がないが、参照できるようになる。