Posts by Year

2024

OKRとは何か?

OKRとは 目標を設定・管理するためのフレームワーク。 Objectives and Key Resultsの略。

今週のふりかえり 20240621

今年の抱負は「おかしな年!」ということで毎週「おかし」で振り返ってます! 今週は濃かった!濃すぎた!ケインコスギ。

今週のふりかえり 20240614

今年の抱負は「おかしな年!」ということで毎週「おかし」で振り返ってます! 今週はいっぱい歩いた!🚶‍♀️

今週のふりかえり 20240517

今年の抱負は「おかしな年!」ということで毎週「おかし」で振り返ってます! 今週はやりたいこと発表のコーナーもあるよ!

今週のふりかえり 20240510

今年の抱負は「おかしな年!」ということで毎週「おかし」で振り返ってます! 今週はオフサイトMTG、開発合宿とワイワイ楽しかったー!

今週のふりかえり 20240502

今年の抱負は「おかしな年にする!」です。 ということで毎週「おかし」で振り返ることにしました! 今週はGWで3日間でした!😃

今週のふりかえり 20240426

今年の抱負は「おかしな年にする!」です。 ということで毎週「おかし」で振り返ることにしました!

今週のふりかえり 20240419

今年の抱負は「おかしな年にする!」です。 ということで毎週「おかし」で振り返ることにしました!

今週のふりかえり 20240412

今年の抱負は「おかしな年にする!」です。 ということで毎週「おかし」で振り返ることにしました!

今週のふりかえり 20240405

今年の抱負は「おかしな年にする!」です。 ということで毎週「おかし」で振り返ることにしました! ※応援、感謝、信頼で振り返ろうとしたんですけど応援、信頼が難しくてやめましたw

GitHub Pages 始めます!

こんにちは! Webエンジニアの naoqoo2 です! GitHub Pages で個人ブログを始めることにしました! プログラミングや開発手法について書いていこうと思います。 よろしくお願いします!

Back to Top ↑

2023

ポリモーフィックリレーションでリレーション先のモデルが存在しないものは取得対象外にしたい

関連モデルが削除されているデータは取得対象外にしたい。 そんなときあるよねー! 例) Aさんがコメントしました。 Aさんが記事Xについてコメントしました。 Aさんが記事Yについてコメントしました。 Bさんが記事Xについてコメントしました。 AさんがビデオZについてコメントしました。 コ...

Back to Top ↑

2022

【GAS】SlackAPIで特定期間のメッセージとスレッドを全て取得する

オー!📣 にーっぽーん!🇯🇵⚽️🇪🇸 これは 株式会社マイホム Advent Calendar 2022 1日目の記事です✨ はじめに こんにちはGAS兄です😃 Slackで特定期間のメッセージを全て取得したいとき、あるよね!! ということでやっていきましょう。 API仕様 以前は channels.h...

GASでスプレッドシートからPDFファイルをたくさん作る

