フリーランチ食べたい

Python/機械学習/データ解析/ソフトウェア開発などなど

Nuxtで@nuxtjs/dotenvを使って環境変数を環境ごとに読み分ける

Nuxt開発の小ネタです。環境変数を開発環境/本番環境で切り分けたいときにどうすればよいか、わからなかったのでメモしておきます。

Nuxt/VuexでFirebase Authenticationを使ってユーザー認証機能を作る

Nuxt/VuexでFirebase Authenticationを使ったユーザー認証機能を作るにあたって、基本的なやり方はFirebaseドキュメントに書いてあるのですが、「どこに何を書けばいいのか」がよくわからなかったので調べながらまとめてみました。

Vaex入門 / 可視化もXGBoostも

はじめに 昨日Vaexの性能評価の記事を書きました。 その記事では長くなってしまうので基本的な使い方などを省略しました。 なので今回は入門記事として使い方を紹介します。 blog.ikedaosushi.com

Pandasで行うデータ処理を100倍高速にするOut-of-CoreフレームワークVaex

TL;DR アウトオブコア、かつマルチコアでデータ処理を行えるVaexの紹介です。 string関係のメソッドで平均して100倍以上の高速化が確認できました。(作者のベンチマークだと最大1000倍) 文字列処理以外でも数倍~数十倍の高速化が行えそうです。 この記事では…

つくばPythonもくもく会(tsukuba.py)No.5を開催しました🐍 / 次回開催のお知らせ

5回目になりました! 本日「つくばPythonもくもく会No.5」を開催しました。 最近開催報告を書いていなかったのですが、ありがたいことにブログを見て来てくれる方もいらっしゃるようなので、久々に書いてみました。 開催中の風景

Lambda Layerを使ってデプロイを高速化する

TL;DR Lambda Layerを使ってLambdaのデプロイを高速化します。 ServerlessとServerless Pluginを使うことで簡単に実現することができます。 今回試した一例ですが、252.47秒->45.49秒で5倍高速化しました。 はじめに Serverlessを用いたLambda Layerの活用に…

AWS Secrets Managerを使って安全で簡単にGCPの秘密鍵JSONファイルなどの秘匿情報を取り扱う

TL;DR AWS Secrets Managerで秘密鍵JSONファイルなどを簡単に扱うことができます。 1つのユースケースとしてこの記事ではGCPの秘密鍵を扱います。 GCPのSDKに読み込む方法も解説します。 はじめに CI/CDでアクセスキー/シークレットキーなどの秘匿情報を扱う…

眠っているログを活用しよう / Rails Developer Meetup 2019で発表しました

