銀の弾丸

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

GitHub の Security Alerts を 1 clickで解消する(Botが勝手にやってくれる)

npmで公開しているリポジトリにセキュリティ上の問題があるとGitHubからメールが届いていましたが、ボタン一つで対策できるようになっていたことをお伝えします。

はてなブログをAsciiDocで書く方法

はてなブログをAsciiDocで書けないものかとやってみたらなんとかなった。 前回記事(「AsciiDocのテーブルで行のヘッダを指定する」)で、コードブロックのAsciiDocをプレビューするため書き殴ったJavaScriptを整理してご紹介しております。 実際には、はてな…

AsciiDocのテーブルで行のヘッダを指定する

AsciiDocのテーブルで__行ヘッダ(=特定列をまるごとヘッダ)はどうするの?__と疑問に思って調べたことを書いています(列ヘッダ(ヘッダ行)を表現するのは2行目に空行を入れるか`[options="header"]`でOKですね)

AWSでランダムな画像を返すURLを作りました(Stravaのワークアウトのシェアのため)

HTMLのIMG要素のSRC属性に設定しておけば、ランダムに画像を表示するURLです。 複数の画像をAWS S3のバケットに置いておき、CloudFront - API Gateway - Lambda Function というルートで画像を返します。

AWS S3 の putObject API でメタデータを設定する

AWSによるサーバーレスアーキテクチャposted with amazlet at 19.04.15Peter Sbarski 翔泳社 売り上げランキング: 157,672Amazon.co.jpで詳細を見る AWS S3 の putObject API でバケットにファイルをアップロードするときには、メタデータをきちんと指定して…

mochaとBabelでESモジュールをテストする

npm内のESモジュールをmochaでテストしようとしたのですが、上手くいかない。 Babelが必要なんですね。mochaのテストスクリプトをbabelで変換しないと import / export が構文エラーになってしまうのです。 事前に変換しなくても、@babel/register を使ってm…

npmパッケージのダウンロード数をアカウント別に一括取得

npmのユーザーアカウントを指定して、そのアカウントが公開している全パッケージの直近ダウンロード数を一括取得するnpmを公開しました。

Gitbookのライブ・リロードがWindowsで異常終了する問題を(とりあえず)回避する

Windowsで正しく動かないGitbookのライブ・リロード(live reload)の回避方法はコチラになります。

JavaScriptで可変長引数を扱うモダンな書き方

「JavaScript 可変長引数」でググると「arguments」のことばっかり出てきますけど「今やJavaScriptの可変長引数は arguments を使わなくてもスッキリかけますからねっ!」ってことを書いてる記事です。

WebWorkerを手軽に扱うTransWorker v1.1でSharedWorkerが利用可能になりました!

この度、JavaScriptでWebWorkerを手軽に扱う [npmモジュール TransWorker](https://www.npmjs.com/package/transworker) を v1.1.0 に更新しました。 従来は DedicatedWorker にしか対応していなかったため、ワーカースレッドを生成したメインスレッドからし…

祝!SHARP MZ-700シリーズ発売36周年!な思い出話とエミュレータのお話です

SHARP の 8ビットマイコン MZ-700 シリーズが 1982年11月15日に発売されて、今日でちょうど36年。当時からの思い出話などつらつら書いてお祝いしようと思います。

非同期処理の直列化:今やArray.reduceを使わなくてもできますよね

photo credit: hans-johnson 700-7000 Series_1 via photopin (license) 非同期処理の直列化とは「複数の非同期処理を、順番に実行する処理」のことです。非同期処理の順次実行や逐次実行とも呼ばれます。 処理速度は、並列処理よりも遅いのですが、処理順が…

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でツールチップを表示する

WEBページのSVGにツールチップを表示する方法を書いています。なぜかHTML要素とはやり方が違いますので比較しながら説明します。

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のコミット日時を書き換えてアリバイ工作する方法・・・