ひびのログ

日々ではないけどログを出力していくブログ

【資料公開】TypeScript の社内勉強会を開催しました!

タイトルどおりなのですが、TypeScript の社内勉強会を開催しました! 勉強会で使用した資料 https://gitpitch.com/tee-talog/try-typescript 今回は GitPitch を利用してスライドを作成しました。 簡単にスライドが作れるので、それほどデザインにこだわら…

既存プロジェクトに Prettier を導入したけど、コードレビューが辛すぎる件(ラノベタイトル風)

お気持ち表明(いわゆるポエム)です。 前置き 現在関わっている JavaScript プロジェクトには Prettier が入っていません。 また、ESLint は入っていますが(Standard)、--fix をしていない状況です。 そして、Vue.js を利用してしますが、eslint-plugin-v…

ヘッダーを固定するならとりあえずこの 1 行を入れとけっていう CSS

CSS

TL;DR body { scroll-padding-top: <ヘッダーの高さ + α>; } 前置き 下の記事では、ヘッダー・フッターは position: fixed; より Flexbox とか CSS Grid とかで作ったほうがいいのでは、的な話をしました(個人の感想です)。 www.tee-talog.com そうはいっ…

ESLint が一部設定されている JS + Vue.js プロジェクトに Prettier を導入しようとしてハマった

TL;DR eslint-plugin-vue を導入してから Prettier を入れないと、変な風にフォーマットされることがあるよ。 TL;DR 背景 Prettier を導入したい! 導入方法 1. Prettier を実行してから ESLint を実行 2. ESLint と同時に Prettier を実行 地獄 どうしてこ…

勇なま:マップを作った

現時点のソースはこちら github.com 進捗どうですか マップを表示して、カーソル移動をできるようにした。押しっぱなしも OK。 アローキーと WASD でカーソル移動。G で初期位置に戻る。 今後負荷がかかりそうなので、軽減のためにマップは表示されていると…

勇者のくせになまいきだ。を再現してみたかった

記事リンク まだないよ。 リポジトリ github.com 導入 皆様は「勇者のくせになまいきだ。(略して勇なま)」をご存じでしょうか? 一言で表すと、神ゲー です。 思い出補正がかかっている可能性は否めないですが、モンスターを増やして勇者を倒すという、簡…

Vue.js でアクセシビリティを考慮したダイアログのフォーカス移動を考えてみた

UI フレームワーク等ではすでに対応しているかもしれませんが、自分でも作ってみました。 リポジトリ github.com src/App.vue : 親コンポーネント src/components/MyDialog.vue : ダイアログ本体 サンプル https://tee-talog.github.io/vue-dialog-focus/ 背…

Mac で npm の canvas をインストールするときにハマった話

古いバージョンの canvas モジュールのインストール時に node-gyp もインストールされるが、エラーが発生してインストールできなかった。 環境 macOS Hight Sierra ( version 10.13.6 ) やりたかったこと npm install canvas@1.x.x TL;DR brew install pkg-c…

Git のチェックアウト履歴を確認する&そこから選択してチェックアウト

履歴がー……見たい! Git で直前にいたブランチに戻るのは git checkout - で出来ますが、それ以前って見ることが出来ないですよね。 でも、見たい。 そこでシェル芸ですよ シェル芸の定義以下略。 ほぼ参考 URL からのパクリですが、Mac で動かなかったりし…

YouTube でモデレーターや指定ユーザー名のチャットを強調する Chrome 拡張機能作りました

YouTube でモデレーターや指定ユーザー名のチャットを強調する Chrome 拡張機能作りました

【未解決】Nuxt.js を 2 にアップグレードしたかったけど断念した話

だめだったやり方 前準備 参考:Release v2.0.0 · nuxt/nuxt.js · GitHub まずは .nuxt node_modules yarn.lock package.lock.json を削除 node >= 10、npm >= 5 が推奨なので、それぞれアップデート。 nodist を利用しているので、 $ nodist 10.15.1 10.15.…

Cypress で立ち上がるブラウザの設定をリセットする

テストが起動しなくなった! Cypress のテストを実行しようとしたところ、下記の画面が出てテストが実行できなくなりました。 理由は明確で、Cypress で起動するブラウザの設定をリセットしたからです。 エラー画面 Whoops, we can't run your tests. This b…

転職しました

※こちらの記事は転職ドラフト体験談投稿キャンペーンに参加しています。 https://job-draft.jp/articles/251 Amazon ギフトカード 10,000 円分がほしいです! 先日転職活動をして無事に決まったので、キャンペーンに参加がてらまとめていこうと思います。 会…

ヘッダー・フッターの固定とスクロールバー

ヘッダー・フッターを固定するとき、position: fixedはやめたほうがいいんじゃないかという話。 どゆこと? どうやってんの? なにがいいの? そのいち そのに やりかた Flexbox 編 CSS Grid 編 おすすめ ソースコード おまけ どゆこと? 赤部分がヘッダー、…

is-a 関係は「イズ-ア」であって「イズ-エー」ではない!

