Category:

pythonのTips

仕事でpythonを触る機会が今後増えそうなので、pythonに関するメモをためていく予定です。 Pythonのバージョン管理(pyenv) pyenvを使ってpythonをインストールします # pyenvのインストール brew install pyenv pyenv -v > pyenv 1.2.13 # インストール可能なpythonのバージョン確認 pyenv install –list # 特定のバージョンのpythonをインストール pyenv install 3.7.4 # インストール済みのpythonのバージョン確認 pyenv versions > * system (set by /Users/rinoguchi/.pyenv/version) > 3.7.4 # ~/.bash_profileに以下の設定を追加(symsとautocompletionの有効化) Continue Reading

Posted On :
Category:

拾った梅で梅ジャムを作った

先週末、近場の梅林で地面に落っこちている梅の実を拾ってきて、大量の梅ジャムを作ったので、作り方を記録しておきます。おそらく今年は200個ぐらいの実を拾ってきて、結構大きめなビン8本分のジャムを作ることができました。我が家では毎朝のヨールグトにジャムを入れるのが定番なので、毎年ただで大量に作れる梅ジャムをとても重宝しています。 なお、もちろん梅泥棒ではありません。梅林の管理人さんに確認して、落ちている梅は拾って問題ないとの返事をいただいていることは明記しておきます。 容器を煮沸消毒する まずは出来上がった梅ジャムを入れるビンを煮沸消毒します。数分間沸騰したお湯でビンを茹でるだけです。 梅の実を水で洗う 拾ってきた梅の実を水で洗います。落ちている梅の実はナメクジとかがくっついていたりするので、表面は結構汚れていると思います。どうせこの後煮沸消毒されるので、あまり気にしてもしょうがないかもしれま Continue Reading

Posted On :
Category:

slickにおけるトランザクション管理

