anomalocaristan’s blog

JSやGo、設計などについて学んだことをメモしておくサイトです

【個人開発】久しぶりの更新

前に着手し始めていたプロジェクトがブログごと消えたのでこちらで再掲します。 とりあえず簡単な初期設計だけ。 勤怠システムです。久しぶりに開発始めよう。 (前のアカウントどこにやったんだろう・・・)

【デザインパターンノック】1本目 Abstract Factory <<WIP>>

概要 インスタンスを生成する為だけのクラス。このクラスが持つ責務は インスタンスを生成する ということだけ オブジェクトグループを間違いなく生成する もっとわかりやすく 例えば、下記のように3つのオブジェクトがあるとする。 オブジェクト一覧 Goで…

デザインパターン20本(くらい)ノック

モチベーション デザインパターンがわからなさすぎてアーキテクチャの勉強に影響を及ぼしてきたのでそろそろ学ぼうと思いました。でも、生成パターンとか構造パターンとかそもそもそのサブタイが理解できないので不安でしかない。 学習予定一覧 〜生成パター…

リモートワークっていいよね

すごいどうでもいい話なんですけど、最近の社会的な動きとしてリモートワーク推奨になったじゃないですか。あれってすごく合理的でいいですよねっていう。 多分自分が新入社員だったら戸惑うだろうから、新人さんにとっては微妙なのかもしれないけど。

interface実装の省略

概要 インターフェースに構造体渡して紐付けたいけど、構造体をジェネレートしてインターフェースにぶっこむのが面倒なんじゃ〜って時の方法。

【Go】クエリストリングを複数投げたのに取得できない時

経緯 GoでAPI書いていて http://localhost:2000/hogehoge?name=yeee&age=fugaa みたいなリクエスト投げたのにちゃんと取得出来なくて3日くらい悩んだのに、すごい初歩的な事が原因だった。 原因 そもそもGo側の問題じゃなかった。 ターミナルからcURL叩いて…

生きてます

最近まったくブログ書いてませんが生きてます。 特につつがなく生きてますが園児ニアのまま成長してません。 まじで近日中に頑張って記事あげます。以上 ( まじ って死語になりかけているんだろうか) 追伸 広告が入って見づらいことこの上ないので他のブロ…

goのinterfaceを学ぶ 〜その1〜

Goのインターフェースが結構複雑だったので整理

【Go】sql: unknown driver "mysql" (forgotten import?)

MySQL接続でちょっと躓いたのでメモ

【Go】自分で作ったパッケージを読み込むためにはsrcディレクトリが必須?

すごく基礎的なことで詰まったのでメモ

【ソートアルゴリズム2】クイックソート [WIP]

クイックソートとはなんぞや クイックソートは複雑 その1: main()からソート用の配列をコール その2: 値を大雑把に移動していく その3: 配列の前半部分を更にソートする クイックソートとはなんぞや バブルソートより早いアルゴリズム。 配列の中から適当なI…

Goでテストを書こう 〜バブルソートのテスト〜

ソースコードの全体 テストコードの全体 テストコードの解説 さいごに 参考にさせていただいた神サイト この前バブルソートについてまとめたので、ついでにバブルソートのテストコードを書きました。 anomalocaristan.hatenablog.com

【ソートアルゴリズム1】バブルソート

バブルソートとはなんぞや Goで書いてみる どんなソート方法なのか? 備考: 破壊的メソッド バブルソートとはなんぞや 前の要素 > 次の要素が成り立つ限りソートをかけ続けるという シンプルかつ遅いソートアルゴリズム。 わかりやすい反面ムダも多い。

COUNT()の中身でどれだけ速度が変わる?

COUNT()って COUNT(*) と COUNT(id) で速度が変わるって聞いたことあるけどホントなん?? という疑問があったので実験してみました。

ブログ引っ越しました

しばらく放置していましたがIDが嫌だったのでブログ引っ越してきました。 そろそろちゃんと再開しようとおもいます。

Goの構造体をポインタで操作する

Goの構造体はポインタで参照・代入ができる。

Goの構造体

Angularとかやってればふんわり理解している構造体。 (っていうかAngularだとオブジェクト?) いやAngularとかやってねーよ!て人の為に説明したいができないので、 とりあえず構造体とは何ぞやってところから復習。

Goのポインタ操作

ポインタを操作してメモリの中をみる(<●><●>)

Goにはwhileループが無い件

久しぶりにブログ記事をかきます。 なんか色々忙しくてかけてなかったので(二か月くらいサボってた) いい加減再開します。目指せ一か月100記事。

Reactやる前に環境構築をもろもろ

なぜ突然環境構築か Reactって環境構築面倒ですよね。うっかりCLIでコンポーネントとかがさっと作るとwebpackで詰んだり・・・ webpack終わらせていざnpm startとかやってみたら、babelのバージョンが古くて詰んだり・・・ babelの新しい方をnpm installして…

魔剤よりプロテイン

エンジニアのお供魔剤

リモートリポジトリから不要なファイルを削除する

Git

gitignoreの設定をしていないのを忘れてそのままnode_modulesをプッシュしてしまったので、 リモートから削除する方法をググりました。

vagrantについて初歩的なミス

windowsでvagrantを使っていると色々なエラーに遭遇するのですが、 久しぶりにsymlinkでエラーになって一日を浪費したのでメモしておきます。

ACIDとかCAP定理とか

なぜ突然ACIDとか言い出したのか DBの基礎知識について調べていたら、言葉は知っているけど ちゃんと理解していないなと思ったから

MongoDBが採用してるレプリカセットって何だろう

レプリカセットって? NoSQLについて学びなおしていたところ、MongoDBのところで 「レプリカセット」という言葉が出てきたので調べました

NoSQLについて基礎から2

いろんなNoSQL 私はMongoDBしか触ったことはありませんが、ほかにも 色々なNoSQLがあるみたいです。

NoSQLについて基礎から1

どうして今更NoSQLなのか 今までなんとなくで使ってしまっていたので、もう一度基礎から 学びなおすことにしました NoSQLって結局なんなん? SQL言語を使わなくてもCRUDとかできるDB

node.js : 動的ポートの設定

デフォルトポートは8000に指定。 const express = require('express'); const app = express(); const port = process.env.PORT || 8000; app.listen(port);

node.js : herokuにデプロイするときのnpm startコマンド

herokuにデプロイするときはnpm startでnodeコマンドが起動されるように、package.jsonのscript部分を下記のように編集する。 "scripts": { "start": "node index.js" } ↓ herokuのリポジトリにgit pushした後にherokuのログを確認すると、プロセスが一度停…

Git:更新したファイルの確認

Git

コマンド git status結果 modified: index.js