Works by

Ren's blog

@rennnosuke_rk 技術ブログです

2018-04-01から1ヶ月間の記事一覧

【JavaScript】Spread Operator

Spread Operatorとは JavaScriptではECMA2015からSpread Operatorと呼ばれる仕様を導入しました。これは、配列やオブジェクト、関数に渡す引数を展開するための糖衣構文です。 // 配列を展開 let num_array = [4, 5, 6]; console.log([1, 2, 3, ...num_array…

【html】相対配置・絶対配置

position html要素の配置方法には複数の種類があり、指定した配置方法によって要素の配置のされ方が異なってきます。 html要素の配置方法はプロパティpositionで設定でき、以下の4種類の中から選べます。 static 初期値。配置方法指定なし。 top/bottom/lef…

【html】インライン要素内の画像に発生する余白を除去する

vertical-align: bottom インライン要素内に記述したimg要素で表示された画像は、デフォルトではテキストのbaselineに合わせて整列されます。 HTML <p><img src="image.png"></p> CSS p { background-color: #CCCCCC; } レンダリング結果 そのため、画像のみをインライン要素に含めると、…

【html】インライン要素ボックスに対するプロパティ指定の特徴

inline要素 <div>などのブロックレベル要素とは異なり、<span>などのインライン要素はコンテンツを分断せずにタグを挿入することができます。 <p>キャンペーン実施中!詳しくは<a href="#">こちら</a>!</p> レンダリング結果 キャンペーン実施中!詳しくはこちら! このとき挿入されたインライ</span></div>…

【AngularJS】$httpでformによるPOSTリクエストを再現する

AngularJSの$httpメソッドでHTTPリクエストを発行する時、 コンテンツの形式をサーバ側と一致させなければサーバ側に正しくデータを受け取ってもらえない。 例えば、サーバ側がformタグのsubmitによってデータが送られていること想定しているとする。 HTML <html> <head></head></html>…

【AngularJS】入力フォームの値を正規表現でバリデーションチェックする

ng-pattern HTML5ではinputタグに対して様々な値チェック機構を標準で備えている。 特に、inputタグの属性typeを指定すると、一部のtypeに対しては HTML5標準の入力規則が適用される。 <html ng-app="myApp"> <head> <meta charset="utf-8"> <title>input test</title> </head> <body ng-controller="myController"> <form id="formExample"> </form></body></html>

【git】tracked状態のファイルのみaddする

git add -u メモ。 新規ファイルや削除済みファイルなど、gitがトラッキングしないファイル変更差分をステージングしたくないときに使う。 # 変更差分 $ git status On branch hoge-branch Changes not staged for commit: (use "git add <file>..." to update wha</file>…

【CSS】Normalize.cssでブラウザ間スタイル間差異を小さくする

【HTML】マージンの相殺

上下で隣り合うマージンは重なり合う HTMLタグに設定するマージンは、隣り合う上下のマージンは重なり合い相殺されるという特徴を持ちます。 例えば以下の2つのようなタグが上下に並んでいるとします。 上のタグの下マージンは30px、下のタグの上マージンは2…

Cronで任意の日時にプログラムを自動実行する

Cronとは Cronとは、指定したプログラムを自動実行してくれる仕組みです。UNIX系OSには標準で組み込まれており、自作のスクリプトを指定した時間に実行したり、一定間隔で実行することができます。 Usage 実行環境はMac OS X High Sierraです。 Cronを利用す…

【Sass】gulpでSassのコンパイルを自動化する

前回扱ったSass環境構築の続きになります。 タスクランナー タスクランナーはコンパイルやテストなどの一連の手続きを自動化するツールです。「タスクランナー」と呼ばれなくともこのような特性を持つツールは数多あるのですが、フロントエンドで使用される…

【Sass】LibSassを導入する

npm

LibSassとは LibSassはSassプリプロセッサ実装の一つで、C/C++で実装されています。Rubyで実装されたRuby Sassとは異なり、コンパイルが高速であるという特徴を持ちます。ver3.3以降 Ruby Sassとの完全互換となったため、LibSassのシェアは増えつつあるよう…

【Sass】Sassをはじめる

Sass SassとはCSSプリプロセッサであり、CSSをソースコードライクに記述することができるメタ言語です。CSSはシンプルな分、複雑なロジックを記述することができませんでしたが、Sassでは変数定義や制御構文、関数などプログラミング言語で記述可能な操作を…

【HTML】aタグのクリックイベントでform submitする

HTML <a href="javascript:document.form_hoge.submit; return false;">Get Request</a> <form style="display:none;" name=“form_hoge” action=“hoge/fuga/piyo” method=“get”> <input type=“hidden” name=“number” value=“1”> </form> <a href="" onclick="document.form_hoge.submit">Get Request</a>

【Java】Lombokでアノテーションだけでクラスのアクセサを設定する

Lombokとは Lombokは、Javaクラスにアノテーションを付加するだけでかんたんにGetter,Setterなどのアクセサを設定することができるライブラリです。アクセサを書かなくても良い分 Javaクラス定義を短く書くことができます。 Lombokのダウンロード 実際にはID…

【Git】git clean でGit管理対象外の差分ファイルを削除する

git clean 新規に作成したファイルなど、一度もGitによって管理されたことのないファイルは git clean -fコマンドで削除できます。 # git上で管理されていないファイル/フォルダ $ git status On branch hoge Your branch is up to date with 'origin/hoge'.…

【Git】特定のブランチに紐付いたTagをリモートリポジトリと同期する

メモ。 リモートホスティングで生成されたタグ情報の取得 Git ではリビジョンだけでなくTagもリモートリポジトリにpushして管理することができますが、例えばGitHubなどのホスティングサービスを利用してタグをリモート上で作成したときなどに、通常のブラン…

【DB】テーブルのサブタイプ

RDBMSにおけるテーブルの継承 RDBMSでは、データを格納するテーブルに継承関係を定義することができます。例えば文房具屋さんが店舗で扱う商品を管理するために、書籍テーブルや文具テーブルなどを作成することができます。しかし、書籍や文具は商品であるた…

【DB】分散DBシステムのテーブル結合

分散RDBMSシステムでのテーブル結合 分散DBシステムでは、物理的には複数のDBにデータを分散させているにもかかわらず、あたかも一つのDBにアクセスしているかのように振る舞います(位置透過性)。例えばSQLで複数のテーブルを結合しつつ問い合わせを行う時…

【DB】分散DBシステムの透過性

分散DBシステムとは 分散DBシステムは、複数のDBが地理的に遠隔地にある場合にネットワークを経由して協調処理をさせるシステムを指します。分散DBシステムをサービスとして提供する場合、利用者にはあたかも一つのDBにアクセスしているように見えるようにし…

【gulp】gulp generatorでgulpfile.jsを自動生成する

npm

# gulp generator gulp generator を使うと、GUI上でgulpfile.jsを生成することができます。 またnpm installに必要なpackage.jsonも生成してくれるので便利です。

Kibanaでログデータの可視化を行う

Kibanaとは KibanaはElastic社が提供するデータ可視化ツールです。 Elastic社は文書全文検索データベースであるElasticseatchをサービスとして提供していますが、Kibanaはこのデータベース上のデータを分析しやすいように可視化してくれます。 Kibanaをイン…

Erasticserchを使う

Erasticsearchとは ErasticsearchはErastic社が提供するオープンソースの全文検索エンジンです。 Javaで構成されており、Apatch Lucineと呼ばれる検索エンジンを基盤としています。 自分は業務内でアプリケーションサーバのログデータを収集・解析しているの…

【Angular】スクロールイベントを監視するDirective

AngularJSでスクロールイベントに伴う処理を実装したかったのですが、スクロールイベントの監視をビジネスロジックに記述したくなかったので、画面のスクロールイベントを監視させるAngularのDirectiveを作成しました。 Directive angular.module('App') .di…

JSON Web Token(JWT)

JSON Web Tokenとは JSON Web Token(JWT)は、署名付きJSONトークンです。ネットワーク上でやり取りされるJSON形式の文字列に署名を付加することで、JSONの改ざん検出を行うことができます。 署名 JSON文字列に対して署名を施す場合、どのように署名がなされ…

【JavaScript】JavaScriptにおける等価性比較

等価性比較 ある値やオブジェクトを比較する時、各々が何を持って等しいとするかは使用する言語体系や比較演算子、関数、メソッドによって変わります。JavaScriptでも比較のための演算子として==と===が用意され、またECMS2015では比較用のObjectプロパティO…