さっしーブログ

埼玉県在住のシステムエンジニアです。基本的には技術的な内容を中心に発信していきます。

Apacheのssl_moduleをインストールする

1.モジュールの確認 1-1.mod_sslがあるか確認する 2.mod_ssl 2-1.mod_sslのインストール 1.モジュールの確認 1-1.mod_sslがあるか確認する まずはいったんモジュールが存在しているかを確認する httpd -M 2.mod_ssl 2-1.mod_sslのインストール モジュールが…

Let's Encryptを利用してWebサイトをHTTPS化した

弊社のサイトにてHTTPSアクセスを行えるようにしました。 今回使用するSSL証明書はLet's Encryptという、電子フロンティア財団が運営し発行している証明書です。 無料であり、簡単に導入ができます。 また、無料ということもあってか有効期限が3か月と短い…

rsyncを使ってフォルダの同期をとる

弊社WebサイトはGitで管理しており、まだ立ち上げたばかりのため、 暫定的にrsyncを用いてサーバー上にCloneしたリポジトリとルートディレクトリの同期を取っている。 とまあ、以下に使い方を記載しておく。 書式 rsync [オプション] [コピー元] [コピー先] …

GoogleMapを使ってみよう

目次 目次 必要なもの サンプルコード サンプルコード解説 ライブラリの読み込み コールバック関数の定義 位置情報の定義 Map情報の定義 Mapインスタンスの生成 Mapインスタンスに定義情報を設定 GoogleMaps APIリファレンス 現在、個人でWebサイト制作をや…

IntelliJ IDE ショートカットメモ

