St_Hakky’s blog

Data Science / Human Resources / Web Applicationについて書きます

【Golang】AtCoderの精選過去問10問やってみた

こんにちは。今日は、Goの練習がてら、AtCoderの問題を解いてみました。以下の記事を読んで、入門者向けの過去問精選10問があることを知ったので、それをときました。 qiita.com 過去問集 問題はこちら。atcoder.jp 解いたコード 第0問:WelcometoAtCoder pa…

Google Dmainsを使ってドメインを取得したのでまとめる

こんにちは。最近、プライベートでアプリ開発をしてみようと思って、ドメインを初めてGoogle Dmainsを使って取得したので、そのやり方をまとめます。今、Firebaseでアプリケーションはホスティングして、DNSは今後のことも考えてGCPでやっているのですが*1、…

Data Portal(旧Data Studio)を真面目に触ってみたので、参考になった記事とかまとめる

こんにちは。これまで、自社でRedashをメインで使っていたのですが、GCPの移行を部分的に進めているのもあって、Data Portal(Data Studio)を社内使ってみましたので、そのときに調べた内容とかハマったこととかを上げていきたいと思います。まだ、使って4日…

【Git】ローカルリポジトリをリモートリポジトリに反映する

Git

こんにちは。今日は、たまにしかやらないので、忘れてしまうローカルリポジトリをリモートリポジトリに反映する方法を書きます。 ローカルリポジトリの設定 何かしらの経緯で、ローカルリポジトリを設定されていたとします。以下は、自分で設定した場合のコ…

【Golang】godotenv を使ってenvファイルを扱う

こんにちは。今日は、envファイルをGoで扱うために、godotenvを使った方法を試してみたいと思います。 godotenvとは Goには環境変数を読み込んで処理する方法がありますが、godotenvは、envファイルから環境変数を読み込むことができるライブラリです。 Gith…

【Python】Pandasのメモリ使用量の削減方法のまとめ

こんにちは。今、とある事情でPandasのメモリ使用量の削減を仕事でしているのですが、その時に改めてPandasのメモリ使用量の削減方法を調べたので、まとめてみます。 メモリ使用量の確認 今回、タスクを実施するにあたってメモリ使用量がどのくらいかかって…

【Golang】Go Modulesについて調べたのでまとめる

こんにちは。最近、Goの勉強をせっせとしています。特に業務で使うわけでもなく、完全に趣味なのですが、楽しいのでやっています笑。今回は、Go Modulesについて調べたのでまとめてみます。 Go Modulesとは Go 1.11 から追加された外部パッケージの管理シス…

【Python】Pandasで大きなcsvファイルを読み込む

こんにちは。最近、少し重めのデータを扱うことがありまして、Pandasで読み込もうとしたところ、メモリエラーを食いました。良い機会なので大きめのcsvファイルを扱う時に行うことを自分用メモとしてまとめておこうと思います。 方法一覧 大きめのファイルを…

【Python】Pythonの高速化のためのNumbaのTips

こんにちは。最近、仕事でNumbaを使ったコードと対峙しまして、良い機会だと思って、NumbaのTipsをまとめてみました 本家 Numba: A High Performance Python Compiler Numbaとは PythonやNumpyのコードを高速な機械語に変換するためのJITコンパイラのことを…

【AWS】SAMを使ってLambdaでAuroraを自動で停止させる

こんにちは。先日、開発チームのコスト削減の一環で、開発環境のAuroraをDailyで確認し、起動されていたら、自動的に停止するスクリプトを書きました。そんなに大したことではないのですが、なんかまたありそうなネタなので、自分のブログでまとめておこうか…

【Docker】docker-composeのCPU/メモリ使用量の制限

こんにちは。今仕事でメモリ使用量を最適化するような感じのタスクをやっていて、docker-composeのメモリ使用量を制限するやり方みたいなのを調べたのでまとめておきます*1。docker-composeのversion3を使っているのですが、version2のやり方で行けるかなー…

【Python】テスト駆動開発(TDD)について

こんにちは。最近、「テスト駆動Python」という本を読んで、「弊社の開発チームでは取り入れていませんが、そういえばテスト駆動開発とかもあるなぁ」、と思って、ぼんやりとは知っていたものの、ちゃんと調べたことがなかったので、調べてみました*1。 テス…

【Python】「テスト駆動Python」を読んだ

こんにちは。最近、テスト周りについてがっつり調べていたのですが、今やっているプロジェクトでpytestを使っているので、その周辺でいい本ないかなぁと思って読んでみました。この記事では、その本の紹介をしてみたいと思います。 今回読んだ本 今回読んだ…

【Terraform】tfenvでterraformのバージョン管理

こんにちは。今日は、tfenvでterraformのバージョン管理をやっているので、そのことについて書きます。 tfenvとは 複数のプロジェクトで、terraformを使う場合、terraformのバージョンが違うことがあります。そのことに対応するために、複数のterraformをイ…

【Python】使用メモリを計測するためにmemory_profilerを使う

