🤖

🤖

:gijutsu_burogu:

Go

Go Module: forkしたpackageをimportし利用する方法

Go

やりたいこと github.com/someone/hogeでgithub.com/forked/fugaをimportして利用したいです。 関係性は以下です。 どうやるか 例 https://github.com/elastic/cloud-sdk-goをforkしてhttps://github.com/kotaroooo0/cloud-sdk-goのリポジトリがあるとします…

Goでビットベクトルを利用してSetを実装する

はじめに プログラミング言語Goを読んでいて、ビットベクトルを利用してSetを実装するところがありました。 シンプルかつ思いつきもしない方法だったので紹介します。 プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)作者:Alan A.A. D…

GoからDocker上のElasticsearchに接続する際にネットワークのSniffingでハマった

問題 Docker で Elasticsearch を起動します。 services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:7.4.0 environment: - discovery.type=single-node ports: - 9200:9200 - 9300:9300 以下の Elasticsearch クライアントライ…

Goを体系的に学んでいるメモ その1

Go

はじめに プログラミング言語 Go の研修を受講しているので学びをメモしていきます。 プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)作者:Alan A.A. Donovan,Brian W. Kernighan発売日: 2016/06/20メディア: 単行本(ソフトカバー) …

Goのお作法を学んでセルフコードレビューしてみた

Go

はじめに 業務以外で Go でツールを作ったり、Twitter Bot を作ったりしています。 しかし、コードレビューを受ける機会がなく良い Go の書き方が身につかないのではと不安になりました。 そこで、さまざまな記事を参考にしてコードの書き方を学んでみました…

ISUCON: DBのデータをメモリに載せて高速化する

はじめに やり方 どのデータをオンメモリに載せるか どう実装するか 1. グローバルで変数を宣言します。 2. 初期化処理/initializeでメモリに載せます。 3. SQL を叩いて取得している部分をメモリに載せた Map から取得するように変えます。 おわりに 参考 …

Twitter Account Activity API を使ってリプライ自動返信する(Go)

Go

概要 Twitter Account Activity API を使うことでリプライの自動返信をできます。 しかし、手順が複雑であり公式ドキュメントも分かりにくいと感じたため記事にまとめます。 リプライの自動返信には以下の二段階が必要です。 認証を行いアプリケーションを W…

システムコールとGo

Go

この記事の内容 システムコールとは Go ではどうシステムコールを呼び出しているか システムコールとは システムコールとは、特権モードで OS の機能を呼ぶことです。 アプリケーションでは通常、ユーザーモードであり CPU の利用が制限されています。 その…

Goでのストリームの使い方と使うべき理由

Go

はじめに Go ならわかるシステムプログラミングを読みました。 Goならわかるシステムプログラミング作者:渋川 よしき発売日: 2017/10/23メディア: 単行本(ソフトカバー) 僕は本で読みましたが、元々は Web で連載していたみたいで無料で読むことができます…

問題を解いて学ぶio.Writerとio.Reader(Go)

Go

はじめに Go ならわかるシステムプログラミングを読みました。 Goならわかるシステムプログラミング作者:渋川 よしき発売日: 2017/10/23メディア: 単行本(ソフトカバー) 僕は本で読みましたが、元々は Web で連載していたみたいで無料で読むことができます…

似ている文字列を検索したい(編集距離、レーベンシュタイン距離)

課題 入力に対して、文字列集合の中から最も似ている文字列を返したい。 例 ["gmail", "googlemap", "googledrive", "dockerhub", "github"]という集合がある。 "mail" と入力されると "gmail" が返ってきて、"docker" と入力されると "dockerhub" が返って…

Goの自前テストモックでメソッド呼び出し回数を数える

はじめに Go では、インターフェースを使い DI することで実装を置き換えることができます。 例えば、テストで外部 API を使う場合に実際のリクエストを飛ばさないようにテスト用に実装を置き換えたりします。 Go では特別なライブラリを使うことなく、標準…

外部APIを実際に叩いたりしていませんか? GoでDIによるテストモック

この記事はQiitaの記事をエクスポートしたものです。内容が古くなっている可能性があります。 はじめに TwitterAPIや形態素解析APIを使うサービスでテストをしたいときがあると思います。 また、レイヤードアーキテクチャ等で下層の処理を含めたテストしたい…

Go言語での集合(Set)の扱い方とテスト

この記事はQiitaの記事をエクスポートしたものです。内容が古くなっている可能性があります。 はじめに Go言語には標準で集合(Set)は用意されていません。 実現方法 1. Slice strSet1 := []string{"element1", "element2", "element3"} シンプルな方法。 重…

Go言語でかな文字をローマ字(ヘボン式)に変換するライブラリを作った

Go

この記事はQiitaの記事をエクスポートしたものです。内容が古くなっている可能性があります。 はじめに gojaconvというGo用の文字列変換ライブラリを作成しました。 かな文字をローマ字(ヘボン式)に変換します。 import "github.com/kotaroooo0/gojaconv/jac…