yn2011's blog

技術メモ

型アサーションでインターフェイス型から本来の型を取り出す際の演算子*

環境 go1.12.4 darwin/amd64 インターフェイス型の型アサーション Goでは、以下のようにインターフェイスのエイリアスであるStatement型の変数から実際の型であるExpressionStatementを型アサーション.(T)によって取り出すことができる。 package main impor…

社内でシェル芸入門について話してきた

先日弊社恒例の(ほぼ)社内勉強会であるほろよいてっくでシェル芸入門というタイトルの発表をした。こんな発表をしてはいるが自分もシェル芸初心者。 当日の発表資料はこちら。ちなみに資料ではシェル芸勉強会の過去問及び解答を多く引用させて頂いている。…

コードレビューを受ける前に確認しておきたいチェックリストを整理してみた

レビュアーの負荷軽減とレビュー時間の短縮を目的として 、コードレビューを依頼する前に確認しておくべきチェックリストを整理してみた*1 チェックリストは特定の言語・フレームワーク、開発内容(バックエンド・フロントエンド)に依存しない内容になるよ…

CSVファイル差分比較マニュアル

環境 やりたいこと 比較対象のCSVファイルを整形する ソート 補足 文字コード変換 実際に比較する git diff csvdiff まとめ 環境 GNU bash, バージョン 4.4.23(1)-release (x86_64-apple-darwin18.0.0) macOS 10.14 やりたいこと 2つのCSVファイルの差分比較…

Map型の変数の命名について考えた

Map型の変数 ふと、Map型の変数の名前の命名って何がベストなんだろうと気になったのでパターンをまとめてみた。 ハンガリアン記法パターン とりあえず変数名の末尾にMapをつけておくパターン。 例えば、社員コードと社員名の対応付けを格納するMapの場合は…

「プロを目指す人のためのRuby入門」を読んでRubyに入門した感想

