Tagbangers Blog

JavaScript

ml5.jsで体験する機械学習

ml5.jsはTensorflow.jsをラップしてブラウザ上で機械学習を使ったWebアプリケーションを簡単に作成できるライブラリです。 以下のような簡単なコードだけで画像のカテゴリー分類などができます。   const classifier = ml5.imageClassifier("MobileNet", () => {     console.log('model ready!')   });   const img = document.querySelector("#myImage");   const prediction = classifier.p...

XState

XStateは有限状態機械(= 有限オートマトン)を実装するライブラリです。 まず、どういうものなのか: import { createMachine, interpret } from 'xstate' const toggleMachine = createMachine({   id: 'toggle',   initial: 'inactive',   states: {     inactive: { on: { TOGGLE: 'active' } },     active: { on: { TOGGLE: 'inactive' } },   }, }) ...

JavaScriptの新機能たち

JavaScriptの仕様標準であるECMAScriptはTC39という団体により使用が策定されています。 ProposalはGithubのレポジトリにまとめられています。 Proposalにはstageというものがあり、stage 0から順にstage 4へ上がっていくというプロセスを経て最終的にECMAScriptに採用されます。 Stage 0 - Strawman(たたき台) アイデア段階 Stage 1 - Proposal(提案) 必要性や解決方法についての説明がある 実際にPolyfillやデモが実装される Stage 2 - Draft(下書き) 仕様書の初期案 具体的な構文に...

Doczでドキュメント

主にフロントエンド側で使用するドキュメンテーションツールを探していて、 markdown で書く普通のドキュメントも MDX で React コンポーネントのショーケースとしても ということで docz を使ってみることにしました。 インストール v2 から Gatsby がベースになるようなので、 docz@next を使うことにします。 % npm i -D docz@next ドキュメントの mdx ファイルを置いておく docs と 設定ファイルとなる doczrc.js をプロジェクトルートに作ります。 % mkdir docs % touch doczrc.js ドキュメントに含...

CurryingとFunctional Composition in JavaScript

Currying Currying(カリー化)のコンセプト自体はとてもシンプルで、複数の引数を一度に一つずつとる関数です。 例えば、2つの実引数の和を返す関数を考えた場合、まず一つの実引数を受け取る関数を返します。返り値となる関数は次の実引数を受け取る関数を返します。 const add = x => y => x + y add関数は一つの引数をとって、closureスコープに固定された部分適用された関数を返すという形になります。カリー化は常に一つの実引数を取る関数(unary function)を返しますが、部分適用の実引数の数は任意です。 const add =     x =>  ...

JS、Javaでサンプルプログラムを作ってみる

こんにちは、藤岡です。 今週も、先週に引き続きJavaとJavaScriptの勉強を進めました。 今週の課題として出していただいたのは、以下の3つです。 JSで四則演算を行うプログラムを作る JSで電卓を作る Javaで誕生日を入力し、年齢を算出させるプログラムを作る それぞれ、説明していきます。 四則演算プログラム(JS) このプログラムは、単純に「掛け算」、「足し算」、「引き算」、「割り算」を計算させるものです。 注意しなければならないのは、足し算を行う時です。というのも「+」を用いて計算させているため、数値が文字列として扱われてしまう危険性があるということです。そのため、「parseIn...

JavaScriptの基礎学習

初めまして、藤岡です。 先週の木曜日から、タグバンガーズでインターン生として勤務することになりました。 というものの、プログラミング歴はほとんどないため、学びながらお仕事をさせてもらっています。 そこで、学んだことを備忘録も兼ねてこのブログに書き留めることにしました。 学ぶときに役立つサイト 今週は、主にJavaScriptについて学びました。 勉強するにあたって、参考になるサイトは MDN jsfiddle CodeAcademy です。 まず、MDNは初級者から上級者まで幅広く読まれているJavaScriptの定番リファレンスです。このサイトの読み方をマスターして、使いこなせるようになれば...