forget for get

覚えるために忘れる

Go入門(Windows)

公式ドキュメントを見ながらチュートリアルを進めていく。https://go.dev/doc/※私はWindowsでPowerShellを使います。 インストール https://go.dev/dl/Featured downloadsからWindows向けのインストーラ(.msi)をダウンロードダブルクリックしてNextを押し…

#の扱い ~ どっぺるソングで困った話

lightwill.main.jp どっぺるソングのURL設計がそもそもよくないのですが、 アーティスト名で検索すると「https://lightwill.main.jp/hc/doppelsong/B%27z/1」 アーティスト名がURLの一部になるので、URLエンコードする必要がある。 URLエンコードだけでほと…

PowerShell入門

サンプルコード hello.ps1 Set-Variable -Name MAX_LEVEL -Value 100 -Option Constant Write-Output MAX_LEVEL; Write-Output (Get-Date).ToString("yyyy/MM/dd HH:mm:ss") #配列 [int[]]$nums=1,2,3 for ($i = 0; $i -lt 3; $i++) { Write-Output $nums[$i…

エクセルからMySQLに接続

MySQL ODBCドライバをインストール https://dev.mysql.com/downloads/connector/odbc/ 使うエクセルが2007(32bit)だったので、8.0を選択。 ODBCデータソースの設定 コントロールパネルのODBCデータソースアドミニストレータ(32ビット)を使用して、MySQL…

SpringBoot入門:DBから値を取得

気軽に試せるH2データベースを使えるようにする src/main/resources/application.properties spring.datasource.url=jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE spring.datasource.driverClassName=org.h2.Driver spring.datasource.user…

SpringBoot入門:環境構築

参考書はこちらを選択(Kindle Unlimitedで無料で読めるので)Spring 解体新書 環境構築 IDESpring Tools 4 for Eclipsehttps://spring.io/tools/windows版をダウンロード、任意の場所に配置して「java -jar spring-tool-suite-xxx.jar」sts-x.x.x.RELEASEの…

Java入門

筆者はPHPを習得しているので環境構築くらいしか書くことがない。 (言語の違いで気づいたことがあれば追記していく) JavaDriveでJava入門https://www.javadrive.jp/start/ JDKのインストールhttps://jdk.java.net/Ready for use: JDK XXをクリックBuildsか…

Compositeパターン

容器と中身の同一視。ファイルシステムでは、ディレクトリとファイルが入れ子になっている。ディレクトリとファイルは異なるものですが、「ディレクトリに入るもの」とみなしている。 Leaf(葉):MyFile中身Composite(複合体):MyDirectory容器Component:En…

Mementoパターン

状態を保存しておいて、復元できるようにしておく。undo,redo,history,snapshot 復元するためにインスタンスの内部情報を公開すると、カプセル化の破壊になるので、インタフェースを使い分ける。 Originator(作成者):Gamer自分の現在の状態を保存したいと…

Strategyパターン

