Skip to content

Posts

Chromebook(C101PA)にVSCodeをインストールする2

昨日は空き容量が足りなくなってあきらめたので、今回は何もない状態からやってみる。

インストールしながら空き容量をチェック

  • Linuxを再インストールした直後

    $ df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/vdb        5.5G  1.3G  3.9G  25% /
    
  • VSCodeのインストールしてdebファイル削除したあと

    $ df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/vdb        5.5G  1.8G  3.4G  34% /
    
  • mozcインストール後

    $ df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/vdb        5.5G  2.1G  3.1G  42% /
    
  • fonts-notoインストール後

    Read more

ChromeBook(C223NA)にVSCodeをインストールする

C101PAで一通りできたのでインテルCPUの機種でもやってみる

  • インストール開始

    $ df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/vdb         18G  1.2G   15G   8% /
    

    広い

  • aptの設定追加はしていない

    • golang-1.11 が見つからなかったので設定追加した
  • VSCodeのパッケージファイルは公式から取得

  • fonts-notoまでインストール終わった時点での消費

    $ df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/vdb         18G  1.7G   15G  11% /
    

    C101PAのときより消費が少ない

    Read more

Chromebookにdockerインストール

環境

  • C101PA

手順

  • 公式の手順に従う
    $ sudo apt-get update
    $ sudo apt-get install \
        apt-transport-https \
        ca-certificates \
        curl \
        gnupg2 \
        software-properties-common -y
    $ curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
    $ sudo apt-key fingerprint 0EBFCD88
    $ sudo add-apt-repository \
       "deb [arch=arm64] https://download.docker.com/linux/debian \
       $(lsb_release -cs) \
       stable"
    $ sudo apt-get update
    $ sudo apt-get install docker-ce docker-ce-cli containerd.io -y
    $ sudo docker run hello-world
    
    できた。

DeNA.go

@kiyotaka.nakashima / 新ゲームサーバ基盤TakashoでのGo言語活用事例の紹介 / ゲーム・エンターテインメント事業本部

  • Sakasho
    • 共通ゲームサーバー(複数タイトルで相乗り)
    • プレイヤーデータの管理
    • 課金系
  • Sakasyoの課題
    • 相乗りによる制約
    • 変更の影響大
  • Takasho
    • Webサバーフレームワーク
    • ステートレスなAPI
    • 1サーバー1クライアント
    • GCP(GAE)前提(Terraformで構築)
    • 共通機能も提供
    • クライアント側はC#
    • サーバ側はGo
      • 少ない学習コストで高いパフォーマンスと安定性
  • RPCサーバ
    • net/httpベース
    • gRPCの独自実装(GAEでgRPCがサポートされていなかった)
    • protoスキーマからコード生成
    • DBテーブルまわりもjsonで定義して生成

@toku_bass /次世代タクシー配車サービス「MOV」におけるテスト事例紹介 / オートモーティブ事業本部

  • GAE / CircleCI / chatbot E2E
  • 方針
    • テスト対象以外の暗黙のデータに依存しない
    • テスト全体に関わるfixtureを使わない
      • マスターデータはOK
    • 並列でテストを実行
      • user_idなどの固定値を書かないようにする
      • github.com/bxcodec/faker
      • primary key をランダム生成してかぶる対策
  • testerator
    • GAEのテストサーバーを立ち上げっぱなしにしてくれる
    • 起動には3秒くらいかかる
  • pstest
    • Cloud PubSubの公式ライブラリのテスト方法
    • どうやってテストしたらよいかわからなければ公式を見に行く
      • 公式もテストできていないことも・・

@kurikei / DeSCヘルスケアにおけるGo活用事例の紹介 / DeSCヘルスケアサービス企画開発部

  • GCP(GAE/Cloud Firestore/Cloud Functions/BigQuery) / CircleCI / OpenAPI 3
  • レイヤードアーキテクチャ(+DIP)
    • レイヤーで分離する→各レイヤーで関数を定義する→コード量が増える→テストも増える
    • gomockを使う
  • 暗号化の手法
    • DBの保存/取得時に透過的に処理する
    • エンベロープ暗号
      • カラム暗号化の際に使う
      • 鍵を暗号化する鍵(KEK)とデータを暗号化する鍵(DEK)の2種類を使う
      • KEKをKMSで管理して、DEKはデータと一緒に保存

