メモ帳

読むな

Slackの投稿を1ヶ月単位でスプレッドシートに書き込む【GoogleAppsScript】

現状・やりたいこと やること 1. Slackでユーザーbotの作成 2. SlackAPIでSlackに投稿した1ヶ月分の投稿の取得 3. スプレッドシートにシートの作成と書き込み 4. GASのトリガー設定 コード全文 感想 参考 現状・やりたいこと プライベートで使ってるSlackが…

特定のファイルを後からgitignoreに追加する方法

Git

.gitignoreに追加してもリモートリポジトリにまだ残ってるやんけ!って毎回ググってるからいい加減覚えような .gitignoreに除外するファイル(ディレクトリ)を追加してから以下を実施する $ git rm --cached ファイル名 $ git add . $ git commit -m "chore…

webpackのbuildでmain.js.LICENSE.txtを出力させない

webpackでproduction buildしたときdist/にmain.js.LICENSE.txtを生成させたくなかった const TerserPlugin = require("terser-webpack-plugin"); module.exports = { // ...省略 optimization: { minimizer: [ new TerserPlugin({ extractComments: false, …

Slackbotからの通知メッセージをattachmentsでリッチにする

通常のテキストはこんな感じ↓ これを↓にする GASのコード 感想 最初attachmentsに渡す値を配列にしてなかったから送信されなくてハマった。。。 個人的な用途としてはcolor, title, title_linkだけで十分かも。(footer_iconとかいらんくね?) 参考 api.sla…

【TypeScript】Graph API を使って Instagram の投稿を取得する【2022年6月版(v14.0)】

React x TypeScriptでInstagramの投稿をサイト上に表示したかったときの備忘録 使用したGraph APIはv14.0だけど12.x, 13.xあたりも同じっぽい(多分)(未検証) 全体的な流れのうち、1, 2は書くのめんどいので割愛 Instagramをプロアカウントに変更する fac…

hoverしたときにテキストの枠線を左から右に引く

See the Pen text underline slide by miyata (@m1y474) on CodePen. 要点 通常時は疑似要素のborder-bottom: 1px solid #000; を指定したまま width: 0%; にしておく hoverしたときにwidth: 100%; にする

ボタンをhoverしたときに背景色をスライドさせる

これのこと HTML <button type="button">Button</button> ボタン部分 button { background-color: #fff; width: 200px; display: block; padding: 10px 0; border: 1px solid #000; position: relative; z-index: 1; } button:hover { color: #fff; } ボタン背景部分 button::before { posit…

スプレッドシートで列名のアルファベットを取得する

B2セルで=COLUMN()したときにBじゃなくて2が表示される 俺がほしいのはBなんだよ!! ということで完成形 =SUBSTITUTE(REGEXEXTRACT(ADDRESS(ROW(), COLUMN()), "\$.+?\$"), "$", "") 長すぎる...... セル確認したときにぱっと見でどこ参照しているのか分か…

Cloud Firestore で collection の基本操作

Cloud Firestore使ったときのメモ 検証用のメモだからダブルクウォートとシングルクウォートが混ざってるのは気にするな Create const docRef = await addDoc(collection(db, "collection"), { title: "title", description: "description", created_at: new…

Atomフィードで取得したRedmineのチケット情報をSlackに通知する

いつ使うの? 以下の状態のRedmineを使用しているとき チケット操作時にメール通知が来ない APIアクセスキーが発行されていない 管理権限を持っていない Slack App のRSSインテグレーションも使ったんだけど新規チケットの通知しか来ないし思いの外役立たず…

Toggl の作業内容を Redmine に登録する

弊社では作業管理ツールに Redmine を使用しています。 チケットと呼ばれる各タスクに作業時間を入力して、↓みたいに退社時に Slackbot で1日の作業内容がわかるようになっています。 (ちなみに上記のSlackbotは弊社代表の自作です。) ただ、これが死ぬほど…

GitHubにpushしたらHerokuへデプロイする

Herokuデビューしたときの備忘録 結構前のだから手順抜けてるかも 前提 GitHubとHerokuのアカウントが作成済み GitHubとHerokuのアカウントが連携済み App作成 App nameは空欄にしとけばHeroku側で勝手に作ってくれるのでそのままCreate appを押す 名前つけ…

textareaの入力文字数によって高さを可変にする

こういうやつ コード <textarea></textarea> <script> const textarea = document.querySelector('textarea'); textarea.addEventListener('input', () => { textarea.style.height = null; textarea.style.height = `${textarea.scrollHeight}px`; }); </script> 改行の数をカウントしてtextareaの…

LINEスタンプ作ったときの備忘録

直近死んだ犬2匹を素材にしてLINEスタンプを作りました。 store.line.me これでトークの中でレオンとネネは生き続ける。嬉しい。 一気に2匹も死んでペットロス半端なかったけどこれで少しは緩和されるといいな 多分またいつか作るから備忘録というか忘れそう…

hoverでbackground-imageを切り替えたときの画像のチラつきが気になる

↓これのこと*1 See the Pen preloadなし by miyata (@m1y474) on CodePen. なんでチラつくの? レンダリングのときは読み込まれなくて、hoverのときに初めて画像を読み込んでるから Networkタブを見てみるとhoverのタイミングで読み込んでるのがわかる 対応…

PHPUnit で作成したテスト項目をHTMLで出力する

PHPUnit の --log-junit オプションでxmlを出力する # ./vendor/bin/phpunit tests/Feature/SampleControllerTest.php --log-junit output.xml PHPUnit 9.5.10 by Sebastian Bergmann and contributors. . 1 / 1 (100%) Time: 00:00.901, Memory: 24.00 MB O…

Markdown でリストの中にコードブロックを含めると連番がリセットされる

問題 下記のようにリストの中にコードブロックが含まれる場合、リスト3 の番号が1になってしまう。 Markdown 1. リスト1 1. リスト2 \```php \``` 1. リスト3 *1 実際の表示 リスト1 リスト2 リスト3 解決策 リスト内のコードブロックにインデントを設定し…

Mac で撮ったスクショの影を削除する

Mac

Mac でアプリケーションウィンドウ全体のスクショを撮ったときの影、邪魔じゃねって思ったときの備忘録 defaults write com.apple.screencapture disable-shadow -boolean true Before After 影ありに戻したいときはfalseにすればOK defaults write com.appl…

Mac に Xdebug をインストールして VSCode でデバッグする

経緯 ちょっとしたサンプルプログラムをホストマシンで試すときに、いつも var_dump() デバッグ使ってたけどちょっとしたサンプルプログラムだろうが何だろうが Xdebug 使ったほうがもっと楽になるよね、ハム太郎。 手順 Debug Build が no になっていること…

Laravel でアクセストークンを header に含むときのAPIのテストを書く

いつ使うの? SPAではないプロジェクト(アクセストークンの取得タイミングがMPAでのログイン時) 一部画面でアクセストークンを含むAPIを叩いている コード post('/login', [ 'email' => 'hoge@example.jp', 'password' => 'password' ]);…

Laravel で画像をアップロードする Controller のテストを書く

Laravel で画像アップロードのController周りのテストを書いたことがなかったので備忘録 post('image/upload', ['images' => UploadedFile::fake()->image('hoge.jpg')]); $res->assertRed…

親のチェックボックスに紐付けたチェックボックスを全てチェックする

親のチェックボックスのチェック状態を親に紐付けた子供のチェックボックスにも反映させたい ↓こういうやつ これをピュアJSで書いたときの備忘録 コード 解説 HTML 親チェックボックスに子供を紐付ける用のカスタムデータ属性(data-id="1")をつける (親であ…

Carbon の diffInDays() は時間まで見ている

みんな大好きCarbonで対象日が今日の何日後かを知りたいときに, 想定していた挙動と違っていたのでメモ 対象日が本日の何日後かを知りたい 2021-11-15が本日(2021-11-14)の何日後かを知りたいとき >>> now()->diffInDays(Carbon\Carbon::parse('2021-11-15')…

PHPで半角数字を漢数字の単位付きの表記に変換したい

PHP

530000 → 53万みたいに漢数字の単位を付けたかった。 タイトルに漢数字って書いてあるから詐欺ってるみたいだけど五三万への変換は今回はやりません。🙇🏿‍ 早速コード

ブラウザの Console をタイマー代わりに使う

電卓使いたいときにブラウザの Console 使う人間なので、タイマーも Console で完結させたかった 1秒ごとに Console に秒数を表示する let minutes = 0; const intervalId = setInterval(countMinutes = () => { ++minutes; console.log(minutes); }, 1000);…

Bootstrap を使ってテーブルの行をクリックした時にコンテンツを展開したい

テーブルの各行をクリックした時に行の下にコンテンツを表示する。 一覧に表示する列数が多いけど横スクロールしたくないときに使う。 tr > td の中に div を書いてたりするのでマークアップ警察は見るな 要点 ① クリックする行の tr タグに開閉トリガーをつ…

Laravel で ORDER BY を複数指定する

Laravel で SELECT * FROM samples ORDER BY column1 DESC, column2 ASC みたいに ORDER BY を複数指定したい場合の書き方 orderBy('column1', 'asc')->get(); もしくは orderBy('column1')->get(); 何故か毎回連想配列でできると思いこんでApp\Models\Sampl…

Vue.js でファイルアップロードをする

Vue.js というより axios でファイルアップロードをしたかった 保存ボタンがなく、アップロード時にサーバーに送るのを想定 サーバーサイドのFWは Laravel を想定 <template> <div> <input type="file" ref="image" accept="image/*" name="image" @change="uploadImage" /> </div> </template> <script> import axios from "axios"; export default { name: "…

HTML と CSS のみでドラえもんを作る

(割とやりつくされたネタだから今更感すごいけど。。。) [ドラえもん CSS] とかでググると実装方法がわかってしまうため今回は終始ググらないようにして実装 できたもの 実装 感想 所詮丸と直線の組み合わせだし position とか使わんくても Flexbox だけでモ…

JSでブラウザの位置情報を取得する

(function () { if (!navigator.geolocation) { console.warn("Geolocation APIを利用できない環境"); return; } navigator.geolocation.getCurrentPosition( (positions) => { // 位置情報の取得成功時の処理 console.log(positions.coords.latitude, posit…