B-Teck!

お仕事からゲームまで幅広く

【雑記】あけましておめでとうございます

2018年ですね。 1月も2/3終わってますがいかがお過ごしですかね。 自分は今月から新しい職場で働いてるんですけど、 最初一週間は会社に慣れるための研修?のようなものだったので、 技術的な領域に触れるのは実質今週からでした。 前職がよく言えばある程度…

【JavaScript】JavaScriptの変数・関数の巻き上げ(ホイスティング)

ホイスティングとは 変数の巻き上げ ES2015の場合 関数の巻き上げ function文で宣言した場合 varで宣言した場合 let・constで宣言した場合 ホイスティングとは JavaScriptは、関数内でvarで宣言した全ての変数が先頭で宣言したことになる。 この、宣言が先頭…

【雑記】2017年お疲れ様でした

今年も1年お疲れ様でした。 この1年は、引越し、結婚、母の一周忌、転職と盛りだくさんの1年で、 知人、友人の方には色々とご迷惑、ご心配をおかけしました。 結婚 6月に一緒に住みはじめて、7月に入籍した妻とは、 やはり初めての共同生活なのでぶつかると…

【本】自殺喫茶を読んだ

自殺喫茶作者: 十千しゃなお出版社/メーカー: 十千 しゃなお発売日: 2013/01/05メディア: Kindle版この商品を含むブログを見る 長らく積んでいた自殺喫茶を読了した。 ダウナーで問題を抱えた主人公が、変わり者の女性と、 そうではないクラスメイトに囲まれ…

【JavaScript】最大値と最小値を指定して範囲内の値を持った配列を作成する(ES2015対応版)

