key設定もされておらず、DB構成の理解に時間がかかりました。画面上で入力した値がどこに設定されているかすぐ検索するためにDB内の全検索プログラムが見当たらなかったので作りました。カーソルの使用経験があまりなかったのでちょうど良い題材でした。「データなし」状況時にhandleし、done=1を設定する。temporaryを付けると一時テーブルとして作成できる。3月はシステム開発は少しだけ、調査や読書の時間が多かった。4月・5月はWebサイトに拘らず、自分が作りたいシステムを作ろうと思う。今の所一番興味があるのは株など投資売買に関連するサポートシステムなど。体調管理にはかなり力を入れていたが、2回程体調が悪くなってしまった(長めに睡眠を取ったら治った)。寒い中の自転車通勤&久々の運動だったからかも・・・。週1日は頭を休める日を引き続き取っておいた方が良いなと思う。安いサーバ運用の調査。(長期課題)デザインセンスがない。掲題の通りですが、腱鞘炎になりました。1ヶ月ほど起きている時間はずっとMackBookを触り続ける日々だったのですが、腱が限界を迎えたようです。パソコンのキーを叩くだけで手首から肘にかけて鈍痛が生じる状況でした。腱鞘炎になりつつも仕事はしないといけないので極力手首に負担をかけさせないようにするアイテムを紹介します(コスパ良く手首に効くアイテムを厳選しました!)。実際にこれらのアイテムを使って1週間程度で痛みを感じない程度に回復、2週間程度で普通にキーボードを使える&自転車に乗れる程度まで回復しました。1つ目はリストレスト(手首用のクッション)です。こちらを使用すると以下の通り手首の腱に優しくなります。MackBookProにはキーボードの手前にトラックパッドがあるため、大きめのリストレストではなく小さめのものを2つ置くのがベストです。キーボードに少し角度を付けるだけで手首の負担が大きく減ります。試しにキーボードを少し傾けてタイピングしてみてください。奥のキーを叩く時に指のストロークが小さくて済むことがわかるかと思います。キーボードを1日叩き続けるうえでこの小さな差の積み重ねが重要です。腱鞘炎は悪化すると回復に時間がかかります。痛みがあるようであれば早めに処置することをオススメします。上記を合わせても2千円ちょっと・・・。著者は腱鞘炎になったせいで数日を無駄にしたので早めに2千円を出しておくことをオススメします。フリーランスで活動し初めて1ヶ月ですが、早速通勤の電車が苦痛になっています。D7での通勤に辿り着いた経緯をまとめました。ちなみに購入した折りたたみ自転車はこちらです。背景は人により異なりますが、私がフラストレーションを感じていた点は以下の通りです。定期代が高い(JR+私鉄だったため月1万。バイクくらいしか選択肢がないかと思います。自分の場合、消去法として自転車しか選択肢がなく、且つフリーランスの場合職場が転々とするため駐輪場を探して契約することは避けたいです。肌身離さず持っておける折りたたみ自転車がベストかと思います。※加えて、運動不足の解消も購入目的の1つです。机の高さは70cmが通常のため、机の暑さを考慮して65cm以下の高さが望ましい。職場が転々とするため余裕を持ってなるべく小さいサイズに折り畳めることが良いです。折りたたみ自転車の場合20インチのものが一番多いです。安定走行を求める場合、16〜20インチを選ぶのが無難です。14インチと16インチで比較試乗してみましたがスピードをある程度出すなら16インチの方が良さそうです。スペックで絞ると初回購入にはDAHONが一番良いかなと思います。他にも色々メーカーはありますが、新宿近辺で実物を自転車店で見ることができたのはDAHON、Brompton、Ternくらいでした。DAHONの中でも条件に合致しそうな型は以下の3点でした。SSLサーバ証明書の動きがいまいち理解できていなかったため整理した。認識誤りがあればコメント頂けると助かります。ウェブサイト運営団体の電子的な身分証明書として使用する。SSL通信を実現する。ルート認証局(ルートCA)が発行する証明書。Webサーバが公開している公開鍵が本当に該当のWebサーバのものか証明する。クライアントとHTTPSで通信したい。Webサーバにアクセスする側。WebサーバとHTTPSで通信したい。フリーランスを初めて最初の月であったため、できるようになったことは多い。月初の時点では1日も休みなく勉強すべきと思っていたが、週1日は休んだ方が良さそう。体力が持たないというか頭の回転がどうしても鈍くなってしまう。1日でも半日でも休んだ方が良い。同程度の勉強であれば苦もなく続けることができそうであるため、翌月も同程度勉強し続ける。初月にしてはそれなりに理解できたことは多かったが、前提知識が不足していることに起因して理解が追いついていない箇所があるのではと感じる(例えばDockerが正常に動作しない時にpsだけでなくimageが悪さをしてしまうのか未だに理解できないのはDockerの動作原理を理解していないためと思われる)。1日7時間〜7時間半は寝ている。‘mysql’エラーが発生してなかなか解決しなかったので備忘として解決までの流れを記載する。今回は以下環境にて開発を行った。docker-composeでappとdb(両方サービス名)のリンク・リンク名の見直し。dbのコンテナが立ってからappが起動及びdb:createすること。明確な原因はわからなかったのですが、以下コマンドを使うことで解決しました。Dockerの古いイメージが残ってしまい、そちらを参照し続けてしまったことなどが原因かと思います。以下コマンドでは、可動していないものも含め全てのDockerイメージを削除します。Gitの使い方で検索することが多いため、大まかな流れを記録する。GitHubを一人で使用する前提として記載するため注意。GitHubへのアップロード時のユーザー設定を以下の通り修正する。こちらを参考に作成します。以下コマンドにより「.git」ディレクトリが作成される。同ディレクトリはリポジトリ構成を表す。以下コマンドで作成したディレクトリをリポジトリ管理するための準備ができた状態になります。以下コマンドによりローカルリポジトリに資源をコミットします。addコマンドにより対象資源が作業ディレクトリからステージングエリアに置かれます。ステージングエリアに置かれた資源は後述のcommitコマンドによりローカルリポジトリに格納されます。オプションも付けることで、既知のファイル変更を全てコミットする。commitのみコマンドを入力します。エディタが開くため、1行目に要約、2行目空行、3行目以降に詳細な内容を記載します。以下コマンドによりoriginという名前でリモートリポジトリ(今回はGitHubのリポジトリ)を追加します。2行目によりリモートリポジトリが何か確認できます。Mac上にIntelliJ+SpringBoot環境を整えたため、手順をまとめました。SpringBootの環境セットアップにはGradleが必要になるため、事前にGradleをインストールします。以下の公式サイトを参考にインストールしました。以下コマンドにてSpringBootの雛形ソースを取得します。取り込む雛形はrestサンプルなど色々あるので好みに応じて変更してください。取得したソースを解答し、complete/gradle/wrapper/gradle-wrapper.propertiesのgradleバージョンを以下の通り5.1.1に変更します。IntelliJにてプロジェクトをインポートします。公式サイト通りcomplete/build.gradleを起動します。Boot!」の文字が表示されます。Mac上にVagrant+VirtualBox環境を構築する手順をまとめた。事前に以下をインストールしてください。VagrantはVirtualBoxなどの仮想マシンを管理するCUIツールです。ChefやAnsibleといった構成管理ツールと組み合わせることでどこでも同じ仮想マシンを開発に参画する方々の端末に再現することができます。設定ファイルであるvagrantfileにCentOSといったOS、nginxなどのサーバ、phpやphpMyAdminといったアプリケーションなどを記載すると環境構築及び環境の再現ができます。Homebrew-Caskを使ってインストールします。以下コマンドを入力してください。Boxは仮想マシン作成に必要なOSのディスクイメージ等が入ったものです。以下URLからインストールしたいOSを選択します。x64をインストールします。すると、Vagrantfileというものが作成されるので以下1行を追加します。public_networkにするとホスト端末だけでなく他の端末からもアクセスできます。Mac上にJava環境を整えたため、手順を残しておく。Homebrewはターミナルで使用するrbenvやnodebrewなどをインストールするパッケージマネージャですが、CaskではGUIアプリもインストールできます。Caskをインストールするために以下コマンドを打ちます。Caskを使用して、以下コマンドを実行します。Caskを使用して、以下コマンドを実行します。自動的に最新版(2019/1/26時点ではjava11がインストールされます。参考までに、以下バージョンがインストールされました。以下コマンドでhomebrew-caskでインストールしたアプリケーションが一覧で確認できます。今回はIntelliJとjavaの2つをインストールしました。2019ノマドワーカー@セブ島セブ島で仕事ができる環境にあるのかを視察してきたので記事にしました。今後フィリピン等アジアでの仕事を考えている方は参考にして頂ければと思います。各地でシステム開発などフリーランスエンジニアとしての仕事ができる環境か確認する。今回はあまり移動せず、ホテル内で完結するプランです。今回事前予約は以下2点です。※往復で4万弱(手荷物は合計7kgまで2つまで。今回は2箇所のホテルを確認してきました。選択の基準は以下の通り。フリーランス開業にあたり、開業時に必要な申請関連をまとめました。申告時の前提としては以下の通りです。以下書類を開業から1ヶ月以内に提出します。申請が面倒なので最短期日に合わせてまとめて提出が楽です。事業開始日から2ヶ月以内、もしくは1月1日から3月15日までの提出が必須です。開業届を提出しないと青色申告ができない、小規模企業共済に加盟ないなどのデメリットがある。失業手当を受給している人は受給要件が満たされなくなるため合わせて確認が必要です。開業届の記入ポイントは以下の通り。事業の概要には「○○に付帯する事業」のように拡張性を持った文言を入れておく。(選択する帳簿は必ず使うものではなく、使う可能性があるものを選択。青色申告時には左記の2つの帳簿が必須になるため2点に丸をつけておく。節税に繋がるため、申告必須です。MFクラウドやfreeを使うことで個人でも簡単に65万円の控除が可能です。記入ポイントは以下の通り。開業届は開業から1ヶ月以内。印鑑、マイナンバーカード(いずれも用紙記入用。確定申告時に何をしなければいけないかをまとめましたので先に目を通しておくと良いかと思います。確定申告書類に添付することが必要になります。確定申告時(基本的に3月15日)に「青色申告決算書(損益計算書)」「確定申告書B」「貸借対照表」の3点の提出が必要です。先の話になりますが、確定申告時の提出書類は以下の通りです。以下理由により今回は提出しません。Pythonによるスクレイピングの情報を以下にまとめる。Pythonでは以下の選択肢がある。Requesstライブラリを用いたHTTPプロトコルによる操作。Selenium+WebDriverを用いたブラウザ操作(RESTfulAPIを用いてブラウザ操作をする)WebDriverには以下のような選択肢がある。ChromeDriverが無難。ChromeDriver。PhantomJSライブラリ。こちらはブラウザを立ち上げない。Seleniumで使用するのは現在非推奨(PhantomJSはWebKit(レンダリングエンジン)ベースのブラウザ。上記以外のライブラリもあり。選定理由はセッション管理が容易な点と画面操作によりファイルをダウンロードが容易な点。ChromeDriverをダウンロードし、パスを通せば使えるようになる。ファイル保存のサンプルはこちら。DOM要素コントロールはこちら。HTMLのParserは3つある。以下のような形でパースする。メジャーものはBeautifulSoup。PythonのParserとしてよく使用されるHTML構文解析ライブラリ。ChromeDriverにより画面を操作した後、要素抽出などで使用する。使い方についてはこちらの説明がわかりやすかった。BeautifulSoupだと画面操作はできないので、画面操作はDriver、要素の取得等はBeautifulSoupといった形で使い分けが必要。XPathの取得はChromeのデベロッパーツールが便利。