スプレッドシートのデータをPDFファイルとして大量に出力したいときが、人生に1度や2度はやってきますね。 そんなときはGASで。 やりたいこと スプレッドシートの1行1行をPDFファイルにしてGoogleドライブに出力する。 例) A列:ファイル名 B列:URL(本文の内容) GAS ```js fun...

z.requestのGETで配列パラメータを送る方法

zapier platform で Actions を設定している際、 GetのAPIに配列パラメータを渡したくてハマったのでメモ。 試行錯誤メモ hogehoge?sort_by[]=id のように送りたい。 Input Designerではkeyに[]を指定できず。。 params では配列を送れ...

俺のキャッシュまとめ

生きていると度々キャッシュについて調査することがあり その都度HTTPヘッダーの意味など忘れているのでメモしておく。 登場人物 オリジン webサーバー とか 共有キャッシュ Proxy, CDN など ブラウザキャッシ...

俺のLaravel

LaravelのTipsを書き溜めていく。 テクニック系 子でループせず孫の情報を直接取得したい pluck メソッドと collapse メソッドを使用して、子のコレクションを取得し、それを一つのコレクションに結合することで、子の要素をループせずに孫の要素にアクセスすることができます。 孫の要素をユニー...

【Laravel】attachとsyncWithoutDetachingの使い分け

はじめに 多対多のリレーションで関連付けたいときはattach!と覚えていたのですが 中間テーブルにユニーク制約を貼ってる場合にattachを連続で実行してしまうとエラーになる。。 (ユニーク制約がなければ同一レコードが複数できる) うーん、困った。 そんなときはsyncWithoutDetaching を使いま...

Back to Top ↑

2021

俺のSQL

よく書くけど毎回ググってる気がするMySQLのクエリーメモ 前日から直近30日のデータを抽出 カラムがdatetime(時分秒持ってる)のとき WHERE DATE_SUB(CURRENT_DATE, INTERVAL 30 DAY) <= updated_at AND updated_at <...

APIテスト(JSON形式でPOSTする)に使える汎用的なHTMLフォーム

API開発時にPOSTでメソッド渡さなければいけなくてその度にHTML書いて送信して〜ってのをやってたのですが、 いい加減毎回作るの面倒なので汎用的なのを作りました! 画面こんな感じ ポイント! APIのURLが書き換えられる Methodも切り替えできる パラメータ名と値が書き換えられる ...

俺のFigma

figma初心者向けのメモ。 オートレイアウトを駆使するのがとにかくおすすめ。 グループ化 オートレイアウト オートレイアウトで位置調整 を繰り返していくとよさげ。 Tips グループの中の要素を選択したい command押しながらクリック グループ化 command + g グルー...

Laravelでマスターレコードを登録する際のベストプラクティス

はじめに システムでマスターテーブル作ってマスターレコード登録ってよくありますよね。 migration seeder バッチ(artisanコマンド) どれでやろうか悩んだ末、 今後はseederでやっていこうと心に誓ったのでそのメモ。 前提(やりたいこと) 環境構築時はコマンド一...

【javascript】配列をループして処理成功した要素は削除する

Vueなど配列データと見た目が連動(データバインディング)しているときに、 処理成功した要素だけ削除して、失敗した要素は残しておきたい。ということがありました。 ループ(forEach?Map使う?)と要素の削除(shift?deleteだとundefinedになるだけで要素は残るのか…)に試行錯誤した結果、f...

Back to Top ↑

2020

スプレッドシートからGitHubのIssueを作成する

これはSOUSEI Technology アドベントカレンダー2020 24日目の記事です。 メリークリスマスイブ :santa: はじめに スプレッドシートからIssueを作りたいこと、あるよねー! ということでGASで。 やり方 行を選択する(複数行OK) GAS→Issueを作成する O...

閏年じゃない年も2月29日生まれの人をお祝いする

これはSOUSEI Technology アドベントカレンダー2020 15日目の記事です。 2/28と3/1どちらで祝うべきなのか 2/29生まれの人、閏年なら当日お祝いしてあげればいいのですが、閏年じゃないときはどうすればいいの? ググってみました。 例年については、男女共に「2月28に祝う」とい...

Trelloからスプレッドシートに転記する

これはSOUSEI Technology アドベントカレンダー 10日目の記事です。 はじめに Trelloのカードをスプレッドシートで管理したくなるときってありますよね! そんなときはGASでTrelloAPI叩いてやっちゃいましょう! (以前 スプレッドシートからTrelloにカード追加する を書いたのです...

日付セルを月ごとにまとめていい感じの積み上げグラフを作りたい

これはSOUSEI Technology アドベントカレンダー 1日目の記事です。 念願の企業アドベントカレンダー🎉 はりきっていきましょう! はじめに スプレッドシートでタスク管理してると、 半期に1回とか年1で集計してみたくなること、あるよねー! そして良い感じにグラフ化したいよねー! でもたまにしかやら...

QiitaOrganizationのLGTM数をGASでSlackに通知する

やったこと QiitaOrganizationのページからLGTM数を取得して こんな感じで毎週Slackに通知。 なぜやったのか 社内でQiitaを盛り上げたい、関心UP 投稿へのモチベーションUP いっぱい投稿が増えるといいな 実装メモ LGTM数はfeedに含まれて...

俺のスプレッドシート

個人的によく使うスプレッドシートのカスタム書式、関数などのメモ 条件付き書式 とある列が「完了」の行の背景色を変えたい =$K2="完了" フィルタ 日付が空 または 指定日より大きい行を抽出したい =OR($L2="", $L2>DATE(2020,9,30)) ハイパーリンク 一...

俺のjs

連想配列の途中でkeyが存在しなくてもエラーにならないようにしたい // categoryまで存在しないと未定義エラーになる if (data.items[item_id].category.name)

俺のcss

覚えられなくてググってしまう記号(+とか&)のメモとかテクニックとか。 2個目の要素から何かしたい 間隔あけるためmargin-topつけたいとか。隣接セレクタを使う。 ```sass // sass .item { & + & { margin-top: 10px; ...

