ブリッジSEがpotatotips #78 iOS/Android開発Tips共有会に参加して
はじめに
私自身はブリッジSEとして、ios,androidの開発を直接するわけではないのですが、雑でも良いのでインプットできればと思い、参加しました。
その中でも今の私に学びになったものをまとめます。
REALITYの文言の日本語と翻訳文の長さを比べてみた
iphoneのケースについてが対象で、他言語対応によりボタンなどに付属する日本語文字のサイズが他言語化すると変わってしまう問題に対しての比較です。
日本語15文字の場合、
→ フランス語、ドイツ語は長い
→ 英語は短め
文字数=横幅ではない。大きさにより。
英語はほぼ同じだが、やはりドイツ語やフランス語は長い
最悪のケースを考えた
表示幅は平均1.3倍程度、最大で5倍以上
確認する言語を決めておく。ロシア語やドイツ語が長くなりそうなので、それを基準にすると良さそう
MySQLの設定を本番前に見直したい
記事の目的
リリース前にMySQLの設定を確認したい!
そんな自分のための備忘録。
my.cnfの設定
開発者向け!MySQL my.cnfの設定 | Parameter
上記参考にさせていただきました!
以下のmy.cnfさえとりあえず確認できてれば、かなりのパフォーマンスチューニングになるとのこと
MySQL :: MySQL 5.6 リファレンスマニュアル :: 14.12 InnoDB の起動オプションおよびシステム変数
公式はこちら
innodb_buffer_pool_size
innodb_log_file_size
第6回 MySQLチューニング(5) パラメタチューニングの基礎:MySQLをチューニング,そしてスケールアップ/スケールアウトへ|gihyo.jp … 技術評論社
- innodb_buffer_pool_size の変更と同時に変えなければならない
innodb_data_file_path
- InnoDBデータファイルのパス・初期サイズの設定
- デフォルト: innodb_data_file_path = ibdata1:10M:autoextend
- ↑ つまり10Mごとに新しいデータファイルを作成するということ
- データファイルは一つの方が早いので、余裕のあるサイズを設定しておくのがいいらしい
↓
https://www.mk-mode.com/blog/2013/05/27/mysql-innodb-chuning/#
innodb_file_per_table
- ファイルレベルでテーブルを管理していくもの
- テーブルをドロップしたりするときにディスク容量を解放できるそう
- default : innodb_file_per_table= ON (5.6.6以上の場合)
参考↓
第55回 innodb_file_per_tableオプションについて:MySQL道普請便り|gihyo.jp … 技術評論社
DBユーザ作成を見直す
- Select用userが作成されているか
- Update用userが作成されているか
所感
正直まだまだ見るところあるなと思いつつ、一旦これで妥協した感じですね。
どんどん更新していく予定です。
まだまだ勉強しなければという感じです。
EC2 Ubuntu18.04にtelnetで接続してみる
前提
EC2 Ubuntu18.04サーバにSSHで接続できること
$ less /etc/os-release NAME="Ubuntu" VERSION="18.04.4 LTS (Bionic Beaver)" ...
作業
1. EC2にtelnet serverをインストール
デフォルトではbasic telnet clientのみしか入っていないので、telnet serverをインストールする
$ dpkg -l | grep telnet ii telnet 0.17-41 amd64 basic telnet client
以下telnet serverインストールコマンド
$ sudo apt -y install telnetd xinetd $ sudo apt -y install inetutils-inetd $ sudo vim /etc/inetd.conf 以下を末尾に入力 # telnet telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.telnetd $ sudo /etc/init.d/inetutils-inetd restart
上記作業後、以下にてインストールされていることが確認できる
$dpkg -l | grep telnet ii telnet 0.17-41 amd64 basic telnet client ii telnetd 0.17-41 amd64 basic telnet server
以下参考にしました。
UbuntuでTelnetを使えるようにする | ばったんの技術系ブログ
2. EC2にtelnet接続用のuserを作成する
ubuntuユーザでのtelnetでは失敗してしまう(password入力時、ubuntuユーザではパスワードを発行してないのでできない)ので、新たにユーザを作成する
$ sudo useradd telnetuser $ sudo passwd tenetuser telnetで接続するためのpasswordを入力する
AWS EC2インスタンス swap作成
https://aws.amazon.com/jp/premiumsupport/knowledge-center/ec2-memory-swap-file/
上記参考にすればできます。
GitLabが4GB推奨で、現在私は2GBメモリのEC2を使っているため、Swapで2GBプラスして推奨まで持って行っています。
使用している人が50人くらいですが、特に問題なく使えています。
> 6. /etc/fstab ファイルを編集して、起動時にスワップファイルを有効にします。
また上記を行わないと、常にインスタンスを起動している人は問題ないですが、時間を指定してインスタンスを起動している人は、起動時にスワップファイルが有効にならないので注意。
私はパニックになりました。
*疑問点
・Swapfileは複数ファイルで2GB持たせた方が良いのか、一つのファイルで2G持たせた方がいいのか。(現在私は2ファイルで行っている)
systemctlって何者なんだ
概要
ubuntu18.04をEC2で立ち上げてたとき、
systemctlコマンドをnginxなどの起動や再起動に使ったりしていたのですが、何者かわかってなかったので調べました
systemctlって?
https://milestone-of-se.nesuke.com/sv-basic/linux-basic/systemctl/
↑
PIDが1のプロセスはinitだったが、CentOS7系からはsystemdを使うようになった
systemctlコマンドは, systemdをコントロールするコマンド
そもそもPIDが1のプロセスとは何か
PIDはプロセスIDで、プロセスのIDだと思ってたが、何か特殊な意味があるのか..?
調べたところ、カーネル起動後に最初に行われるプロセスがinit
このPIDは必ず1になる
シェルもinitから実行される
http://yukiyan.hatenablog.jp/entry/2015/10/18/190639
この記事がかなりわかりやすかった。