scalaのデータベースライブラリとしてslickを業務で使ってみようと試していたが、ドランザクション管理に制限があり、最終的に取りやめることにした。調べたこと、試したことを備忘録的に残しておこうと思う。 slick version : 3.3.0 slickの基本 slickではクエリに相当するDBIOActionというものをまず生成する。以下の例だとinsertやupdateがDBIOActionに当たる。また、insertとupdateを合わせたactionもDBIOActionに当たる。 次に、db.run()でアクションを実行することにより、実際にSQLが実行される。 val insert = Hoge.map(h => (h.item1, h.item2)).++(Seq((11, 12), (21, 22)) val update = Hoge.filter(_.ite Continue Reading

Posted On :
Category:

DockerのTips

Dockerに関するTipsを気がついたら追記していく予定。 ちなみにDocker Composeに特化したTipsは こちら を参照のこと DockerコンテナのIPアドレスを確認 まずは、対象のネットワーク名を取得する。 docker network ls NETWORK ID NAME DRIVER SCOPE 1e1234536b95 sample_default bridge local 次に、ネットワークおよびそのネットワークに所属するコンテナの詳細情報を取得する。 この実行結果だと172.19.0.2が対象コンテナのIPアドレスとなる。 docker network inspect sample_default [ { "Name": "sample_default", "Id": "xxxxxx&quot Continue Reading

Posted On :
Category:

Vue.js+TypeScriptでフロントエンドアプリを構築時のTips

現在プライベートで作っているWEBサービスのフロントエンドを作るにあたって、Vue.js+TypeScriptを試してみることにした。 基本的には公式サイトを参照させていただいた。 作るもの メモを編集する画面を作成する。 初期表示 メモ表示欄とEDITボタンが表示されている メモ表示欄にはメモ取得APIで取得したメモの内容を表示する APIで取得する内容はこんな感じ。{ id: 123, body: "これはサンプルです"} EDITボタンクリック 表示欄+EDITボタンを非表示にし、編集欄(textarea)+SAVEボタンを表示する SAVEボタンクリック 編集欄+SAVEボタンを非表示にし、表示欄+EDITボタンを表示する メモ保存APIでメモを保存する プロジェクト作成 npmのインストール 以前記事を書いたのでこちらを参照のこと。 node.jsおよびnpm Continue Reading

Posted On :
Category:

Vue+TypeScriptのプロジェクトにVuetifyを導入

2020年6月追記:記事の内容がだいぶ古くなっていたので、最新の情報に見直しました。 Vue+TypeScriptで作ったフロントエンドアプリの見た目をよくしたかったので、Vuetifyを導入しました。 Quick Startにいっぱい書いてあって、どれをどうやればいいかが結構分かりにくかったので、導入手順を記載しておきます。 インストール こちら にしたがって導入をします。 VuetifyのUI Componentを利用する箇所で毎回moduleをimportしなくても、自動的にimportしてくれる vuetify-loader を利用するケースについて記載しています。 依存ライブラリを追加します。 npm install –save vuetify npm install –save-dev sass sass-loader fibers deepmerge -D npm ins Continue Reading

Posted On :
Category:

Docker Compose上のNginxをHTTPS対応する

ローカル開発用にDocker Comnposeで動かしているNginxをHTTPS対応する必要が出てきたので、自作のSSL証明書を使って対応することにした。 opensslで秘密鍵、署名リクエスト、SSL証明書を作成 sslというフォルダを作成する mkdir ssl cd ssl 秘密鍵(KEY)を作成する 暗号にはRSA 2048ビットを使用する。 openssl genrsa 2048 > server.key 署名リクエスト(CSR)を生成する SSLサーバ証明書発行に必要なテキストデータで、認証局はこのテキストデータを元に内容を精査してSSL証明書を発行するらしい。(今回は自作するので適当でOK) openssl req -new -key server.key > server.csr > Country Name (2 letter code) []:81 > S Continue Reading

Posted On :
Category:

たまに使うLinuxコマンドやbashスクリプトメモ

たまに使うLinuxコマンドやスクリプトを随時メモしていく予定です。 ターミナルからログアウトしてもコマンドを動かし続ける とても処理時間がかかる処理を実行する際に、ネットワークが切れたりして処理が停止するのを避けたいときに使います。 # nohupでhangupシグナルを無視し、バックグラウンドで実行させる nohup コマンド & nohup pg_dump -h localhost -p 5432 -U admin -Fc -f hoge.dmp hoge & # ジョブの確認・停止・再開などは通常と同じ バックグラウンド実行、フォアグラウンド実行 # バックグラウンドで実行する コマンド & sar 5 555 & > [2] 9095 > Linux 5.4.0-1025-gcp (stg-scraper01) 2020年10月01日 _x86_6 Continue Reading

Posted On :
Category:

Ktorで構築したAPIサーバのGoogle OAuth認証処理の全体像

最初は、KtorでAPIサーバを作るにあたり、公式ページ を参考にバックエンドでGoogle OAuth認証を行う実装を行なった。 しかし、フロントエンドからAPIを呼び出した際に、 フロントエンド => バックエンド => (redirect) => account.google.com の様な流れで、CORSエラーが発生することが分かった(詳細はこちら)。 リバースプロキシでフロントエンドとバックエンドのドメインを統一してみてもうまく解決できず、結局公式で紹介されているGoogle OAuth認証は諦め、自前で認証処理を実装することにした。 処理の流れ フロントエンド側の実装 package.json vue-google-oauth2の依存関係を追加する。 "dependencies": { "vue-google-oauth2&quo Continue Reading

Posted On :
Category:

ローカル環境で開発中の複数アプリサーバのドメインをNginxで統一する

ローカル環境で開発中の複数アプリサーバのドメインを統一する必要が出てきたので、Docker Composeを使ってNginxでリバースプロキシを立てることにした。 実現したいこと http://rinoguchi.io/hoge –proxy–> http://localhost:8080 http://rinoguchi.io/fuga –proxy–> http://localhost:8081 モチベーション Dockerで立ち上げた複数アプリサーバを、Docker Composeを使ってNginxでリバースプロキシする話は結構あるのだが、Dockerを使わず立ち上げたアプリサーバの話は発見できなかった。 個人的には、開発対象のアプリケーションはAutoReloadが効かなくなるのでDockerでは立ち上げない方が良いと考えている。なので、今回Dockerを使わず Continue Reading

Posted On :