銀の弾丸

プログラミングに関して、いろいろ書き残していければと思っております。

C#のActionクラスとFuncクラスを理解する

C#

photo credit: ARMLE Action ! via photopin (license) C#でメソッドや関数を表す 2つのクラス Action と Func について説明します (全くの余談ですが、C言語的には関数ポインタ、JavaScript的にはFunctionオブジェクトに相当するものです)。 2つの違いは…

mocha を使った npm のユニットテストをブラウザで動かす設定

mochaとchaiを使ったnpmのユニットテストをブラウザで動かすための設定をご紹介。試行錯誤を繰り返して自分なりのテンプレートみたいなのにたどり着いた感じかな。

あなたが正しくウェブページのカーソル形状を変更するには

結構みんなが知ってるつもり?ウェブページのマウスカーソルの形状を変更する方法を書いています。小ネタといえば小ネタです。

EdgeがIMGタグのSVGをストレッチしてくれないことがある

HTMLのIMGタグでSVG画像を表示するとき、EdgeではSVG画像がIMGタグのサイズに拡大・縮小されず、SVGで指定されたサイズでそのまま表示されることがあります。 他のブラウザ(Chrome、Firefox、Safari)では大丈夫でした。 また他の画像形式ならばEdgeでも問…

ウェブアプリからGoogle Driveのファイルを扱う 'gdrive-fs'

photo credit: suzyhazelwood DSC04299-02 via photopin (license) ウェブアプリから Google Drive のファイルを操作するモジュール(npm)を公開しましたので、ご紹介。 これからWebをはじめる人のHTML&CSS、JavaScriptのきほんのきほんposted with amazlet a…

SVGでツールチップを表示する

小ネタです。SVGにツールチップを表示する方法です。

ParcelのBabelでAsync関数を変換せずに使う設定

ParselでAsync関数が普通の関数に変換されてしまって困っていましたが、回避する方法が分かりました

設定なしのバンドラー「Parcel」がWeb開発には最強の予感!だがしかし(期待を込めて)・・・

昨年末あたりから、よく聞くようになった設定なしのバンドラー&タスクランナー「Parcel」を使いはじめました。簡単・便利ですが不安定な点もありましたので紹介がてら対処法なども含めて書いておりますー

今後JavaScriptでArray.forEachはほとんど使わなくなるのかも

React Native+Expoではじめるスマホアプリ開発 ~JavaScriptによるアプリ構築の実際~posted with amazlet at 18.08.31松澤 太郎 マイナビ出版 (2018-08-29)売り上げランキング: 6,280Amazon.co.jpで詳細を見る いままでJavaScriptの繰り返しは Array#forEach…

WebアプリからGoogleドライブにファイルを保存する方法

前回記事の読み込みに引き続いて、WEBアプリからGoogleドライブにファイルを保存するサンプルコードを掲載します。 公式ガイドにWEBブラウザのJavaScript向けサンプルコードは有りませんでした。 しかし前回懲りて学習しました。 XHRで直接APIを叩けばOK。 …

WebアプリでGoogleドライブのファイルを読み込む方法

「ブラウザで動作するWebアプリから、ユーザーのGoogleドライブに保存されているファイルを読み込む方法」を書いてます。

非同期Lambdaのコンテキストはどこ行った?

非同期Lambdaのひな型がasync関数になって引数リストが `event` ひとつになっています。従来第2引数で渡されていた context はどこに行ったのか?と調べてみた結果を書きました。

async / await の基本事項 ― やっぱりPromiseは無視できない

JavaScriptのES2017で使えるようになった async / await を理解するとき勘違いしそうな所をまとめてみました。結局Promiseを理解していないとコードを追いかけられないですよねという話でもあります。

mouseenterとmouseoverの違いなどDOMイベントの発生状況を可視化して調べてみたよ

HTML5のDOMイベントに、mouseenter と mouseoverという、よく似たマウスイベントがあります。ここには、その違いについて調べたことを書いておきます。 どちらもマウスポインターが要素の上に入ってきた時に発生するイベントで、それぞれに対応する「マウス…

Heroku CLI 7.0.2? のエラーを修正

Git for Windowsから最新版の Heroku CLI を起動するとエラーが発生。バージョンは下に書いてますけど、そもそもエラーが出るので確認できない。Power Shellからなら大丈夫。32ビット版でも64ビット版でも同様ですね。未確認ですが、MSYS とか Cygwinでも同…

ES6に対応した「grunt-contrib-uglify-es」を使用する

grunt-contrib-uglifyのES6対応版がgrunt-contrib-uglify-esという名で別途公開されてましたというお話。 速習ECMAScript6: 次世代の標準JavaScriptを今すぐマスター! 速習シリーズposted with amazlet at 18.03.22WINGSプロジェクト (2015-08-28)売り上げ…

