リハビリエンジニア

エンジニアリングのリハビリ中

【読書】読んだら忘れない読書術

<この本を読む目的>

読書が行動に結びつかない・読んでも身に入ってこないという現状を変えるため

<心に残ったワード>

  • 本は汚く読め
  • 読書はスキマ時間にする
  • 寝る前の読書が効果的
  • 人間の脳は、「自分の能力よりも少し難しい課題」に取り組んでいるときに活性化する。
  • 面白そうと思って買った本はすぐ読め
  • 自分のステージに合った本を読む。殆どの人は上級者本を読んで挫折する
  • 自分が好きな分野から読み進めて読む癖をつける。そこから分野を広げていく
  • 投資の世界と同じように、短期・中期・長期のバランスで読書をする
  • 知識は最高の貯蓄である

<行動に移すこと>

  • 本を読んだらブログに感想を書く、もしくはアマゾンにレビューする
  • 寝る前に読書する習慣をもつ
  • マーカー・ボールペン片手に汚く読書する
  • ビジネス書籍に疲れたら、好きな分野で読書習慣をキープする
  • 購入する本のレベルは背伸びせず、自分のステージを意識して購入する

さくらのVPSはじめてみた(PHPとMariaDBのインストール)

Wordpressを最終的には動かしたいので、phpとdbをインストールします。 参考: https://knowledge.sakura.ad.jp/9006/

1.remi用の設定パッケージをインストール

PHP7.1はCentOSの公式リポジトリには含まれていないらしいので、
どこかのバーチャルアイドルみたいな名前の remi(レミ)というリポジトリから取得する必要があります。

su
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm

これでremiリポジトリが使えるようになったそうです。実感はない。

2. PHP7.1をインストール

yum install --enablerepo=remi,remi-php71 php php-devel php-mbstring php-mysqlnd php-pdo php-gd

終わったらhttpdを再起動すると、phpが有効になる。

service restart httpd

3. php.iniを編集

ファイルアップロード上限が設定されているらしいので、
今後Wordpressの編集に影響が出ないように修正しておく

cd /etc
copy php.ini php.ini.old
vim php.ini

post_max_size = 128M
upload_max_filesize = 128M

systemctl restart httpd

4.MariaDBをインストール

お恥ずかしい話でMariaDBなんて初めて聞いた。
MySQLから派生したプロジェクトでMySQLとの互換性があるらしい。
その程度の理解しかしてないけど、今はWordpressが動くなら正直なんでも良い。

yum install mariadb-server

systemctl enable mariadb
systemctl start mariadb

5.初期設定

mysql_secure_installation

パスワードは、ユーザーパスワードと異なるものに設定する。 後はすべて y(Yes)で問題ない。

さくらのVPSはじめてみた(Apacheインストール)

前回でCentOS7をインストールしたので、今回はApacheをインストールしてみる https://knowledge.sakura.ad.jp/8541/

1. yumの更新

まずOSを更新する上で、

yum update -y 

とする

2. apacheのインストール

yum install httpd

3. http/httpsプロトコルの許可

CentOS7のデフォルト状態では、ファイアウォールが有効になっているので http/httpsでの通信が遮断されているらしい。へー。再起動も忘れずに。

firewall-cmd --add-service=http --zone=public --permanent
firewall-cmd --add-service=https --zone=public --permanent
systemctl restart firewalld

4. サーバー起動時にApacheも起動するように設定する

systemctl enable httpd

5. SFTPを使ってドキュメントルートにファイルをアップロードする

ドキュメントルートといえば「var/www/html」がデフォルトで設定されているらしい。
ここに簡素なファイルを、Transmitを使ってアップロードを試みるが、当然のごとくアップロード出来ない。
このフォルダに対して書き込み権限がないかららしい。

drwxr-xr-x 2 root root 6  421 03:11 html

どうやら現在のユーザーでは、「読み込みと実行」の権限しか与えられていないらしい。つれない。 今後インストール予定のWordpressからこのディレクトリに書き込みがあるので、 apacheユーザーをこのディレクトリの所有者に設定する。 グループには前回作ったwheelを設定したけど、これで良いのかしら・・・。

cd var/www/html
chown apache:wheel
chmod 755

drwxr-xr-x 2 apache wheel 6  421 03:11 html

無事アップロードできました。サイトも見れました。

さくらのVPSはじめてみた(OSインストール)

今更ながら、初めてさくらのVPSを借りてみた(というか借りてもらった)。
以下は参考サイトを見ながら進めた自分の所感をまとめただけなので、
詳細を知りたい方は以下のURLをご覧になることをオススメします。
参考: https://vps-news.sakura.ad.jp/tutorials/centos7-initial-settings/

1. OSのインストール

借りただけでは、まだでかい空っぽのPC借りているのと同じなので
当然OSをインストールする必要があります。
「各種設定 > OSインストール」を選択し、任意のOSをインストールします。(今回はCentOS7)