MacbookPro初期化

Chromebook買ってからほとんど出番ないので売ってしまおうと。

その前にディスクの初期化・・・SSDの場合ってHDDと同じ方法でいいんだっけ?という話。

参考:

結論としては、HDDと同じではない。消去のオプションがそもそも出てこない(何回書き込むとか選ぶやつ)。

Read more

Chromebookにgoの最新版をインストール

  • apt-get だと最新版が入らないので、1.13に備えて最新版をインストールする手順を確認しておく。
  • C101PAのOP1はARM系CPUなのでarm64用のファイルを使用する。
  • C223NAはintel入ってるのでx86-64でいけるはず。

環境

  • C101PA
  • Linux(ベータ)

手順

  • https://github.com/golang/go/wiki/ChromeOS を参考に進める
  • https://golang.org/dl/ から go1.12.7.linux-arm64.tar.gz をダウンロード
    $ wget wget https://dl.google.com/go/go1.12.7.linux-arm64.tar.gz
    
  • チェックサム確認
    $ sha256sum go1.12.7.linux-arm64.tar.gz 
    
  • ファイル展開
    $ sudo tar xpvf go1.12.7.linux-arm64.tar.gz -C /usr/local
    
  • バージョン確認
    $ /usr/local/go/bin/go version
    go version go1.12.7 linux/arm64
    
  • ワークスペース作成
    $ sudo mkdir /usr/local/go/work
    
  • パス設定
    $ export GOPATH="/usr/local/go/work"
    $ export PATH="${PATH}:/usr/local/go/bin:${GOPATH}/bin"
    
    一応、~/.bash_profileにも同等の内容を記載しておく
  • 動作確認
    • ファイル作成
      $ sudo vim /usr/local/go/src/hello.go
      
    • ビルド
      $ go install hello
        can't load package: package hello: cannot find package "hello" in any of:
          /usr/local/go/src/hello (from $GOROOT)
          /usr/local/go/work/src/hello (from $GOPATH)
      
      エラー。。。
    • run
      $ go run /usr/local/go/src/hello.go 
      Hello, Chrome OS!
      
      とりあえず実行できたから良しとしておく。

chromebookのlinux

Rails入れたりしてたらOSが不安定になった感。 スリープ中に電源オフになっていることが多々あり。 Linux再インストールしてもだめな感じ。

今度、本体初期化してみよう。

mercari.go

@tottie Gopher ライブドローイングのご説明

@rerorero protoactor-goでPregelを作った話

  • グラフプロセッシングの話
  • Map/Reduceの課題を解決するPregel(プリゲル)フレームワーク
  • アクターモデル

@knsh14 メルペイでの残高管理の話

  • Balance Service
  • gRPC, GKE, Spanner, Go
  • 全体設計
    • クリーンアーキテクチャベース
    • Viewなし
      • Infra Layerで変換して返す
  • トランザクション
    • UseCaseそうのInteractorで
    • 全体のロールバックが楽
  • DB
    • 標準パッケージは使っていない
  • APIの設計
    • 各種残高の増減機能
    • 種類にかかわらず同じインターフェースを提供したい
    • ロールバックしやすくしたい
    • 組み合わせのテストが大変
  • 冪等性
    • どのAPIがリトライされても大丈夫なように作る
    • 参照系はあまり気にしていない
    • 取引IDでチェックしている
  • データの整合性
    • 取引履歴が重要
      • 取引レコードから算出
      • 取引後の残高スナップショット
    • すべての処理が成功したときに履歴テーブルにコミットする

@akkie Readable code in Go

  • コードを読みやすくするために
  • 読みやすいコードとは
    • 他の人(本人含む)が最短時間で理解できるコード
  • コメントに監督としての感想を書く
  • コメントでコードをグループ分けする(テストコード)

@tenntenn The Go Playgroundをコマンドラインから扱う

  • txtar(テキストアーカイブ)形式
    • -- ファイル名 -- で区切る
    • playgroung上でタブ分けしてくれるchrome拡張あり
    • internalパッケージ

@tottie Gopher イラスト発表

感想

  • 絵がかけるってすごい
  • 質疑応答の内容が理解できず、まだまだ勉強不足だと感じた