You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
2022/3/21 更新! Qiitaでこの記事を公開していたら、本を出版することになりました!!キャー!ありがとうQiitaさん。 ケーススタディでしっかり身につく! Google Apps Script超入門 ベースはGASレクチャーの内容ですが、説明の仕方を変えたり、コンテンツ追加したりしてますのでぜひお手にとってほしいです! 2020/5/1 更新! 資料をV8エンジン対応版 に更新しました! 主な変更内容は var をやめて const let に置き換えた 文字列の扱いを テンプレート文字列 を使うようにした 内容を見直して説明を厚くしたり、表現を変えたりした 2020/5/1時点で、世の中はコロナウィルス対策で非常事態宣言が出されているゴールデンウィークを迎えていますが、ステイホームしてる間にGASの学習をしたい人のお役に立ってほしい! 資料(Googleプレゼンテーション)
こえのブログは「声で書くブログ、声で聴くブログ、声で観るブログ」をコンセプトに書き手、読み手双方にバージョンアップしたブログを提供するアメブロの新機能です。 投稿者は端末に向かって喋るだけで、その音声が活字化されブログとして公開できます。閲覧者は活字化された文字を通常のブログと同じように読めるほか、音声を聴きながらでもコンテンツ消費できます。 モバイル端末、テレビ端末やスマートスピーカーなどの普及により、今後ますます増えると予想される利用形態に対して、それぞれに適した形でコンテンツを提供できるように挑戦しています。 この記事では、技術的な側面を中心にこえのブログを紹介します。 こえのブログは、文字でも音声でもコンテンツ消費できるのが特徴です。読者の方へのメッセージや質問に回答など利用法は様々です。龍玄としさんやクロちゃんさんなど著名人の方の声も聴けます。 できる限りサーバーにアクセスしない
ECMAScriptの仕様策定に関する行うTC39のミーティングログはすべて公開されています。 rwaldron/tc39-notes: TC39 Meeting Notes ECMAScript は 毎年5-6月あたりに新しいバージョンが公開されます。 新しいバージョンに入る仕様は、毎年1月のミーティングで確定します。(なのでES2019はもう決まっています。) そのため、ECMAScript 2019の仕様に関する議事録は2018-03 から 2019-01 の6回分になります。(2ヶ月に1度開催される) https://github.com/rwaldron/tc39-notes/tree/master/es9 このログを読みながら、進んでいるプロポーザルや進まなかったプロポーザルについてを見ていく読書会をしました。 なぜそのStageになっているのかという、数値だけではわからない背
WebAssemblyが50マイクロ秒以下で起動する「Lucet」。コンパイラとランタイムをFastlyがオープンソースで公開 WebAssemblyとは、Webブラウザ上でネイティブコードに近い実行速度で高速に実行できるバイナリフォーマットです。 マイクロソフト、Google、Mozilla、AppleなどのWebブラウザベンダがW3CのWebAssembly Community Groupなどを通じて共同で開発に取り組んでおり、すでに主要ブラウザで実行環境が整っています。 Lucetは50マイクロ秒でWebAssemblyモジュールが起動 LucetはこのWebAssemblyをWebブラウザではなく、Fastlyのエッジクラウドで高速かつ安全に実行する目的で開発されたもの。 しかも50マイクロ秒(1マイクロ秒は100万分の1秒)以下でWebAssemblyモジュールが起動し、メモリオ
エンジニア不足と言われて久しいですが、できる経験者を採用するのはますます難しくなっていますね。 そんななか、弊社ではひょんな縁からエンジニア未経験の新人をエンジニアとして採用することになりました。未経験とはいえ、弱小企業の弊社には悠長に育てている余裕がないため、7日間で現場投入を目指してカリキュラムを組みました。 だいたいうまくいったので、メモがわりに晒しておきます。 前提条件 誰でも7日間でエンジニアになれると言っているわけではありません。あくまで一例として捉えていただければ幸いです。 担当してもらう予定の領域 HTML/CSS コーディング JavaScript はそこそこで(動きのエフェクトやカルーセルを仕込める程度) concrete5 テーマの開発(PHPファイルに foreach を入れていくイメージ、WordPress と変わらない) 流石にアプリケーション開発で7日間は無理
Webサイトの入力時に、漢字を入力すると平仮名が自動補完されるサイトがあります。予測入力を使っているとうまく動かないのですが、それでも意外と便利です。ユーザの入力における手間はシステムで解決できる部分がたくさんあります。 そんな振り仮名入力を行うライブラリがHistoryKanaです。 HistoryKanaの使い方 HistoryKanaの使い方です。入力値を順番に入れていくと、最終的に平仮名だけを取得できます。 const steps = [ 'y', 'や', 'やm', 'やま', 'やまd', 'やまだ', '山田', '山田', '山田t', '山田た', '山田たr', '山田たろ', '山田たろう', '山田太郎', '山田太郎' ]; stepTest(steps, 'やまだたろう'); HistoryKanaは入力される文字列の中で、平仮名の部分だけを取り出して取得でき
ご無沙汰しております。ウェブボウズを立ち上げて 1 年が経ちました。皆さま如何お過ごしでしょうか。私は、この 1 年間ひとつもブログポストできていません。さらには私の坊主頭(スキンヘッド)にちなんでウェブボウズという名前をつけた個人ブログでありましたが、5 年間共にしたこの Hair-less style から心機一転して 2019 年は髪を育んでいく方針を固めましたので、もはやボウズでもなくなってます。変わり続けることだけが普遍であると胸に刻んで今年も強く生きていきたいと考えております。 さて、最近 Signed HTTP Exchanges やら Performance Budget やらさまざまな面白いことに関わらせていただいて忙殺と幸せを噛み締めている中でも、Chrome Dev Summit 2019 でも大きくフィーチャーされました Portals という新しい HTML 要素
Node.js の Core へ ESM と CJS の新しい方式が実験的フェイズ(stability: 1)として入ります。 ESM 対応は安定化までのプランとしてステージを 4 つ(0 -3)用意しており、現在が 2 です。 modules/doc/plan-for-new-modules-implementation.md at main · nodejs/modules Node.js Modules Team. Contribute to nodejs/modules development by creating an account on GitHub. 2019 年の 10 月に実験的から安定的へ移行するのが最終目標となります。(stage:3) 内容まとめ --es-module-specifier-resolution=node|explicit で処理解決方法を決定す
「ウイルス罪」適用範囲、全都道府県警に開示請求 エンジニアが進ちょく公開、議員に陳情も……いたずらURL事件受け いたずらURLを掲示板に書き込んだ3人がウイルス供用未遂の疑いで摘発。エンジニアの間で「何がアウトかセーフか分からない」と不安が広がる中、ウイルス罪の適用範囲を明らかにするよう求める情報公開請求を行うエンジニアが現れた。 JavaScriptを使った無限ループプログラムのURLを掲示板に書き込んだ3人が不正指令電磁的記録(ウイルス)供用未遂の疑いで摘発されたり、Coinhiveをサイトに設置した複数のユーザーがウイルス取得・保管の疑いで摘発されるといった事態を受け、「何をすればウイルス罪に当たるのか、セーフとアウトのラインが分からない」とエンジニアの間で不安が広がっている。 そんな中、全都道府県警に対して、ウイルス罪の適用範囲を明らかにするよう求める情報公開請求を行うエンジニア
今回はJavascriptで、ブロックチェーンのデータ構造を実装します。ブロックチェーンのデータ構造を実際に作ってみると、その堅牢性が理解できると思います。nonceを求めるマイニング・アルゴリズムも実装します。 なお、P2Pでノード間で同期を取ったり、コンセンサス・アルゴリズムで合意形成を取るところまでは、実装しませんので悪しからず。 ブロックチェーンは「万能薬」でありません。他のプログラムと一緒で、あくまで、アルゴリズムを効率的に実現するデータ構造です。 分散環境下で、セキュアにデータをもつためのデータ構造とも言えます。 つまり、手段です。導入したからといって、問題が自動的に解決したりしません。 それでは早速、作ってみましょう。実際に作業するファイルは2つです。 mkdir project cd project npm init touch blockchan.js touch tes
(追記)これまでの活動を時系列にまとめたTwitterのモーメントを作りました。記事はこちらで追えますので、合わせてご覧ください。 Twitter Moment: 兵庫県警へ「不正指令電磁的記録に関する罪」の情報公開請求をしました はじめに 先日、「forループでalertウィンドウを出すだけ」という、いわゆるジョークプログラムへのリンクを張った3人が、兵庫県警によって1名(未成年)が補導、2人が書類送検される予定という事案が発生しました。(for文無限ループURL投稿で補導された件についてまとめてみた) この事案について、兵庫県警に対し兵庫県情報公開条例に基づいて以下の情報公開請求を行いましたので記録します。 なお本記事については、以前に同様に神奈川県警に対して情報公開請求を行った 梅酒みりん 様へお願いし、文面について利用させて頂くことを快諾頂きました。この場を借りて感謝を申し上げます
一部の機能をパフォーマンス改善したときにそれを計測したり、データを集めたいときがあります。 しかし、それだけのためにライブラリを追加するのも面倒くさい(実装後に計測コードは外すので)し、コンソールに結果を出すのもデータ収集的にイマイチです。 // よくあるコンソールに表示するパフォーマンス計測コード const start = performance.now(); // ------------ // 計測したい処理を書く // ------------ console.log(`${performance.now() - start}ms`); 結果をコピーしてSpreadSheetなどで可視化できたり、処理時間と関連する要素も保存しておきたいです。 (コンソールに出力すると埋もれたり、加工がめんどうです) そのようなときによく使っているPerformance.mark()とPerfor
「私は既に萎縮している」 セキュリティエンジニア、兵庫県警に情報公開請求 「いたずらURLで摘発」問題で JavaScriptを使った無限ループプログラムのURLを掲示板に書き込んだ男性2人が、不正指令電磁的記録(ウイルス)供用未遂の疑いで兵庫県警に書類送検され、13歳の女子中学生が補導された事件。いたずらURLを貼っただけで摘発という事態に、「何がセーフで何がアウトか分からない」とエンジニアの間で困惑が広がっている。 セキュリティエンジニアのozumaさんは3月13日、どういった内容が犯罪行為になるか説明した内部文書の写しを求める情報公開請求を、兵庫県警に行ったとブログで明かした。現状を放置すると、ハッキングツールの使い方を講演したり、ブログで攻撃手法についてレポートするセキュリティエンジニアなど、「日本のサイバーセキュリティを守るべき人材が逮捕されるリスクがある」とし、警察が犯罪と判断
「ループURL貼って補導」「Coinhive逮捕」に、“JavaScriptの父”ブレンダン・アイク氏も苦言 JavaScriptのループ機能を使ってポップアップが繰り返し表示されるサイトのURLを掲示板に書き込んだとして、不正指令電磁的記録(ウイルス)供用未遂の疑いで中学生が補導され、男性2人が家宅捜索を受けた事件がネットで波紋を呼んでいる。「これだけで補導や家宅捜索はやり過ぎだ」と警察を批判する声も強い。 似た事件として昨年、JavaScriptのプログラムを使い、サイト閲覧者に仮想通貨をマイニングさせることで収益を得るツール「Coinhive」を設置した複数のユーザーが、不正指令電磁的記録取得・保管などの容疑で警察に摘発された。この時も、Web開発者の間では「逮捕はやり過ぎ」「どこまでがセーフでどこからがアウトか分からない」と困惑が広がった。 これらの事件について、JavaScrip
TypeScriptのコンパイラ・プラグインとして振る舞いASTの操作を行えるcustom transformer (AST preprocessor) が実装されたのは TypeScript 2.4 (2017年) でした。 そのときの様子は次のエントリに非常によくまとまっています。 [TypeScript 2.4] custom transformer を利用して実行時に型情報を参照可能にする - Qiita さて、現在のTypeScript v3.3 でのTransformer APIの状況はというと、TypeScript compiler本体としては依然としてドキュメントに乗ってない水準の扱いです。特に、コンパイラAPI そのままではtransformerは型情報を利用できません。ts.TransformerFactory に渡される ts.TransformationContex
ECMAScriptの浮動小数点数の丸め関数である Number.prototype.toFixed() について調べてみたところ、浮動小数点数をわかっている人が作った硬派な仕様だと感じたので、解説してみます。 浮動小数点数の丸めの善し悪しについて 私はプログラミング言語の浮動小数点数の丸め処理に興味があり、過去に関連記事を30本以上書いています。こうした活動から得られた知見として、良い丸め関数には次のような性質があると考えています。 仕様がシンプルで直感的であること 仕様が抜け漏れなく文書化されていること バグを作り込みにくい仕様であること どれも良い関数の一般論のような話ですが、丸め処理に限って言えば簡単な話ではありません。そもそも浮動小数点数の性質が人の直感に反するため利用者にとっても実装者にとっても罠が多く、結果として上の条件を満たせないことが多いのです(私が面白いと感じるポイント
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く