カレーのライスをtech忘れ

odmishienのtechメモ

OpenWeatherMapのWeatherAPIでFreeプランだけど明日の天気を取得したい

Freeプランでは明日の天気をDaily Forecastから取得できない ちょっとハマったので記録を残しておく。 卒論生の作っているアプリでOpenWeatherMapのWeatherAPIを使っている。 openweathermap.org 今日の天気を取るのは簡単で、Current weather data - OpenWe…

GitHubのプロフィールに表示されるREADMEをいい感じにする

人に見てもらう意味でも、自分を客観的に見つめる意味でも、技術ポートフォリオをアップデートしていく作業は大切だなと思う。でも改めて自分のスキルや技術スタックをまとめるのは色々面倒。 割と今更ですが、今回はサクッとGitHubのプロフィールのトップに…

GitHubActionsではchange directoryしない方が良さそう

こんな風に cd するよりも - name: Setup Envs run: | cd app cp .env.dev .env working-directory オプションを使った方が良さそう - name: Setup Envs working-directory: ./app run: cp .env.dev .env stackoverflow.com

git push --force はなぜダメなの

git push --force って、なんか絶対やってはいけない空気を感じますよね。でも結局なぜダメなのか。あまり理解してない気がしたので、まとめてみます。 そもそもどういう場面で使うか チーム開発をやっている時に、remoteとlocalで整合性が取れなくなること…

v-showとbootstrapのFlexboxを一緒に使うとv-showが効かなくなる

v-show は単に display:none; にするだけなので bootstrapのFlexbox(display:flex;!important) と衝突する Vue.js の公式リポジトリでも議論がなされている v-show should be !important · Issue #3761 · vuejs/vue v-show に !important を付けるような実装…

TypeScriptで簡単な対話形式のCLI符計算アプリを作ってみる

仕事ですぐに使えるTypeScript を読んだ。最近はインプットばかりで、何かを作ることもできていなかったので、久しぶりに手を動かしてみることにした。 TypeScriptを書く npm packageデビューする まずはWebなどではなく、CLIでシンプルに作る この辺りを目…

ghqとanyframeで快適にGitリポジトリを管理する

研究室のScrapBoxに書いたものを転載!!! 想定環境としては OS: MacOS Shell: zsh です なにが快適になるか git clone をどこにしようか迷う必要がなくなる git clone したものをどこに保存していたか分からなくなることがなくなる ghqとは Goで実装されたリ…

Pythonのリストとタプルについてメモ

リストとタプルの違い リスト: 動的/値の変更が可能(ミュータブル)/リサイズが可能 タプル: 静的/値の変更が不可(イミュータブル)/リサイズが不可 リストの動き サイズNのリストが追加された時、その後の追加を見込んだ分のM個の領域が確保される(M>N) 領域…

SpotifyWebAPIで遊んでみる

最近趣味としてのプログラミングというか創作みたいなものができていなかったので久しぶりに遊びました。 developer.spotify.com SpotifyのAPIは色々頑張っていて、特に audio-features という曲の特徴(BPMや調はもちろんenergyやdanceabilityなどSpotifyが…

GAE/ Go1.9 から Go1.12 へ移行するためにやったこと

業務でGAEのGoアプリケーション(1.9)を1.12化をすることがあったので、作業ログをまとめておきます。 ドキュメント やること app.yaml の書き換え runtime: go112 script: auto skip_files は .gcloudignore へ移行 login が非推奨になるので新しい認証を入…

Vuexのstateの変更をVueで監視したい

vuex.vuejs.org ここに書いてあるように computed に指定すればよしなに監視してくれる。 computed: { hoge() { return store.state.hoge; } }

Go で time.Format() する際に 2019 はダメだけど 2006 ならいけた

Go

package main import ( "fmt" "time" ) func main() { t := time.Now() fmt.Println(t.Format("20190709_151230")) // 270790709_1372710 fmt.Println(t.Format("20060709_151230")) // 20190709_1372710 } 何だよ 27079 年て.................。 追記 https…

Vue ではオブジェクト変更を知らせるために $set を使う

qiita.com

"ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)" このエラー5万回見た

結局やらなくてはいけないことは sudo touch /tmp/mysql.sock みたいな感じで sockファイルを作る sudo chown mysql:mysql /tmp みたいな感じでmysqlにsockファイルの入っているディレクトリの権限を与える そもそも sudo mysql.server start などしていない…

macOS 10.15 Beta にしてからbrew upgrade が動かなかったりした

タイトルの通り、新しいもの好きの私はすぐアップデートとかしたがるんですが毎回こうやってBeta版の洗礼を受けます 今回は brew upgrade が動かなくなった ==> Upgrading heroku/brew/heroku Error: Your Xcode (10.2.1) is too outdated. Please update to…

git submodule foreach とかあるんだ

git

よくsubmoduleのあるリポジトリで Pull したり Push したりしていたら知らず知らずのうちにsubmodule内にdiffができてしまっていて、それを消さないとずっとvscodeの左のバーに通知バッチみたいなものが出てしまって鬱陶しい これまでは素朴に cd /path/to/m…

eDEX-UIを導入してみた

SF大好きっ子なら、いつでも開発環境をかっちょ良くしたいと願っているはずですよね。ということでTwitterで見かけてかねてから気になっていた eDEX-UI を導入してみました。 github.com インストール > git clone https://github.com/GitSquared/edex-ui.gi…

SeleniumでChromeheadlessを使う際に要素がVisibleにならずTimeOutになってしまう

とあるaタグのhref要素を取得したい。Pythonで書いています。 button = WebDriverWait(driver, 30).until(EC.visibility_of_element_located((By.ID, "id-of-element"))) detail_menu_url = detail_menu_button.get_attribute("href") しかしChromeのheadles…

Flask + Tweepy でTwitterOAuth周りを触った

きっかけ Twitterでバズるのって本当にTweetの中身が伴っているからバズってるのか、そのユーザの持つ特性とかがあって初めてバズってるのかよく分からないなあと思って完全に匿名のTwitterクライアントwebアプリを作ってみようと思い立ったのがきっかけ。 …

Perlの比較演算子でハマった

研修中に書いたコードでPerlでは文字列と数で比較演算子の書き方が違うというレビューをいただき、調べてみることに。Pythonでは全部==で Nullの評価だけisを使っていた記憶。 比較演算子(数値) 演算子 意味 == 等しい != 等しくない >= 以上 <= 以下 > よ…