イージングの公式を使って要素をなめらかに動かす

イージングって何? 開始とか終了地点に近づくにつれて速度が変わるアレのこと。 今更感満載なので詳しくはググってね。 実装 See the Pen Untitled by m1y474 (@m1y474) on CodePen. const div = document.querySelector("div"); const span = document.que…

2023年に読んだおすすめ漫画10選

お題「2023年に読んだおすすめ漫画」 「2023年に出版された漫画」ではなく、「2023年に自分が読んだ漫画」を挙げています。 一部ネタバレを含みます。 順番は思いついた順であって順位ではないです。 アフィリンクとかないから全員読め。 おすすめ漫画10選 1…

卵巣腫瘍で入院したレポ

はじめに PC整理してたらメモに卵巣腫瘍の入院レポが出てきたから供養。 (※ 生理とかとか下の話が出ます。) 時系列 2023/01/03(水) 生理予定日+1 子宮が時折ズキズキ痛む。 その後も01/08(日)までほぼ毎日軽い痛みがあったけどいつもの生理前症状と思…

React Nativeでnode_modules/のコードを修正したい

はじめに React Nativeを使っていると依存パッケージのバグや、特定の処理をカスタマイズしたいことがたまにあるのでメモ ただし、あくまで応急処理的な使い方に留めよう(自戒) 手順 1. パッチ当てに必要なパッケージのインストール $ npm i --save-dev pa…

aabファイルからapkを取り出す

動作確認環境 macOS Ventura 13.2.1 手順 1. bundletool の install $ brew install bundletool 2. aabからapkのセットを生成 $ bundletool build-apks --bundle={.aabファイルまでのフルパス} \ --output=app.apks \ --ks={Key store path} \ --ks-pass=pas…

ReactNativeのTextInputに指定できるkeyboardTypeの一覧

毎回「テンキーレイアウトって何がどう違うんだっけ・・・?」ってなって実機で確認してる記憶喪失だから画像と一緒にまとめとく 検証環境 デバイス OS version キーボード iPhone 14 iOS 16.2 標準キーボード TORQUE 5G Android 12 Gboard keyboardType一覧…

M2 MacにHomebrewでPHP7.4を入れてXdebugを有効にする

Homebrew経由でM2 MacにPHP7.4を入れようとしたら以下のエラーが表示された $ brew install php@7.4 Error: php@7.4 has been disabled because it is a versioned formula! M1 Macのときからなるっぽい ググったら同じ現象の記事が山ほど出てきたので以下で…

php:7.4-apacheを使ったDockerfileでXdebugのインストールが失敗する

エラー #0 179.0 pecl/xdebug requires PHP (version >= 8.0.0, version <= 8.2.99), installed version is 7.4.33 #0 179.0 No valid packages found #0 179.0 install failed 原因 Xdebug 3.2.0がPHP7.2~7.4をサポートしなくなった This is the first rele…

React NativeでSVGを使う

