タグ

ブックマーク / efcl.info (34)

  • Git tagとGitHub ReleasesとCHANGELOG.mdの自動化について

    GitHubには Releases という機能があります。 Release Your Software Creating Releases · GitHub Help GitHubのリリース機能を使う - Qiita 簡単に言えば、gitのtagやbranchに文章や添付ファイルを追加して公開出来るページです。 基的にはgit tagと連携してるので、tagを付けてgit push --tagsをしていれば、自動的に追加されます。 メリットとしては以下のような事が行えます。 git tagにパーマネントリンクがつく(重要!) メッセージ(リリースノート等)が書ける 添付ファイル(zip)をアップロード出来る(配布するバイナリとか) RSS Feedsが自動的に生成される(TagとReleaseの2種類がある) ライブラリ等にtagがついてると利用しやすい。 git tagとGitHub

    Git tagとGitHub ReleasesとCHANGELOG.mdの自動化について
  • JavaScript Promiseの本 v2リリース、ES2015+に対応、Async Functionの章を追加

    JavaScript Promiseの v2リリース、ES2015+に対応、Async Functionの章を追加 JavaScriptのPromiseについて学ぶ書籍であるJavaScript Promiseの v2をリリースしました。 Promise 1.0.0をリリースしたのは2014年6月ですが、そこから少しづつアップデートしていました。 JavaScript Promiseのを書きました | Web Scratch ES6がリリースされたのでPromiseについて学びましょう | Web Scratch 今回のメジャーアップデートとなる2.0.0では、サンプルコードのコードベースをES2015前提のものへと変更しています。 1.x系からの主な変更点としては次のものがあります。 ES6をES2015に表記を変更 コードベースをES5からES2015+(ES2015以降ベース

    JavaScript Promiseの本 v2リリース、ES2015+に対応、Async Functionの章を追加
    gawao
    gawao 2019/10/24
  • GitHubで管理する個人向けブックマークシステムを書いた

    GitHubにブックマークをコミットして管理できるはてなブックマークみたいなブックマークシステムを書きました。 詳しいモチベーションなどについては次のスライドで発表しています。 スライド: ブックマーク管理システム: 動くアプリをとにかく早く安く作ろう はてなブックマークのAPIが2019/5/31ぐらいエラーを返すようになって困ったので自分用のブックマークの仕組みを突貫で作りました。 (はてなブックマーク APIは2019/6/3には直ってました。) 逆にじっくり開発していくアプリについては次のスライドで話しています。 スライド: 考えながらクライアントサイドのウェブアプリケーションを作る話 azu/asocial-bookmark: Personal Bookmark System. socialじゃないのでasocial bookmarkです。 特に運用の費用的なコストはゼロにしたか

    GitHubで管理する個人向けブックマークシステムを書いた
  • lernaでのmonorepoにおけるリリースフロー(Fixed/Independent)

    一つのリポジトリで複数のパッケージを管理する際にはLernaとYarnのワークスペースを組み合わせて運用するmonorepoにすることが多いです。 lerna/lerna: A tool for managing JavaScript projects with multiple packages. LernaにはFixed(すべてのパッケージが同じバージョン)とIndependent(パッケージごとに異なるバージョン)のモードがあります。 https://github.com/lerna/lerna#how-it-works 基的にはFixedの方が運用は簡単ですが、不自然なバージョンの上がり方を避けたい場合などはIndependentのmodeを使うことになります。 この記事では、Fixed modeとIndependent modeでのパッケージのリリースフローについて見ていきます

    lernaでのmonorepoにおけるリリースフロー(Fixed/Independent)
  • Markdownで年表的なタイムラインを管理するツール

    mdlineというMarkdownでタイムライン(年表)を書いて、HTMLなどの形式にしたりできるパーサ、ジェネレーターなどのツールを書きました。 特定の記法で書いたMarkdownから年表的なタイムラインを作成するツール書いた。 $ npx mdline ./timeline.md -o timeline.html 現在はMarkdown to HTMLができる。https://t.co/7Vv0DUmYkX pic.twitter.com/oYJICloElA — azu (@azu_re) January 20, 2019 たとえば、次のようにECMAScriptのタイムライン(年表)をmdlineが決めたMarkdown形式で書きます。 (実際にはただのMarkdownなのですが、次のように 日付: タイトル とHeaderのレベルを合わせるとタイムラインとして扱う感じです) ##

    Markdownで年表的なタイムラインを管理するツール
    gawao
    gawao 2019/01/24
  • 動画とルビ翻訳された字幕をみながらMarkdownメモできるアプリを書いた

    video-transcript-note というElectronアプリを書きました。 一言で説明するならば、PDFを見ながらMarkdownでメモを取れるアプリを書いたの動画版です。 インストール latest binaryから最新のバイナリを落として起動すればいけるはずです。 Linuxも多分動くんだと思いますが、何か妙にバイナリが大きいかったのでビルドからは外してます。(適当に修正PRでも下さい) 機能 機能としては、HTML5 Video + <track>による字幕 + CodeMirrorでのMarkdownメモと言った感じのアプリです。 HTML5 Video player keyboard shortcut ルビ翻訳された字幕 English to 日Markdown Note Quote from Video and Transcript. Cmd+T/Ctrl+T

    動画とルビ翻訳された字幕をみながらMarkdownメモできるアプリを書いた
  • Babelで書かれたJavaScriptライブラリをTypeScriptへ移行する方法

    Babelを使ってJavaScriptで書いていたライブラリをTypeScriptへマイグレーションする方法についてのメモ書きです。 数十回はライブラリやアプリケーションのコードベースをJavaScriptからTypeScriptへ変換しているので、 ある程度やり方がパターン化されています。 この記事では、自分がよく利用している次の構成のライブラリを元にしています Babel 6 or 7 Mocha + @babel/register この構成を、次のようなTypeScriptを使った構成へと変換していきます。 Babel -> TypeScript Mocha + ts-node + ts-node-test-register Babelで書かれたライブラリをTypeScriptへ変換 今回はtextlint-rule-helperというライブラリを例にしていきます。 このライブラリは

    Babelで書かれたJavaScriptライブラリをTypeScriptへ移行する方法
  • documentationjs + add-text-to-markdownでREADME.mdのAPIリファレンスを自動更新

    documentationjs + add-text-to-markdownでREADME.mdのAPIリファレンスを自動更新 documentationjsはJSDocからドキュメントを生成できるツールで、ES2015以降のコードにも対応しています。 (TypeScriptは対応してないようです) 以前はMarkdownへの出力が難しかったのですが、いつのまにかdocumentation build -f mdでMarkdownでのAPIドキュメントが生成できるようになっていました。 これを使うことで、ライブラリを書いてそのJSDocからドキュメントを生成して、READMEのUsageセキュクションを自動的に更新できるようになっています。 以前もできたのですが、かなりトリッキーなテーマを書いたりしないといけませんでした。(後stdoutへの出力がなかった気がします) –theme for

    documentationjs + add-text-to-markdownでREADME.mdのAPIリファレンスを自動更新
    gawao
    gawao 2019/01/03
  • 今年のOSS活動振り返り @ 2018

    2018年のOSS活動の振り返り記事です。 今までの振り返り。 今年のOSS活動振り返り @ 2017 | Web Scratch 今年のOSS活動振り返り @ 2016 | Web Scratch 今年のOSS活動振り返り @ 2015 | Web Scratch 今年のOSS活動振り返り @ 2014 | Web Scratch 2018年のGitHubのContributionsは8000~10000ぐらいを推移していましたが、後半はどうも上手くコミットできてなかった気がします。 (2014年から増えているのはJSer.infoをTumblrからGitHub Pagesに移行しました - JSer.infoが半分ぐらいの理由です) GitHubのCurrent Streakは1881日で5.153424658年継続的にコミットは続いています。 データの取得には次のツールを使いました。

    今年のOSS活動振り返り @ 2018
  • アーキテクチャをめぐるたび

    タイトルに特に意味はありませんが、Alminを作る参考にしたものをまとめた感じの記事です。 スライド: 複雑なJavaScriptアプリケーションを考えながら作る話 リポジトリ: azu/large-scale-javascript: 複雑なJavaScriptアプリケーションを作るために考えること 主に書籍を並べていますがその他のスライドなどの参考資料は以下にまとめてあります。 large-scale-javascript/refs.md at master · azu/large-scale-javascript 自分用のメモなので、読んだ順で並べておきます。 右側の年は書籍の出た年です。 実践ドメイン駆動設計 @ 2013 一番最初に読んだDDD系の。 この辺ででてくるレイヤーとか用語を把握した感じ。 けど、そこまでよく分かってない感じはする。 カウボーイが出てくるの読みにくい。

    アーキテクチャをめぐるたび
  • 複雑なJavaScriptアプリケーションを作るためにやったことをまとめた | Web Scratch

    タイトルどおりですが、次のリポジトリに複雑なクライアントJavaScriptアプリケーションをどう考えて作っていくかを実践した内容をまとめてあります。 azu/large-scale-javascript: 複雑なJavaScriptアプリケーションを作るために考えること ここでいう複雑なアプリケーションとは、ライブラリ抜きで数万LOC以上ぐらいの規模になることが予測されているようなものを扱っています。(巨大というよりは複雑という印象) 140文字でOK 140文字向けのサマリだと次のような感じです。 JavaScriptで複雑なアプリケーションを作る構成と実践ガイド。 ドメインモデルをどのように考えて作っていくかについて。 Babel、React、Almin、PostCSSがベース。 作成するアプリケーションによって必要な構造は異なるため、この構成がよいということを主張するものではありま

    複雑なJavaScriptアプリケーションを作るためにやったことをまとめた | Web Scratch
  • gas-webpagetestでWebPagetestのパフォーマンス計測を自動化、可視化する | Web Scratch

    gas-webpagetestというGoogle Apps Scriptで動作するパフォーマンス計測ツールがあります。 このツールでは、WebPagetestという指定URLなどにウェブブラウザでアクセスし、パフォーマンスに関するメトリクスを取得するツールの計測や結果の記録を自動化できます。 記録はGoogle SpreadSheetに逐次書き込まれ、その記録をGoogle DataStudioで可視化したりダッシュボードを作成できます。 ここまででてきたツールは無料で十分に使えます。 gas-webpagetestを使うことでとりあえず計測を自動化してみるようなところを殆どコストなしに実現できます。 gas-webpagetestを使って取得した記録データをGoogle DataStuidoで可視化したサンプルは次のURLで確認できます。 DataStudio + gas-webpage

    gas-webpagetestでWebPagetestのパフォーマンス計測を自動化、可視化する | Web Scratch
  • URLスキームで起動できる投稿専用のTwitterクライアントを書いた

    post-tweetという投稿専用のTwitterクライアントを作って最近使っています。 post-tweetはものすごいシンプルで、文字列の投稿しかできません。 また、作った目的でもあるのですがURLスキームからタイトル、URL、引用文を渡して起動できるようになっています。(逆にそうじゃないケースではまともに使えないです) 目的 post-tweetはブラウザなどで見ているサイトをTwitterに投稿する目的で作成されています。 以前は、PNBTというGreasemonkeyスクリプトを使って投稿していましたが、それを簡略化して単体のElectronアプリにしたものに近いです。 ブラウザ拡張は制限される方向になっているので、ブラウザに依存しないものとして切り出したのが最初です。(このアプリはもともとPostemというクロスポストアプリに内蔵されていましたが、単体に切り出しました) 機能

    URLスキームで起動できる投稿専用のTwitterクライアントを書いた
    gawao
    gawao 2018/11/29
  • JavaScriptの入門書を jsprimer.net で公開しました | Web Scratch

    ここ数年書いているJavaScript入門ですが https://jsprimer.net/ というURLで無料で公開しました。 まだ開発中です これからJavaScriptを始める人がES2015以降をベースにして学べる プログラミングをやったことがあるが、今のJavaScriptがよくわからないという人が、今のJavaScriptアプリケーションを読み書きできるようになるもの Webサイト: https://jsprimer.net/ リポジトリ: asciidwango/js-primer: JavaScriptの入門書 もともと公開してありましたが、jsprimer.net というドメインを取ったのでURLが変わっただけです。リダイレクトされているので既存のブックマークはリンク切れにはなりませんが、気になる人はブックマークしなおしてください。 またリポジトリ(asciidwan

    JavaScriptの入門書を jsprimer.net で公開しました | Web Scratch
    gawao
    gawao 2018/11/12
  • npmパッケージをExampleテストしよう

    自分がそう呼んでいるだけなので、正式名称があるのかよくわかりませんが、 あるライブラリを公開する際に、exampleディレクトリにそのライブラリを使って実際に動くサンプルコードを作って、それを実行するテスト というのを示しています。 Go言語のExampleと近いような気がします。 testing - The Go Programming Language 以下のスライドでも簡単に解説してますが、この記事はExampleテストのメリットやNodeモジュールでのやり方について書いていきます。 ロジック、E2E、描画、音、動画、Example、文章 - 色々なJSテスト Exampleテストの利点 以下は思いついたExampleテストの良いところですが、これについて簡単に解説します。 始めるのが簡単 実際に動くサンプルコードが作成できる ドキュメントの一部になる package.jsonの設定

    npmパッケージをExampleテストしよう
  • ライブラリをES2015(ES6)で書いて公開する所から始めよう

    この記事はECMAScript 2015の事始めとして、ライブラリをECMAScript 2015で書いて公開するというところから始めるのがいいのではという内容です。 ECMAScript 2015(ES2015)はES6とも呼ばれていてどちらも同じものを指しますが、この記事ではES2015に統一します。 ECMAScriptのバージョンについては次のページを参照してください。 ECMAScript · JavaScriptの入門書 #jsprimer 2018-12-27: 追記 textlint/textlint-rule-helperのmasterはTypeScriptの実装へ変換されています。 Babelの実装はhttps://github.com/textlint/textlint-rule-helper/tree/2.0.1から参照できます Babel から TypeScrip

    ライブラリをES2015(ES6)で書いて公開する所から始めよう
  • JavaScriptのライブラリを徐々にTypeScriptに移行する

    Alminというライブラリは元々JavaScript(+Babel)で書かれていましたが、今年の2月にsrc/下のソースコードはTypeScriptに移行しました。 その時のコミットログは次のPRに残っているため、コミットログを1コづつ見ていけばどのように行われていったが分かると思います。 Convert src/ to TypeScript by saneyuki · Pull Request #68 · almin/almin この時取った方法は大まかに次のような手順でした src/ の TypeScript化 Babel -> JS(js -> js)だったものをTypeScript -> Babel -> JSにビルドスクリプトを変更 TypeScriptはtargetをesnextにすることで単純に型を取り除くだけの変換にする ES2015 -> ES5を実際にやるのは既存のBa

    JavaScriptのライブラリを徐々にTypeScriptに移行する
  • JXAをTypeScriptでコード補完して書く環境やNode.jsから実行する環境を作った

    JXA(JavaScript for Automation)を書いて実行するためにいろいろなパッケージを作りました。 この記事で紹介する内容は次のスライドで発表したものと大体同じです。 スライド: JXA for TypeScript/Node.js リポジトリ: JXA-userland/JXA: JavaScript for Automation(JXA) packages for TypeScript/Node.js. JXAはAppleScriptのJavaScript版(WebKit)のようなもので、macOSにはビルトインされています。 osascript -l javascrript file.jsでJXAを実行できます。 詳しくは次のページで解説されています。 Home · JXA-Cookbook/JXA-Cookbook Wiki [email protected] |

    JXAをTypeScriptでコード補完して書く環境やNode.jsから実行する環境を作った
  • js-primerの書き方

    今書いてるjs-primerをどのように書いてるかのメモ書きです。 asciidwango/js-primer: JavaScriptの入門書 この書籍について · JavaScriptの入門書 #jsprimer 今、基文法のPromiseについてを書いています。 Promise · Issue #94 · asciidwango/js-primer この章は2017年9月28日のミーティングで事前に次のような流れになることを確認していました。 エラー/try…catch構文 @laco担当 Promise/Async Function @azu担当 すでにエラー/try…catch構文の章は@lacoによって書かれています。 Error/try…catch構文 · Issue #93 · asciidwango/js-primer 例外処理の章 by lacolaco · Pull

    js-primerの書き方
  • Cybozu Meetup フロントエンド #2 アウトラインメモ

    Cybozu Meetup フロントエンド #2 に参加してきたメモ。 100人100通りのフロントエンド - @koba04 スライド: 100人100通りのフロントエンド - Speaker Deck サイボウズのフロントエンド フロントエンドのイメージは人によってバラバラ サイボウズでは、Developer Network、ウェブサイト、セキュリティ、プロダクト、カスタマイズ、デザイン、テスト 大規模、ウェブが主戦場でプロダクトの寿命が長い 使われてるライブラリはプロダクトごとに違う Closure、Reactなど デザインとの関わり方も様々 プラットフォームとしてのウェブサービス プラットフォーム向けのコード、APIとかSDKを作る Frontend Expert Team 2017/10~ フロントエンドに関連する問題の解決、整備、情報発信、勉強会 プロダクトチームと一緒に活動

    Cybozu Meetup フロントエンド #2 アウトラインメモ