Googleフォームの選択肢をスプレッドシート管理して、さらに回答されたものは自動削除する

はじめに Googleフォームで選択肢を動的にしたいときってありますよね! 具体的には、 ① スプレッドシートに候補日リストつくる ② Googleフォームで①から1つ選んで予約する ③ ②で選ばれたやつが①から消えてフォームで選べなくなる みたいなことがやりたい! 作ったもの https://github....

俺のPHPUnit

Laravelでテスト書くときにどうやるんだっけ?というときのメモです。 モック Auth::user()->id $mock = new User(); $mock->id = 999; \Auth::shouldReceive('user')->andreturn($mock);

Back to Top ↑

2019

俺のMac

俺のMacのすべて。 ショートカットメモ キャプチャをクリップボードに保存 選択範囲 command + shift + control + 4 ウィンドウ指定 command + shift + control + 4 の後に space ディスプレイをミラーリング command + 輝度を下げる...

俺のVScode

Settings Sync(VSCode設定) ダウンロード shift + option + D Download Public Gist を選んでGist IDを入力 アップロード shift + option + U ショートカットコマンド 1行削除 Ctrl + Shift + K 1つ前...

レビューあるあるとモブプロ

はじめに みなさん、コードレビューしてますか? 上手くいかない!つらい!もうレビューやだ!と思ってたりしませんか? そこでモブプロですよ! レビューあるある レビューではいろいろな問題が発生しがちです。 上記どれかひとつでも「あるあるー」と思ったらぜひモブプロをやって...

【Laravel】親を削除したら孫まで削除する

課題 Eloquentで 親(Parent) - 子(Child) - 孫(Grandchild)のリレーションがあるとき、 親を削除したら子と孫も削除したい。 準備 親と子にモデルイベントを定義しておく 親を削除したら子が削除されるように親モデルにdeletingを定義。 Parent.php

GASで勉強会を自動化する

春ですね。みなさん社内勉強会してますか? 続いてますか?継続って大変ですよね! 勉強会の準備って大変… 開催までには下記のようなタスクがあります。 参加フォームを作る 告知メールを送る 発表内容をまとめて勉強会のwebページを作る 開催日が近くなったらリマインドメールを送る 前日もう一...

Selenium IDEのTips

久々に新しくなったSelenium IDEを触りました。 https://github.com/SeleniumHQ/selenium-ide chromeで使えていい感じですね。まだ試してないですがデフォルトでif文とかもできるようになったそうな。 ここではちょっとしたテクニックを記載します。(随時追加予定)...

Back to Top ↑

2018

モブプロとソロプロの生産性を比較してみた

この記事は モブプログラミング Advent Calendar 2018 14日目の記事です。 もっと読みたい!という方は去年のカレンダーも是非どうぞ。 はじめに モブプロをすると必ず「生産性悪そう」という声が聞こえてきます。 体験してみると「効率悪くない!むしろ良い!」と思えるのですが、証明するための根拠が...

俺の便利ツール

URL(ドメイン)のサンプルなんだっけ? http://example.com/ test.comやaaa.comをテストデータに使うのはやめましょうという話 動画キャプチャを撮りたい LICEcap PC画面をGIF動画としてキャプチャ。[Mac/Windows対応] ダウンロードはこ...

【GAS】マイドライブからファイルを移動する

