Somurie Engineer's Blog

SOLID原則について調べてみた

はじめに オブジェクト指向プログラミングにおける有名な原則であるSOLID原則についてまとめました。 何番煎じかわかりませんが、自分の言葉で書いてみようと思います。 SOLID原則とは Single Responsibility Principle 単一責任の原則 Open / Closed Principle 開放閉鎖の法則 Liskov Substitution Principle リスコフ

Bulmaについて調べてみた

Bulmaを仕事で使うことになったのでさっくり概略を調べてみました。 Contents 1 Bulmaとは 1.1 Flexboxとは? 2 ノンデザイン? 3 プロジェクトへの取り込み方 4 気になったポイント 4.1 画面レイアウト 4.2 実装方法 4.3 モジューラビリティ 4.4 面白そうな細かい機能 5 所感 Bulmaとは オフィシャル

動的型付言語と静的型付言語

背景 今までJavaの開発が多く、Javaは静的型付言語であった。最近Railsの開発に携わっており、静的型付言語と動的型付言語の違いを実感することがあったため雑ですが今思うことを以下に備忘メモとして残しました。 静的と動的型付言語の違い Rubyは動的型付言語であり、開発時にカルチャーショックを受けることが多い。 簡単な書き方であれば困ることはあまりないが、メタプログラミング要素を含む書き方にな

Rubyのよく使う定義メソッド確認コード

よく使うメソッドの確認方法をまとめました。 クラスメソッドとインスタンスメソッドを両方出力するメソッドは見当たらないです。欲しかった・・・ class Test class << self def class_method1 end end def instance_method1 end end puts "--- class ---" t = Test.new p Test.met

AWS Lambda&Rails5.2.3で格安サーバレス運用をする

背景 RailsでWebシステムを公開したい時、どこのレンタルサーバを使用していますか? Railsが動作する前提で探すと(PHPと比較して)どうしても高くなってしまい、遊び程度のシステムを作成するにはどうも気が引けます。 簡単なWebサービスであればAWSのサーバレスアーキテクチャがかなり安く運用できそうなので、簡単な運用費計算と簡単な動作確認までを記事にまとめました。 環境 MacOS Mo

MySQLで全てのテーブルからキーワード検索する

はじめに 最近仕事させて頂いている現場でER図が存在せず、foreign key設定もされておらず、DB構成の理解に時間がかかりました。 画面上で入力した値がどこに設定されているかすぐ検索するためにDB内の全検索プログラムが見当たらなかったので作りました。(MySQL8.0動作確認済) カーソルの使用経験があまりなかったのでちょうど良い題材でした。 データベースから全検索 drop procedu

SSLサーバ証明書の動きを整理してみた

はじめに SSLサーバ証明書の動きがいまいち理解できていなかったため整理した。 認識誤りがあればコメント頂けると助かります。 証明書の用途 主にウェブサイト運営団体の電子的な身分証明書として使用する。SSL通信を実現する。 主要キーワードと役割 ルート証明書 ルート認証局(ルートCA)が発行する証明書。Webサーバが公開している公開鍵が本当に該当のWebサーバのものか証明する。 Webサーバ クラ

Docker+Railsコンテナ構築時のUnknown MySQL server host ‘mysql’エラー

Docker+Railsコンテナ構築時にUnknown MySQL server host ‘mysql’エラーが発生してなかなか解決しなかったので備忘として解決までの流れを記載する。 Contents 1 環境 2 解決までに試したこと 3 解決方法 4 まとめ 環境 今回は以下環境にて開発を行った。 MacOS Mojave 10.14.3 Doc

Git使い方まとめ(随時更新)

はじめに Gitの使い方で検索することが多いため、大まかな流れを記録する。 GitHubを一人で使用する前提として記載するため注意。 GitHubへの接続設定(GitHub初回接続時のみ) GitHubへのアップロード時のユーザー設定を以下の通り修正する。 git config --global user.name "somuriengineer" git config --global user

IntelliJ+SpringBoot環境構築手順まとめ

はじめに Mac上にIntelliJ+SpringBoot環境を整えたため、手順をまとめました。 環境 MacOS Mojave 10.14.1 Homebrew 1.9.3-14-g2cc5086 IntelliJ IDEA 2018.3.3 java se 11.0.2 gradle 5.1.1 作業日 2019/1/29 Gradleのインストール SpringBootの環境セットアップ

Vagrant+VirtualBox設定

はじめに Mac上にVagrant+VirtualBox環境を構築する手順をまとめた。 環境 MacOS Mojave 10.14.1 Homebrew 1.9.3 Vagrant 2.2.3 VirtualBox 6.0.2 前提 事前に以下をインストールしてください。 Homebrew Homebrew Cask Vagrantのインストール Vagrant(ベイグラント)とは Vag

Mac Mojave上へのJava11開発環境構築方法

はじめに Mac上にJava環境を整えたため、手順を残しておく。 環境 MacOS Mojave 10.14.1 Homebrew 1.9.3-14-g2cc5086 IntelliJ 2018.3.3 java se 11.0.2 作業日 2019/1/26 手順 homebrew-caskのインストール Homebrewはターミナルで使用するrbenvやnodebrewなどをインストール

Pythonスクレイピング

はじめに Pythonによるスクレイピングの情報を以下にまとめる。 環境 MacOS Mojave 10.14.1 Homebrew 1.8.4(インストール済み Rubyインストールの記事参照) pyenv Python 3.7.1 selenium 3.141.0 記載開始日 2018/12/11 スクレイピング方法 Pythonでは以下の選択肢がある。 Requesstライブラリを用

NodeJSのインストール

はじめに Mac上にNodeJS環境を整えたため、手順を残しておく。 環境 MacOS Mojave 10.14.1 Homebrew 1.8.4 rbenv 1.1.1 NodeJS 10.14.1 作業日 2018/12/11 手順 brewコマンドでNodeJSのバージョンを管理するnodebrewをインストールする。プロジェクト毎にNodeJSのバージョンが違う場合などに役立ちます。今

Python環境の構築(MacOS Mojave)

はじめに Mac上にPython環境を整えたため、手順を残しておく。 環境 MacOS Mojave 10.14.1 Homebrew 1.8.4(インストール済み。 Rubyインストールの記事参照) pyenv Python 3.7.1 作業日 2018/12/6 手順 Pythonのバージョン切り替えツールであるpyenvをインストールする。 $ brew install pyenv p