アルゴリズムをごっそり切り替える Strategy(戦略):Strategyインタフェースを規定ConcreteStrategy(具体的戦略):WinningStrategy、ProbStrategyContext(文脈):PlayerStrategyを利用。ConcreteStrategyのインスタンスを保持。 Hand.php class Hand { co…

Bridgeパターン

機能の階層と実装の階層を分ける 機能(メソッド)を追加したいとき、サブクラス(子クラス、派生クラス、拡張クラス)をつくるさらに機能を追加する場合、さらに階層が深くなる Something SomethingGood SomethingBetter 抽象クラスでインタフェース(API)…

Abstract Factoryパターン

抽象的な工場では、抽象的な部品を組み合わせて抽象的な製品をつくる具体的な実装には注目せず、インタフェースだけを使って、部品を組み立て、製品にまとめる 具体的な工場を新たに追加するのは簡単部品を新たに追加するのは困難(すべての具体的な工場に追…

Template Methodパターン

スーパークラスで抽象メソッドの呼び出しの流れを定め、サブクラスで具体的な処理を実装ロジックが共通化できる AbstractDisplay.php abstract class AbstractDisplay { abstract function open(); abstract function print(); abstract function close(); f…

値オブジェクトの配列から値の配列を取り出す

クリーンアーキテクチャだと$itemIdがintではなく、ItemIdクラスみたいな値オブジェクト(ValueObject)になっている。 例えば、検索クエリに指定したいときはこんな感じに書く。 Item::where('item_id', $itemId->itemId)->get(); では、$itemIdListのとき…

PhpStormメモ

矩形選択:Alt+Shift+ドラッグ メソッドの呼び出し元へジャンプ:Alt+F7 右クリック→生成→テスト

PHPの列挙型(Enum)

test.php name; // Spades test2.php

Observerパターン

観察対象の状態が変化すると、通知する Subject(被験者):NumberGenerator Observerを登録・削除するメソッド、現在の状態を取得するメソッドをもつ具体的なSubject:RandomNumberGenerator 状態が変化したらObserverに伝えるObserver(観察者):Observer…

Vue CLIチュートリアル

https://cli.vuejs.org/guide/prototyping.html Docker環境構築 https://cli.vuejs.org/guide/prototyping.html を参考に Dockerfile FROM node:16 #ENV http_proxy http://xxx:3128/ #ENV https_proxy http://xxx:3128/ WORKDIR /app docker-compose.yml※co…

プロキシ下でのVagrant,Docker環境構築で色々ハマる

Vagrantfile if Vagrant.has_plugin?("vagrant-proxyconf") config.proxy.http = "http://xxx:3128" config.proxy.https = "http://xxx:3128" config.proxy.no_proxy = "localhost,127.0.0.1,aaa,bbb" end プロキシ設定するプラグインを入れてからvagrant up…

LaravelMixチュートリアル Vue.js導入まで

LaravelMixを使ってみようとしたけど、Laravel公式のドキュメントだと全然わからず、、 https://readouble.com/laravel/8.x/ja/mix.html LaravelMix公式のドキュメントを見ることに。 https://readouble.com/laravel/8.x/ja/mix.html 事前準備 Laravel + Doc…

docker-composeでLaravel環境構築(PHP/nginx/MySQL)

これを参考に 【超入門】20分でLaravel開発環境を爆速構築するDockerハンズオン https://qiita.com/ucan-lab/items/56c9dc3cf2e6762672f4 ディレクトリ・ファイルを作成 ディレクトリ構成 laravel_docker/ docker-compose.yml docker/ php/ Dockerfile php.i…

Vue.js axiosを使ったサンプル

配列を更新するとき、 app.gachaResult = response.data では表示が更新されなくて、 app.gachaResult.splice(0, app.gachaResult.length, ...response.data) 配列のメソッドで更新しないとリアクティブに更新されない。 <html><head><meta charset="utf-8"/></meta></head></html>

VueRouterチュートリアル

https://router.vuejs.org/ja/guide/ VueRouterの「基本的な使い方」を見ながらサンプルをつくってみた。 <html><head><meta charset="utf-8"/></meta></head></html>

Vue.jsチュートリアル

https://jp.vuejs.org/v2/guide/index.html Vue.jsの「はじめに」を見ながらサンプルをつくってみた。v-ifとv-on:clickで表示切替、キャラ一覧はv-forとcomponentの2パターンで試してみた。 <html><head></head></html>

DockerでPHPからMySQLに接続してみる

Dockerfile FROM php:7.4-apache RUN docker-php-ext-install pdo_mysql COPY src/ /var/www/html/ src/my.php '; try { $dbh = new PDO('mysql:host=mysql_1;dbname=test', 'root', 'root123'); foreach($dbh->query('select * from users') as $row) { ech…

GitExtensionsでリモートリポジトリのパス変更

サーバー移行でリモートリポジトリのURL(ドメイン、パス)が変更になった場合のGitExtensionsの設定変更 メニュー>リポジトリ>リモートリポジトリ>URL

Dockerチュートリアル

Dockerチュートリアル https://docs.docker.jp/get-started/part2.html サンプル Dockerfile # 親イメージとして公式イメージを使う FROM node:current-slim # 作業用(working)ディレクトリを指定 WORKDIR /usr/src/app # ホスト上のファイルを現在の場所…

dockerコンテナが起動しない

WARNING: Host is already in use by another container ERROR: for api Cannot start service api: driver failed programming external connectivity on endpoint docker_api_1 (e819fe...): Error starting userland proxy: listen tcp4 0.0.0.0:80: bind…

.vimrcでエラー E254: Cannot allocate color 7

いつものように~/.vimrcを編集してvimを起動したらエラーが出た E254: Cannot allocate color 7 バージョンによっては7なんて色はないらしい。LightGrayに変更して解決。 ~/.vimrc highlight SpecialKey cterm=NONE ctermfg=7 guifg=7 highlight JpSpace cte…

foreachで参照渡しで値を変更するとバグる

foreachで参照渡しで値を変更するとバグる $vals = [1,2,3]; foreach ($vals as &$val) { $val *= 2; } echo json_encode($vals); //[2,4,6] foreach ($vals as $val) { echo $val . ','; } //2,4,4, 何が起こっているか $vals = [1,2,3]; foreach ($vals as…