新しいことにはウェルカム

技術 | 電子工作 | ガジェット | ゲーム のメモ書き

2020-01-01から1年間の記事一覧

Go言語でハマったことメモ(インターフェース)

Golangを始めました。 GolangはC言語のように、シンプルな文法・データ構造でできているのですが、同時に、生産性を高めるための、高度な概念も取り入られています。 そしてそのために、Golangには若干トリッキーな構文がいくつかあります。 しかし、それら…

Go言語でハマったことメモ(値渡し・ポインター渡し)

Golangを始めました。 Golangはポインターを使います。 Golangは歴史的に新しい言語なので、ポインターを意識しないで、何となくコードを書けば良しなに動いてくれるのかなと思ったのですが、甘かったです…。 ポインター自体はよくあるもので、とりあえずポ…

Go言語でハマったことメモ(slice・map・string)

Golangを始めました。 GolangはC言語のように、シンプルな文法・データ構造でできているのですが、同時に、生産性を高めるための、高度な概念も取り入られています。 そしてそのために、Golangには若干トリッキーな構文がいくつかあります。 しかし、それら…

Go言語でハマったことメモ(マップに構造体を入れると「cannot assign to struct field ...」のエラーになる)

Golangを始めました。 始めてみて感じたのですが、Golangはできるだけ文法をシンプルにかつ、できるだけコードがシンプルになるように設計されています。 そしてそのために、Golangには若干トリッキーな構文がいくつかあります。 しかし、それらを知らずに、…

Go言語でハマったことメモ(クラス・継承)

Golangを始めました。 始めてみて感じたのですが、Golangはできるだけ文法をシンプルにかつ、できるだけコードがシンプルになるように設計されています。 そしてそのために、Golangには若干トリッキーな構文がいくつかあります。 しかし、それらを知らずに、…

Go言語でハマったことメモ(ポインターのアロー演算子がない)

Golangを始めました。 始めてみて感じたのですが、Golangはできるだけ文法をシンプルにかつ、できるだけコードがシンプルになるように設計されています。 そしてそのために、Golangには若干トリッキーな構文がいくつかあります。 しかし、それらを知らずに、…

Docker Composeで、コンテナ毎にログをタブに分けて表示する方法

複数のコンテナを連携させたい時は、Docker Composeを使っています。 Docker Composeを実行すると、各コンテナのログが表示されるのですが、1画面に全てのコンテナのログが表示されます。 コンテナ毎にログを追いたいのですが、途中で他のコンテナのログが…

Jenkinsのdockerイメージは、Docker公式とJenkins公式の2つあるのか…

DockerでJenkinsを使いたかったので、Jenkinsイメージを取ってきて使いました。 FROM jenkins:alpine 問題発生 Jenkinsのセットアップでプラグインをインストールしようとすると、ことごとくエラーになりました。 原因究明 プラグインのエラーを見るとこんな…

kubectlで複数のクラスターを切り替える方法

Kubernetesの新しいクラスターを追加したので、kubectlコマンドで切り替えられるように設定しました。 一度設定してしまうといじることはなく、このままだとやり方忘れてしまうので、自分用に設定方法をメモしておきます。 仕組み Kubernetesを操作するにはk…

Google Cloud SDK(gcloud)で複数アカウント・プロジェクトを切り替える方法

Google Cloud Platformに新しいプロジェクトを追加したので、Google Cloud SDK(gcloud CLI)でプロジェクトを切り替えられるように設定しました。 一度設定してしまうといじることはなく、このままだとやり方忘れてしまうので、自分用に設定方法をメモして…

Microsoft Graph (Office365) API の、管理者アクセスできる、ユーザーなしトークンを取得して使用する方法

Microsoft Graph (Office365) APIの、管理者トークンの取得と使い方に関するメモです。 きっかけ Azure Active Directoryのユーザー・グループの追加・削除を、APIを使って行おうとしました。 Azure Active DirectoryのAPIは、Microsoft Graph (Office365) A…

Azure Active Directoryのシングルサインオン(SSO)で、アプリにログインできない時の対処方法

シングルサインオン(SSO)サービスに興味があって、一時期色々サービスを試していました。 www.kwbtblog.com Office365のユーザーをキーとしてログインしたかったので、結局Azure Active DirectoryのSSOを使うことにしました。用途としては、主にTableauのロ…

Dockerfileのタグでlatestは使っちゃいけないなぁと思った

定期的に、AWS S3のファイルを、Google Cloud Storageにコピーしています。 コピーのやり方は色々あるのですが、ここではGoogle Cloud SDKのgsutilコマンドを使っていて、 Google Cloud SDKは、Alpine LinuxのDockerイメージを使用しています。 しかし、ある…

Google BigQueryのNode.js SDKで、Cloud Storageの複数のファイルをまとめてロードする方法

Google BigQueryに、Google Cloud Storageのファイルをロードする時、複数のファイルをまとめてロードすることができます。 しかし、それをGoogle BigQueryのNode.js SDKでやろうとしてハマったので、そのメモ書きです。 概要および問題点 table.createLoadJ…

Google Cloud Storageでファイルとディレクトリを区別する方法

Google Cloud Storageで、サブディレクトリ内のファイル一覧を取得して、それらのファイルの処理をしようとしました。 しかし、ファイルがおかしいとエラーが出るので見てみたら、取得したファイル一覧に、サブディレクトリが含まれていました。 原因 前に勘…

Google Cloud Storageのサブディレクトリ一覧をNode.jsで取得する方法

以前、Google Cloud Storageのサブディレクトリ一覧を、GCP Pyhtonライブラリを使って取得したのですが、そのNode.jsバージョンです。 Pythonバージョンはこちら www.kwbtblog.com 手順 GCP Node.js SDKのドキュメントにサンプルがあるので親切ですね。 http…

TwitterのSearch APIの使い方で混乱したのでまとめてみる

Twitter APIを使ってデータ収集する機会がありました。 Twitter APIには、Googleの検索のように、ツイートを検索するSearch APIがあって、今回それを使いました。 普段Twitterは、主にリーダーとして利用していたので、あまり機能を意識することは無かったの…

Linuxでアンダーバーが入力できなくなった

追記 Chromeの更新通知が来たので、期待しながら更新すると、アンダーバーの入力ができるように治ってました! 元記事は残しておきます。以下元記事です。 Linux(Ubuntu)とWindowsを使っているのですが、キーボード・マウス・モニターを切り替えるのが面倒…

JavaScriptで、Excelで出力した、改行・カンマ付きCSVファイルを読み込む方法

CSVファイルの読み込みは、今までSheetJSを使っていました。 しかし、どうしても文字化けしてうまく読み込めないCSVファイルがあったので、他のライブラリを試してみることにしました。 npmで「csv」で検索すると一番上に出てくる、その名も「csv」というラ…