この記事は下記の記事をES2015対応機能でリライトしたものです。 beatdjam.hatenablog.com /** * range * 範囲内の整数値を持った配列を作成する * @param {number} max 範囲の最大値 * @param {number} min 範囲の最小値(デフォルト値:0) * @param {functio…

【JavaScript】thisの種類

JavaScriptのthisにはいくつかの種類があり、状況によって動作が変わる。 現在はおおまかに分けて5つ? コンストラクタ呼出し メソッド呼出し 関数呼び出し 関数呼び出しの注意点 applyまたはcallで呼び出し時 applyとcallの違い アロー関数で呼び出し時 ア…

【JavaScript】今までブログに載せたJavaScriptのスニペットをまとめた

今までぽろぽろ書いてたJavaScriptとかを、ちょっと書き直したりしてまとめた。 書いたあとで知ったこととか踏まえるともっときれいに書けたり短くかけたりして面白かった。 MyToolBox/js at master · beatdjam/MyToolBox · GitHub 自分が過去に書いたコード…

【雑記】自分の本の読み方

子供の頃から割と本が好きで、学生時代にはよく読んでいたんだけど、 社会人になってすぐに割と忙しくなってからはしばらく全然本を読まないで過ごすようになっていた。 そうしたらなんか本をどう読んでいたかを忘れてしまって、全然読了までたどり着けなか…

【雑記】俺が夢見ていた「未来」はこれからの「未来」なのか

小学校二年生の頃、転校のため夏休みの間に引っ越した俺は、近所の図書館に入り浸っていた。 その図書館では予約制でビデオとブースをレンタルし、鑑賞することが出来た。 ラインナップの中には子供が好むアニメから歴史等の学習のためのビデオ、洋画などが…

【本】三月彩七さんの優しい世界

三月彩七さんの優しい世界作者: 十千しゃなお発売日: 2017/01/21メディア: Kindle版この商品を含むブログを見る 人間と、吸血鬼やドラゴンが一緒になって暮らしている不思議なシェアハウスで起こる、 日常の中のちょっとしたエピソード集といった感じ。 後半…

【JavaScript】文字列の空白埋め、0埋め

以前Javaで同じようなことやってるけど、JavaScriptもメモしておく。 http://beatdjam.hatenablog.com/entry/2017/07/21/225053 function padding(str,num,pad){ if(pad === void(0)) pad = 0; return (Array(num + 1).join(pad)+str).slice(num*-1); } cons…

【プログラミング】技術情報をキャッチアップするために見ている巡回先

トレンドの技術やトピックを雰囲気だけでもキャッチアップできるように、 ほぼ毎日この辺のサイトをざっと眺めてる。 情報収集するようになってからある程度試行錯誤して一応現在の形に落ち着いてて、 目についたりよく見かけるような話題があれば別で深く掘…

【本】Javaデザインパターン徹底攻略を読んだ

ちょっと古い本だけど、教養としてデザパタは大事かなぁなんて思って読んでみた。 掲載されているサンプルが単純すぎること、 各デザインパターンの説明が自分の理解と違っていたりして、 正直参考になった部分は少なかった。 本書の分類や記述を参考に改め…

【デザインパターン】デザインパターンの勉強中メモ 振る舞いに関するパターン

Chain of Responsibility パターン あるリクエストの処理を行うオブジェクトを鎖状に繋ぎ、適切なオブジェクトに処理させるパターン。 リクエストを受け渡す先を動的に切り替えることで、処理自体も動的に入れ替えることができる。 それぞれのオブジェクトは…

【JavaScript】指定した文字列を繰り返した新しい文字列を生成する

ES6が使える環境ならこれでOK。 https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/repeat console.log("test".repeat(3)); // testtesttest ES6が使えない環境なら、先述したMozillaのサイトのpolyfillを利用するか、…

【歴史/雑学】その他ローマの暦に関連したTips

前2記事に書けなかったけど調べてて気になった話とかいくつか。 JuliusとAugustusをあとから挿入したため2ヶ月ずれたという俗説は誤り 当初はMartiusが年の始まりだったが、 途中でJanuariusが年の始まりの月になったため、 数字で月を表したQuintilis(現在…

【雑学/歴史】ローマ暦の月名の由来

前回に引き続きローマの暦の話題。 現在の英語等の月名にも引き継がれているローマ暦の月名が どのような由来からつけられたかをまとめた。 Martius 軍神Marsを由来としている。 元としたギリシャの暦や、古代オリエントの習慣を受け継ぎ、 1年の始まりは春…

【雑学/歴史】ローマ暦の変遷

現在主に用いられるグレゴリオ暦を含み、 その由来は古代ローマから連なるローマ暦を元にしている。 最初に制定されたロムルス暦から現在のグレゴリオ暦に至るまで、 どのような変遷があったかをざっくりまとめた。 ロムルス暦 B.C. 753(B.C.745説もある) ~…

【Git】自分用チートシート

設定項目やリポジトリの作成 configの確認 git config -l -listと同義 ユーザー名とメールアドレス git config --global user.name "[name]" git config --global user.email "[email address]" gitの改行コード自動変換をオフにする git config --global co…

【デザインパターン】デザインパターンの勉強中メモ 構造に関するパターン

Adapter 利用したいクラスに利用したいメソッドが存在せず、 直接振る舞いを変えることにリスクがあるような場合に使う。 既存のクラスに修正を加えること無く、必要なインターフェースを追加するパターン。 継承を利用する場合と委譲を利用する場合の2通り…

【本】リーダブルコードを読んだ

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)作者: Dustin Boswell,Trevor Foucher,須藤功平,角征典出版社/メーカー: オライリージャパン発売日: 2012/06/23メディア: 単行本(ソフトカバー)購入: 68人…

【Javascript】連想配列の値やキーに特定の値が存在するか調べる

var Country= { "Japan": "日本", "China": "中国", "Korea": "韓国", "Vietnam": "越南" }; function getHashProperties(a){ let r = []; for(let v in a){ if(a.hasOwnProperty(v)) r.push(a[v]); } return r; } // 入力したオブジェクトのプロパティの値…

【デザインパターン】デザインパターンの勉強中メモ 生成に関するパターン

AbstractFactory Factory Methodの概念の進化系という感じ。 Factory MethodがスーパークラスのメソッドとしてFactoryを定義するのに対して、 AbstractFactoryではFactoryを束ねたクラスを作成する。 1つの処理に関連するクラス群のFactoryを束ね、抽象化す…

【JavaScript】ユークリッドの互除法でコードゴルフして遊んだ

以下は全てコメントを除外したバイト数 初期状態(152バイト) function euclideanAlgorithm(a,b){ // aがbで割り切れる場合、最大公約数である let c = a%b; if(c === 0){ return b; }else{ // 割り切れない場合、bと剰余を引数に再度自分自身を呼び出す retu…

【雑記】退職します

年内一杯で現職を退職し、新年から新しい職場にいく感じに多分なった。ので。 備忘も兼ねて、自分の今回の転職活動について振り返りのメモのようなものを書く。 転職理由 常駐先でさらに先の客先への常駐が打診されたり、やってることが変わったりで 思うと…

【JavaScript】配列の要素の入れ替え

配列の要素の順番を入れ替えるとき、 let temp = ary[x]; ary[x] = ary[y]; ary[y] = temp; みたいにやってたけど、 なんか1行でできるらしい。 function swap(a,x,y){ a[x]=[a[y],a[y]=a[x]][0]; return a; } 最初見たとき意味わかんなかったんだけど、コメ…

【JavaScript】ArrayLikeObjectをArrayに変換する

ArrayLikeObjctとは document.querySelectorAll()とかで戻り値になっているNodeListとかの型。 通常の配列のようにlengthとかを持っていたり、添字を使って各要素にアクセスできる。 でもArrayではないので、Arrayのメソッドとかは使えない。 そのままでは扱…

1年。

母親が死んで、1年が経った。 去年の今日は、普通にお祭りに行っていて、普通に遊んで帰って。 しかも週末を挟んで月曜日に会社に行って、 その帰り道に初めてそれを知ったんだったか。 生前の母は、割とすぐ生と死を持ち出すニンゲンだったので、 連絡が入…

【雑記】勉強

この前の日曜日、もう一度読む山川世界史という本を読み終わった。 いつだったかは失念してしまったけど、確か去年の暮れの頃に購入して、 半年以上かけてゆったり読んできた。 不思議なもので、ここ最近は勉強が楽しくて、 語学学習アプリのDuolingoを使っ…

【JavaScript】日付の妥当性をチェックする

正規表現でチェックして欲しい形式以外をふるいにかけた後、 Date型に突っ込んで突っ込む前と同じ年月日かを確認する。 これで欲しい形式以外は入ってこないし、変な日付が入ってきて無理やり変換されても 変換前との比較で判定できる。 別の形式も許容する…