最近の記事

ブログでコードを綺麗に貼りたい

モチベーションTwitterで綺麗なコードをよく見る機会が増えたので、noteを書く際にも綺麗なコードを利用したいなと思ったのがモチベージョンです。 何を使うの?siliconを利用します。Rust製です。 そのため、事前にRustをインストールが必要です。 Macでのインストール Macを利用した場合だとbrewで利用することができます。 brew install silicon *コピペ用にコードを残しますw 使ってみる goで「Hello World」を出

    • Google BigQuery: The Definitive Guide感想 -Architecture of BigQuery-

      目的BQの仕組みを知りたい!! 経緯仕事でBQを利用していますが、非常に便利で使いやすいデータベースという印象だったのですが、BQが通常のRDBと何が違うのかを理解はしているつもではいますが、さらにその裏(カラムベースと言ってもどうやってデータを管理しているのか??)のことはさっぱりだったので、もっとしっかりBQを理解することで、この魔法の様なサービスを100%使いこなせるのではないかと思い勉強していこうと思いました。 以降は、 6章の内容をまとめたものになりますが、 下

      • Google Cloud Data Platform Day #2の感想

        まとめデータの民主化をどうやって行っていくか各企業様で試行錯誤している点が非常に印象的でした。 各企業共通していたのはBQが「速い、安い、マネージド」この観点があるため、利用してるんだなと感じました。その上でいかにして利用ユーザが自分たちの欲しいデータを、自分たちで作れるかの仕組み作りをしていっているのかが、今日のデータ基盤(データ分析基盤)のオリジナリティなのかなと感じました。 リクルートさんのETL基盤を作っている話や、DeNAさんMedjedサービスによる利用者から

        • Ansible -実践ガイド(1~3章まで)-

          1章 Ansibleの概要■1-1   Ansibleを取り巻く環境 ビジネスアジリティ(企業の俊敏性)が求められる時代で、システム基盤もオンプレ中心からクラウドへの移行。その中で「DevOps」の誕生によって、構成管理方法も従来のやりかでは上手くいかなくなってきた。また、現状のインフラチームに頼った構成にすると「サイロ化」が生まれてしまい、結果組織としてシステムを考える際に自由(柔軟)な対応が出来にくくなっている。 そこで生まれたのが「Infrastructure as

          Python実践入門 ──言語の力を引き出し、開発効率を高める(第9章Pythonの特有のさまざまな機能)

          ■今回扱う概念  ジェネレータ  デコレータ  コンテキストマネージャー  デスクリプタ ■今回勉強に利用した本 9.1ジェネレータ - メモリ効率のよいイテラブルなオブジェクトyield式がジェネレータの目印 ■ジェネレータ作成方法  1.ジェネレータ関数を使う方法     2.ジェネレータ式を使う方法 ■ジェネレータ関数 - 関数のように作成する 関数内部でyield式を使っている関数のこと(ジェネレータとも呼ばれる)。ジェネレータ関数の戻り値は、ジェネレータイ

          Python実践入門 ──言語の力を引き出し、開発効率を高める(第9章Pythonの特有のさまざまな機能)

          Python実践入門 ──言語の力を引き出し、開発効率を高める(第8章組み込み関数と特殊メソッド)

          ■組み込み関数  何もインポートすることなくいつでも利用できるPythonの関数 ■特殊メソッド  メソッド名の前後に_がついているメソッドで、  Pythonから暗黙的に呼び出されます。 ■今回勉強に利用した本 8.1組み込み関数 -いつでも利用できる関数-オブジェクトの型を調べる関数 isInstance(), issubclass() - 動的な型判定 >>> d = {}>>> isinstance(d, dict)True>>> isinstance(d,

          Python実践入門 ──言語の力を引き出し、開発効率を高める(第8章組み込み関数と特殊メソッド)

          RUNNING LEAN 実践リーンスタートアップの感想

          第一部ロードマップ■Running Leanの本質  - プランAを文章化する。  - プランで最もリスクの高い部分を見つける。  - プランを体系的にテストする。 ビジョンの書き出しと共有をまず初めにやるべきだが、不確実性が原因でプランAは変更の可能性があるため、この段階で事業計画書を作るより「リーンキャンバス」などの一枚ペラを用いて、「高速、簡潔、携帯」を優先してビジョンの共有ができるものを持つことべきである。 ここでのポイントとしては、この段階(製品、サービス、事業

          RUNNING LEAN 実践リーンスタートアップの感想

          SCRUM BOOT CAMP THE BOOKの感想

          まとめ今回の感想は、まずまとめからやっていこうと思います。本書に出てくる主人公の気付きが末尾にまとまっていたので、主人公の気付きを中心に各章の感想は下記に記載します。 本書を読んで感じたのは、SCRUMを組むことは「不確実性」をチームで取り除く作業なんだと思いました。例えば、Aという機能(サービス)を作りって欲しいと言われた際に、その機能には複雑なビジネスロジックがあったり、データがバッチ後のデータを使わないといけない制約があったりと作ってと依頼されてから要件定義だけでは気

          SCRUM BOOT CAMP THE BOOKの感想

          エンジニアリング組織論への招待の感想

          ■初めに2018年の春から夏ごろでしょうか、Twitterでこの本が多くの方に読まれていることを知りました。その当時の私は、まだチームのことを考えるよりは個人として言語やフレームワークを勉強してできる範囲を広げたいと思っていたので、いつかは読みたいけどまだ読まなくていいかなと思っていました。 2019年の9月以降でしょうかデータ基盤チームが発足しリーダーとしてチームにジョインしました。その中で今までは既存のシステムで新機能開発や改修をしていましたが、まったくの新規システムか

          エンジニアリング組織論への招待の感想

          Google Cloud Anthos Dayの感想

          Google Cloud Anthos Dayに参加してきたので、思ったことや感想を淡々と書こうと思います。 ■当日のスケジュール【Track 1】1.『なぜ、今クラウドネイティブな開発アプローチが必要なのか?』2.『Deep-dive into Anthos on GCP』休憩3.『CPGメーカーのアサヒグループがコンテナ運用を始めた本当の理由』4.『Kubernetes と推し進める、モダンなソフトウェア開発ライフサイクル』休憩5.『GKE におけるセキュリティ対策と運

          Google Cloud Anthos Dayの感想

          Go -Web application-

          ◼︎Web application ◼︎出力 割愛 ◼︎コード 今回は詳細画面->編集(新規)->登録の画面を作成 package mainimport ( "fmt" "html/template" "io/ioutil" "log" "net/http" "regexp")type Page struct { Title string Body []byte}func (p *Page) save() error { filename := p.Title +

          Go -Web application-

          Go -⑩基本(DB)-

          ◼︎sqlite3の環境構築 dockerでGoの実行環境とsqlite3の環境を作成する。 docker-compose.yml version: '2'services: go: restart: always build: . container_name: 'go_dev' working_dir: '/app/' ports: - 7473:7473 - 7474:7474 - 6477:6477

          Go -⑩基本(DB)-

          Go -⑨基本-

          ◼︎Semaphore ◼︎◼︎Acquire ◼︎出力 WAIT...DONEWAIT...DONEWAIT...DONEWAIT...DONE ◼︎コード package mainimport ( "context" "fmt" "golang.org/x/sync/semaphore" "time")var s *semaphore.Weighted = semaphore.NewWeighted(1)func longProcess(ctx context.

          Go -⑨基本-

          Go -⑧基本-

          ◼︎http ◼︎出力 一部出力は省略 http://example.com/te/tee/teeee /test?a=1&b=2 http://example.com/test?a=1&b=2map[a:[1] b:[2] c:[3] d:[4&%]]a=1&b=2&c=3&d=4%26%25---------------------https://example.com/te/tee/teeee /test?a=1&b=2 https://example.com/t

          Go -⑧基本-

          Go -⑤基本(Goroutine)-

          ◼︎goroutineとsync.WaitGroup ◼︎出力 hellohellohellohellohelloworldworldworldworldworld ◼︎コード package mainimport ( "fmt" "sync")func goroutine(s string, wg *sync.WaitGroup) { // deferで並列処理完了を伝える defer wg.Done() for i := 0; i < 5; i++

          Go -⑤基本(Goroutine)-

          Go -④基本-

          ◼︎メソッド、値レシーバ、ポインタレシーバ ◼︎出力 メソッド 12値レシーバ 12ポインタレシーバ -> 値レシーバ 1200 ◼︎コード package mainimport "fmt"type Vertex struct { // 小文字で宣言するとprivateの意味となる。 X, Y int}// 値レシーバ(Vertexに紐付く関数とすることができる)func (v Vertex) Area() int { return v.X * v.Y}// ポイント

          Go -④基本-