プロを目指す人のためのRuby入門 プロを目指す人のためのRuby入門 他言語経験者向けのRuby入門書 現場で必要とされるRubyの知識を効率良く学べる 自分のスキル エンジニア業務歴2年ぐらい いわゆるスクリプト言語、コンパイル言語は両方経験ある(主にJavaSc…

Rules of Hooksに違反していないのにHooks can only be called inside the body of a function componentエラーにハマった(と思った)話

環境 react 16.8.2 webpack 4.29.3 事象 webpack-dev-sereverで、Hooksを利用した下記のコードを実行するとHooks can only be called inside the body of a function componentエラーが発生 再現手順 問題のコード(イメージ) // ./App/index.tsx import * …

VSCodeでTypeScriptを書くときに役立った拡張機能まとめ

1~2週間ほどVSCodeでTypeScript(+React)を書いていたので、その際に役に立った拡張機能をまとめ。 環境 VSCode 1.31.0 macOS 10.14.2 TypeScript Importer TypeScript Importer - Visual Studio Marketplace 未インポートのモジュールを利用してコードを…

"Java 8 is required to run..."エラーが表示されVSCodeでApexのシンボル情報を参照できなくなった場合の対応

環境 macOS 10.14.2 VSCode 1.30.2 Apex(VSCode拡張) 44.16.0 Java11.0.2 事象 なぜかVSCodeでApexのシンボル情報を参照できなくなった(とても開発効率が落ちる) ↓これが出なくなった Apex(VSCode拡張)の詳細ページから引用 ついでにサイドバーのアウトラ…

文字からUTF-8のバイトコードを調べるワンライナー

環境 GNU bash, バージョン 4.4.23(1)-release (x86_64-apple-darwin18.0.0) 文字からUTF-8のバイトコードを調べるワンライナー ー(全角ハイフン)を調べたい場合 $ echo -n 'ー' | iconv -f utf-8 | xxd -p e383bc -tを明示しない場合はUTF-8で出力と解釈…

楽々ERDレッスンでER図の描き方を学んだ

tl;dr 楽々ERDレッスン+MySQL WorkbenchでER図を描く練習が捗る 取り組む前の自分のスキル・知識 業務でER図を読むことはある 業務でER図を描いたことはない IE記法は分かる、IDEF1X記法は分からない 動機 最近、実装より上のレイヤーの設計に関わる機会が…

macOS 10.14でdark mode有効時にMySQL WorkbenchのUIが変になる問題の解決策

楽々ERDレッスン(羽生章洋)|翔泳社の本を読みながらER図を描きたかったので、MySQL Workbenchがいいかなと思いセットアップしていたら困ったのでメモ。 環境 macOS 10.14 MySQL Workbench 8.0.13 事象 解決策 $ defaults write com.oracle.workbench.MySQ…

bashの`printf "%.s" hoge`と`printf "%0s" hoge`の違い

環境 GNU bash, バージョン 4.4.23(1)-release (x86_64-apple-darwin18.0.0) GNU coreutils 8.27 事象 $ printf "%0s" hoge hoge $ printf "%.s" hoge # 何も表示されない 疑問 文字列かつ精度指定は文字数の制限なので0を指定したら何も表示されないのでは …

キャッシュレスな生活をしたい

たまにはライフハック的な記事でも 現金を使いたくない理由 現金を使う場面と解決策を整理 問題点 支払い方法 小銭の処分 理想はJREカード1枚 + 小さくて安価な財布 所感 現金を使いたくない理由 紙幣や小銭を探すために時間がかかる 所持金を補充するために…

bashでUnicodeコードポイントから文字を表示する方法まとめ

シェル芸に取り組んでいるとUnicodeコードポイントを操作して文字を表示させることが多いのでまとめ。 環境 macOS Mojave 10.14 GNU bash, バージョン 4.4.23 \uを利用する方法 こんな感じのこと $ echo -e \\u3043 ぃ bashでUnicodeのコードポイントを扱う …

VSCodeで次の差分にジャンプするショートカットキー

環境 macOS Mojave (10.14) VSCode 1.29.1 VSCodeのファイル差分の表示 command + Pでコマンドパレットを開いてcompareと入力すると、いくつかのファイル比較機能が候補として表示される SI経験者にはお馴染みのWinMerge的な画面でWinMerge的なことができる…

シェルスクリプトの出力を画面に表示しつつファイル出力する方法について

環境 MacOS GNU bash, バージョン 4.4.23(1)-release (x86_64-apple-darwin18.0.0) ターミナル上の作業ログを取りたい場合 scriptコマンドを使うとターミナル上の操作と出力を全てファイルに記録できる $ script Script started, output file is typescript …

varなしの宣言(初期化)が関数スコープになる場合について

JavaScriptの変数の宣言文について、何となく気になったこと。 varなしの宣言で初期化された変数はグローバルスコープ これはよく知られている仕様 (function() { foo = 1; })(); console.log(foo); // 1 varなしの宣言で初期化された(ように見える)変数で…

document.referrerでiframeからクロスドメインの親ページのURLを取得できる理由について

気になったので調べた内容をまとめた。 iframeからクロスドメインの親ページのURLを取得する document.referrerでできる(ほとんどのブラウザで動作するっぽい。Chrome, Firefox, Safari, Edge, IE11の最新版はどれも動いた) 同一ドメインの場合はdocument.…

コンテナを中心にDocker、Herokuの基本概念を整理する

Docker、Herokuについてコンテナを軸に基本的な言葉の意味や概念を整理してみたいなあと思ったので書いた。引用中心なので詳細は各ページを参照ください。 そもそもコンテナとは何か? コンテナ vs 仮想マシン コンテナの利点 DockerはコンテナのOS コンテナ…

職務経歴書を書いて公開した

転職活動しているわけではないけど書いてみたくなったので書いた。書いたものはこちら→職務経歴書 書いた理由 これまでの経験を振り返って自分の立ち位置を明確にしたかった(たいして長いキャリアでもないが) オンライン(TwitterやBlog)で自分を知った人…

Appleサインイン画面で403エラーが発生したのでブラウザのCookieを削除したらエラーが解消した

環境 macOS 10.14 Chrome 70.0.3538.77(Official Build) (64 ビット) 事象 サインイン - Apple(日本)にアクセスしたら403エラーが返ってきた 403 Forbidden nginx on developer.apple.co… - Apple CommunityによるとCookieを削除すると解消されるらし…

kakasiとnkf

【問題と解答】jus共催 第37回シェル芸bot生きてるかどうか分からないけどシェル芸bot向けシェル芸勉強会 | 上田ブログのQ7を読んでいていて、kakasiは入力と出力の文字コードを指定できるのかーと思ったので書いた。 環境 GNU bash 4.4.23 kakasi 2.3.6 nkf…

C言語のビルドプロセスから理解する"./configure", "make" ,"make install"

Kakasiのインストールをしていて、 そういえば./configure, make ,make installって何しているのかちゃんと分かってないなあと思ったので調べたことをまとめた。 C言語本格入門 ~基礎知識からコンピュータの本質までを参考にさせて頂きました。 前提知識 ./…

VSCodeでawkの開発環境を整える (awk-language-client)

awkとしっかり向き合いたい時に役に立つかも。 環境 macOS 10.14 VSCode 1.28.2 One Monokai Theme GNU Awk 4.2.1 awk-language-client marketplace.visualstudio.com Language Serverのawk拡張 拡張子.awkのファイルに対してシンタックスハイライト、補完、…

peeコマンドについて混乱したので調べた(シェルスクリプト)

環境 macOS 10.14 bash 4.4.23 moreutils matsuya 混乱 【問題と解答】jus共催 第37回シェル芸bot生きてるかどうか分からないけどシェル芸bot向けシェル芸勉強会 | 上田ブログのQ8の解答を読んでいて混乱した $ matsuya | pee cat "grep -o ." rev んどうー…

xcode-select --installに失敗した

xcode-select --installに失敗したのでXcode Command Line ToolsをApple公式サイトからダウンロードして解決したというお話。 環境 macOS 10.14 Xcode 10.1 事象 gsedをsedとして呼び出せるようにしようと思いオプション付きでインストール実行。 $ brew ins…

VSCodeでシェルスクリプト(bash)の開発環境を整える

シェル芸勉強会の過去問演習を再開したいなぁと思ったので、まずは環境を整えてみる。 環境 VSCode(1.28.2) macOS(10.14) インストールした拡張 Bash Beautify シンタックスハイライト この拡張をインストールするだけで動作する Bash Debug VSCodeデバッグ…

IE11で文字列からDOM Nodeを生成・取得したい

業務で苦戦したことがあったのでまとめ 環境 IE(11.345) やりたいこと 文字列からDOM Nodeを生成してJavaScriptで取得したい どんな要素でも文字列から生成できて欲しい <template>要素にブラウザが対応している場合は下記の方法で生成と取得が可能 ただしIE11は<template>要素に</template></template>…

macOS Mojave(10.14)にアップグレード後にVSCodeのフォントが変になる事象を解決する方法

macOSをMojave(10.14)にアップグレードしてVSCodeを起動したら文字が変になっていて困った。 環境 macOS Mojave(10.14) VSCode 1.27.2 VSCodeのフォント : Ricty Diminished 事象 macOSをHighSierraからMojave(10.14)にアップグレードしたところVSCodeのフォ…