AdSense「自動広告」の破壊力!~ゲームのルールが変わったかもね?全部おまかせでよいのかな?

最近AdSenseで「自動広告」なるものが使えるようになりました。 とても便利でお手軽で、素晴らしいソリューションだと感動したんですが、「AIが人々の仕事を奪っちゃう!」というほどではないにしろ、少し危機感も感じます(後述)・・・。 てことで、ちょっ…

Gitでアリバイ工作するスクリプトはコチラです

Gitのコミット日時を書き換えてアリバイ工作する方法・・・

DynamoDBをSQLで操作するNodeモジュール

Amazon DynamoDBをSQL的な記述言語(SQL-ish)で操作できるNodeモジュールのご紹介。最新版は v0.8.8 。SQLに小数点を含む数値を指定した時、正しく解釈できなかったバグを修正。

package-lock.jsonの潜在的セキュリティ脆弱性を解消しました

photo credit: wuestenigel blue padlock via photopin (license) 昨年12月末、GitHubに置いてる自作npmのリポジトリに「潜在的なセキュリティの脆弱性がありますよ」ってメッセージが表示されるようになって、 「公開しているnpmのリポジトリに、こんなの表…

WindowsでSwift使う(iPhone開発とは言ってない)

詳解 Swift 第4版posted with amazlet at 17.12.27SBクリエイティブ (2017-12-26)売り上げランキング: 2,188Amazon.co.jpで詳細を見る Swift For Windowsをインストールすればヨシ。 デフォルトで C:\Swift にインストールされる。 GUIから使うにはこのまま…

コンソールからGoogle OAuth2の認証を行う

photo credit: suzyhazelwood DSC04299-02 via photopin (license) コンソールから Node.jsを使って Google OAuth2 クライアントID による OAuth 認証のお試しコードを書いてみました。 日々の作業でGit BashやMSYS2を多用していますが、コンソールからGoogle…

線形回帰で「アヤメ(iris)」の分類

octaveを使って線形回帰で「アヤメの分類」をやってみました。 なんで急にこんなことやり始めたかっていうと、先日、会社の方に初めて機械学習関連のお仕事が舞い込んできたようでして、自分は担当外なのですが「今の時代、それぐらいできなアカンやろーwww…

C++でJsonを扱うクラスライブラリ jsonexpr

8月から支援に入った画像処理(リアルタイム・オブジェクト・トラッキング)プロジェクトの検証システムで、C++の本体からJSONを吐く必要がありまして、急いでやっつけたのですが、「そういや昔、C++でJSON扱うクラスライブラリ作ったね・・・」と思い出しま…

Node.js+Sqlite(npm sqlite3)のeachメソッドは中断できない

npm sqlite3で一件ずつレコードを読む Database#each または、Statement#each は途中で中断できません。代替手段は・・・

意外に悩ましい整数部分の四捨五入

photo credit: danmachold calculator via photopin (license) JavaScriptで整数部分を四捨五入する場合の注意点。桁落ちに気を付けましょうってお話です。 JavaScriptで、小数を整数に四捨五入するにはMath.roundを使いますね。 でもこれ、残念なことに桁数…

「プロミス地獄」に落ちないための基本事項

「コールバック地獄」からボクらを救ってくれた「Promise」ですが、ふと気が付けば、ちょっと種類の違う別の地獄に落ちてる場合がありますよと。 「なんだPromiseお前もかっ!」的な(笑) 「コールバック地獄」は見た目にネストが深くて「ダメだコリャ感」…

WHATWG Fullscreen API を仕様通りに使えるモジュール「fullscrn」

WEBページ内の特定HTML要素を画面全体に広げられるフルスクリーンAPIのラッパーモジュールをnpmで公開しました。 WHATWGが策定しているフルスクリーンAPIは、現状(2017年5月現在)、多くのブラウザで、プリフィックス付きの実装(mozとかwebkitというアレで…

SVGの重なり順序を操作する「svg-z-order」

JavaScriptからSVG要素の重なり順(Z-Order)を操作するモジュールのご紹介。 SVG要素には、HTMLに使えるz-indexスタイルが効きません。 なので、重なり順を変更するには、単純に要素を並べ替える必要があります。 コードからDOM要素を並べ替えるにはNodeク…

D3.js v4 でドラッグするには d3.drag() で behavior を取得する

D3.jsでドラッグイベントを処理する必要があったのですよ。 ほぼ初めてのD3ですからグーグル先生にいろいろ聞いて、「ほうほうなるほど」と学習していたのですけど、 ドラッグに関して各所で示されていたサンプル通りにやってみたら、まさかのエラー。 結局…