強まっていこう

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

プログラミング

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まずは、ここからコードを…

golang の継承 vs Nim の継承

wolfbash.hateblo.jpこの記事で後回しにしていた継承部分について書きます。golang は継承がない!なんてこと言っていますが、ありますよ。構造体に対する埋込で可能になります。

イケてないのに人気がある golang vs イケてるのに人気がない Nim

ここ最近 GCP を持ち上げて Google のポチと化していましたが、そのポチが今回は Google に噛みつきます。wolfbash.hateblo.jpだって golang 酷いんですもん。何かセンスがぜんっぜん Google っぽくない。せっかく作るのなら、もっと良いものにして欲しい、…

Nim、golang、Crystal、Node.js それぞれの Web Server ベンチマーク

以下のコードをそれぞれちょいとベンチしてみました。

複合現実 XR が起こすコンテンツ & 広告革命

jp.techcrunch.comXR は革新的な変化を私たちにもたらします。何が変わるか?まず広告の概念が一気に広がります。広告枠が空間全部に広がるわけです。見えている範囲全て奥行き含めて全てが広告枠です。ありとあらゆるところに機器の設置無しでの広告配信が…

クソコードに殺されないために駆け出しエンジニア時代にやったこと

www.megamouth.info残念ながら、実際の現場はクソコードで溢れかえっています。これは私がプロとして働き始めた1社目で起きた話です。部長「業者に作ってもらったシステムが全く動かないからさぁどうにかしてー。」「初めてプロのコードを見るなぁ、どんなの…

第二プログラミング言語として Rust はオススメしません Nim をやるのです

これから Rust 触ってみようかなぁと思っている方。やめておきましょう。プログラミングが嫌いになりますよ。Nim をやりましょう。すでに Rust に挑んで心ぶち折れた方。Nim をやって心の傷を癒やしましょう。Rust がディスられる!小癪な!と思っている方。…

FizzBuzz を無駄にベンチマークしてみた By Nim、golang、Rust、Crystal、その他

FizzBuzz 2つのパターン FizzBuzz 2つのパターン いざベンチ まとめ コード C Crystal + Ruby Perl Nim Rust PHP golang Node.js Node.js(write) コンパイルオプション IO が遅いと id:Haaaa_N さんから指摘があったので試してみた Nim の文字全列連結版をも…