B-Teck!

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

【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(Septe…

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

前回に引き続きローマの暦の話題。 現在の英語等の月名にも引き継がれているローマ暦の月名が どのような由来からつけられたかをまとめた。 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通り…

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

ずっと積んでいたんだけどようやく読み終えた。 書いて有ることは普段意識していることや、心がけていることも多かったけれど、 改めて考える・意識するきっかけとして良い本だった。 忘れた頃に読み返して、都度気持ちを引き締める用途にいいかも。 以下各…

【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型に突っ込んで突っ込む前と同じ年月日かを確認する。 これで欲しい形式以外は入ってこないし、変な日付が入ってきて無理やり変換されても 変換前との比較で判定できる。 別の形式も許容する…

【Java】半角カナ判定

正規表現 U+FF65「・」(半角カナ中黒)~U+FF9F「゚」(半角半濁点)の範囲で判定する。 細かい各メソッドの挙動とかは下記を参照。 https://docs.oracle.com/javase/jp/8/docs/api/java/util/regex/Pattern.html https://docs.oracle.com/javase/jp/8/docs/a…

【JavaScript】半角の文字を判定する

正規表現 半角文字列の判定として「/[^\x01-\x7E]/」を使う。 []の中に含まれる先頭のキャレット^は否定の意なので、 この場合はASCIIコードの「x01~x7Eの範囲外の文字列」という意味になる。 これだけではカナは含まれないため、同様に「/[^\uFF65-\uFF9F]/…

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

String.formatで桁数を揃えたあとreplaceで空白を任意の文字に置き換えることで、0埋めができる。 public static void main (String[] args) throws java.lang.Exception { System.out.println(zeroPadding("12345",10)); // 0000012345 System.out.println(…

【JavaScript】JSの配列操作まとめ

配列の操作 配列の作成 配列の初期化 配列の要素数を取得 配列の最初と最後を取得 配列の要素を指定位置で切り出す 配列のループ 配列の先頭に要素を追加する 配列の末尾に要素を追加する 配列の値を削除する 配列の先頭の要素を取り出して元の配列から削除…

【ゲーム】バトルフィールド1で普段心がけていること

はじめに 昨年発売されたバトルフィールド1(PS4版)を未だにがっつりプレイしている。 基本オペ・コンクエ(たまにフロントライン)専門。 プレイ時間は100時間を超え、ランクも90台。そろそろ中堅を名乗っても良い頃だと思う。 今作は前作に比べて新規プレイヤ…

【VBA】与えられたパスのフォルダを新しく作成する

VBA

パスを指定してフォルダを作成する。 下記みたいな指定の場合でも存在しないパスごと作ってくれる。 MakeNotExistsDir("存在するパスA\存在しないパスA") MakeNotExistsDir("存在しないパスA\存在しないパスB\存在しないパスC") Option Explicit 'WindowsのA…

清く、正しく、残虐に!LET IT DIE

最近、PS4で配信された「LET IT DIE」をプレイしている。 海外では基本プレイ無料で配信されている本作だが、日本ではZ指定のため108円で配信されている。 結構好きなゲームなので紹介してみようと思う。 世界観 地殻変動によって東京に突如現れたバルブの塔…

BioShock Remasteredをクリアした

先月末からプレイしていたBioShockのリマスター版をクリアした。 実は、だいぶ昔に無印版を少しプレイしていたんだけど、なぜか続かずリマスター版が出るまで放置していた… ↓のんびりやったので18時間かかりました ↓所々にこういった海底の街が見える窓があ…

【PHP】 PHPで無名関数を使う

PHP

PHP5.3で導入された無名関数だけど、PHP7で記法がより簡潔になった。 その用法も含めてメモ書き。 無名関数の即時実行

友人がフリーゲームを製作中のようだ

大学時代の友達がゲーム作り始めてた。 というか去年の暮れに公開してた。 戦車で戦う防衛モノ。 タワーと拠点を守って敵を倒すぞ!みたいな。 ↓右のかっこいい球体が拠点、左のやつがタワー ある程度戦ってるとウェーブごとにボスが出てきて倒す。 現状は何…