目次 目次 クラスのアウトライン表示 関数切り出し 変数名、クラス名、メソッド名などの一括変更 ファイル検索 grep検索 呼び出し先へジャンプ 行番号でジャンプ 自動インポート 1つ前に戻る or 進む (アルファベットの)大文字小文字切り替え 概要(テンプ…

PlayFrameworkで一時ファイルを作成せずに、レスポンスで返す方法

あるファイルをレスポンスで返したい。 けど、sendFile()を使用する場合、Fileインスタンスを引数に与えなくてはいけないし、 Fileインスタンスを作成するとなると物理ファイルのパスを指定したりしないとならない。 そしたら、一時的にファイルを作成しない…

PlayFramework2.6.xでフォームからPOST送信したら403が返ってきたら

PlayFramework2.6.xでフォームからPOST送信した際に、 下記警告が発生し403(Unauthorized)が返ってきた。 [warn] p.filters.CSRF - [CSRF] Check failed because no token found in headers for /login?userId=test&password=test CSRF対策のチェックでPOST…

シェルスクリプトの実行で「/bin/bash^M: bad interpreter: No such file or directory」が発生した場合の対処法

目次 目次 環境 エラー内容 原因 対処法 コマンド sedとは? オプションとスクリプトコマンドの解説 環境 CentOS6.8 エラー内容 -bash: ./run_mock.sh: /bin/bash^M: bad interpreter: No such file or directory 原因 上記、エラーの原因はシェルスクリプト…

PlayFrameworkアプリをsystemdでデーモン化しようとしたけど。。。

目次 目次 まず初めに Systemdとは 環境 前提 手順 1.アプリケーションビルド 2.生成されたzipを確認 3.Unit定義ファイルの作成 4.今回作成したUnit定義ファイル 5.パーミッション設定 6.再起動 7.Playアプリケーション起動 8.動作確認 9.Playアプリケーショ…

スクラム開発基礎

最近、私の現場で本格的にスクラム開発を取り入れてきました。 スクラム開発はいろいろな現場で行ってきましたが、しっかり勉強する機会がなかったので1から再度勉強しなおしました。 その時のメモ内容を備忘録としてまとめます。 まず勉強に使用した資料は…

MySQLパスワードが分からない場合の対処法

DB

目次 目次 MySQL Version 状況 対処手順 1. MySQLを停止 2. MySQLをセーフティモードで起動 3. MySQLへログイン 4. 「mysql」データベースを指定 5.テーブルを確認する。 6. 現在登録されているユーザーを確認 7. 既存のパスワードの変更 8. MySQLログアウト…

href属性に設定される「javascript:void(0)」とは?

今回はフロントの小話です。 私自身サーバーサイドのエンジニアのため、 あまり意識してこなかったのですが、 たまにHTMLで以下のような記述を見かけます。 <a href="javascript:void(0);" id="btn" class="btn" onclick="sample();">~</a> href属性に設定されている「javascript:void(0);」という記述 まだエンジニア歴の浅い方は気にな…

Scalaでコンソールから入力を行いたい

目次 目次 環境 サンプルコード 環境 scala2.11.11 サンプルコード Scalaでコンソール入力を行いたい場合は以下のように書く。 ※ちなみに下記の実装だと、1行入力のみであるため複数行入力は行えない。 ctrl + Dするまで入力→出力を行ってくれる。 package …

おそらく初心者が疑問に思うであろうscala事 - sealedの使いどころについて

元Javaエンジニアですが、現在はScalaエンジニアで日々頑張ってます。 scalaを学習していると見慣れないキーワードがいろいろ出てきますね。 というわけで今回は、「sealed」についてどう使えばよいかを調べましたので共有していきます。 結論から言うと、 …

gitbookを触ってみた

目次 目次 環境 1.Node.jsをインストールする。 2.gitbookを導入する。 2-1.gitbookをインストールする。 2-2.バージョン確認 3.gitbookを利用する。 3-1.gitbookを初期化する。 3-2.gitbookのコンテンツをいじってみる。 3-3.gitbookをビルドする。 3-4.git…

scalaでのループ処理性能測定結果 まとめ

目次 目次 実行環境 測定コード 結果 実行環境 windows10 64bit メモリ 32G CPU corei7-7700CPU 3.60GHz 言語 Scala 測定コード import scala.annotation.tailrec object sample { val setValue: Int = 1000000 def main(args: Array[String]): Unit = { // …

引数の名前渡しについて

名前渡しとは、引数の値が評価されて、その評価された値が渡される値渡しなどとは異なり 関数の呼び出し時に評価されずに必要な時に評価される形式を「名前渡し」といいます。 必要な時とはどのようのようなときでしょうか。 それは参照されるときです。 で…

Scalaでコンソールにプログレスバーを表示する方法

マイグレーションツールを作成したときに、 本番並みのデータがデータベースに格納されていると処理に時間がかかり コンソール上で動いているのか動いていないのかが心配だったため、 プログレスバーを表示してみることにした。 サンプルコードは以下。 obje…

Scalaで処理速度を計測する場合のやり方について

よく速度性能を求められたりするのでメモ object sample { /** * 処理速度測定を行う * * @param process */ def printExecTime(process: => Unit): Unit = { val start = System.currentTimeMillis process println("処理時間: " + (System.currentTimeMil…

sbt-assemblyを使用してjarを生成する際の同名ファイルのマージ指定方法

sbtで実行可能jarを作成した時のこと。 sbt-assemblyを使用して、 sbtコンソールからのコンパイル後に「assembly」をたたいたところ、 クラスファイルやプロパティファイルなどの重複エラーが発生した。 そんで調べてみるとsbtのjar生成時に見つかった重複フ…

MacターミナルでSSH接続の秘密鍵と公開鍵を作ってみよう

今回は個人の仕事で外部のサーバーにssh接続するために秘密鍵と公開鍵を作成しました。 端末はMacを使用しているので標準でインストールされているOpenSSLを使用します。 まずは以下のコマンドを叩きます。 $ ssh-keygen そしたら秘密鍵と公開鍵の作成場所を…

正格と非正格(遅延)について

現在Scalaを勉強中です。 今回はScalaの参考書を読んでいると出てくる「正格」と「非正格(遅延)」について学習しました。 まず初めに、正格とは何でしょうか?非正格(遅延)とは何でしょうか? これは関数の特性を指します。 正格な関数..つまり正格関数…

scalaコンパイルエラー備忘録「value += is not a member of Int」とは?

現在仕事ではScalaを触ってます。 期間は1か月満たないくらいです。 今後のために、エラー内容に対する対処方法などをまとめていこうと思います。 今回のエラーはこちら value += is not a member of Int google翻訳すると「値+ =はIntのメンバーではありま…

TypesafeConfigを使用して外部ファイルを読み込む

Scalaでデータ移行ツールを作成した時の話 職場でPlayFrameworkを使用しており、 ツールの実行ごとに複数環境のDB接続設定情報ファイルを個別に指定して読み込ませたかったため、 実行時にファイルを指定できるようにした。 ファイル読み込みにcom.typesafe.…

データベースのデータ移行時に外部キー制約を一時的に無効化したい

DB

基本的には以下のようにやればよい。 sample.sql set foreign_key_checks = 0; <SQL文の処理> set foreign_key_checks = 1; 実行コマンド $ source sample.sql しかし、上記のコマンドではそのセッション内でしか有効でないため、以下のようにやると外部キー制約が無効化</sql文の処理>…

knockout.js チュートリアル 【Loading and saving data】

目次 目次 Step2 サンプルコード Step3 サンプルコード Step4 サンプルコード Step5 サンプルコード 本記事はknockout.jsの公式サイトにある以下のチュートリアルを実施した備忘録です。 learn.knockoutjs.com Step2 タスクリストのサンプルプログラム(JSON…

knockout.js チュートリアル 【Creating custom bindings】

目次 目次 Step2 サンプルコード Step3 サンプルコード Step4 サンプルコード 本記事はknockout.jsの公式サイトにある以下のチュートリアルを実施した備忘録です。 learn.knockoutjs.com Step2 ポイント配布式アンケートのサンプルプログラム サンプルコード…

knockout.js チュートリアル 【Single page applications】

目次 目次 Step1 サンプルコード Step2 サンプルコード Step3 サンプルコード Step4 サンプルコード 本記事はknockout.jsの公式サイトにある以下のチュートリアルを実施した備忘録です。 learn.knockoutjs.com Step1 メールボックスのナビゲーションバーを表…

knockout.js チュートリアル 【Working with Lists and Collections】

目次 目次 Step1 サンプルコード Step2 サンプルコード Step3 サンプルコード Step4 サンプルコード Step5 サンプルコード 本記事はknockout.jsの公式サイトにある以下のチュートリアルを実施した備忘録です。 learn.knockoutjs.com Step1 foreachバインディ…

knockout.js チュートリアル 【Introduction】

目次 目次 Step1 サンプルコード Step2 サンプルコード Step3 サンプルコード Step4 サンプルコード 本記事はknockout.jsの公式サイトにある以下のチュートリアルを実施した備忘録です。 learn.knockoutjs.com Step1 まずはViewModelを定義して、htmlのstron…