1. 必要なパッケージのインストール $ npm i react-native-svg 2. SVGアイコンとなるコンポーネントファイルの作成 import React from 'react'; import Svg, { Polygon, Line } from 'react-native-svg'; const AlertOctagon = (props) => (

JS で Lottie のアニメーションを表示する

検証用に触ってみた記録 完成形 <script src="https://cdnjs.cloudflare.com/ajax/libs/bodymovin/5.10.2/lottie.min.js" type="text/javascript"></script> <div></div> <script> lottie.loadAnimation({ container: document.querySelector('div'), // 表示領域 path: './data.json', // ローカルに用意したLottieのJSONファイル renderer: 'svg', // 表示する…

mysqlのバイナリログが削除できないときにやったこと

はじめに Dockerで開発中に以下のエラーに遭遇 General error: 3 Error writing file '/tmp/MYtPTBrC' (OS errno 28 - No space left on device) はじめましてのエラーだったから解決方法の備忘録 発生環境 Docker / mysql:8.0.26 OS # cat /etc/os-release …

VenturaにアプデしたらXcodeが動かなくなった

Venturaにアップデートしてから$ react-native iosがエラーを吐くようになった TOC TOC やったこと コマンドラインツールの再インストール エラー 対策 Xcodeのversionの切り替え エラー 対策 ライセンスへの同意 エラー 対策 エラーは出てないけどやったこ…

Dockerの開発環境を自己証明書でSSL対応する

前提 Dockerイメージにはphp-apacheを使用 ディレクトリ構成 . ├── docker/ │ ├── Dockerfile │ ├── apache2/ │ │ └── sites-available/ │ └── ssl/ └── docker-compose.yml 証明書の作成 作成前に秘密鍵たちを格納しておくディレクトリを作っておく $ mkdir…

TypeScript x axios で配列を非同期で処理する方法

やりたいこと 会員情報を複数取得したい 会員情報を複数取得できるAPIが存在しない 実装 APIへアクセスするファイル export default class Sample { public async fetchUsers(): Promise<{username: string, /* ... 適当な型定義 */}[]> { return Promise.al…

canvasで特定の幅で文字を折り返して表示する

やりたいこと canvasを使った文字の描画で、特定の幅で文字を折り返して表示したかった。 何も処理しないと↓みたいに文字が詰まって表示される 実装 ①文字を任意の文字数ごとに分割して配列に入れていく // 表示したいテキスト const src = "あ".repeat(30);…

canvasに表示した画像を丸で囲って表示する

やりたいこと canvasにdrawImage()で貼り付けた画像を正円で表示させたい(丸型にトリミングされたように表示させたい) やるまでは「quadraticCurveTo()でベジェ曲線使ってやらなかん感じ〜!?!?!?!数学できないよ〜!!」(数学関係あるかもわからな…

canvasで正円を描画したいのに楕円になってしまう

Reactでcanvas扱ってたときに正円を描画したいのに楕円になったときの備忘録 canvas描画部分 const ctx = this.canvas.current?.getContext('2d'); if (!ctx) { return; } ctx.fillStyle = "black"; ctx.fillRect(30, 0, 290, 450); ctx.fillStyle = "orange…

API Blueprintでパラメータにハイフン(-)が含まれる場合にハイフン以降が出力されない

はじめに API Blueprint でクエリパラメータをつけるエンドポイントを定義したかったけど、出力されたフォーマットが想定していたものと違っていた時の備忘録 修正前 http://example.com/api/example?date=2000-01-10 みたいなURIを想定して、以下のように書…

React Nativeでフォアグラウンドを検知する

はじめに アプリがフォアグラウンドにあるタイミングで特定の処理を実施したかった 検証環境 $ react-native -v react-native-cli: 2.0.1 react-native: 0.67.3 コード import React from 'react'; import { AppState } from 'react-native'; class App exte…

Rect Nativeでダークモードを無効にする

検証環境 $ react-native -v react-native-cli: 2.0.1 react-native: 0.67.3 実装 iOS ios/{project}/AppDelegate.mを以下のように修正する @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(…

nodeのversionを切り替えるときに `Use of uninitialized value $b1 in numeric comparison (<=>) at ...` と表示される

nodeのversionを切り替えたときに以下のメッセージが表示された nodebrew use v16.8.0 Use of uninitialized value $b1 in numeric comparison (<=>) at /Users/XXX/.nodebrew/current/bin/nodebrew line 678. Use of uninitialized value $a1 in numeric co…

【GoogleAppsScript】SESAME API を使ってGASから施錠・解錠する

はじめに この記事は過去に投稿したSlackからNatureRemoのAPIを叩く記事の延長編です。 iliiliiiliili.hatenablog.jp 外出時に電化製品の電源オフったあとに、そのまま鍵の解錠→再施錠を実施するためにSESAME APIを使用します:) やること SESAME APIの準備 G…

【GoogleAppsScript】朝に雨が降っていたら傘を持って帰るのを忘れないようにSlackに教えてもらう

(最近SlackとGASの記事ばっか書いてる気がする...) はじめに 以下を解消するのが目的です 朝に雨が降ってると退勤時に雨が降ってようが降ってまいが、会社の傘立てに傘を忘れる確率が100%(降ってるときは傘立てが事務所にあるから取りに戻る必要がある) …

【GoogleAppsScript】Slackに投稿したらNature RemoのAPIを使って照明とエアコンを消す

はじめに 外出時にいつも同居人に外出する旨のメッセージを送ってるんだけど↓の3つをやらなくちゃいけないのがめんどい Nature Remoで照明を消す Nature Remoでエアコンを消す Slackでメッセージを送る 「Slackにメッセージを送るのが前提としてあるんだった…

はてブロの記事が投稿から1年以上経過している場合にアラートを表示する

経緯 ありがたいことに投稿日から数年経過しても、検索からアクセスされてる記事がいくつかあるんだけど、情報が古いから○iitaみたいに この記事は公開日からn年以上が経過しています。情報が古い可能性がありますので十分ご注意ください。 っていう注意書き…

MySQLのDELETE文をEXPLAINで確認する

MySQL5.5でDELETE文をEXPLAINで見ようとしたらエラーになった mysql> EXPLAIN DELETE FROM samples WHERE title = "title"; ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version fo…

MySQLで連番のカラムを作成する

いつ使うの? AUTO_INCREMENTのidとは別に仮の連番をMySQLで生成したいとき 前提 ↓みたいなテーブルにMySQLで生成した連番のidを追加する id category 4291 アニメ 11 映画 9302 漫画 322 ドラマ SQL SELECT category, @tmp_id := @tmp_id + 1 tmp_id FROM (…

コンストラクタで非同期処理を実施しているクラスのテストをJestで書く

constructor()で非同期処理を実施しているクラスのテストを書きたかったときの備忘録 ↓みたいにconstructor()で非同期処理を実施していて、Promiseをreturnしていない export default class A { private readonly list: any; constructor() { new Repository…

TypeScriptでJestを使う

必要なパッケージのinstall *1 $ npm install --save-dev @babel/preset-typescript babel.config.js に追記 module.exports = { presets: [ ["@babel/preset-env", { targets: { node: "current" } }], "@babel/preset-typescript" // 追加 ], }; テストの…

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

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