さくらのクラウドでディスクの容量が一杯になったときにディスクサイズを上げる

さくらのクラウドを使用していて気づいたらサーバのディスク使用量が100%になっていた。 $ df -h Filesystem Size Used Avail Use% Mounted on udev 471M 0 471M 0% /dev tmpfs 99M 5.1M 94M 6% /run /dev/vda3 36G 35G 0 100% / tmpfs 493M 0 493M 0% /dev/…

3月に読んだ本

Mr.トルネード 藤田哲也 航空事故を激減させた男 (文春文庫) 作者:健一, 佐々木 発売日: 2019/11/07 メディア: 文庫 並外れた行動力で自らチャンスを掴み取ってきたことがわかっておもしろい。外国人を見つけては進んで話しかけて英語を磨いたり、米軍の施設…

ASINとJANコードを変換するサイトを作った

LaravelとVueの勉強を兼ねて作ってみた。 MWS-APIかPA-APIを使用すれば、ASINからJANコード(EANコード)を取得できるがAPIキーが必要なので、何もなくてもASIN・JANコードの相互変換できるサイトを作った。 需要は多分ない。 asin-to-jan.firebaseapp.com Laravelは…

cargo install batしようとしてエラー

qiita.com この記事に影響受けてカラフルで見やすいコマンドいっちょ使ってみっか!と思ってRustインストールしたまではいいけど、意気揚々とcargo install batコマンド打ったらエラーになった。 環境 Linux 5.3.0-40-generic #32~18.04.1-Ubuntu error: fai…

初めてOSSにプルリク送って感じたこと

経緯 npxコマンドでNuxt.js + Vuetifyのプロジェクトテンプレートが簡単に作れるのだけど、初期テンプレートにあるVuetifyのロゴの解像度が低くてぼやけているのが気になって、「これなら自分でも直せそうだな」と思ったので修正してみることにした。 はじめ…

Laravelのコードで学ぶSOLIDの原則

Laravelのコードで学ぶSOLIDの原則 たまたま観た動画が、before-after形式でコードサンプルが書かれてあってわかりやすかったのでまとめる。 原題は「SOLIDの設計原則を用いてより良い開発者になるには」 SOLIDの原則とは? 詳しくは割愛 postd.cc 単一責任の…

『1兆ドルコーチ』を読んだ

以前から思っていたのだけれど、マネジメントされるではなくマネジメントする側にならないと給料が上がらないと思うので、そういうスキルについて知るために読んだ。 人がすべて どんな会社の成功を支えるのも、人だ。マネジャーのいちばん大事な仕事は、部…

AWS Hands-on for Beginners 〜Serverless 編〜をやった

AWS

aws.amazon.com AWS Lambdaを使用したことがなかったことと、サーバレスアーキテクチャについてちょっと知りたかったのでやることにした。 Udemyの手を動かしながら2週間で学ぶ AWS 基本から応用までの作者の方のハンズオンなので、自分にとって声とかスピー…

Core i3-6100からCore i5-9400Fに交換した

経緯 ボーダーランズ3をプレイしているとカクカクしてしょっちゅうフリーズするのでCPUを変えることにした。 今までの構成は3年前に組んだものでGTA5がやりたくて組んだ気がする。 構成 CPU:Core i3-6100 GPU:玄人志向 GF-GTX1050Ti-4GB/OC/SF マザボ:H110M …

Ubuntu18.04にMeCabをインストールする

$ sudo apt install mecab $ sudo apt install libmecab-dev $ sudo apt install mecab-ipadic-utf8 mecabコマンドをテスト。エラーが出る。 $ mecab param.cpp(69) [ifs] no such file or directory: /usr/local/lib/mecab/dic/ipadic/dicrc 辞書ディレクト…

PDCAを回せるやつは強い

某附属小学校の話を聞いたのだけど、何事にも本気で取り組むそうだ。 運動会の綱引きもどうすれば勝てるのか研究するらしい。 小学生のときからPDCAを回せるやつは強い。

『Head Firstデザインパターン』 Factoryパターン

「new」を見たら「具象」と考える newは具象クラスをインスタンス化する。しかし、コードの柔軟性を保つためにインターフェースを使いたい。 「new」の何が問題か 本当の問題は「変更」であり、変更によってnewの使用箇所がどのような影響を受けるのかという…

『Head Firstデザインパターン』 Decoratorパターン

Decoratorパターンとは Decoratorパターンはオブジェクトに付加的な責務を動的に付与する。デコレータはサブクラス化の代替となる、柔軟な機能拡張手段を提供する。 スターバズコーヒー 継承を使って飲み物を増やすのはクラス爆発や硬直した設計になる。 継…

『Head Firstデザインパターン』 Observerパターン

Observerパターンとは Observerパターンは、オブジェクト間の1対多の依存関係を定義し、あるオブジェクトの状態が変化するとそれに依存しているすべてのオブジェクトが自動的に通知され更新されるようにする。 ObserverパターンではPublisherをサブジェクト…

Every adventure requires a first step. Trite, but true even here.

最近TDDとまではいかないんだけどテストをちゃんと書くことを意識していて、できるだけロジックの部分だけでもテストが書きやすくなるようにコードを書いている。はじめは依存性ありまくりでテストしやすいコードを書けなかったけど書いていくうちに、クラス…

『Head Firstデザインパターン』 Chapter1 デザインパターンの根底にあるオブジェクト指向の原則