2. sshでログイン

OSにログインしてみる。
ssh root@<IPアドレス> と入力します。
OSをインストールするときに設定したパスワードもここで入力

3. ユーザーを作成

rootは全権限をもつアカウントなので危険なため、 rootでのログインは禁止して別途アカウントを作成する

useradd $userName
passwd $userName

不適切な(特定されやすい)パスワードは、この設定時点ではじかれるらしいです。 設定後、exitでrootアカウントをログアウトしてから、 作ったアカウントでログインします。

ssh userName@<IPアドレス> 

4. 公開鍵認証を使ったログイン設定

ssh 接続用の鍵のペア(秘密鍵id_rsaと公開鍵id_rsa.pub)を作成します すでに作ってある鍵がある場合は、作りなおさなくても良い。 scpコマンドでサーバーにアップする。そして、.sshフォルダの権限を変更しておこう。 scp ~/.ssh/id_rsa.pub root@aaa.bbb.ccc.ddd:/home/"サーバー側のユーザ名"/.ssh/id_rsa.pub

~/.ssh/authorized_keys に公開鍵を記述することで認証をする仕組みらしいので以下のようにする。 authorized_keysをディレクトリと勘違いして、ここで手が止まったのは恥ずかしい。

ssh username@aaa.bbb.ccc.ddd
chmod 700 .ssh
mv id_rsa.pub authorized_keys
chmod 600 authorized_keys 

ここまでやれば、パスワードは必要なしにログイン出来るはず。

ssh  username@aaa.bbb.ccc.ddd

5. sudo設定の有効化

さっき作成したユーザーを、wheelグループに追加する。 wheelグループとは、sudoコマンドでroot権限を実行するための特別なグループのこと。 rootでログインしてからusermodコマンドで変更する

ssh root@aaa.bbb.ccc.ddd
usermod -G wheel username

6.rootアカウントでのログインを許可しない&パスワードでのログインを許可しない

vim /etc/ssh/sshd_config

PermitRootLogin no
PasswordAuthentication no

7. .ssh/configに記述する

公開鍵認証にしていちいちパスワードを書かなくなったと言っても、毎回 ssh user@aaa.bbb.cc.dd
と打つのは億劫だ。

vi ~/.ssh/config 


Host uma
  port 22
  HostName aaa.bbb.cc.dd
  IdentityFile ~/.ssh/id_rsa
  User hoge
  IdentitiesOnly yes

これで、 ssh uma で入れて私はハッピーになれる。

複数スクロールコンテンツがあるときの、ユーザーによるスクロールの制御

タイトルがものすごいわかりづらいですね。 要は面白法人カヤックのサイトのこのページ(https://www.kayac.com/news)。

「タグ」をホバーしてスクロールすると分かるのですが、 下のメインコンテンツのスクロールは止まっていますね。 このような細かいところに気を使えているとイケてるサイトだなと思います(身内をほめているようでこそばゆい)

これは、bodyにoverflow:hiddenをかけてあげるだけで、実現できるようです(実証しました)。 簡単なのでコードは書きません。

PSDからフォントファミリーを抽出する

デザイナーからいただく.psdファイルにGoogleフォントが含まれていれば、 Google Fontsにおもむき、埋め込みコードを用意する必要があります。 その際いちいち使用しているテキストレイヤーの情報をみていてはとても時間がかかります。

github.com

githubからダウンロードしてきた.jsxファイルを、 Adobe Photoshop CC 2017 > Presets > Scripts に配置すれば、 Photoshopの「ファイル > スクリプト」から利用できます。

f:id:umadash:20170225230439p:plain

以下の記事も同じことをやってはいるんですが、 僕のPhotoShopのバージョンだと動かなかったので、 僕はこちらを使わせていただいています。

PhotoshopでWebデザインを効率化するための便利な使い方 | 株式会社LIG | PSD からテキスト情報を抽出するスクリプト (フェンリル | デベロッパーズブログ)

nfcopyでNFCをやってみたんだぜ(1)

実験的にNFCを試してみたく、
RC-S380とFelicaを購入し、nfcopyのexample/tagtool.pyを動かしてみました。
一部ハマったので、それをメモに残しておきます。

基本的には、以下のURLを参考に追っていくだけで、
サンプルの実行までたどりつけるはずです。
http://nfcpy.readthedocs.io/en/latest/topics/get-started.html
http://techblog.qoncept.jp/?p=165

しかし、僕の環境ではサンプル実行時に、
以下のようなエラーが出てサンプルが実行されませんでした。

AttributeError: dlsym(0x7f81ca493370, EC_KEY_set_public_key_affine_coordinates): symbol not found

いろいろ調べていたところ、
stackoverflowにて「OpenSSLを最新にしろ」とのことだったので、 最新版をつっこんだところ問題なくサンプルを実行できるようになりました。

stackoverflow.com

$ brew upgrade openssl
$ brew link openssl --force