君は心理学者なのか?

大学時代に心理学を専攻しなぜかプログラマになった、サイコ(心理学)プログラマかろてんの雑記。

2018-01-01から1年間の記事一覧

逃げるんだ。2019年から、全速力で。

紅白が、そろそろ終わる。 狭い狭い学生寮の一室。 真ん中に年代物のこたつが一つ。 元の模様がなんだったのか、 まったくわからなくなってしまうほど擦り切れてしまったこたつぶとんを肩まで引っ張り、 白石はぬくぬくと2018年最後の夜を過ごしていた。 こ…

localStorageをwrapしてくれるnpmパッケージ、store.jsについて調べた

いきさつ localStrageを使う機会があった。 今までは普通にlocalStrageを使っていたが、 npmにlocalStrageのwrapperがあるのを職場の人が見つけてくれた。 github.com 気になったので少し調べてみた。 概要 ブラウザやそのバージョンによってlocalStrageの扱…

pullreq出したらコンフリクトが起きて、githubのweb上から解消できなくなった時にやること

Git

前提 プロジェクトのリポジトリを、個人のリポジトリにforkして開発している プロジェクトのリポジトリをupstream、個人のリポジトリをoriginとする originできったfeatureブランチをupstreamのdevelopブランチに対してプルリクを出した コンフリクトし、Git…

2018年振り返り(9月〜12月)

9月 屋久島にいった 退職した開放感によって大変気が大きくなっていた私は、単身屋久島に渡った。 正確には、 福岡で一泊、 鹿児島で一泊、 屋久島で二泊、 鹿児島で一泊、 実家に一泊 というかなりの長旅だった。 旅の目的は、九州で一番高い山に登ること。…

2018年振り返り(1月〜8月)

今年はいろいろな動きがあった年でした。 1月〜8月 9月〜12月 で大きな動きがあったので、分けて書いていこうと思います。 1月 記憶がない 2月 初めてQiitaの記事がバズった qiita.com 個人ブログでは50pv/dayくらいしか読まれていなかったのに、 10,000pv/d…

ログ解析で用いられるElasticsearchとはなんなのか

いきさつ Elasticsearchについて「大量のデータをスピーディーに解析する」 くらいしか理解できていなかったので、整理することにした。 ただし、今回は「ログ解析」という観点に絞って整理する。 ログ解析の一般的な構成 おもにログ収集、ログ集積、ログ解…

Qiitadon忘年会まとめ

日曜日なのにQiitadonが早い qiitadon.com qiitadon.com qiitadon.com 今日はQiitadonの非公式忘年会だから qiitadon.com ホテルニュー淡路 qiitadon.com qiitadon.com qiitadon.com はやすぎるひとたち(集合は16:00) qiitadon.com qiitadon.com 駅集合な…

babelで現在のnodeJsのバージョンに合わせてトランスパイルする

** あとで少し追記する babelのinstall yarn init -y yarn add @babel/cli --dev yarn add @babel/core --dev コンパイルするソース class Hoge { constructor() { } } const hoge = new Hoge(); コンパイル 何も入れず、そのままコンパイルしてみる yarn ru…

dockerのコンテナを削除する〜サブシェルについて〜

いきさつ とまっているDockerコンテナを全部削除したい。 と思って方法を調べたら「サブシェル」という技術を知った。 方法 $ docker rm $(docker ps -aq) 解説 ( ) ( )でくくった処理はサブシェル内で実行する。 親シェルの環境変数を汚したくないときに…

releaseブランチを導入するメリットについて考える

Git

背景 masterブランチとdevelopブランチ、 それとfeatureブランチで開発しているケースを考える。 developからfeatureブランチを生やして、featureの開発が終わったらdevelopにマージ。 developにマージしたものをリリースのタイミングでmasterにマージ。 そ…

AWSのCloudFrontの設定(OriginPath)を、aws-cliから変更する

AWS

いきさつ デプロイ自動化の一環で、 AWSのCloudFrontの設定をaws-cliから変更したくなった。 (今回変更したのはOriginPath) 前提 aws-cliが使用できる環境 jpが使用できる環境 出来上がったシェル # Etagの抽出 RAW_ETAG=$(aws cloudfront get-distributio…

Go言語製のmigrationツール、sql-migateを使ってみた(postgresSQL編)

経緯 開発環境と本番環境のDB差異をできる限り無くすためにmigrationツールを導入する。 プロジェクトリポジトリと同じリポジトリでマイグレーションファイルを管理することにより、 ソースコードとDBスキーマのバージョンを同期させることができる。 使用す…

AWS CLI S3にまつわるコマンドメモ〜一覧表示、ダウンロード、アップロード〜

一覧表示系 s3内においてあるbucketをすべて表示する aws S3 ls S3内においてある特定のbucketの中身を表示する aws s3 ls {bucketName} ダウンロード系 S3上のファイルをlocal上のフォルダに落としてくる aws s3 cp s3://{bucketName} {localFolderName} --…

【告知】1本5分のpodcast、ナノキャスはじめます。

この間ポッドキャストに初めて出た。とても楽しかった。 monorazi.hateblo.jp だから自分でもやろうと決めた。 自分で言うのもなんですが、かなり特殊なポッドキャストになる予定。 現時点での構成はこんな感じ。 1本5分きり 僕が喋りっぱなし 内容はフィ…

標高3000メートルから先は、異世界だった。そして僕らはそこにいた。

絶対、絶対にこれ以上、登りたくない。もう散々だ。午後8時、雨嵐吹き荒れる山荘、標高3000m近くで僕はそう思った。 話は入山1日目に巻き戻る。 入山1日目。 僕は登山を完全に舐めていた。ハイキングみたいなものだと完全に勘違いしていた。楽しく森林浴…