RailsDM2019(https://railsdm.github.io/) で発表させていただきました。 タイトルは少し長いのですが、 「ログを解析し続けてわかった、 会社で眠っているアクセスログを活用する5つのプラクティス」 です。 ログを解析し続けてわかった、 会社で眠っている…

3/23(土)にRails Developers Meetup 2019で発表します

今回は技術記事ではなく、告知です! 再来週に迫った3/22(金)・23(土)に外苑前の日本オラクルさんで開催されるRails Developers Meetup 2019にスピーカーとして参加させていただきます。 もうチケットは完売しているようなのですが、参加予定の方いたら是非…

レコメンドアルゴリズム入門(非個人化推薦/コンテントベースフィルタリング/協調フィルタリング)

現在受講中のCourseraのRecommender Systemsコースの中で自社のサービスなどにレコメンド機能の導入を検討している方に有用だと思われる情報があったのでまとめてみました!「レコメンドアルゴリズムって協調フィルタリングのこと?」というくらいの知識の方…

【Chrome Extension】簡単にURLとタイトルをコピーできる「simple-url-copy」作りました

今閲覧しているURLとタイトルを簡単にコピーできるChrome Extensionを公開しました。 ダウンロードはこちらから↓ chrome.google.com このブログでは、なぜこのChrome Extensionを作ったのか、どういう機能があるのかを簡単に紹介したいと思います。 実は同機…

【Rust】bostonデータセットで重回帰モデルの学習/評価を行う

TL;DR Rustの勉強として、データセットを読み込み重回帰モデルを構築してみました。 Pythonでは良く行っている処理なのですが、Rustで書くと詰まるポイントも多くその分勉強になりました。

【Nuxt.js/axios】別ドメインへのajaxがCORS policyで弾かれる問題の対応

ここのところNuxt.jsで開発を行っていて、詰まったところがあったので記載しておきます。 TL;DR 現状axios/devサーバーのヘッダー設定だけでは解決できません。(調べた限り) devサーバー側でaxiosのproxyの設定を行う必要があります。

【Python】Pipfile.lockを活用したDockerとpipenvでの安全な環境構築

Dockerとpipenvを使った環境構築についての記事はいくつか読んだのですが、PIpfile.lockを更新する運用について書かれている記事が少ない(見つけられなかった)ため、書いておきます。 TL;DR Dockerfile内では pipenv install --system --ignore-pipfile --de…

【Go】 .env.exmapleを簡単に作れるツールを作りました

Go

Go製の便利ツール envexample 小ネタですが、Goで便利ツール作ってみたので紹介させてください。 .env から .env.example を簡単に作れものです。

【Selenium】 UnexpectedAlertPresentExceptionが出るケースとその対応

Seleniumで思わぬエラーが発生したのでメモとして残しておきます。 TL;DR UnexpectedAlertPresentExceptionはalertに処理がブロックされているときに起きます。 seleniumのalertオブジェクトを操作することで解消します。 こんなケースで発生 自分の場合では…

【Coursera】 実践的な機械学習の知識が得られる「How to Win a Data Science Competition」「Bayesian Methods for Machine Learning」がオススメ

業務で機械学習する方にオススメなCourseraの2コース オンライン学習サービスのCourseraで下の2つのコースを去年末から受講しており、最終課題に少し時間がかかってしまったのですが、無事どちらも修了することができました。 How to Win a Data Science Com…

【JupyerHub】アカウント作成時/ログイン時に処理を行う、ログインユーザーの環境変数を設定する

JupyterHubの日本語記事が少ないので書いていこうと思います。 TL;DR アカウント作成時は c.LocalAuthenticator.add_user_cmd で設定 ログイン時は c.Spawner.pre_spawn_hook で設定 環境変数は c.Spawner.environment で設定

Serverlessを使って簡単にAWS Lambda Layers上でHeadless Chromeを動かす

この記事は Serverless2 Advent Calendar 2018 - Qiita の20日目です。 今年開催された re:Invent2018でAWS Lambda Layersが発表されました。 このアップデートによってC拡張のライブラリや容量の大きいライブラリの利用がより便利になりました。 その中でも…

Chrome/Firefox/SafariでResource(JS/CSSなど)をキャッシュからロードしないようにする方法

小ネタです。Safariがわかりにくかったので調べたんですが、ついでにChrome/Firefoxも。 Resourceのキャッシュとは JSやCSS、画像などをブラウザはキャッシュしていて、サイトにアクセスした際、そちらから読めるときは優先的にロードするようになっています…

Kaggleでよく使われるStacking/Blendingをheamy、Stacknetをpystacknetで高速に実装する

この記事は 機械学習工学 / MLSE Advent Calendar 2018 - Qiita の15日目です。 Stacking/Blendingは実装が面倒 Kaggleなどでよく使われるアンサンブル手法にStacking/Blendingがありますが自分で実装すると結構面倒です またモデルの精度を測る際にK-Fold V…

「rebuild.fmの統計学」という発表をしました。コードと簡単な解説(requests_html/pandas/matplotlib/seaborn)

「rebuild.fmの統計学」というタイトルで発表しました。 資料はSpeakerDecからご覧ください! speakerdeck.com LIFULLさんで開催された「Ltech#3 【podcast × IT】LT Night !」で話しました。 lifull.connpass.com 使ったコードは全Githubに上げましたが、簡…

人間のためのイケてるPython WebFramework「responder」、そして作者のKenneth Reitzについて

この記事は Python その2 Advent Calendar 2018 - Qiita の1日目です。 responderとは GitHub - kennethreitz/responder: a familiar HTTP Service Framework for Python 2018年10月に公開された イケてるPython WebFramework です。 requestsやpipenvなどの…

つくばPythonもくもく会 No.2 開催レポート&No.3開催のお知らせ

つくばPythonもくもく会 No.2 を開催しました& No.3 を12/15(土) に開催します。 先週の日曜(11/18)にNo.2を開催しました tskubapy.connpass.com No.1 から参加者が大幅に増え合計13人の方に参加いただきました ありがとうございます! 早速ですが、No.3の…

Pythonに関するオススメの書籍/サイト/サービス/Podcast/イベントの情報をシェア

Pythonをこれから勉強したい or 最新情報のキャッチアップがわからない、という方に tskubapy.connpass.com つくばPythonもくもく会 No.2を開催しました! 参加者の方の中にはこれからPythonを始めたい、という方もいらっしゃったので、今まで自分が勉強して…

scikit-learnのRandomForest.feature_importances_のコードを追う

feature_importances_をちゃんと理解する feature_importances_ とは sklearn.ensemble.RandomForestClassifier、 sklearn.ensemble.RandomForestRegressor (など)で特徴量の重要度を出力するメソッドです。 とても便利で、EDAやモデルの精度向上のためのア…

機械学習関係の主要人物20人を調査

先日のイベントで調べよう!と思うきっかけがありました 下のTweetのように先週は「MachineLearning15Minitues」というイベントに参加してきました。 株式会社バクフーの柏野さんの発表が個人的にとても好きな内容で是非皆さんにも見てもらいたいのですが、…

%macro/%store を組み合わせてJupyterでのライブラリ読み込みを劇的に効率化する

Jupyterで読み込むライブラリを毎回書いてませんか? 機械学習やデータ解析をJupyterで行うときに読み込むライブラリって大体決まっていますよね。 毎回1、2つ目のセルにライブラリ読み込み処理をズラッと書いてないですか? 人によってはスニペットアプリな…

アンサンブル手法のStackingを実装と図で理解する

Stackingとは何か 機械学習モデルの精度を向上させる手法の1つで、モデルを積み重ねる(Stackする)ことで精度を高めます。 ポピュラーかつ、強力な手法なKaggleのKernelで見ることも多いですね。 アンサンブル学習の一種で、他のアンサンブル学習にはAveragin…

matsumotoryさん、kwappaさんの公開ポートフォリオレビューを受けました/自分なりにアウトプットすることのメリットを整理してみた

「エンジニアの日々のアウトプット」に関するForkwellさんのイベントに参加してきました。 ForkwellのポートフォリオはのぼりーさんのクラウドPodcastのmatsumotoryさんゲスト回を聞いて興味を持ち使い始めました。 ただ、埋めやすいところを埋めてGithubを…