GASでフォームなどのファイル作成したあとにフォルダ移動したくなり、 id指定で動作する汎用的な関数を作りました。 ポイントとしては最後にマイドライブから消す必要がある。(消さない場合もファイルは同じものを参照する) ```javascript

【GAS】ファイル名からファイルを取得する

ファイル名で検索したいときgetFilesByNameという便利な関数がありますが、 Filesとあるように複数ファイル取得が前提でFileIteratorが返ってきます。 このフォルダ配下は必ず一つしか存在しないんだよーってときはこちらをどうぞ。 function getFileByName(file_na...

【テーブル正規化】候補キーから第3正規化までをマスターする

はじめに 今週末はデータベーススペシャリスト試験ですね。 DBの正規化について、毎回忘れて勉強し直すのでまとめておこうと思います。 試験でも実務でも第3正規化まで出来れば大概OKですね。 下記順序で進めるのがポイントです。 非正規形 第1正規形にする 候補キーを探す ←ここがミソ! 主キー...

スプレッドシートからTrelloにカード追加する(任意の行だけ選択可能)

はじめに スプレッドシートにガーッとタスクを書き出すことってよくありますよね? そのあと各タスクの詳細をガガガっと書くわけです。 そしてTrelloで管理したくなってアーってなったのでスクリプトを書きました。 (カード作成だけならTrelloにコピペでいけるんですが、カードの中の詳細も転記したい) 使い方 ...

Bitbucketで静的ウェブサイトを公開する

はじめに 知ってる人も多いと思いますが、Bitbucketで静的ページを公開することが可能です。 一つのアカウントで一つのサイトしか公開できないと思われがちですが、チームを作ればいくつでも公開可能です。(これは知らない人多そう!) 手順も簡単。やってみましょう。 ※URLはSSL対応されてドメインは『~.io...

Back to Top ↑

2017

複数Promise実装時のベストプラクティス

複数のPromiseを組み合わせるのって難しいですよね? 毎回30分くらいは悩みます。ん?30分?君達やっぱりプロミスだな! ということでPromiseと格闘して見えてきたTipsをまとめておきます。 複数Promiseを組む際の参考プログラム 複数のPromiseをつなげるときはgoogleの中の人のサンプ...

俺の用語集

「あーアレなんて言ったっけ、アレ」と単語が出てこなかったり、 「〇〇って何なの?」と聞かれたときに自分の言葉で説明するためのメモ集。 フィルハンドル エクセルやスプレッドシートのセルの右下の■のこと。 ちなみに下に引っ張ることをオートフィルという。 WIP制限 一度に着手するタスク数に上限を設けること。 ...

レガシーシステムの調査をモブでやってみた

はじめに システムリニューアルや障害などで、古いシステムを調査することって良くありますよね。 この調査というタスク、非常に厄介です。 いつもは一人でやる(やらされる)ことが多いのですが、 今回モブでやってみたら最高に幸せだったよという話をします。 レガシーシステムとは まず、今回のレガシーシステムを定義して...

楽しいモブプロ♪

今年も始まりました!エンジニアの祭典アドベントカレンダー!祭りです! しかしながらこのモブプロカレンダーはまだまだ空きがあります! 是非みなさんのモブトーーク!聞かせてください! モブプロ盛り上げていきましょう!祭りだ!わっしょい! さて、記念すべき1日目は、モブプロの楽しさについてのみお届けしたいと思います!...

Selenium IDEでループ処理を行う

はじめに Selenium IDEのみではループ処理が出来ないため、同じ処理を繰り返し行いたいときにとても不便です。 この記事ではループできるようにする方法と簡単なサンプルについて書きます。 ※かなり今更な内容ですが、たまにやろうとしたときに忘れてるのでメモ。 ループできるようにする 拡張jsやアドオン...

LaravelでタスクAが成功したらタスクBを実行する

Laravelのタスクスケジュール便利ですよね。 ジョブ管理ツールのように『タスクAが成功したらタスクBを処理する』といった事もできました。 タスクAが成功したらタスクBを処理する app/Console/Kernel.php

俺のプレゼン用ショートカット

プレゼンする際によく使用するMacのショートカット集です。 末尾に修飾キーの読み方も載せてます。 ディスプレイ周り ミラーリング ⌘ + F1 Dock非表示 ⌥ + ⌘ + d アプリ切り替え ⌘ + tab アプリ内ウィンドウ切り替え ⌘ + F1(+fn) ブラウザ周り(Chrome) ...

俺のコマンド

個人的によく使うLinuxとかのコマンド集です。 grepいろいろ 指定したディレクトリ直下のファイルから特定の文字列を検索する

俺のTrelloアドオン

Trelloで利用しているChrome拡張機能の紹介です。 『かんばん』はなるべくシンプルに!ということで本当に必要なものだけ厳選してます。 ラベルのタイトルを表示する 標準でいけるようになっていた!ラベル部分をクリックすれば名称が表示され、リロードしても保持してくれる! そのため下記はインストール不要ですがメ...

Laravelのfactory(faker)で3階層以上のテストデータを作る

Laravelのファクトリ便利ですよね。 fakerでテストデータ作るのもラクチンです。 ただ、User->Post->Commentのような3階層構造のリレーションモデルを作るときに悩みました。 結論 いろいろと試行錯誤した結果、今後はこのコードで作成しようと思います。 seederまたはt...

2点見積もりを実践してみて良かった点、失敗した点

見積もりって毎回悩みますよね。 スプリント計画で各タスクの作業時間を出すといった細かいものならまだしも、人日ベースの大きな見積もりは未だ難しいです。(正確には出せないと思っている) それでも、概算スケジュールがー!全体工数がー!とか言われて、何とか見積を提出しないといけないとき、あると思います。 今までの見積...

複数ログファイルをgrepしてマッチした行数を出力するシェルスクリプト

下記のようなことをしたいとき、ありますよねー。 エラーログから特定のエラーが何回発生したか知りたい アクセスログから特定のページへのアクセス数を知りたい 複数ファイルをgrepしてマッチした行数をファイル毎に出力するシェルスクリプトです。 ※ログなど圧縮済ファイルを想定してるのでzgrep。 複...

Back to Top ↑

2016

スプレッドシートにGmailの内容を自動で書き込む

はじめに 定期的にくる問い合わせメールやシステムメールをシートで管理したいとき、あるよねー。 という人にオススメの記事です。 ※既に同じ内容の記事は山ほどありますが、 カスタマイズしたい場合にどれを参考にしようか毎回悩むので今後はこれを基準にしていきます。 本プログラムの概要 日付、件名、from、...

俺のgitコマンド

個人的によく使うgitコマンドメモ。 作業ディレクトリを編集前の状態に戻したい 編集したファイルを直前のコミット時の状態に戻す git reset --hard 管理していない新規ファイルやディレクトリを削除 git clean -df 直前のコミットをなかったこ...

PHPで1行ずつ読み込んで何かしら加工したいときのサンプル

はじめに 大量のデータを何かしら処理したいときってありますよね。 1行ごとに正規表現とか使って特定の文字列を抽出したいときとか。 たいていはテキストエディタだけで解決できるんですが、 たまーに複雑なことしたくてPHP使いたいときがあります。私はあります。 で、毎回ファイル読み込みとか出力の処理書くのが面倒なので...

laravelのmigrationファイル命名規則

migrationファイル命名規則 今後は下記ルールで作成することにしました。 テーブル作成時 php artisan make:migration create_{テーブル名} –create={テーブル名} 例)php artisan make:migration create_users –create=...

Back to Top ↑

2015

SeleniumIDEでリダイレクトのテストをする

はじめに みなさん、リダイレクトのテストどうやってますか? 静的なHTMLページを動的システムに乗せかえたり、古いシステムのリプレイスなどでURLが変わることありますよね。 でも、ページランクは引き継ぎたいので『旧URL→新URLへ301リダイレクトしよう』というのは結構あるあるかと思います。 数ページであれ...

Selenium IDEをインストールする

はじめに Selenium IDEはwebブラウザのテスト自動化ツールです。 開発者でなくとも簡単に操作することが可能です。 さっそくインストールしてみましょう。 インストール Firefoxをインストール Selenium IDE はFirefoxのプラグインです。 Firefoxが入っていない場合は検索し...

JavaScriptで現在日から前後x日を取得する

はじめに jsで日付を処理するときってちょくちょくありますよね。 その度にどうやるんだっけ?ってなってました。 年月日までだったり時刻も欲しかったりとフォーマットもいろいろでめんどくさい。 そこで。。 関数を作りました 今後はこれに統一しようと思います。 使い方はこんな感じ。 現在日時を取得

5分でわかるSelenium IDEの使い方

はじめに Selenium IDEでは ・テキスト入力する。 ・ボタンを押す。 ・メッセージが表示されていることを確認する。 といったユーザー操作に近いテストが自動で簡単にできます。 さっそく体験してみましょう。 ※インストールがまだの方はこちら Selenium IDEをインストールする 使用するサイト 今...

PHP5.2でCSVファイル取り込み

CSVファイルを解析して配列にする。 これが意外と簡単に出来なかったのでメモ。 よくexplode()を使ったサンプルがあるけど、値にカンマがある場合にダメなので注意。 今回は下記のようにカンマやダブルコーテーションが含まれている場合もしっかり対応します。 csv

laravelでトレイリングスラッシュを有効にする方法

Laravelはデフォルトだとトレイリングスラッシュ(URL末尾のスラッシュ)を消しちゃいます。 でもサービスによっては常にスラッシュを付与したい時ありますよね。 そんな時は.htaccessを下記のように編集しましょう。 ※コメント解説付き public/.htaccess(変更前。laravelデフォルト)

Back to Top ↑