強まっていこう

あっちゃこっちゃへ強まっていくためのブログです。

プログラミング

git rebase は危険だ!悪だ!と言うガセネタに踊らされて rebase を怖がらないで!!!

rebase を恐れるなっ rebase は危険だっ!push されてる場合は rebase するな!リポジトリを破壊するぞっ!絶対使うなっ!!こんな脅し文句に踊らされ、人々は rebase に恐れおののき全力で逃げ出し理解すらしようとしなくなった結果、今日もログが荒れてい…

SvelteKit の使い方をわかりやすく解説してみる - Svelte Vol.2

暗黙の世界 SvelteKit は脳みそが小さい連中が嫌う暗黙のルールで溢れ返っている なので、そう言うのが嫌いなら絶対に使うべからず 逆に暗黙が好きなら最高の使用感を得られるはずだ基本的に同一階層にファイルを作るだけで暗黙の継承がバンバン行われたりす…

Svelte 使ってるけど良い感じ。でもドキュメントが微妙過ぎて終わってる - Svelte Vol.1

表題の通り。公式サイトは御託だらけで読みづらいくせして情報が色々足りない 色々苦労したのでメモがてらに皆に共有(※ あくまで個人ユースで遊びで使っている限りはイケている感じ これを本格的なプロジェクトにぶっこんで規模のデカいものを開発した時 Rea…

プログラミング周りの疑問はGoogleに聞くよりまず ChatGPT に聞け(アフィの死?)

最近 ChatGPT に聞いてばかりの日々を過ごしている とても快適だ こんなに頼りになるやつは今までいなかったGoogle は検索の質がどんどん下がり、開発時の疑問を解決しようとしても必要な情報を全く出してくれず、 一般的なクソどうでも良い浅くて薄い情報ば…

ChatGPT 試してみた。今のところ、とにかく遅いけど試してみると楽しいよ。

Google が終わる!時代が変わる!なんて大騒ぎされている ChatGPT どんなもんかと使ってみた時のメモ 結論としては今のところ遅すぎるから使い物になんねぇなと言う感じ 速くなったら凄まじいものになりそうな雰囲気に満ち溢れてはいる「プロレスの魅力を教…

UMD を出来るだけシンプルに説明してみる

何? Node.js とブラウザの両方で強引にコードを読ませるための暴力的な書き方 実例 public/js/umd.js にモジュールが存在し、そこが Web でも公開されているとして呼び方は以下のようになる Node.js で呼ぶ場合 #!/usr/bin/env node const UMD = require('.…

Vue3 の Draggable を CDN で呼びたいのにがやり方が分からん全国の女子高生集まれ

こんだけいろいろ調べて試しているのに動かないのマ~?と全国の女子高生達が困っているはず。ろくな情報ヒットしないもんな。Node.js でやるのばっか。ちょっと試したいだけだとか、ちょっとサイトで使いたいだけなのにビルドとかマジウザイわな。今日は機…

結局 redux-thunk って何なのマジ?超ムカつくんですけど

ググってもろくな情報が出ずイライラしている諸氏に送るシリーズ。redux-thunk の使用を推奨しているわけでは無いのであしからず。 無邪気キッズがインタネッツの情報に踊らされた結果導入->破綻しその尻拭いをする事になったおっちゃん達向け。 こちとらイ…

Redux と React hooks どっち使ったら幸せになれるの?

結論としては React を使わない事が一番の幸せへの道。React ファンボーイはそっ閉じの方向で、以下読むべからず。簡単なものを作るのにもアホほど時間がかかるので膨大な予算が無駄に取れる贅沢プロジェクトで暇つぶししたい場合のみに使うと良い。表示速度…

ガタガタ抜かさず Redux の使い方だけ簡単に教えろ!

決して、React や Redux の使用を推奨するものでは無い事をご了承願いたい。React/Redux なるものをヨダレ垂らした noob エンジニアがググった結果がいっぱい出てくる = 流行っている、と言う無邪気な理由だけで導入。 案の定大トラブルとなり、そいつは抜け…

Rabbit MQ で RPC(チュートリアル 6 RPC)

今回はチュートリアル 6 RPC についてやっていきます。まずは RPCのサーバ側です。引数で受けた文字列に日時をつけて返します。rpc_server.js #!/usr/bin/env node const amqp = require('amqplib'); const my = require('./my.js'); async function main() …

RabbitMQ で Topics (チュートリアル 5 Topics)

今回はチュートリアル 5 Topics をやっていきます。Topic と言ったって単にワイルドカードを使った部分一致で待ち受けできますよ、と言うだけです。では早速 Receiver から。sub_t.js #!/usr/bin/env node const amqp = require('amqplib'); const my = requ…

RabbitMQ で Routing (チュートリアル4 Routing)

さて今回は本家チュートリアル 4 Routing をやってまいります。 Routing と言ったって Receiver 側で名前を OR で待ち受けれるだけと言う簡単な機能です。pub_r.js #!/usr/bin/env node const amqp = require('amqplib'); const my = require('./my.js'); as…

RabbitMQ でPub/Sub (チュートリアル3 Publish/Subscribe)

今回は本家チュートリアル 3 Publish/Subscribe です。これは何か?を簡単に言うと、ブロードキャストです。 今までの例では Receiver 側は Sender から送られた Message をどれか一つの Receiver だけで受けていましたが、これを複数の Receiver で受ける事…

RabbitMQ でタスク処理(チュートリアル2 Work queues)

前回、単純なメッセージ送信を行いました。今回は本家チュートリアル 2 Work queues にあたる、タスク処理を行ってみます。タスク処理で大事なのはきちんとタスクが完遂されることです。なので、もし処理途中でプロセスが死んだ場合、他のプロセスがタスク処…

RabbitMQ でメッセージ送受信(チュートリアル1 "Hello World!")

RabbitMQ を仕事で使う必要があり使い始めたんですがこれがまた分かり辛い。むちゃくちゃ単純な代物なのにやたらと難しくする病気を患っているシリーズです。 自分は Node.js から使うんですが、本家チュートリアルのコードがコールバック地獄コードだったり…

LSTM が良くわからない!グダグダ言わずに使い方教えろ!!と言う短気な方、どうぞ - その1

LSTM についていろいろ調べたもののうだうだ理屈ばっかこねくり回されてよく解らなくなってしまった方々、ようこそ。パパッとコイツの使い方、教えます。まずはコイツって何か?と言うと、あるデータの先を予想する奴です。株価予想したりします。文章相手に…

ディープラーニングが解らずお先真っ暗な人が読むと一気に目の前が明るくなる良著改め聖書: はじめてのディープラーニング

暗いと不平を言うよりも、 すすんであかりをつけましょう読むべし。どこぞのオライリーの赤いオコゼ本がさも聖書のように持ち上げられているんですが、あれ読んでも実際良くわかんねーっすって人多いでしょ?もし持っていたら、メルカリで \3,000 で売れるん…

ディープラーニングで実際簡単なものを学習させてみる

wolfbash.hateblo.jp上の記事では、学習なしで AND回路を作ってみました。今回は前回のコードに対して学習のコードを加えます。 #!/usr/bin/env python import os import numpy as np class NeuralNetwork(): saveFile = 'train.npy' def __init__(self, inS…

ディープラーニングは難しすぎ、とほっぽり出したプログラマへの助け舟

ディープラーニング、気軽な気持ちで調べてみるも「なんじゃこりゃ!」と撤退。ありますよね。何がニューロンだ、何がシナプスだ、何がニューラルネットワークだ!うざいんじゃボケェ!!こっちはなぁ、脳みその仕組みを知りたいわけじゃねぇんだよハゲが!…

gulp で PHP + twig + pug + SCSS あたりで快適にコード書きつつ js、css を min 化するそんな素敵ライフを送る方法

UI のプロトタイプとかちゃちゃっと書きたい時に pug で書いてたりはしたんだけど、pug ばっか書いてすっかり中毒になると、もう素の HTML で twig なんて書いてらんない体に。 pug を twig に変換するやつを書いてくれてる人もいて試しちゃみたけど、どうも…

毎度忘れる正規表現代表格 肯定否定先読み後読みの覚え方のコツ

毎回忘れてググる人多いでしょ?まぁ覚える必要も無いんですが、簡単に覚えられるので自分なりのコツを。後ろにその文字が無いとダメ、あったらダメ 前にその文字が無いとダメ、あったらダメこの4パターンがあるわけですが 何かしらの文字(?=無いとダメ) (?<…

PHP、JS、Sass 編集でブラウザを自動更新しつつ CSS、JS を min 化して幸せになっときたい諸氏へ

大概の FW 使ってると、public 以下が公開用ファイル達のいるドキュメントルートで、その上に PHP のファイルなどが居る的な感じになっているはず。controllers/*.php models/*.php sass/*.scss js/*.js public/css/*.min.css public/js/*.min.js public/ind…

HTML、JS、Sass 編集でブラウザー自動更新、そして、CSS、JS を min 化、そんな gulpfile.js は無いかとお困りの貴殿へ

どうやりゃ良いんですか?って聞かれたので。確かにまとまってるところが無いっぽい。よくやるパターンだと思うけどなぁーーーと思ったので貼り付ける。 npm i gulp@3.9.1 gulp-plumber gulp-sass gulp-uglify gulp-clean-css gulp-rename browser-sync --sa…

Twig の使い方 - シンプルなチートシート的メモ 3 - 便利なフィルター

wolfbash.hateblo.jp前回の続き。便利なフィルター愉快なフィルター。 絶対値 {% set number = -30 %} {# 30 #} {{ number|abs }} リスト分割 {# ROW: 123 ROW: 345 ROW: 7xx #} {% for row in [ 1, 2, 3, 4, 5, 6, 7 ]|batch(3, 'x') %} ROW: {% for d in r…

Twig の使い方 - シンプルなチートシート的メモ 2 - テンプレートの分割

wolfbash.hateblo.jp前回の続き。テンプレートファイルを分割統治する方法。地方分権ない限り日本の発展は無し。 継承 parent.twig ---- BASE ---- {% block title %}テスト{% endblock %} {% block content %}{% endblock %} ---- END BASE ---- child.twig…

Google OAuth を Google 純正の PHP ライブラリを使っての実装メモ

フルコーディングしちゃってるサンプルが WEB に散見されるが便利なライブラリがあるのでそれを使って幸せになるためのメモ。今のところベータらしいのでそう言うのが嫌なら使わない方が幸せかもしれない。 クライアントIDとシークレットを取得 qiita.comこ…

Twig の使い方 - シンプルなチートシート的メモ 1 - 基本

今更ながら使ってみて出来が非常に良いと思ったし速度もいい塩梅なの本気で使うことに。そのためのカンペ的なアレその1。Twig の syntax highlight がはてなブログに無いので見づらいのは我慢。highlight.js では対応してんのになぁ。 基本 最初に composer …

jQuery-Validation-Engine で Ajax の独自チェックを追加する方法

ユニークチェック等一度 DB を舐めてやらないとイケない場合等は処理をバックエンドに回す必要があるんですがその方法がいまいちドキュメントとして無かったのでメモがてらに残しておきます。 <script> $(function() { $('#form').validationEngine('attach', { prom…

Nim を使って楽しくプログラミング その 1 - はじめに

Nim ってドキュメントが致命的に無いことは以前書きました。これだと困る人が多かろうという事で、ちょいちょいこれから書いていきたいと思います。今回は一番手始めのセットアップから Hello world まで書いていきます。github.comまずは、ここからコードを…