たった3行コピペするだけで可愛いポップアップが表示できる tippy.js

HTMLでサイトを作ってると、ポップアップ表示で説明を入れたい時がある。 とりあえず標準のalert('hello')とか使うけど、見た目がダサすぎる。 作っているのがサンプルアプリだとしても許せないレベル。 で、イイ感じのポップアップをalertメソッドくらい簡…

1次元オセロの問題

こんにちは。 今日はひさしぶりにプログラミングの問題です。題材はオセロゲーム。 オセロゲームといえば8x8の2次元の盤面に白と黒の石をおいていくゲームですが、今日はそれを1次元にしたようなお題です。 お題 8x1の盤を使ってオセロをする。 盤面に白と黒…

【js】落とし穴にハマるな!Dateクラスで日付を操作する技 5選

javascriptの標準ライブラリで悪名高いDateクラス。 通常はmoment.jsなどのラッパーライブラリを使って安全に作りますが、ちょっとしたスクリプトくらいだとライブラリは使わずにスクラッチで書きます。 そんな時に使える日付操作周りのTipsを列挙して解説し…

androidの音声読み上げ機能でkindle本がガンガン読める

読書は眠くなる 今年度は職場のミッションが変化した影響で今までやったことない仕事をたくさんしています。 未経験の仕事を闇雲にやるのは非効率なので、先人の知恵を学ぶべく、読書をたくさんするようにしています。 読書をする場所はいつも通勤の電車の中…

スタンディングデスクのLevit8を紙で作ってみた

スタンディングデスクがほしいと思ってググったら、折りたたみ式の折り紙みたいなやつが出てきました。 How to: Fold/Unfold the Levit8 良さそうだけど、強度とか気になる。 てか自分で作れば良くね? と思ってとりあえず紙で作ってみた。 台の作り方 適当…

【スプレッドシート】おじさん専用!予算管理用日付関数

こんにちは。 Googleスプレッドシートで予算管理をしようと企むオジサンです。 予算管理では様々な日付でグルーピンが必要になります。 たとえば年度ごとに集計とか、四半期ごとに集計とか... そのために「2019/01/01」のような日付を「FY2018」みたいな値に…

【スプレッドシート】カスタム関数を作る

GoogleスプレッドシートはGAS側に定義した関数(カスタム関数)を呼び出すことができます。 これを使いこなせたら最強だなと思ったのでいろいろ調べました。 GASに定義したカスタム関数を呼ぶ GAS側に function hello() { return 'hello'; } という関数がある…

GASのDateコノヤロー!

GASのDateに腹が立ったのでメモ。 var date = new Date('2020-01-01') これは想定通り2020年1月1日になります。 これに時刻を追加したこれは? var date = new Date('2020-01-01 09:00') なぜか1970年になります。 一方、同じgoogle製のchromeで同じコードを…

2DゲームエンジンDEFOLDの紹介

2DゲームエンジンのDEFOLDを使いはじめました。調べた内容を少しずつまとめます。今日は紹介だけ。

ツリー構造の問題

プログラミングの問題です。 親子関係のあるツリー構造の問題です。 親が子を持つか、子が親を持つか、相互に持つか、考え始めるといつも悶々としてしまうんですよねー。特に答えはないですが悶々としてみてください。 以下はjavascriptで書いてますが言語は…

【GAS】Gmailからメールを検索する

Gmailからメールを検索する方法はググるとたくさんヒットするけど、どれも微妙だから自作した。 諸悪の根源はThread メールの検索にはGmailApp.search()てメソッドを呼ぶけど、こいつがよくわからん。 なぜか戻り値がスレッドのリスト。。 メールのリストを…

webサイトのタイトルとURLを取得するブックマークレット

ネットで見つけた記事をSNSやチャットで共有したい。 今時共有機能なんてどんなアプリにも付いてるだろと思うけど、実際はURLしか共有されない。タイトルも共有してほしいんだけど。。 表示するアプリによっていはOGP(Open Graph Protcol)とかで補完されてタ…

【GAS】シートをDBのテーブルっぽく使う

最近、GoogleAppsScriptにハマり始めた GASはjsのバージョンが古くて好きじゃなかったけど、開発環境のセットアップが不要で気軽に始められるのが良い で、いろいろ作ってるとスプレッドシートをDBのように扱いたくなるのでライブラリ化した シートをDB化で…

「ヤフーが語る、1on1の実際」を聞いた

田祐の「人事放送局」~有名企業の人事にズバリ聞く!~ というpodcastでヤフーの1on1の話が全4話で放送されていたので聞きました。 以下はそのまとめです。

vscode上のplantumlでマインドマップを書く

plantumlでマインドマップが書けるらしい。 シンタックスはこんな感じ @startmindmap * Debian ** Ubuntu *** Linux Mint *** Kubuntu *** Lubuntu *** KDE Neon ** LMDE ** SolydXK ** SteamOS ** Raspbian with a very long name *** <s>Raspmbc</s> => OSMC *** <s></s>…

