読者です 読者をやめる 読者になる 読者になる

latest log

酩酊状態で書いたエンジニアポエムです。酩酊状態で読んでください。

"デバッグしてください", "パフォーマンスチューニングしてもらってもいいですか?" とJavaScriptが難読化された状態のページのURLを渡してくる人に、伝えなきゃならない事がある

webpackを使ったサイト、極端にデバッグしずらい (外部ライブラリが eval(文字列) の形で埋め込まれる)ので、はっきり言って大キライだったりする— コラーゲンたっぷりさん (@uupaa) 2017年4月19日 見知らぬコードが minifyされ、さらに eval されているのを…

JavaScript で記号プログラミング

息抜きに、JavaScript で記号プログラミング を Qiita に投稿してみました。 JavaScript で記号プログラミングは、(僕の中で)JavaScript がまだ盛り上がっていた頃(2005〜2013年頃)の話題です。とても懐かしい感じがします。 200x年ごろのJavaScript界隈とい…

GitHub pages の公開ディレクトリを master /docs に設定し Symlink を作ったら色々捗るかと思ったらダメでした

先ごろ、github-pages として公開するディレクトリを masterブランチの docs に設定することが可能になりました。 (これまでは gh-pages と呼ばれる別ブランチを用意し、そちらに必要なファイルを都度 publish する必要がありました) そこで (〜・◇・)〜 git…

