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

nodebrewによるNode.jsインストール手順

仕事にてnodeが必要になりまして、、、 nodeのインストールにちょいと苦戦したので参考までに! Node.jsをMacにインストールしてnpmを使えるようにする - Hirooooo’s Laboを参考にさせていただきました〜 Node.jsがインストールされているバージョンを確認 $…

mysqlで月+2の15日を入れたい

今回も備忘録レベルです。 仕事で作成日の月に2を足した15日を値を入れるというSQL書かないといけなくて。。。 作成日が6/2のとき、8/15をいれたいって時です。 update table1 t set t.delete_date=date_format(date_add(t.created_at, interval 2 month),'…

UPDATE文でのINNER JOINの書き方

SQL

よく忘れちゃうので。 update table1 inner join table2 on table1.column1 = table2.column2 set table1.column2 = table2.column2;

PrivateメソッドとPrivateフィールドのユニットテスト

表題の通り、備忘録として。Target.java(テスト対象クラス) public class Target { private String str = "test"; public String getStr() { return this.str; } private String thisIsPrivateMethod(Integer number) { return number == 1 ? "One" : "Oth…

JMockitを使ってprivateメソッドをモックにしてみた話

ユニットテスト書いてて、関係ないprivateメソッド通りたくないな〜と思ってググってたらJMockitなるすばらしいものがあったので忘れないうちに!まず、 Maven Repository: org.jmockit » jmockitからpom.xmlにjMockitを追加! <dependency> <groupId>org.jmockit</groupId> <artifactId>jmockit</artifactId> <version>1.30</version> </dependency> J…

クライアントとサーバの通信の流れを見てみよう!

入社当時Webの勉強のためにWebサーバ作っていたのですが、まだできておらずWebの理解を深めなきゃという気持ちで再び取り組みはじめました。 今回は、サーバとクライアントの通信がどのように行われているのかについて書きます。まず、クライアントとサーバ…

Google Cloud Platformって結構気に入った

GCP

Google Cloudで始めるDocker実践入門に参加してました。 講師は、「プログラマのためのDocker教科書」や「Amazon Web Servicesではじめる新米プログラマのためのクラウド超入門」の著者の阿佐志保さんでした。 今回は、もう少し自分で試したいのでDockerの内…

サイ本を読んで~JavaScriptの変数スコープ~

JavaScriptの変数スコープがJavaと結構違って厄介。。 また、備忘録として! まず、JavaScriptにはブロックレベルのスコープがありません。つまり、ある関数で宣言された変数は、どのブロックで宣言されたにかかわらず関数全体で有効になる。 言葉ではわかり…

サイ本読んで~Part1~

サイ本はJavaScriptの本では一番有名でしょう。ま、どんな本かは調べてもらうとして今回備忘録としてまとめて起きたい項目はちょいちょい記事として書いていこうかと。 Part1は、オブジェクトリテラル。 JSではオブジェクトリテラルを利用できる。(あるオブ…

ThymeleafでformのList<Object>フィールドに値をいれるのにはまった話

仕事しててすごくハマった話。 type="hidden"でListの指定したインデックス番号のidに値をつっこもうと思ったとき、以下のようにするとうまくpostできました。 BookForm.java @Getter @Setter public class BookForm implements Serializable { private List<Detail></detail>…

ビュー名を返すだけのControllerなら、Controllerは別にいらないらしいよ!

ログインフォームに誘導しようとした際、View名返すだけのControllerを作らなきゃいけません。 そんなとき、以下のようなConfigクラスを作ればこのControllerが必要ないんです! @Configuration public class WebMvcConfig extends WebMvcConfigurerAdapter …

Postgresの初期設定(ユーザの作成)

仕事ではMySQLばかりであまり使うことのないPostgres。 コマンドがまるで違うので備忘録として!psql経由でデータベースログイン mbp-Ryosuke:~ ryosuke$ psql -d postgres -U [ユーザ名] psql (9.5.1) Type "help" for help. postgres=# -d:データベースの…

Postgresのインストール方法(Mac)

postgresを使用する場面に遭遇したので備忘録として。 // postgresをインストール ryosuke $ brew install postgresql // 文字コードをutf-8で初期化 ryosuke $ initdb /usr/local/var/postgres/ -E utf8 // バージョンの確認 ryosuke $ postgers --version …

HTTPセッションに格納したオブジェクトの削除

@RequestMapping(path = "create", params = "complete", method = RequestMethod.POST) public String createComplete(SessionStatus sessionStatus) { sessionStatus.setComplete(); return "account/createComplete" } SessionStatusのsetCompleteメソッ…

Mac用のActive Directoryのパスワード変更スクリプト作ってみた!

会社でActive Directoryを使用しているんですが、パスワード変更するのが非常に面倒くさい。。。 VMでWindows起動して、パスワード変更だなんて。たったこれだけの作業のために時間使いたくないと思い、スクリプト作っちゃいました。 #!/bin/bash echo -n "…

Lazy/Eager Fetch

データベースへのクエリのタイミングを定義するとき、大きく分けて2つ方式がある。 Lazy Fetch:関連するコレクションをDBから呼びこまない。Persistentオブジェクトにコレクションを取得するメソッドが呼ばれたときにSQLを発行してDBからレコードを読み込…

1対多

1対多については、単方向・双方向・JoinTableの3つの方式がある。 □単方向 OrdersオブジェクトからProductオブジェクトに対してのみアクセスする状態 public class Orders implements Serializable { @Id @GeneratedValue(strategy = GenerationType.AUTO)…

Cascade

カスケードは、関連しあうEntityに対して行われた処理を伝播させることができる。 例えば、単方向の1対1を考えるとき、オブジェクト上でCategoryインスタンスを保存した場合は、関連するSubCategoryのインスタンスの保存が自動で行われる。 □PERSIST処理 pub…

結合テーブルの自動生成

Hibernateでの結合テーブルの自動生成 @JoinTable(name = "category_subcategory", joinColumns = @JoinColumn(name = "category_id"), inverseJoinColumns = @JoinColumn(name = "subcategory_id")) private SubCategory subCategory; joinColumns:所有者…