Deveroper メモ

記事内容に絶対の保証はなく..どちらかというと自分用のノウハウ蓄積ページ。 それでも良ければ見ていってください。

Jest で Promise

そもそも Promise をきちんと理解してなかったのが原因なのですが..

このサンプルページを見てもイマイチ理解できなかったのでメモ。

doc.ebichu.cc

ここで表示されてるサンプルコードはコピってもそのまま実行できません(汗)

まあ、理解してやってくれということだろうね。

 

そこで他の Promise のページなどを見ながら自分なりに理解し..

テストが通るコードを作成したのが↓

let async = (data) => {
  return new Promise(function(resolve, reject){
    setTimeout(function(){
      resolve(data);
    }, 3000);
  })
};

test('the data is peanut butter', () => {
  expect.assertions(1);
  return async('peanut butter').then((data) => {
    expect(data).toBe('peanut butter');
  });
});

 

 出来た!

copy event 色々..

copy event が絡んだ実装を勉強がてらにして気がついた事をつらつらと...

 

通常

$(document).on('copy', function(event) {... 

しかしこれだと、IE8 が発火せず(汗)

ところが下記に変更したら動いた(何故だ)

$('body').on('copy',function(event){... 

また、選択中の文字も

通常

window.getSelection().getRangeAt(0); 

 で取得可能だがIE8では対応できないので下記に変更

try{

      data = window.getSelection().getRangeAt(0);

}catch(err){

      data = document.selection.createRange();

};

ユーザのコピーイベントをoverride したいので 

e.preventDefault したかったがこれもNGなので下記にする

try{
      e.preventDefault();
}catch(err){
      e.returnValue=false;
}; 

なんだが、当初より長いコード&サポート大変そうな感じ。

以上、ちょっとしたメモ書きでした。

naive_bayes

前回の Gunma.web #29 で「機械学習で奇妙な冒険」を話しました。

その時の言語は Ruby だったのですが..

ウケが良かったし機械学習といえば python なので

python で実装したものをアップしました。

 

github.com

 

アルゴリズムが公開されており意外と特殊なライブラリ(rubyだとclassifierを使って出来ました)を使わずに出来ました。

別言語で実装し直しは「その言語や言語の文化に慣れる」いい機会ですね。

Gunma.web #28

3ヶ月に一度開催のGunma.webを今回も開催してきました。

今回のテーマは「Vue.js と Angular」という事でここをメインに記事を書きます。

  • 「Electronでクロスプラットフォーム音楽プレイヤーを作ってみた」
    • 「Angular」を使ってデスクトップアプリをElectronで作った話でした。
      残念ながら完成品はお目にかかれませんでしたが、「使えるのか?」という事が新鮮な驚きでした。
  • 「ネイティブアプリのかじりかた」
    • 「React」「Angular」「Vue」をそれぞれ使っての文字通りの発表でした。
      会場から「どれがどういう団体がどういう具合に開発してるか?」的な質問が飛び自分はReact Native くらいしか聞いた事がなかったので知る事ができてよかったです。
    • ネイティブアプリのかじりかた / Gunma.web#28 // Speaker Deck

  • 「Compared Tips」

他にも通常LT(中には半分ネタLT)、飛び込みLTがあり楽しくも様々な技術を知る事ができました。


2次会は夏ということもあり屋外(屋根付き)でBBQ!(ビール飲み放題)

当初予定と違って(?)、ラムチョップ、ホタテ、エビなどやや豪華(?)になりましたが気にしない!

とてもおいしく頂きました!

 

子供向けにビンゴゲーム

先日、子供向けにビンゴゲームの手助け(?)をするブラウザ上で動くアプリを作りました。

色んな人に見せたところウケが良い(?)ので久々に github に公開しました。

github.com

手助けというか..ボタンを押すと音楽を流しながら次の番号を画面上に数字をシャッフルし決めてくれるだけなんすけどね。

思ったより好評でした笑

Takasaki.go #3

月一開催 Takasaki.go に参加してきました。

takasakigo.connpass.com

今回は pointer から始まり...slice に突入。

slice に突入した途端..

「おうっふ」的な...。

「:」を挟んで前と後ろで数え方(0からか1からか)が違う。

https://go-tour-jp.appspot.com/moretypes/7

「マジか」

慣れなんだろうな〜(遠い目)

他の方も奇妙な印象を受けてくれたので

「あ、自分だけじゃないんだ」と心のどこかで安心?(汗)

次回は何が出てくるだろう?

Gunma.web #27

Gunma.web #27 を開催しました。

gunmaweb.connpass.com

 

今回は LT/発表者少なめで、テーマが「仮想DOM」だったので

React.js のハンズオンを下記のチュートリアルを元に行いました。

github.com

mae.chab.in

不慣れなものをお互い質問し合いながら進めてみるのもたまには面白いものです。

お仕事で既に使われてる方からの詳しい注意点も中々参考になりました。

また自分は「Reactで学ぶ仮想DOM」というタイトルで発表しました。

speakerdeck.com

他にも今話題のMastodon のLTなど新鮮な話題もありました。

次回は7/15です。

楽しみです。