死神が予備校にいた。彼はりんごばかり食べていた。

予備校にいた、死神の話。 僕が通っていた予備校には死神がいた。 その死神は毎日りんごばかり食べていた。 みんな知ってると思うけど、死神はりんごしか食べないんだ。 死神は昼休みになると、予備校の地下にあるリフレッシュルームに降りてくる。 そしてハ…

予備校は牢獄だった〜浪人時代予備校にいた「7浪さん」の話〜

僕は大学に入るまで、3年かかった 3年。長かった。 受験勉強を始めたのが高3の夏。 それなりに勉強をしたのだが結局志望校には入れなかった。 結局僕が入ったのは予備校。そこで1年、そして2年といた。 よく「浪人時代は本当に苦しかった」と言っている…

OSSから設計について学ぶ〜クラスの依存方向について〜

要約 僕が間違ってました。すみませんでした。 いきさつ 「Mapを使ったアプリケーションで、Mapの上にMarkerを立てたい」 という要件を満たすために、leafletというOSSを使うことにした。 リポジトリ github.com 公式サイト leafletjs.com インターフェース…

本当にオブジェクト指向を使う必要があるのか?

タイトルについて すみません、煽りました。 いきさつ オブジェクト指向で設計した時と、 オブジェクト指向を使わなかった時について、 「単純にコード量だけで」比較してみます。 その上で、オブジェクト指向の利点について再度考えてみます。 つくるもの 1…

DDDのリポジトリについてちょっとしらべた

いきさつ 昔書いていたアプリケーションがあまりにあまりなので、 (モデルの責務がいたるところに染み出している) DDD使って書き換えられないか検討するために勉強を始めた(1日目) Repositoryからやっていきます Repositoryについて エンティティの永続…

JavaScriptのgetter, setterについて復習してみた

getter, setterとは オブジェクトに値を代入したり、 参照したりする時に呼ばれる関数のこと。 書き方 set {プロパティ名}(value) { // 処理 } get {プロパティ名}() { // 処理 } のように書く 実例 var obj = { set value(val) { this._value = val + 1; },…

json-serverが鬼のように便利で、しかも可愛かった

いきさつ APIのmockがほしかった。 今までexpressとかで実際にAPIをつくっていたのだが、 ちょっとめんどくさくなってきた。 何かいい方法がないかな〜と思ってたら「json-server」という良さげなものがあったので試してみた。 github.com install npm insta…

【突然の沈黙】JavaScriptのobjectスプレッド演算子について

いきさつ ソースコードを読んでいたら、 var arr = [1, 2, 3] var arr2 = [4, 5, 6] arr.push(...arr2) とつぜん処理の中で沈黙(...)し始めた。 気持ち悪かったので調べてみた。 ドキュメントを見てみる スプレッド構文を使うと、関数呼び出しでは 0 個以…

Vue.jsにて、特定のroutingの時に後からComponentを読み込む〜ログイン後にコンポーネントを読み込みたいからLazy Loadしてみた〜

いきさつ ログイン前はログインコンポーネントだけ、 ログイン後はアプリケーションに必要なコンポーネントを読み込みたい。 目的は、 ログイン前に読み込むJavaScriptソースコードの軽量化と、 それによるセキュリティリスクの減少。 やりかた はじめ、こん…

Vue.jsでComponentを利用する〜templateのみ〜

いきさつ 職場でVueを使うので勉強する必要がある。 とりあえず vue-cliを使っても良いが、 きちんと理解したいので生で書くことにした。 ルートコンポーネント <html> <head> <meta charset="utf-8"> <title>Vue TEST</title> </head> <body> <div id="app"> <my-component></my-component> </div> <script src="./vue.js"></script> </body></html>

イスラーム過激派のハッカーが知人のサーバをハッキング。マルウェアが6000個検出された話

いきさつ 知人のサイト(WordPress)が見れなくなったということで、 とりあえずsshでログインしてみた。 とりあえず調査 探し方としてはかなり荒っぽいけど、とりあえず phpファイルのうち、evalを含むファイルを検索した。 find . -type f -name "*.php" |…

ファイルのタイムスタンプを保持したまま、scpコマンドで転送する

いきさつ サーバからファイルをダウンロードした後、 日付情報を用いてファイル処理をする必要があった。 コマンド scpコマンドにpオプションを付けるだけ。 scp -rp remote_host:remote_dir local_dir ちなみに ファイル転送時に新しく作られるディレクトリ…

【OSSリーディング企画】BootstrapのJavaScriptを読み解く【その1】

いきさつ Bootstrap、すごい便利。 htmlタグさえドキュメントどおりにおけば*1、 カルーセルは動くわモーダルは開くわアラートは出るわ、、、 いつも本当にお世話になっております。 ただ、、、ただね、 「なんで動くのか」について全然考えたことがなかった…

つるのおんがえし〜「決して、この部屋をのぞかないで(Permission denied)」〜

この記事のゴール この記事を読めば、 $ ls hoge d rwx-----x. 1 owner group 4096 Dec 22 15:48 hoge この rwx-----x が読めるようになる(ハズ)です。 あらすじ おじいさんが罠にかかっているつるを見つけました。 苦しんでいるつるがかわいそうだったの…

【Java言語で学ぶリファクタリング入門】クラスの抽出

いきさつ 昔書いたコードが悲しい感じだった&どこから手を付ければよいかわからない感じだったので、 リファクタリングの知識が欲しかった。 そしたら手元にこの本があった。 リファクタリング前 Playerクラス class Player { private _currentMedia; priva…