こんにちは。Pythonでメモリ使用量を調査する方法について、今回はmemory_profilerについて調べたのでまとめます。 本家のサイト memory-profiler · PyPI インストール $ pip install memory_profiler 使い方 使い方としては、めちゃめちゃ簡単で、確認した…

【Python】Apache Beamを使ってデータパイプラインを実装してみる

こんにちは。先日、Apache Beamに関する概要の記事を書きました。www.st-hakky-blog.com今回は、Apache Beam SDKのうち、Pythonを使って、実際にデータパイプラインを実装してみようと思います*1。 今回のお題 今回は、Apache Beamの公式のドキュメントをベ…

Apache Beamとは

こんにちは。最近、社内のデータパイプラインの再設計をしておりまして、その中でGCPのDataflowを使う話が出てきました。その中で、Apache Beamの内容について勉強する必要があったので、それについてまとめます*1 Apache Beamとは 公式サイト 本家のサイト…

【Redis】Redashがredisのメモリ不足で落ちた

こんにちは。 Redashが吐き出したエラー 会社でRedashを使っているのですが、こいつがクエリを叩くたびに以下のようなエラーを出すようになりました。 Error running query: failed communicating with server. Please check your Internet connection and t…

【Scala】sbtenvでsbtをインストールする

こんにちは。最近、社内でScalaを使っていくことになりまして、勉強し始めました。 sbtenv Githubのページはこちら。github.com インストール 基本的には、Githubから落としてきて、そのままPATHの指定をやるだけ(私は、zshを使っているので)。 $ git clone …

【Golang】Go自体の環境のバージョン管理ができるgvmの導入

こんにちは。会社でGoを本格的に使う感じになりそうなので、色々手探りながら勉強しながらやっています。今回は、Go自体のバージョン管理を行うことができる、gvmを使ってみました。 gvmとは gvm は、Go Version Manager の略で、github.com インストール 今…

【Atom】Golangの環境設定

こんにちは。Golangを会社で使うことになりそうなので、年末年始を使って、 A Tour of Go をやっています。一通り読んだので、Atomで諸々書いてみるかーと思ったので、ついでに環境設定を書いておきます。N番煎じくらいの記事なので、目新しいことはなく、た…

【Atom】textlint/prhを導入して、日本語チェックを行う方法をまとめてみた

こんにちは。最近、仕事が鬼のように忙しくて、あんまりブログ更新できていませんでしたが、また更新していこうと思います。 モチベーション 仕事で、文章を書いてそれを出すやつのお手伝いをしているのですが、その際に次のような話が上がりました。 文章の…

【Dependabot】パッケージ自動アップデートサービスを導入してみたのでまとめる

こんにちは。最近、チームでパッケージアップデートを盛んに行う、それはもうお盛んに行うというイベントがありました。その中で、「いやー、これはやばいっしょ」ってなって、そこからパッケージアップデートサービスを導入しようみたいな動きになりました…

【Python】時系列予測ライブラリProphetで学習したモデルを保存・呼び出しする

こんにちは。随分前ですが、Facebookの時系列予測ライブラリのProphetについて記事を書きました。www.st-hakky-blog.comちょっぴり本格的に使う機運が高まってきて、「そういえばどうやってモデルを保存・呼び出しするんだろう」って思って、調べてみました…

【Plotly】jupyter notebook上でofflineで使う方法

こんにちは。いつも忘れるので、備忘録。 Jupyter Notebook上で使うときの方法 import plotly.graph_objs as go from plotly.offline import init_notebook_mode, plot, iplot init_notebook_mode(connected=True) 参考 Plotly Offline for IPython Notebooks…

【Python】Pandasでapply処理時に複数の値を返せるようにする

こんにちは。いつも忘れてしまうので、書きます。 やりたいこと Pandasで、applyの処理を書くことはよくあると思うのですが、このときに複数の値を返して、一度で複数カラムを追加したいのです。通常、apply関数を使用して素直にやろうとすると、以下のよう…

【folium】Pythonで位置情報の可視化

こんにちは。今回は、Pythonのライブラリである「folium」を使って、位置情報を可視化してみたので、その方法についてまとめてみます。 概要 Pythonで簡単に使える、地理情報の可視化ライブラリです。以下が関連サイト Github:GitHub - python-visualizatio…

【CircleCI】エラーが出た時に、デバッグする方法

こんにちは。今作っているシステムで、CircleCIがこけるようになりまして、まじかよって感じで、とりまで直そうと思って git push してやったらなんかうまくいかなかったので、しっかりやろうと思ってやりました。デバッグの方法なども、sshでやるのはやって…

yarnでのパッケージアップデートについて

こんにちは。現在、盛大に古いコードのパッケージのアップデートをチームメンバーが行なっているのですが、触発されてちょっとパッケージのアップデート方法調べてまとめてみました。 指定したパッケージのアップデート 普通にパッケージをアップデートする…

ECSを勉強するにあたって役に立った資料とメモ

こんにちは。自分でECSとか触って開発することになったので、そのやり方とかまとめておこうと思います。 ECSとは AWSのコンテナ管理のマネージドサービス。ぐだぐだ私が説明するよりも、ぶっちゃけ世の中に良き記事が出すぎて、改めて書く必要もなし。 AWS B…