タグ

ginpeiのブックマーク (3,773)

  • Semantic Versioningの闇 - knqyf263's blog

    今回も誰も興味ないシリーズなので今まで書いてこなかったのですが、Semantic Versioningに関して幻想を抱いている人がいる可能性があり、そういう方にどうしても現実を知っておいて欲しかったので書きました。3行要約(と可能なら余談)だけでも読んでいただけると幸いです。 3行要約 Semantic Versioning 2.0.0にはバージョン"比較"の定義はあるが、バージョン"制約"(>= 2.1.3みたいなやつ)の定義がない その結果、同じsemver準拠ライブラリでも制約の解釈が異なり結果が真逆になる というかそもそもsemver使ってるエコシステムが少なすぎる 背景 セキュリティアドバイザリでは特定のバージョンが脆弱であることを示すためにバージョン制約が使われることが多いです。例えば >=1.2.0 <1.2.6みたいなやつです。この場合、1.2.5は脆弱だが1.2.6は修正

    Semantic Versioningの闇 - knqyf263's blog
    ginpei
    ginpei 2020/11/11
    冒頭の要約にもあるようにsemver自体ではなくそこに範囲(>=1.2.3とか)の仕様がない闇。ライブラリーごとに独自解釈され差が出てしまう。前半はsemverに似た別のバージョン表記仕様の話。
  • 合理的な選択の末に、いつの間にか世の中に取り残される感覚 - やしお

    自分が10~20代の頃に、両親がパソコンを使えない、ケータイでメールが出せない、スマホが使えない、という姿を見ていて漠然と「そんなもんか」と思っていたけれど、自分自身が30代半ばになってちょっとその感覚が分かる気がしてきた。 「年老いてくると単に理解力が下がる」のような個人の能力の問題かと特に深く考えずにイメージしていたけれど、そう単純じゃない気もしている。「自分には必要ない」と思って「新しく出てきた何か」に適応するのをしばらくサボっていると、いきなり従来利用してきたものが消滅して途方に暮れる。出てきた当初からちょっとずつ適応していれば、(スロープとまでは言わないにしても)階段を少しずつ上っていくように習得できても、いきなりその階段も消滅して目の前に崖が現れる。崖を登ろうとちょっと試みてみるけれど、無理すぎて諦めざるを得なくなる。 iPhoneというかiOSも、最初に出てきたときはアイコン

    合理的な選択の末に、いつの間にか世の中に取り残される感覚 - やしお
    ginpei
    ginpei 2020/11/08
    スマホとか技術の話かと思ったらもっとこう社会の仕組みというか世代間認識みたいな話だった。自分も各種ポイント貯めてないなあ。自分は不要だからとか周囲はやってないからで黙殺しないようにしたい。
  • http://latentflip.com/loupe/

    ginpei
    ginpei 2020/11/01
    JavaScriptコードを書くとイベントループの動きを可視化してくれるツール。通常実行はCall stackに積まれ、ハンドラー系はWebAPIへ登録、条件を満たすとCallback Queueへ追加され、イベントループが拾ってCall stackで実行。
  • GitHub - azu/kvs: Lightweight key-value storage library for Browser, Node.js, and In-Memory.

    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

    GitHub - azu/kvs: Lightweight key-value storage library for Browser, Node.js, and In-Memory.
    ginpei
    ginpei 2020/10/31
    汎用key-valueストレージ。IndexedDBやlocalStorate、ファイル、メモリに対応しておりクライアント側、サーバー側共に同じAPIで利用可能。マイグレーション用にDBバージョンの仕組みがある。
  • Microsoft Edge Tools for VS Code - Visual Studio Marketplace

    Microsoft Edge Developer Tools for Visual Studio Code This extension allows you to use the Developer Tools of Microsoft Edge inside Visual Studio Code. Features: Live analysis of issues in your source code - find out about problems while you develop Browser preview with built in toolbar for device and mode emulation Changes in the Styles tool sync live with your source code - including abstraction

    Microsoft Edge Tools for VS Code - Visual Studio Marketplace
    ginpei
    ginpei 2020/10/30
    VS Codeの中でEdgeの画面とDevToolsのElementパネルが動く拡張。--remote-debugging-port=9222なChromeへも接続。Element以外はなし。(Scripts系は標準のDebugからやれる。) Stylesから直接ファイルを開いたりできる。Source maps対応してない?
  • 「この位置にprintfが無いとなぜか動かないんだ。」 - Qiita

    はじめに 先日ツイッターで見かけた呟き pic.twitter.com/33Yk02hu1U — TOMO (@tomozh) October 14, 2020 そういうこともあるのか的な反応もあるようなので具体例を挙げてみることにする。 例1 所謂FizzBuzz問題。 #include <stdio.h> void fizzbuzz(int n) { int next; int i = 1; do { printf(i % 15 ? i % 5 ? i % 3 ? "%d\n" : "Fizz\n" : "Buzz\n" : "FizzBuzz\n", i); if (i++ >= n) next = 0; } while (next); } int main(void) { printf((char[]){""}); // この位置にprintfが無いとなぜか動かない fizzbuz

    「この位置にprintfが無いとなぜか動かないんだ。」 - Qiita
    ginpei
    ginpei 2020/10/20
    未初期化変数とバッファオーバーランの周囲でprintf()を利用して意図的に「たまたま動く」状態を用意した例。前者は関数呼び出しで未初期化領域が非0で埋まることを期待、後者は壊れても影響のないバッファを配置。
  • Node.js v15ではunhandled rejectionでプロセスがエラー終了する

    今月20日にInitial Releaseが予定されているNode.js v15ですが、ここでのunhandled rejectionの挙動変更について解説します。 unhandled rejectionとは async関数内でthrowされたエラーや、rejectされたPromiseが、.catch()などでハンドリングされずにrejectされたままになっている状態を、unhandled rejction(またはunhandled promise rejction)と呼びます。Node.js v14では、unhandled rejectionが発生すると次のような警告が出力されます。 $ node -e "Promise.reject()" (node:22145) UnhandledPromiseRejectionWarning: undefined (Use `node --trac

    Node.js v15ではunhandled rejectionでプロセスがエラー終了する
    ginpei
    ginpei 2020/10/16
    Promiseのrejectをthrowと同様ちゃんと処理しないとプロセス終了するようになる件について。ここまでの経緯とか。今まではフラグが必要だったが初期値が変わる。逆に終了しないフラグもある。丁寧な解説。
  • しっぽり明朝|商用・同人誌利用可能フリーフォント

    ◉しっぽり明朝は商用・同人誌利用可能の明朝体フリーフォントです しっぽり明朝は、石井中明朝体OKLやリュウミンKO、A1明朝、筑紫Aオールド明朝等に影響を与えた、東京築地活版製造所の名作書体である五号系活字を下敷きに、物静かで上品で、見ているだけでうっとりするような明朝体を目指して制作した、オールドスタイル明朝体フリーフォントです。 どんな方でも制限なく自由に使えるハイクオリティな文用明朝体をお届けしたいと考え、こしらえました。フォントを単体で販売したりライセンスを変更する以外は商用でも個人利用でもおおよそ自由に使えるSILオープンフォントライセンスのフォントです。 ◉文用Regularウエイトを含め全5ウエイトの“新しっぽり明朝” ヴァージョン3は“新しっぽり明朝”と謳ってもいいかもしれません。 それまで開発で使用していたフォント制作ソフトをFontforgeからGlyphsに変更し

    しっぽり明朝|商用・同人誌利用可能フリーフォント
    ginpei
    ginpei 2020/10/13
    日本語の小説っぽいフォント。
  • Babel7 or TypeScript | ts-jest

    In Sept. 2018 Babel7 got released with an interesting preset: @babel/preset-typescript. The goal is to make it easy for users using Babel to try TypeScript without moving out from Babel, just by adding a preset in their Babel config (here is the MSDN blog post about TypeScript and Babel 7). Limitations While @babel/preset-typescript is a great preset, you must know the limitation of it. Here is wh

    ginpei
    ginpei 2020/10/04
    ts-jestでできてJest + preset-typescriptでできないこと一覧。型検証の他にもいくつか。ts-jest公式資料。
  • Markuplint - An HTML linter for all markup developers. | Markuplint

    Conformance checkingThe markup needs to written valid code. This is important to keep the promise of the standards that do not break webpages through each user agent. Markuplint can conformance checking given the specs that are HTML Standard, WAI-ARIA, and more. On Your House RulesYou may have the house rules on your project or your organization. You can check based on your policy or your manageme

    Markuplint - An HTML linter for all markup developers. | Markuplint
    ginpei
    ginpei 2020/10/01
    HTMLのlinter。IDや属性の重複といった凡ミスやul>divのように不正な構造を検出してくれる。インデントやタグ名の大文字小文字といったスタイルも。
  • GitHub - codemix/ts-sql: A SQL database implemented purely in TypeScript type annotations.

    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

    GitHub - codemix/ts-sql: A SQL database implemented purely in TypeScript type annotations.
    ginpei
    ginpei 2020/09/25
    TSのジェネリクス型にSQLクエリーとデータを渡すと合致するレコード型を返す例。TS4.1ベータで導入されたテンプレートリテラル型を利用。やべえ。
  • Kindle のディスプレイ応用例

    Kindle Paperwhite を Raspberry Pi で収集したセンシングデータの表示パネルとして使う方法を紹介します. はじめに Kindle Paperwhite をディスプレイとして見た場合,以下のスペックとなります. 解像度 1072×1448. FullHD には足りませんが,720p よりも画素数が多いです. 色深度 4bit グレースケール. 単純な白黒では無いので,境界部分にアンチエイリアスが適用された綺麗な表示ができます. DPI 300. 最近の iPhone が 326 なので,ほとんど遜色ありません. というわけで,白黒表示させるだけであれば,性能は十分. 表示例 実際にパネルとして使ってみるとこんな感じの表示になります. コントラストが圧倒的で,ディスプレイや白黒液晶とは段違いの視認性が得られます.それでいて,低消費電力.言うことなしです. このような

    Kindle のディスプレイ応用例
    ginpei
    ginpei 2020/09/20
    Kindle端末を電子ペーパーとして利用する話。
  • The 5 Planes of Content Strategy

    ginpei
    ginpei 2020/09/17
    ギャレットのUX5段階モデル。戦略strategy(目標設定)、要件scope(要件定義)、構造structure(情報アーキテクチャ)、骨格skeleton(レイアウト)、表層surface(画面)。
  • Understanding Human-Chosen PINs: Characteristics, Distribution and Security

    ginpei
    ginpei 2020/09/13
    4桁パスコードことPINについての論文。著者自身のサイト。流出のあったDodonew、CSDN、RockYou、Yahooについての図があるがどれも似通っており、誕生年YYYY、誕生日MMDD/DDMM、ぞろ目ABAB、単純なもの1234や何かの作品名5150が多い。
  • How to pick more beautiful colors for your data visualizations - Datawrapper Blog

    They’re different. The red that Nadieh uses ⬤ is different from your typical red ⬤. The green ⬤ is… can you even call it a green ⬤? So before we impose rules that limit us, let me freak you out a bit: There are thousands of colors you can use. There is yellow-ish red ⬤ and blue-ish red ⬤ and everything in between. There is gray ⬤, but there is also cold gray ⬤ and there is warm gray ⬤. And then th

    How to pick more beautiful colors for your data visualizations - Datawrapper Blog
    ginpei
    ginpei 2020/09/10
    情報可視化のコツ。主に色遣い。主となる色と近似色、それぞれの補色を選び、彩度明度で変化を。色の種類は控えめに。暖色+青色が人気。色相が60度の倍数は避ける。塗りの間は溝を設け、背景色との対比に気を付ける。
  • Puppeteer で静的サイトの Font Subsetting | blog.jxck.io

    Intro Web Font のサブセット化を Font Weight に応じて作り分けるとともに、それを Puppeteer を用いて生成するように変更した。 Web Font の静的サブセット サイトで提供している Web Font は当初、文字を事前に選定して生成したものを使っていた。 Noto Sans の Web Font 対応とサブセットによる最適化 当時はコンテンツがなかったが、コンテンツも増えた後は、コンテンツの原稿である markdown ファイルから使用している文字を抽出して生成するように変更していた。 これでおおよそ必要最小限のサイズにすることができていた。 Regular と Bold の最適化 サイトでは Font Weight として Regular(400) と Bold(700) を提供しているが、これまでは抽出した文字種を Bold/Regular 両

    Puppeteer で静的サイトの Font Subsetting | blog.jxck.io
    ginpei
    ginpei 2020/09/10
    PuppeteerでtextContentの文字を取得。要素名(h1等)で太字を識別し標準のものと分ける。確認としてChrome DevTools Protocolを用い、Computed StylesのRendered Fonts相当の値?を検証。
  • 『FFVII リメイク』は自動デバッグで、休日、夜間問わず、毎日数百回も通しプレイ中。ゲームのバグを自動で検知するシステムを開発【CEDEC 2020】 | ゲーム・エンタメ最新情報のファミ通.com

    記事では、1日目におこなわれた『ファイナルファンタジーVII リメイク』(以下、『FFVII リメイク』)のデバッグに関するセッション“"FINAL FANTASY VII REMAKE"における自動QAシステムの構築と運用”をリポート。 セッションで語られたのは自動QAシステムについて。まずQAとは、Quality Assuranceの略称で、日語で言えば、品質保証。ゲーム開発においては、ゲームが正しく動作しているか、バグが発生しないか、検証する仕事・部門・チームのことを指す。ゲームファンにとっては、デバッグと言ったほうが伝わりやすいかもしれない。つまり、自動QAシステムとは、自動でデバッグをおこなうシステムということだ。 セッションには、スクウェア・エニックスのAIエンジニアを務める太田健一郎氏が登壇した。 ゲームに最適化した自動QAシステムを目指して ゲームというのは、そもそも

    『FFVII リメイク』は自動デバッグで、休日、夜間問わず、毎日数百回も通しプレイ中。ゲームのバグを自動で検知するシステムを開発【CEDEC 2020】 | ゲーム・エンタメ最新情報のファミ通.com
    ginpei
    ginpei 2020/09/10
    CEDEC 2020配信のキャプチャ。開発とは別にQAチームがbot作成して夜な夜な自動試験。人力入力を記録再生したり、ランダム要素へ動的に対応したり。無限再生で2回/260回のレアバグを検出。
  • Motoko, a programming language for building directly on the internet - Stack Overflow

    At Dfinity, we’re building the Internet Computer, a decentralized cloud computing platform that we conceive as a seamless software universe in which developers can deploy applications and services directly on the Internet. To realize this vision, we decided on WebAssembly as the lingua franca of the platform’s execution environment, so that developers can program it in any language that compiles t

    Motoko, a programming language for building directly on the internet - Stack Overflow
    ginpei
    ginpei 2020/08/27
    Motokoという新しいプログラミング言語の紹介。アクターモデルを採用し非中央集権型の分散コンピューター?に特化、クロージャ―やGC等現代的な諸機能を保有。WebAssembly変換して利用。筆頭開発者はWasm設計者のひとり。
  • GitHub - vadimdemedes/ink: 🌈 React for interactive command-line apps

    GitHub Copilot for CLI - Just say what you want the shell to do. Cloudflare's Wrangler - The CLI for Cloudflare Workers. Linear - Linear built an internal CLI for managing deployments, configs and other housekeeping tasks. Gatsby - Gatsby is a modern web framework for blazing fast websites. tap - A Test-Anything-Protocol library for JavaScript. Terraform CDK - CDK (Cloud Development Kit) for Hashi

    GitHub - vadimdemedes/ink: 🌈 React for interactive command-line apps
    ginpei
    ginpei 2020/08/07
    CLI用Reactレンダラー。コマンドラインで動くアプリのUIをReactで書ける。React NativeっぽいAPI。
  • What does 100% mean in CSS?

    Spoiler: it dependsOne of the CSS units I use most is the wonderful % — so handy for positioning elements on the page. Unfortunately, the rules aren’t exactly straightforward. One question I’m always asking myself is: Percent of what?Hopefully this guide can help clear things up. Just give me the gist!#The basics: width & heightIn these examples, the purple box is our lovely self element — this is

    ginpei
    ginpei 2020/08/07
    CSSの長さ%の動きを動かして試せるツール。基本は包含要素の同方向の長さに対する割合だが、marginは必ず幅に対する割合で、translate()は自身の長さ。paddingの件はbox-sizingなのでちょっと混乱しそう。