Vercel * Astro を使った開発を行い気づいた点を共有します。
Vercel * Astro を使った開発を行い気づいた点を共有します。
小ネタです、JavaScriptで本日の日付をYYYY-MM-DD形式で得るコードは案外面倒です。 本日2023年4月17日なら 2023-04-17 という文字列を得るコードはRubyならTime.now.strftime("%Y-%m-%d")、Pythonならdatetime.today().strftime("%Y-%m-%d")(importは省略しました)と簡単に書けますが、JavaScriptでは案外面倒なのです。 追記: いくつかの間違いのご指摘がありましたので修正しました(2023-04-19)。 DeepAIが生成した画像です いっけん正しいようで間違ったコード new Date().toISOString().slice(0,10) new Date()で本日の日時を取得します toISOString()メソッドは日時データをISO形式の文字列に変換します、例えば 2
Webの将来はサーバサイドレンダリング(SSR)に回帰していく。Denoが主張するIsomorphic JavaScript(もしくはUniversal JavaScript)とは何か? 静的なHTMLファイルをWebサーバが配信する仕組みから始まったWebは、サーバ側で動的にHTMLを生成するCGIの仕組みや、Webブラウザ上でJavaScriptを実行してインタラクティブな操作を実現するなどの仕組みを得たことでWebアプリケーション基盤へと発展しています。 現在、Webアプリケーションの仕組みとして代表的なものがSPA(Single Page Application)でしょう。 SPAはWebブラウザ上で多くの処理が行われるためユーザーの操作に対する反応が速く、インタラクティブ性の高い快適なWebアプリケーションを実現できる利点があります。 しかし、これからのWebはサーバサイドレンダ
2022-09-09改訂: gcc バージョンが古すぎたのと、C が内部計測でなかった点を改め計測しなおしました。結果、Rust は C より速くはなくなりました。紛らわしいことで、ごめんなさい。また、gcc のバージョンアップに伴い、Python および Ruby についてはビルドと計測をしなおしたので、これらも少し速い値に変わっています。この点もどうぞあしからず。 2022-09-10追記:ご要望のあった Python numba.njit 使用時と Go の結果を追加しました。PHP は JIT 有効化が面倒だったので断念しました^^; 2022-09-10追記2:C の計測で clock() を使うのはフェアではないという指摘がありましたので、念のため clock_gettime() を使用したコードに差し替えました。結果に大きな差はありません。 2022-09-10追記3:PHP
next.js で自分のブログを作る 自分のブログとして mizchi.dev を作った話 at 隅田川.js #1(オンライン) - connpass 何を作ったか このブログ自身(mizchi.dev)。スライドツールも突貫で自作 ソースコード mizchi/dev Lighthouse Full AMP GA 対応 Git から編集ヒストリの生成 どんなブログがほしかったか Lighthouse で満点出したい 普通の Markdown じゃつまんないから MDX で書きたい サーバーの運用をしたくない next.js の最適化に乗りたい 作った どうせ動かないし CDN 上で静的サイト + Full AMP MDX コンパイラを自作 (amdx) netlify + 買ったまま忘れてたカスタムドメイン(mizchi.dev) pages/*.tsx が公開される仕組みを、そのまま採
JavaScriptで atob と btoa を使用する際に扱う"バイナリー文字列"、Base64との関係も含めてしっかり理解できていなかったため覚え書き。 バイナリー文字列(Binary strings)とは? つまるところ charCodeAt で 0-255 の範囲の値を返す文字コードだけで構成された文字列(string)の事を指す 制御コード等も含むため文字としての表示は保証されない ECMAScriptの言語仕様に特にそういう概念は無い TypedArray登場以前にバイナリを扱うために利用されていたとか (参照) バイナリー文字列 - Web API | MDN (archive.org) バイナリー文字列はどこで使うの? atob、btoaを利用する時。令和の今ではたぶんそこ以外ほぼない。 知らんけど。 そもそも atob と btoa は何をするもの? Base64文字列
<まず簡単に> TypeScript とは TypeScript は、JavaScript でも大規模なアプリケーションを開発しやすくすることを目的に開発されたプログラミング言語である。 JavaScript の上位互換であり、JavaScript の文法のまま型などの様々な恩恵を受けることができる。 トランスパイル 1 することで JavaScript に変換され、これまで通りのブラウザや既存の環境でも動作させることができる。 <技術革新の影に政治的対立> TypeScript の登場背景 ちょっと長い、TypeScriptの登場背景 JavaScript がニーズに応じて進化していれば、TypeScript は必要なかった そもそも JavaScript は、1990 年代に HTML の補助的な言語として誕生した。 大規模なアプリケーションを作るための言語とは見なされていなかったが
Google Maps以前のころ。ヘビーユーザーのあいだではJavascriptオフが常識になっていた。度重なる時計の再発明に業を煮やし、IEのActiveXに警戒心を抱き、不安定なOSをさらに不安定にするため暗躍するのがJavascriptでありJScriptだった。 Google Mapsがあれだけのインパクトを与えたのは、ひとえに、こういった先入観を打ち砕いたからに尽きる。信じられないことに、Javascriptって便利なのだ。実に見事な枯れた技術の水平思考である。 Ajaxという言葉が帰納され、ライブラリがぼこぼこと発表される。ネイティブオブジェクトの拡張と、クロスブラウザのための供物ラッパー集合体たるprototype.jsを筆頭に、様々なものが世に出、様々なアプリケーションがより手軽に実装できるようになった。 script.aculo.usやLightBoxやmoo.fxといっ
即時関数とは 即時関数について知らない方はググって知識を得てからいかに進んでくださいm(_ _)m 文が書けるとこでは即時関数の出番は減る JavaScript には、「文(statement)」と「式(expression)」という概念があります。それを知らずにプログラミングするということは、冬に富士山頂上を目指すようなものですから(?)、ググって知識を得てからいかに進んでくださいm(_ _)m さて、ここまで進んでこられた皆さんにすればどうということもない話であると思いますが、ブロック文を使えば、即時関数の出番は減ります。 つまり、変数のスコープを狭めるだけの目的でわざわざ即時関数を使う種族は絶滅したはずである、ということです。 文が書けない場所 JavaScript には、「式」しか書けない場所というものがあります。 有名なところでは、React などの jsx 内の{ここ}や、テン
はじめにServiceWorker と言う、この頃話題の機能がブラウザに追加されました。既存のウェブページではできなかった。スマホアプリのような機能をブラウザで実現できる素晴らしい機能です。ただし、ユーザの事前承認なしに登録できます。 ServiceWorker は、スマホアプリのような機能を無承認で実行できるため、便利な半面でとても危険な機能です。ウイルス対策ソフト(Windows Defenderなど)では、一部の ServiceWorker をウイルスとして検出することがあります。 ServiceWorker は、サイトを閉じても動作し続けることが可能なため、ブラウザの動作を重くする原因にもなります。 ServiceWorker は、キャッシュを大量に保存するため、ディスクやメモリの圧迫につながることもあります。 登録済みの ServiceWorker を確認する次のアドレスにアクセ
未来人のみなさまご機嫌いかがでしょうか. この記事が書かれた時点の TypeScript のバージョンは 3.6.4 です. お題 以下の JavaScript の関数に TypeScript で型をつけることを考えます1. function makeDict(prop, entries) { const dict = {}; for (const entry of entries) { dict[entry[prop]] = entry; } return dict; } これは見ての通り, 配列から辞書を作ります2. const entries = [ { id: "a", name: "Foo" }, { id: "b", name: "Bar" }, { id: "c", name: "Baz" }, ]; const dict = makeDict("id", entries);
Scala.jsの導入から簡易なサンプルの作成まで Scala.jsを使ってみたので、開発環境の構築から、簡単なスクリプトをブラウザ上で動かすところまでやった履歴を残しておく。 個人的にScalaを使う時はTypeSafe Activatorでパッケージ管理してEclipseで開発することにしているので、今回もその流れに沿って導入する。Scala.jsの開発はvimとsbtで十分なように思うが、個人的にこれに慣れているの。 OSはUbuntuを利用している。Windowsでもだいたい同じように動くはず。 created_at:2015/03/22 Scala 2.11.5, Scala.js 0.6.2, scalajs-dom 0.8.0, scalatest 0.8.0, Typesafe Activator 1.3.2, Scala IDE for Eclipse 4.0.0 Ecl
HTML5でWebページを作成する時のベースになる必要最小限の構成で記述されたHTML5のテンプレートを紹介します。 スニペットに登録しておくと、便利ですね。 イラスト: Girls Design Materials HTML5 Boilerplate -GitHub HTML5のテンプレート HTML5のテンプレートの解説 HTML5のテンプレート HTML5 Boilerplateのテンプレートを日本語化しました。 オリジナルライセンスで、商用利用、修正、配布、サブライセンス可です。 <!doctype html> <html class="no-js" lang=""> <head> <meta charset="utf-8"> <meta http-equiv="x-ua-compatible" content="ie=edge"> <title>タイトル</title> <met
この記事はRetty Advent Calendar 2017 における 22日目の記事です。 昨日は @saku さんの swiftで丸画像をパフォーマンス高く表示する方法 でした。 はじめに 趣味のBot開発から気づけばWebフレームワークの負荷試験を行なっていました。 Software Engineerの@tkngueです。普段業務としては、Data Engineer/Web Service開発/データ分析やってます 「速さは正義」 とは皆の共通の認識で、言うまでもないことだと思うのですが 本記事では、速さってなんだろうって考えてみます。 TL;DR 負荷試験における 速さは面で捉えよう: 品質を50%'ile - 90%'ile - 99%'ile ... で定義する 品質を評価する手段にも気をつかおう: Coordinated Omission は大きな測定誤差を生みます Goも
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く