他人の書いたコードは難しい(純ポエム

他人が書いたコードは何故難しいのか・契約プログラミング(型システム)・コメントによる表現力の補完・図式・簡易で合理的なSyntax( != 記号プログラミング)などを施しても、なぜ読みづらいのか。ここ30年でこの部分は進化してない?という原点回帰な思考実験…

iOS 10 Safari から video の inline 再生が可能になります

iOS 10 Safari から video のインライン再生が可能になります。 iOS 9 までは <video webkit-playsinline> を指定することでインライン再生が可能でした(WebView のみ) iOS 10 からは <video playsinline> を指定することでMobile Safari でもインライン再生が可能になります ご注意 注意すべき点が1つあ</video></video>…

WebKit Internals API

WebKit をデバッグビルドすると、UnitTest用と思われる隠しAPIが利用可能になります。 window.internals.xxx() を実行することで… 一時停止できないはずのKeyFrameアニメーションを一時停止したり 各種ハードウェア/ソフトウェアの状態を取得したり メモリキ…

Wrote it.

qiita.com

2017年でSHA-1サーバ証明書が廃止されるため、2009年以前に発売されたガラケーの大半でSSL通信(ログイン,課金)ができなくなります。ご注意を

SHA-1サーバ証明書の発行禁止と2017年1月1日からの相互利用禁止に伴い、2009年以前に発売されたガラケーの大半でSSL通信(≒ログイン,課金)ができなくなります。こちらが機種ごとの対応状況の一覧です SHA-2各種プラットフォーム対応状況 Node.js などのサーバ…

ブラウザの通信内容を詳しく知りたい場合は Chrome DevTools の Network Tab の ヘッダ部分を右クリックしてカラムを増やすとハッピーになれますの図

UserAgent.js と Spec.js にガラケーのサポートを追加しました

UserAgent.js に FeaturePhone 判別用のプロパティ FEATURE_PHONE を追加し、 Spec.js に 国内大手キャリアから発売された(2009年以降の) FeaturePhone のスペックカタログ追加しました。 FeaturePhone 用のスペックデータは、ブラウザ上からは使わず、サー…

Change to npm unpublish policy

ポエムです。 npm unpublish --force kik and unpublished all my packages. いわゆる left-pad 問題の続報です。 npm が unpublish の運用ポリシーを変更するそうです。 The npm Blog changes to npm’s unpublish policy New policy Going forward, if you …

画面の回転をハンドリングする ScreenOrientationEvent.js を書きました

ScreenOrientationEvent.js 書きました。 画面の回転方向を取得する 画面の回転時のイベントでコールバックする 画面の回転をロックする なんてことができます。 モバイルなブラウザ(Chrome, Firefox, Edge, Safari)で動きます、PCでも動きますが余り楽しく…

Windows版のChrome 48でFlashのコンテンツがぼやけてしまう問題が多数報告されているようです

source(gist)

インターネットにゴミをばら撒かない為にやっている、ちょっとしたルーティン

ポエムっす。あるあるっす。 書いて消す(核ボタン押したフリ) 僕は、他人に対して何か余計な一言を言いたくなったり、良くない気持ちになった時は、「今の気持ちを文章にする。SNSやメールに書き、送信する直前まで行く。実際には送信せず消す」という、ちょ…

Adobe CS 6 が 次期 Mac OS X では起動不能になります。それに伴い Mac における Flash Lite (swf) のビルド環境も大きく後退します

確定情報ではないので、ポエムとして書きます(確定情報などは Qiita に書いてます) https://github.com/uupaa/LatestLog/blob/master/2016-01.md#list-of-changes-in-the-browser-and-runtime-environment-which-is-scheduled-in-2016 2016-09 - 次期 Mac OS…

IE では利用できない機能、IE を切り捨てる事で得られるメリットの一覧

Qiita に IE では利用できない機能、IE を切り捨てる事で得られるメリットの一覧 を書きました。 (〜・◇・)〜 願掛けだね

Use SpeechSynthesis and SpeechRecognition on Browser

Web Speech API を使えば、ブラウザ上で音声合成と音声認識が出来る時代らしいです。 Safari と Chrome で音声合成が利用できます。Chrome ならさらに音声認識も利用できます。 手軽に利用できるように、WebModule ベースの Speech.js Module を作ってみまし…

「iOS 10 に入るかもしれない変化まとめ」と「今年予定されているブラウザ関係のイベント一覧」書きました

github に log 書きました

MarkDownKit 的な物が欲しかった OF THE DEAD

前々から書きたかった MarkDownKit 的な md ⇔ AST(JSON) ⇔ 他のフォーマット 変換ツールを書き始めました(本当はお正月中に仕上げる予定でしたが、風邪で6日ほど倒れてました) 作業から20時間ほどで、やっとそれっぽいJSONを生成するようになってきた感じで…

add 2015-12-29 latest log

https://github.com/uupaa/LatestLog/blob/master/2015-12.md#2015-12-29

Task.js@1.1.0 released

Task.js の概要 ChangeLog TaskMap から呼ばれる関数の this を map に変更しました TaskMap(taskName, flow, map, callback, arg) の arg を 削除 しました arg を使用するとコンソールにエラーを出力します map に必要なデータを関連付け、this 経由で参照…

哲学と共にあらんことを(君は九龍城を見ることになるだろう)

あー、このツールも、アレもこれもと取り込みすぎていつの間にか九龍城になってきてるのか、ワンストップを目指すにはそれが近道なんだけど、それじゃダメなんだよ。身が持たない。— コラーゲンたっぷりさん (@uupaa) 2015, 12月 22 機能単体で成立するよう…

こちらはポエム倉庫になりました

書いたほうが良さそうなエントリは github や Qiita で書きます。 こちらには駄文とポエムを書きます。

KISSの法則++

課題を1つ解決するためにそれ以上の複雑性を持ち込むのが素人の筋悪。 複数の課題を同時に解決するのがプロのアイデア。 時間と共にドロドロの魔女鍋のようなコードにしてしまうのが素人の限界。 時間と共にシンプルで明確なコードになり、後の事まで考えた…

Update Bit.js, ExpGolomb.js and HexDump.js

Bit.js, ExpGolomb.js, HexDump.js を更新しました。 Bit.split1 〜 4 を Bit.split8 〜 32 にリネームし、byte 数ではなく bit 数で幅を指定するように統一しました BitView の再設計を行い、BitView#u1 〜 u8, u16, u24, u32 を追加しました BitView#ug と…

無ければ作るし、ついでに公開するし の流れ

ブラウザでバイナリを扱うのが辛すぎて、何とかしたいと作りこんでいた冶具(HexDump.js) がだんだん極まってきたの図。 ただの Hex Dump 機能として作ってたハズが、気がついたらこんな感じに。 冶具: 作業の効率を改善するために自分でクリエイトする道具 H…

Webフロントエンドの人達(?)が次々と微妙なツールを導入して「流れが早過ぎる」とつぶやいているのを横目で見て感じている事

自分の会社に「新ツール導入の際はCTOの許可が必要」というルールを生やして居心地を悪化させたり、後輩のやる気を削りたくなかったら、ツールの将来性を考えて行動したほうが… SI等のアレな現場にその手のルールが存在するのは何故なのか?という事と、自分…

ぜひまた購入したい Mini DisplayPort → HDMI 変換ケーブルと、もう二度と購入しないケーブルの一覧

GamePad.js で PS4 のコントローラーをサポートしました

今日は GamePad.jsのお話です。 GamePad.js で PS4 のコントローラもサポートしたよ。 (コントローラーは渋川さんから借りました) pic.twitter.com/8O0wcYHmSq— コラーゲンたっぷりさん (@uupaa) 2015, 10月 28 PS4 の隣は NexusPlayer のパッド(ASUS Game…

ForceClick.js disable the force click in link navigation of iPhone 6s. (リンクの先読み機能を無効化)

ForceClick.js は force click によるリンクの先読み機能を無効化するライブラリです。 iPhone 6s Safari で <a href="..."> をクリックすると、3通りのアクションが発生することはご存知でしょうか? 軽くタッチすると、リンクを現在のタブで開く (open link) 長めにタッチ</a>…

第三次ブラウザ戦争がそろそろ閉幕します

追記: このエントリを投稿してから3日後に Google から AMP が発表されました。AMP は 既存の HTML/CSS/JavaScript の機能を制限することで、ページの表示パフォーマンスを改善するものです。AMP で書かれたページは Google 検索ランキングにおける特典が受…

iOS 9 Safari で発生していた touchstart で音が鳴らない不具合に対するパッチが投入されました

iOS 9 Safari で発生していた touchstart で 音が鳴らせない不具合に対するパッチが先ほどWebKitに投入されました。修正されるもようです http://qiita.com/uupaa/items/e5856e3cb2a9fc8c5507 iOS 9 Safari WebAudio::AudioBufferSourceNode does not play o…

JavaScript で MP4 parser を実装してみました

MP4 コンテナに関する知識が不足していたので、習作がてら MP4 ファイルを分解する js ライブラリ(MP4.js)を WebModule で書きました。 今は MP4.parse() のみですが、そのうち MP4.build() も実装したいですね。 左がChrome / 右がVM Win7上で動作するMP4 R…

バイナリダンプをカラフルに

あと90日でクリスマスですね。 (バイナリ解析が辛くなって来た事もあり)ちょっと気が早いですが、視認性の改善とモチベーションの維持のために TypedArray.dump のダンプ結果を色々とデコれるようにしてみました。

iOS 9 Mobile Safari was enabled force touch event

ポエムじゃない記事を Qiita に書きました(ここではポエムを書いてます) qiita.com

iOS 9 Safari WebAudio::AudioBufferSourceNode does not play on first touchstart event.

「iOS 9 Safari では touchstart で音が鳴らないのではないか?」と神々がザワザワしてましたので、2時間ほど調べて、Appleにバグレポート出して、Qiita に書きました。 qiita.com

低レベルなビット操作関数を集約した WebModule ベースのライブラリ Bit.js を追加

結構な割合で必要となるビット演算系の関数をまとめた WebModule ベースのライブラリ Bit.js を追加しました。 こんな関数があります。 // make bit mask Bit.mask(2) // -> 0x03 Bit.mask(4) // -> 0x0f // bit split by bit-pattern Bit.split(0xffff1234,…

Safari がサポートしている Audio と Video フォーマットを確認する

Qiita に書いた 答えはこんな感じ audio/aacp video/3gpp2 audio/mpeg3 audio/mp3 audio/x-caf audio/mpeg video/quicktime audio/x-mpeg3 video/mp4 audio/wav video/avi audio/scpls audio/mp4 audio/x-mpg video/x-m4v audio/x-wav audio/x-aiff applicat…

Chrome DevTools に描画フレーム毎のスクリーンショットを記録/再生する機能がついています

Chrome DevTools の Timeline タブにフレーム毎のスクリーンショットを記録/再生する機能がついています。 Canvas パーティクル 3万個 の結果です。 youtu.be Canvas/WebGL を使ったカジュアルゲームの開発やQAに活かす事ができるステキ機能ですね。 CreateJ…

プロダクトの開発速度を左右するキーマン「プロQA」という貴重な存在について

イノベーティブなプロダクトだと、チャレンジ成分の多さに応じてエッジな技術を投入できる可能性が高まるという観測ができた。 さて上記の状況で、QAチームがなぜか突然IE7,IE8対応を求めてきました。その時の僕はどうなったでしょう? A1. 徹夜になった A2. …

日本国内で SIM フリー端末を発売される会社の広報担当者様へ

SIMフリー Android 端末を販売する各社様へ。少々困ってる事があります。ぜひ、ご協力いただければと思っています。 私は github で Spec.js という JavaScript ライブラリを公開しております。 このライブラリは、端末の UserAgent から情報を収集/分析し、…

This is the Next Web that I think.

Webの進化を停滞させてるのは結局古いブラウザなのだから、そのようなブラウザは極めて真摯にお断りさせていただく。 文字コンテンツを見るブラウザと、クリエイティブなコンテンツを見るブラウザは使い分けてもらう。 それぐらい強い態度に出れるキラーコン…

I am expecting to iOS 9.0 Mobile Safari features.

iOS 9.0 に入るかもしれない機能をまとめてみました。公式なものではないため参考程度にお願いします。 WebKit 公式の Feature Status もご覧ください。 (ε・ ワ ・)з 40〜50時間ぐらいドブに捨てて書いている気がしますが、2分で読めます via https://githu…

WebKit nightly の DevTools に Visual CSS Editor が

ボタン1つで、text-align: right がこのように。 すばらし

ChromeTrigger.js Version 0.3.2 released

Spec.js version 2.0.0 released.

Add a new WebModule WebGLDetector.js, And add a UserAgent#DEVICE in UserAgent.js.

ライトウェイトな Spec.js としての UserAgent.js を追加。WebView の判別機能などを入れてあります。

Spec.js の機能が増えてきたため、UserAgent 部分だけを分離した UserAgent.js を書きました。Edge への対応と WebView 判別部分などなど、多用する機能だけに絞って入れてあります。 var ua = new UserAgent(); var result = { OS: ua.OS, OS_VERSION: ua.O…

GitHub wiki のリビジョン間の差分を見る方法

wiki のリビジョン間の差分をまとめて見る https://github.com/{USER-NAME}/{REPOSITORY}/wiki/_compare/{A}...{B} で コミットAとB の diff をまとめて見れます。 https://github.com/uupaa/WebKitChangeLog/wiki/_compare/8ce4d404459922d810366f5d300dcfc…

ES5 で Classを定義する WebModule 流のイディオム