La isla bonita

無知の部屋

英語でツイート

英語をツイートする用のTwitterアカウントを作った

twitter.com

発端は突然「勉強すれば英語出来るんじゃない?」と思ったのが始まり。
(そんなことはない)

最低でも1日1回、このように先に英語でツイートしてその訳を返信でツイートするようにしていく。

これを行う意味としては…
普段絶対しないような日常の当たり前の出来事や小さいな出来事も
英語でツイートするとなると大きな意味を持つので脳に刺激のある生活が送れるのではないかな。

もっと優先度の高い目標は多いから1日5分、10分で済ませたい。
プログラマとしても英語勉強するのはプラスだと思うけど、
そこは意識しないであくまでも刺激が欲しい。

PCの購入

他人のですが自分が考えた構成でPCを購入してもらいました。

経緯

元々は勉強会で持っていくPCを探していました。
Web系の勉強会というとMacBookがお決まりでそれが欲しかったようなのですが
最新のMacBook Proが今までと比べて評判が良くないもので、
かつPro以外はスペック的に足らずだったのでどうしようか考えていました。

MacはやめてWindowsでいいから以下の条件で探していたのですが…

  • 予算: 20万円
  • OS: Win10 Pro
  • CPU: Core i7
  • メモリ: 16GB
  • SSD: 256GB以上
  • 重量: 1kg前後

全部満たすってなると予算ギリギリで
でもそこにPCを入れる鞄はどうするかとか付属品の購入が入ると 予算的にうーん…という感じになってしまいました。
ある時、自分がポロッと「より低い価格でもっとハイスペックなPCがデスクトップなら買える」という話をしてから デスクトップが気になりだして、そもそも勉強会行くのかとか考えるようになって 最終的に別に勉強会にPC持っていかなくてもいいやとなりデスクトップPC購入に進みました。

今回勧めたPCの構成

購入店

PCワンズ
自作一式見積もり

購入金額

¥111,338

使用用途

開発

構成

パーツ 商品名
CPU Core i7 7700
メモリ W4U2400CM-8G
MB MSI H270M BAZOOKA
SSD CT275MX300SSD1
HDD WD10EZRZ
ケース CoolerMaster Silencio 352
電源 Corsair RM550x

個々のパーツの理由

CPU

本人の希望

メモリ

16GBという希望でMBに対応していて人気しているもの

MB

このページを参考にして
pssection9.com

  • オーバークロックしないからZ270の必要なし
  • H270とB250でそんなに価格差がないからより高性能なH270に
  • USB3.1とType-C対応
  • その中から安めで良さそうなもの

SSD

256GB前後で人気のもの

HDD

1TBでWD製

ケース

静音、大きすぎない

電源

10年保証にやられた

メモ

その他候補に挙がったお店

  • TSUKUMO
    会社で使ってた。評判は良い。値段も安い。でも自分で調べてみたかったから今回はやめた。
    確かに会社とかで買うなら良いと思った。
  • Take One(テイクワン、タケオネ)
    7年前に利用したことあった。パーツのラインナップが少し古かった。
  • Sycom(サイコム)
    最終的にはワンズの方が安かったのでやめた。(僕が当時タケオネ選んだ理由と一緒だなあと…)

GitHub Issues運用の練習

先日、会社にGitHubが導入されました。
個人では利用したことがありますが、複数人の利用は初めてになります。
今まで一人では特に必要に感じなかったのですが、会社ではIssuesを上手く使っていきたいです。

そこで少しずつIssuesの運用について個人でも勉強していきたいと思います。

管理するのはこちら http://horsuke.hatenablog.com/entry/2017/01/20/2017%E5%B9%B4%E3%81%AE%E6%96%B9%E5%90%91%E6%80%A7horsuke.hatenablog.com

個々の課題を登録していきたいと思います。

作成するにあたって参考にしたIssuesは github.com

日本語で管理されているissueでは非常に活発で
参加されているエンジニアさんもとても有名な方ばかりで参考になりました。

流れ

GitHubでIssuesだけを扱うプロジェクトを作成。

まずラベルを設定 f:id:horsuke:20170208180243p:plain

課題の大きな種類分けとそれぞれの状態を用意

次にissueのテンプレートを作成
プロジェクト直下か.githubディレクトリ内にISSUE_TEMPLATE.mdを置くことでissueに反映出来る f:id:horsuke:20170208203626p:plain

実際に書いてみました f:id:horsuke:20170208210817p:plain

なぜ文中にこれが混ざっているんだ…
Specials (Unicode block) - Wikipedia

てな感じでしばらく書いていきたいと思います。
改善点などが見つかったらまた書き残す。

Composerでよく使うパッケージ

  • 仕事では当たり前に使うようになったComposerですが
    今日は自分がよく使うパッケージをメモしておきます。

slim/slim

マイクロフレームワーク

twig/twig

テンプレートエンジン

illuminate/database

データベース。クエリビルダ。

monolog/monolog

ログ出力

respect/validation

バリデーション

jasongrimes/paginator

ページャー

nesbot/carbon

日時操作
最近はcakephp/chronosが気になる

vlucas/phpdotenv

環境別の設定
前はhassankhan/configを使っていた。

mpdf/mpdf

PDF出力する時に

goodby/csv

CSV出力する時に

ircmaxell/password-compat

password_verify関数
環境が残念な時用

ramsey/array_column

array_column関数
環境が残念な時用


OSSに感謝。
もっともっとこれ以外にも素晴らしいライブラリはあるけれども
未熟故に使えていないものが多い。

2値の最大公約数と最小公倍数 ~ユークリッドの互除法~

プログラムの問題で2つの値の最大公約数と最小公倍数を求めるものが出てきた。

まず考えついたのは力技による解決だったけれども
書いたところでためにならないので他のやり方を探した。

ユークリッドの互除法 - Wikipedia

これは最大公約数を求めるもので
最小公倍数は2値をかけたものを最大公約数で割ると求められる。

Javaで書いた。

private static long gcd(long a, long b) {
    long r = -1;
    while (r != 0) {
        r = a % b;
        a = b;
        b = r;
    }
    return a;
}

こちらは再帰で書いたもの

private static long gcd(long a, long b) {
    return b == 0 ? a : gcd(b, a % b);
}

色々調べて行く過程で素因数分解で求める方法とかも出てきた。
この手のは自分の仕事でPHP書く分には出てこないことだけど、解くのは面白い。