Skip to content

Instantly share code, notes, and snippets.

@nazo
nazo / portfolio.md
Last active Jun 8, 2021
ポートフォリオ
View portfolio.md

nazo

2021年5月現在、フリーランスWebエンジニアとして活動しておりますが、多忙につき新規の案件は受けられない状態にあります。相談程度であれば受けることが可能ですので、もしご興味がありましたらご連絡下さい。

概要

ゲーム開発、Web開発、アプリ開発を経て、フロントからインフラまで網羅できるエンジニア。

Webサーバーサイドエンジニアとして、PHP、Ruby、Goでの開発をインフラも含めスクラッチからほぼ一人で行い、

View Goでのテスト.md

基本

  • メソッドがあるものはinterfaceのみ公開する
    • structで公開されると利用側でmockに差し替えることができない

DB

@nazo
nazo / Nuxt.js 1.x.md
Created Nov 25, 2018
Nuxt.js 1.xを触っていた時のツイート集
View Nuxt.js 1.x.md
  • nuxt.jsめっちゃいいじゃんって思ったところで、これに合わせるサーバーサイドAPIを書くのに何使うといいんだろうなーってなっている。好きなのでいいといえばそうなんだけど…
  • vuexのmutationsの呼び出しが文字列だから定数にしろというのはわかるんだけど、現代的なJavaScriptなら変数は大体constだから、それだけをUPPER_SNAKE_CASEで書く必要はないんじゃないかと思う
  • ssr.vuejs.org/guide/universal.html#component-lifecycle-hooks … これを読む限り、SSRでのAPIリクエストはサーバーサイドとクライアントサイド両方からを想定すべきって感じじゃないのかなぁ
    • axios-moduleもbaseURLとbrowserBaseURLの両方が同時に指定できるわけで、そうなるとやはりクライアントからAPIを呼ぶことも想定される https://axios.nuxtjs.org/options.html
  • nuxtのaxios-module使うとクライアントのリクエストヘッダがサーバー側でそのままコピーされるからcookieとかAuthorizationヘッダとかそのまま使えるのねなるほど
  • nuxtのtypescript化、vueとかnuxtがきついというよりも、loaderとかそもそもtsの挙動ちゃんと把握してないと無理だよねってなる。vue-cliで組み立てたほうがやりやすいんじゃないかな
  • Vueわかってる前提でNuxt触る場合にまず頭に入れないといけないところってこんなところかなぁって感じ。axios-module使うとSSR動作が自然すぎてよくわからなくなる
  • nuxt-class-component使った時にlayoutとかmiddlewareってどこに書くのが正解なんだろう?@ Component内に書いても動くっぽいけど定義的には間違ってるっぽい…
    • this.$routerとかも無いって言われるけど、コンポーネントクラスの基底のclass Vueって素のvuejsだから無いの当然だし、そう考えるとビルド方法の問題なのかな…
    • import 'vue-router/types/vue' だった。TSよくわかってないだけだった
View GAE Go.md
@nazo
nazo / VSCodeの使い方.md
Last active Nov 29, 2018
VSCodeの使い方
View VSCodeの使い方.md

設定の同期

Settings Syncを使うとsecret gistに設定を保存してくれる。

settings.json

  // ファイルを開くと、そのファイルの内容に基づいて `editor.tabSize` と `editor.insertSpaces` が検出されます。
  "editor.detectIndentation": true,
@nazo
nazo / snapshot.py
Created Oct 25, 2017
AWS EC2 standalone snapshot (not related AMI) check script
View snapshot.py
# standalone AWS snapshot (no related AMI) check script
# AMIが存在しない自己所有スナップショットを発見&削除するスクリプト
from __future__ import print_function
import boto3
import sys
def each_snapshots(client):
next_token = ""
@nazo
nazo / bf2cs.rb
Created Apr 26, 2016
gcc brief format to checkstyle report xml
View bf2cs.rb
def read()
files = {}
while line = STDIN.gets
if /^([^:]*):([0-9]+):([0-9]+): *(.*)$/ =~ line
filename, line, column, message = $1, $2, $3, $4
if !files.has_key?(filename)
files[filename] = []
end
files[filename].push({:line => line, :column => column, :message => message})
end
@nazo
nazo / gist:15b9fbc7f427c4e13ca3
Last active Nov 25, 2018
社内でPull Requestsを運用する時の俺プラクティス
View gist:15b9fbc7f427c4e13ca3

※2018/11/25 この考えはもういろいろ間違っていると思うのでそのうち書き直す

最近レビュー業ばかりしているので、ある程度思ったことを書くよ。鵜呑みは良くないよ。ベストプラクティスとは言ってないよ。 あと所属企業とは何も関係ないよ。あとOSSでは参考にならないよ。

レビューは相手に優しく

もちろん「駄目。やり直し」などは論外。そんなのはレビューとは言わない。 相手も人間なので正論すぎるとイラッと来る可能性がある。常に相手に優しくしよう。それができないならどれだけ技術力があってもレビュワーには向いていない。(OSSなら好きにすればいいけど) 相手が新卒だからと言ってつい上から目線になるのも良くない。人によっては怖がって、最悪の場合辞めてしまう可能性もあるので、なるべく怖がらせないようにしよう。(その程度で辞めるような奴はいらん!というモヒカン会社ならご自由に)

@nazo
nazo / gist:f1f7dedad41968eae1a3
Last active Aug 29, 2015
[cocos2dx]cocos2d-x 3.xのインストールと最初に行うこと
View gist:f1f7dedad41968eae1a3

インストール方法はREADME.mdに大体書いてあるけど、何となく使ってみたくなったもので…

ダウンロード

  • githubから直接cloneしたらgit submodle init / git submodule updateしてね
  • python setup.py
  • .bash_profileしか出来ないのでzsh派は出来上がった.bash_profileをコピペ
  • Android作らないならXcodeだけ入れておけばいいけど、Android版も作りたいならAndroidSDKとかAntとか入れておこう(AntはHomebrewで入るよ)
  • python download_deps.py
  • external以下にファイルがもりもり増えます。jsonとかsqliteとかwebsocketsとか落ちてくるので必須
@nazo
nazo / gist:08afe5edc3963210f1cb
Created May 18, 2015
[php]PHP5.3系のGCとメモリ確保を抑える方法
View gist:08afe5edc3963210f1cb

PHP5.3以降のPHP5系では、参照カウント法によるGCが実装されています。

基本

PHPの変数は「zval」というコンテナ(構造体)に格納されます。 PHPは全てzvalで統一されているため、無駄が多いということで、次世代PHPであるPHP7ではzval自体の見直しが図られています。

変数はどのタイミングで解放されるか

基本的には変数がスコープから外れた時点で解放されます。また、スコープ内でもunset()することにより該当の変数は解放されます。