適当にmybatis用テンプレつくーる

風邪をひきました そんな中コードを書いたらミスしまくりでイライラした 特にミスが多かったのがmybatis用に書くSQL文 1つのテーブルにINSERTしたりSELECTしたりするだけなんだけど。。 テストが全然通らない カンマが多いだの、少ないだの、そんなカラム名…

javaのStream#map()とjsのArray#map()は実行順が違う

java8から追加されたmap 他の言語にも似た機能はありますが実行順が違うので備忘録的なメモ javaのmap Stream.of(1, 2, 3, 4, 5) .map(v -> { System.out.printf("%dに1を加える\n", v); return v + 1; }) .map(v -> { System.out.printf("%dを2倍する\n", v…

carloでHTTP通信してみる

carloとは 疑問 クロスドメインなサイトにajaxでHTTP通信できるの? 1. hello world setup htmlを作る index.jsでhtmlを読み込む 起動 2. UIからnodeを呼ぶ index.jsに呼ばれる側を作る htmlからnodeを呼ぶ 実行 3. node-fetchで通信する node-fetchのインス…

ドメイン駆動設計なエンジニアの育成プログラムを作った

この記事は Engineering Manager vol.2 Advent Calendar 2018 - Qiita の16日目の記事です。 今の会社にはチームにジョインした方に対してドメイン駆動設計での開発ができるように育成するプログラムがあります。 「プログラムがある」と言っても有志で持ち…

【問題】キャメルケースの英語を日本語に変える

仕様書が日本語でプログラムは英語だと単語のマッピング表が欲しくなりますね。 今日はそんな問題です。

SpringBoot + h2 + mybatisでHelloWorld

ハンズオン用のメモです 開発環境はIntellij、ビルドツールはgradleです 今回のゴール プロジェクトを新規作成する SpringBootでHello build.gradleを編集する buildscriptを追加する pluginにspringを追加する dependenciesにspringを追加する build.gradle…

RAMLの導入を考える

夜中に眠れなくなってしまったので、なんとなくRAMLの導入について考える RAMLとは YAMLでRestAPIのAPI仕様を作成できるツール 今私がいる環境 java spring boot ddd 何が生成できるの? YAMLから以下を生成できる API仕様書 バリデーションチェック(可能性)…

【SpringBoot】Formクラスのフィールドを値オブジェクトにする

真面目に調べたことがなかったのでメモ ## ポイント ### Formクラス - メソッド名をAPIのキー名と同じにする - セッターへは値オブジェクトを渡す ### 値オブジェクト (NameForm) - 値はコンストラクタで渡す ### その他 Formや値オブジェクトはプライベート…

googleドキュメントにmermaid.jsを書く

googleドキュメントはオンライン上で編集できてとても便利。 そこにmermaid.jsも書きたい!ってことでやってみた。

アクションRPG Day5 衝突

前回はアニメーションをやりました naosim.hatenablog.jp 今回は壁との衝突です Phaserの衝突は優秀で、プレイヤと壁それぞれに衝突する領域を定義したら後は勝手に計算してくれます プレイヤーの衝突定義 プレイヤークラスのcreateメソッドをいじります 何…

アクションRPG Day4 アニメーション

前回はプレイヤーを表示しました naosim.hatenablog.jp ただ動かした時にアニメーションがなかったので今回はそれを追加します アニメーションを追加ためにクマが「右方向に歩く絵」と「左方向に歩く絵」が必要なので、プレイヤーの画像を変更しました prelo…

アクションRPG Day3 プレイヤー

前回はフィールドの表示をしました naosim.hatenablog.jp 今回はプレイヤーを表示して移動させます 画像はいつものenchantのクマです 画像をpreloadで読み込む フィールド読み込みの後に追加します function preload() { // 背景画像の読み込み 16x16のマッ…

phaserでアクションRPG Day2 フィールドの作成

前回phaserのセットアップをしました naosim.hatenablog.jp 今日はフィールドを表示してみます で...いきなり壁... コードをcodepenで書いてたけどcodepenは画像を扱えなかった... ワークアラウンドはあるけど本質的じゃないコードが入るといやなのでjsdo.it…

phaserでアクションRPG Day1

アクションRPGが作りたくなった あとゲームフレームワークのPhaserがバージョン3になってたので勉強も兼ねて開発経過をメモします 初期状態のおまじない var config = { type: Phaser.AUTO, width: 400, height: 400, physics: { default: 'arcade', arcade:…

問題: いい感じの日付取得

下記に月・日を入力するといい感じに日付(年月日)にしてくれる機能がある。 これと同じ機能のメソッドcreateDate()を完成させよ。 メソッドのインターフェースは↓この通り。 /** * @param {number} month 1-12 * @param {number} dayOfMonth 1-31 * @param {…