オブジェクト指向を学ぶ上で、絶対とは言い切れないけどそこそこの確率で出てくる「is-a 関係」という単語。 これの読み方はタイトルの通り「イズ-ア」ですよ、というお話。 弊社の新人研修でも勘違いして教えている人がいたので、しっかりと正していきたい…

Bash で OS の種類を判定する

もし動作しなければ教えていただけると嬉しいです。 現状、以下のOSが判定できます。 * Mac * CentOS * Amazon Linux * Ubuntu * Cygwin (Windows) ソースコード declare OS="unsupported os" if [ "$(uname)" == 'Darwin' ]; then OS='Mac' elif [ "$(expr …

Java9 で追加されたList.of()と、以前から存在する Arrays.asList()の違い

検証PCのスペック OS: Windows 7 64bit Professional CPU: Intel Core i5-3470 3.20GHz メモリ: 8.00GB Javadocの定義 まずは Javadoc を確認。 Arrays.asList() Java9 Arrays Javadoc 修飾子と型 メソッド 説明 static <T> List<T> asList(T... a) 指定された配列</t></t>…

Java10 が発表されたので Java8 から乗り換えてみる

基本的に、「コードを書く」という視点で新機能を試します。 使用しているのは OpenJDK10 です。 主な新機能一覧 Java9 の新機能を試してみる JShell 特徴 使いどころ 不変コレクションのファクトリメソッド Java8 では…… Java9 からは…… 匿名クラスでのダイ…

Java のインスタンスから static メソッド・フィールドを呼び出したらどうなるのか?

ちょっと気になったので試したメモ。 結論 呼び出せる。コンパイル通る。警告すら出ない。 検証内容 環境 Windows 7 64bit(コマンドプロンプトにてコンパイル・実行) Java9 ソース // Main.java class Main { public static void main(String[] args) { Te…

APIキーの最適な読み込み方法を考える

Qiita に「APIのトークンをコードに書いている人へ」という記事が上がっていたので、実際APIキーとかをどういう風に読み込むのが良さげなのかなーと考えてみた。 言語依存のコマンドラインツール等を使用する JavaScript ならnode-env-fileとかdotenvとか? …

Javaのpublicクラス名・メソッド名をgrepするための正規表現

先日作ったので、メモとして書いておきます。 後方参照で取り出せます。 正確さは保証しません。 あと、コンストラクタは取れません(後ろの方の\w+\s+を抜けば取れると思います)。 ^\s*(?=(?:static|synchronized|final|\s)*public\s)(?:(?:public|static|…

ECMAScript2019 に入りそうな構文メモ

執筆時点で、Stage3 のものをピックアップします。 タイトルは「ES2019に入りそう」となっていますが、本当に入るかは保証しません。 策定中の機能はどんなんがあるのかなーというのをちらっと調べたメモ書きです。 リポジトリは以下です。 github.com Funct…

Unity に(再)入門しました

以前、Unity に少し触れていたのですが(確か Unity4 くらいの時)、最近のVRブームを受けて(1年遅れくらいで)Unity から VR に触れたらいいなーということで、もう一回やり直してみることにしました。 Unity、すごい。 やっぱすげぇわ…… そりゃすげぇでし…

わかモナ ~わかる!数式が出てこないモナドへの入り口~

数年前から関数型プログラミングが流行り始めて、やってみよう! という人もいらっしゃるかと思います。なにを隠そう、私がその口です。 そして Lisp や Haskell なんかに手を出した時、「モナド」という言葉が出てくるかもしれません。 知らないことは調べ…

TypeScript で動的にメソッドを追加する

JavaScriptでは、prototypeに適当に代入してあげればメソッドやプロパティの追加ができますが、 型という楽園を手に入れた TypeScript では簡単にはできません。 でもどうにかこうにかやる方法があったので、ググって色々試した結果を載せておきます。 ちな…

たった3分で、初心者が Travis CI を導入する!

最近(前から?)「テストが重要」とか「CI」とかよく聞くけど、導入するの大変そう…… と思っている、そこのあなた! いえ、たった「3分」で導入できちゃいます。 モダンな開発環境には欠かせない CI を、簡単にサクッと導入してみましょう! 3分でできる対…

Android チュートリアル写経

ふと Android 開発をしたいなーと思ったので、ひとまずチュートリアルをやってみよう! と思い立ってやってみました。

Redux(っぽいもの)を見よう見まねで実装してみた

React + Redux しか触っていなかった私が、Vanilla JS 用で簡単ではありますが、自分でReduxを作りました。

Slack bot をBotkitで作成してみる!

BotkitでSlackのbotを動かします。まずはHello World。そしてちょっと踏み込んだ内容。

「コメント」と「コメントアウト」と「コメント化」の違い

プログラミングをしているときにわからないことがありググったときに、 「コメント」を使用すべき箇所で「コメントアウト」という単語が使用されていることがままあります。 プログラミングにおいて、「コメント」と「コメントアウト」、そして「コメント化…