はじめの状態 共通の処理を抽象クラスに書きサブクラスが継承する。 いわゆる差分プログラミング。 飛ぶ振る舞いをもたせる必要が出てきた 飛ぶ振る舞いを基底クラスに追加したがDuckのすべてのサブクラスが飛ぶ必要はない。 コードに対する局所的な更新によ…

NullObjectパターンを覚えた

出品者のデータにフィルタをかけて該当する出品者のSellerオブジェクトを返すメソッドがあるとします。 サンプルコード data = $data; } /** * 出品者の価格 * @return int */ public function price(): int { return $this->…

LaravelでデータをDBに保存したいときのメモリ不足をなんとかする

APIで取得した50万件分のデータを保存する 環境 Linux 5.0.0-27-generic #28~18.04.1-Ubuntu PHP 7.3.9 Laravel Framework 6.0.3 MySQL 8.0 結論 CSVに一旦保存してLOAD DATA IN FILEが一番速い。 前提 509,999件分のデータを一括で取得できるAPIがあります…

LEMP環境をDockerで構築

今までPHPを動かすときは、DockerHubからPHPとApacheが一体になったImageを使用していたのだけど、nginxも使ってみたかったのでphp-fpm+nginx環境をDockerで立ち上げてLaravelを動かしてみた。 今まではApacheが同梱されていてコンテナを立ち上げてlocalhost…

ValueObjectっぽいものを導入したらいい感じになってきた

今までAPIで取得した値を加工・計算したい場合とりあえず連想配列に入れてゴニョゴニョしていた。 連想配列にいろいろなデータ詰め込みすぎると何入ってるのかわかんなくなるし、面倒なのがある条件のときだけ存在しないキーがあったりしたら、isset()とかem…

Spider Engineを構築する

Spider環境構築 ローカルの開発環境にMariaDBをインストールし、複数DBを立ち上げSpider Engineを試す。 環境: mysql Ver 15.1 Distrib 10.4.7-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2 Linux 5.0.0-27-generic #28~18.04.1-Ubuntu Maria…

抽象化が苦手

DBに関する本とかネットの記事読むと、多対多のテーブルとか出てくるじゃないですか。よくあるのが授業管理システムとかで、 ・授業テーブル授業ID:1授業名:経済学教授ID:100 ・学生テーブル学生ID:1名前:佐藤 ・受講テーブル学生ID授業ID 授業は複数の学生…

『Head First オブジェクト指向設計』第7章

第7章 アーキテクチャ アーキテクチャとは、設計の構造であり、アプリケーション内において重要である部分とそれらの重要部分間での関係に着目する。 アーキテクチャとは、システムの組織化された構造である。各部分への分割、部分間の接続、相互作用メカニ…

『Head First オブジェクト指向設計』第6章

第6章 本当に大きな問題の解決 今まではせいぜい10個程度のクラスのアプリケーションを開発してきた。より大規模なアプリケーションの開発はどうやって行うのか? →大きな問題も小さな問題と同じように解決する。 顧客が必要とする処理をソフトウェアが実行す…

『Head First オブジェクト指向設計』第5章 後半

第5章 後半 良い設計=柔軟なソフトウェア 柔軟ではないコードに対処する アプリケーションの変更時に問題が発生するのは、ソフトウェアの柔軟性が足りないから。「凝集度」を高めて結合の問題を解決する。 ・凝集度と結合度 設計におけるオブジェクトの責務…

Ubuntuの入力言語(英語入力・日本語入力)の切り替えをWindowsのようにCtrl+Shiftで行う

英語キーボードの場合、半角/全角ボタンがないので、英語入力と日本語入力の切り替えを任意のキーでバインドすることになると思います。 Windowsを使用しているときは入力言語の切換をCtrl+Shiftで行っていましたが、Ubuntuの場合デフォルトでSuper(Windows…

UbuntuでHeidiSQLを動かす

今までDBのGUIツールとしてHeidiSQLを使用していましたが、HeidiSQLはWindows専用なのでLinuxでは使うことができません。 Linuxで使用できるDBのGUIツールとして、DBeaverやMySQL Workbench が有名なので、両方のソフトを試してみましたがHeidiSQLと比べると…

Ubuntuのフリーズを解消する

環境 System: Kernel: 5.0.0-23-generic x86_64 bits: 64 Desktop: Gnome 3.28.4 Distro: Ubuntu 18.04.3 LTS CPU: Quad core AMD Ryzen 5 PRO 2400G with Radeon Vega Graphics (-MT-MCP-) cache: 2048 KB clock speeds: max: 3600 MHz 1: 1554 MHz 2: 1464…

UbuntuにEclipseをインストール・日本語化する

環境 Eclipse IDE 2019‑06 $ uname -a Linux 5.0.0-23-generic #24~18.04.1-Ubuntu SMP Mon Jul 29 16:12:28 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux $ cat /etc/os-release NAME="Ubuntu" VERSION="18.04.3 LTS (Bionic Beaver)" ID=ubuntu ID_LIKE=debia…

『入門Goプログラミング』を読んだ

入門Goプログラミング 作者: Nathan Youngman,Roger Pepp,吉川邦夫 出版社/メーカー: 翔泳社 発売日: 2019/05/13 メディア: 単行本(ソフトカバー) この商品を含むブログを見る GoでAPIサーバを作ったことをきっかけにGoをちゃんと学びたいと思ったので読ん…