2019-12-01から1ヶ月間の記事一覧

Oauth2.0を使ったフロー

OAuthとBasic認証の違い Basic認証 Basic認証のやり方 Basic認証が設定されているページへアクセスすると、ポップアップ表示 IDとpasswordを入力することで、ログインすることができます。 「.htaccess」を利用して、設定できるという非常に簡単な認証 OAuth…

OAuth2.0のJWTアクセストークン

JWTに埋め込む アクセストークン { "iss": "https://serverip.nmatsu.com", "sub": "tiyodo@nmatsu.com", "exp": 234324044, "nbf": 234434555, "cnf":{ "5t#dfghg": "2345678e5456urty654-a62" } }

Go埋め込み型継承ではまった点

Go埋め込み型継承ではまった点 InterFace ポインタ IFポインタに代入はできないっぽい IF自体にtypeを入れるのはできそう go構造体ネスト 以下のようにネスとする type City struct { P *house.Person }

GoでXMLからJSONにマッチしたモデルへ代入

GoでXMLからJSON対応モデルへ代入 get go get json2xml go get json2xml コード import{ "encoding/json" } // XML -> JSON if err := json.Unmarshal(byte[]のXML, &クラス); err != nil { log.Fatal(err)

データ構造のおさらい(コレクション、2分探索木、B木、B+木)

データ構造 -雑誌で読んだことをまとめておく、その一環 配列とコレクション 配列 複数データを連続して格納 連結リスト 各要素が自分自身の値と 次の要素への参照を持っ ているのが連結リスト ハッシュテーブル ハッシュテーブルという名のとおり、「…

mysql 5.7 install for mac

mysql 5.7 install install brew install mysql@5.7 path を通す echo 'export PATH="/usr/local/opt/mysql@5.7/bin:$PATH"' >> ~/.bash_profile シェル再起動してpath確認 source ~/.bash_profile version mysql --version 起動と接続 brew services start …

ReactNativeについて自分のまとめ

ReactNativeのよさ 概要 特徴 ECMAScript 第 6 版で言語を強化 Reactベースだから仮想 DOM React Nativeのテスト react-test-renderer を用いると仮想 DOM ツリーを JSON にレンダリングできます ブラウ ザにレンダリングさせる react-nativ…

gcloud crashed (AttributeError): 'OAuth2Credentials'

gcloud auth print-identity-token ってしたら以下のエラーが出た ERROR: gcloud crashed (AttributeError): 'OAuth2Credentials' object has no attribute 'id_token64' 解決策 以下で直る $ gcloud components update

go modのまとめ

go moduleの経緯 Go のコードはライブラリも含めてすべて $GOPATH/src 以下に置くという約束になっている そのためプロジェクト用ライブラリのバージョンを変えたい場合、固有のライブラリは $GOPATH/src/プロジェクト/vendor の下に入れても良いことになっ…

vietifyのLTを聞いたまとめ

感想:早くて前提知識ないと厳しいな ​ 社内システム開発で使ったviewrifyオススメコンポーネント 3 選 Gregorioという社内サービスを作った話 v-chip qiitaのタブなどを簡単に実装 v-tmeline タイムラインにつかえる 自分左がわで他人は右というライン形式…

CloudRunデプロイためした

CloudRun説明 概要 フルマネージドサービスを簡単に使える Dockerfileさえあれば2コマンドくらいでサーバ建てられる GCSに保管され、コマンド1つでサーバ立ち上げ可能 Knative(GKEみたいなやつのこと)だからサーバーのハード構成も、インフラ周り安心で、…

プログミング言語とGoの歴史

プログミング言語とGoの歴史 Goができるまで 2009→2019年の振り返り それだけでなく1960→2007年までの経緯、いままで、これからの3部構成で話します 1960から2007年 1960年代はHWごとに言語が存在した プログラミング言語のバベルの塔があるくらい そのため…

トランザクション分離 ACID

トランザクション分離 ACID mySQL Repeatable read Read Commited ダーティリード アンコミットがリードできる テーブル単位だとロックがでかいのでブロック単位でロック 結論は行単位ロックになった MYSQL以外はロックにメモリをつかってしまった そのため…

GoのAPIコール最低限

GoのAPIコール最低限これだけはいるってコード package main import ( "fmt" "io/ioutil" "log" "net/http" "time" ) var ( user string password string ) func main() { var queryKey string = "?id=111" var prot = "http://" var HOST = "xx.xx.xx.xx" v…

DevTools でできること

Chrome DevTools 概要 各種機能 Element(s 要素) Web ページの HTML 構造を確認し、各要素を調査 できる Network(ネットワーク) ネットワーク処理の流れと詳細情報を確認できる Source(s ソース) ロードされたリソース(JavaScript、CSS、画像な と…

Go構造体サンプル

Go構造体サンプル Goの構造体はC言語のtypedef structと似ている package main import "fmt" type NoRelateDurg struct { DrugCode string DrugName string } func (drug *NoRelateDurg) DebugInfo() string { return drug.DrugCode + ":" + drug.DrugName }…

Go言語でパニック起こしてみた

ためしにパニック起こしてみよう out of index 画面常にパニックとはかかれない package main import "fmt" func main() { text := "hoge" fmt.Println("1:", text[0:2]) // これはOK fmt.Println("2:", text[5:]) // panic発生! fmt.Println("end") // 呼…

Goの継承の代替え方法

Goには継承という概念がない。そのため構造体をうまく利用して埋め込む 埋め込みを使う オーバライドはラッパークラスにレシーバを実装 package main import "fmt" type Foo struct { name string } func (f *Foo) Hello() { fmt.Println("Hello", f.name) }…

goのif文の不思議と型チェック

if文の特徴 ;で区切って、if文判定の前に式がかける。スコープ縮小 ,で区切って複数の戻り値に対応 // 型チェック x = receive if xi, ok := x.(int); ok{ fmt.Println( xi * xi ) //=> 9 } 空インターフェースの中身がintなら整数表示 receive := 3 var x i…

goレシーバとインタフェースのサンプル

package main import ( "fmt" ) type Persona interface { run() stop() } type User struct { name string height int gender string } func (u *User) run() { defer fmt.Printf("%s\r\n", u.name) fmt.Printf("%d\r\n", u.height) } func (u *User) stop(…