tekitoumemo’s diary

.NET CoreとVue、Angularなどの技術ブログを書いています。みんなの洋楽ランキングを運営しています。

App Service on Linuxが安くなった

去年のMicrosoft Build 2019でApp ServiceのFreeプラン(無料)が発表されました。それと同時にキャンペーン価格としてLinuxのBasicプラン(コア1、RAM1.75G、STORAGE 10G)が2020年1月まで1500円/月 程度となりましたが、謎に全くアナウンスが無い状態でキ…

買ってよかったもの【2020年上半期】

今年はコロナで不況になって節約気味なのであまり大きな買い物してない(してる)。皮肉なことに、不況ながらもフリーランスになった中で一番働いてるので前半後半比較したくて書いてみた。 Macbook Pro tekitoumemo.hatenablog.com¥267,080やっぱこの金額…

(JS)同じオブジェクトの繰り返しを作る

いつも忘れてぐぐる new Array(10).fill({ hoge: 'piyo' })

HTMLCanvasElement.toBlobくそ遅い

developer.mozilla.org3072 x 1920 とかでかい解像度のcanvasをBlobに変換するとクソ遅い。 canvas.toBlob((blob) => { // Do something }) callbackつらいのでPromise化 new Promise((resolve) => canvas.toBlob((blob) => resolve(blob)) ) でも遅いので結…

.NET CoreアプリをGitHub ActionsでAzureにデプロイした

mygkrnk.com個人サービスをkuduデプロイからGitHub Actionsへ、.NET Core2.2から3.1に上げた。 NET Coreバージョンアップは別の記事で書く。 kuduとは Azure Webサイトで利用されているGitデプロイエンジン。要はオープンソースのCIなのだが、非常に使い勝手…

個人サービス公開して二年経ったので振り返る

去年の振り返り ※この記事は振り返りの続きです。 tekitoumemo.hatenablog.comこのブログに何度も登場してるサービスですが、2018年の4/1に公開してから二年経ったので振り返ります。結論から言うと、うまく周ってます、黒字になりました! 2019/5 投稿が少…

VeeValidateで一括検証+スクロールするmixins

v3ではValidationObserverが追加され、一括検証が楽になった(v2知らない😇) 一括検証+エラーの要素にスクロールできれば嬉しいはずなので、そのmixinsを書く。 スクロールはお任せで、vue-scrolltoとかいいんじゃないかしら。page/hoge.vue <ValidationObserver ref='observer'> <ValidationProvider/> <ValidationProvider/> </ValidationObserver> <script> import Val…

universalモードでのaxiosのエラーハンドリングを共通化する

universalモードの場合、SPAのハンドリング、SSRのハンドリングをしなければならない。SPAの場合はビューで制御して ビュー - NuxtJSSSRの場合はnginxのerror_pageディレクティブとか使って制御する必要がある 。フロントもSSR、SPAを判定してエラーハンドリ…

[NustJS]外部ファイルからstoreにアクセスする

NuxtJSではコンポーネントやplugins、middlewareなどなど、contextにアクセス出来ないことがある。つまりstoreにアクセス出来ない。やり方はいろいろあるが、自分なりの落とし所を書く。 globalで使う(やばい) .eslintrc.js globals: { $store: true, ... …

正規表現を使ってディレクトリ内のファイルをrequire出来るようにする

requireでは、ファイル名を直接指定する必要がある。 require const hogehoge = require('./hoge/hogehoge.js') たまーに動的に使いたいときがある(NuxtJSでVeeValidateでカスタムルール作るときとか)。 こう使ってたりすることが多い。 names.forEach(nam…

dotnet build、runで起きるエラーの対処法

いつも忘れるいつもググるから備忘録 コピーできません warning MSB3026: "obj/Debug/{app}" を "bin/Debug/{app}" にコピーできませんでした。1000 ミリ秒以内に 1 回目の再試行を開始します。 多分どっかのプロセスが握ってるので、ブチ消す。 rm -rf bin …

10万PVの収益や掛かる費用など公開する

先月、約8万PV、2.2万ユーザー訪問がありました(タイトル嘘※2月は10万PVちゃんと超えました(パチパチ 10万PVも十分見込める範囲内なのでここまできた考察と収益やサーバーの維持費、その他サーバーにおけるコストなど公開します。 対象サイト mygkrnk.com …

Javascriptで基底クラスで子クラスのインスタンスを返す

class Parent { static getChildClass() { return new this() } } class Child extends Parent { static start() { console.log(this.getChildClass()) } } Child.start() // Child {}

C#でmarkdownを書く(Markdig)

サイトを運用する人あるあるで 「ガイドとかヘルプ、マジめんどくせ〜」 ってなりませんか?僕はめっちゃなります、 CSSとかマークアップがとりあえずだるいし、wordpress運用してAPIで取り込むとかもだるいです。 今回はC#でmarkdownが書けるライブラリを紹…

(Jest)引数で渡したcallbackのmockをテストする

mockしたメソッドの引数にcallbackを渡してそれをテストしたい。( ͡° ͜ʖ ͡°)べつにテストしたくないけどカバレッジが100%にならないからテストしたい。こういうのがあったとする func(() => { console.log('callback') }) mockImplementationOnceを使う func…

MacBook Pro買うた

PC

macbook買った。 私が買ったMacBook Pro ¥267,080 高っ。 なぜ買うた 今の仕事はPC至急してくれないので自分のPCを使わなければいけません。macbook airを持っていたのですが、 開発環境をdockerで完結する職場なのでメモリが8Gじゃ全然足りず、やむなくPC…

rails sでWebpacker configuration file not found

令和になってこれやってるワロタ railsguides.jpRails6でrails sすると Webpacker configuration file not found .. etcWebpackerってなんやねんって思ったらwebpack関連のやつでこれ rails webpacker:install yarn入れてない人はこれがでる Yarn not instal…

NuxtJSでloglevelを扱う

nodeのロガーはfsに依存しているものが多く、 クライアントで気軽に使えるのが少ない(Winston 、Bunyan、log4js-node全部だめ) loglevelはなんでも行けるマンなのでこちらをNuxtJSで使う。github.complugins/logger.js /** * ref. https://github.com/pimt…

javascriptでregect

var arr = [1,2,3,4,5,6,7,8,9,10]; arr.splice(... [0,arr.length].concat(arr.filter((v) => v % 2 == 0))) 結局こっちがみやすい arr = arr.filter((v) => v % 2 == 0)

fishでrbenv

$ rbenv init # Load rbenv automatically by appending # the following to ~/.config/fish/config.fish: status --is-interactive; and source (rbenv init -|psub) ~/.config/fish/config.fish # rbenv set -x PATH $HOME/.rbenv/bin $PATH status --is-i…

e2eにcypressとjest-puppeteer使った

結論 cypress一択 技術検証+基盤導入の仕事があってどっちも軽く使ってみた。 cypress 導入まで npm install cypress --save-dev package.json "scripts": { ... "test": "jest test", // cypressもテストするのでディレクトリ指定 "cypress:open": "cypres…

NuxtJSでVeeValidate 3.x系を使う

前回の記事で書いたプロフィールサイトでお問い合わせ画面を作ってます。 どうせ作るんならフォームバリデーションを追加してみることにします。なのでVeeValidateを使ってみます。 tekitoumemo.hatenablog.com Nuxtの設定は以下をほぼパクリました設定から…

2019年振り返って

去年もやったので振り返る2018年振り返り 仕事のこと 最悪な会社へ 昨年はAngular5と.Net Coreをやっていたが、Angularが出来なくなってきたので今年からAngularたまにReactみたいな現場に移動。ガチモンのスペシャリストがいて自分の書いたコードをレビュー…

NuxtJS勉強用にプロフィールサイトを作ってみてる

次の案件でNuxtJSを使うためプロフィールサイトを作りました(まだ途中) チュートリアルを一通り終えて、なんとなく理解したものの消化不良感が否めなかったので、フロント、サーバー間を通じて一つのサイトを作れば、それなりの力がつくはずなのでこの冬休…

車買い替えたいから候補を挙げてく

完全自己満日記。次の車検までに車を買い替えたい。 今乗ってる車 ホンダ フィット G・スマートセレクション 多分今なら50あれば上等なやつ買える。18からずっと実家の車乗ってて一人暮らししたときの不便に耐えきれず、ふらっと寄った中古車屋でノリで買っ…

macでAzure CLI入れてApp Serviceにsshするまで

App ServiceはPaasなのでsshを使う意味はほとんどありませんが、検証する際にたまーに必要になったりします。Azure portalから簡易的なsshが使えるので、必要はないのですが、芸がないので一応やってみることにしました。 HomebrewでAzure Cliをインストール…

screenコマンドメモ

iterm使ってたけど、linuxで使えなくて地味なストレスを抱えてたのでこの機会にfish+screenに変更する セッション起動 screen 水平分割 <ctrl> + <a> S 垂直分割 <ctrl> + <a> | 移動 <ctrl> + <a> tab shell起動 <ctrl> + <a> c</a></ctrl></a></ctrl></a></ctrl></a></ctrl>

Azure App Serviceでは.NET Coreの拡張子なしの静的ファイルにアクセス出来ない?

誰の役に立つか不明だが一応。個人的な都合でLet's Encryptの発行をubuntu機で行っていました。ちょうど入院(え?)したこの機会にmacで発行しようといろいろ試した備忘録です。いままではLet's EncryptをDNS認証で行っていましたが、今回はACMEのチェレン…

運営してるサービスのパフォーマンス改善をしました

こんにちは。みんなの洋楽ランキングでパフォーマンス改善をした結果、かなり速度が改善されたのでやったことを記載します。 まずは結果から 計測はPageSpeed Insightsで行っています。この結果はモバイルのみであり、デスクトップの結果は面倒なので載せま…

食洗機が最強すぎた

今までいろいろ購入して便利だったものを書きました。tekitoumemo.hatenablog.com tekitoumemo.hatenablog.com 乗り物ばっかやんけ!! 僕も昔と比べて大人になりました。もう結婚もして子どももいます。なのでもう少し実用的なものを紹介します。 食洗機!…