2014年2月23日日曜日

JavaによるRESTfulシステム構築を読み始めた

注文していたブログ表題の本が届いたの読み始めました。
読み進める上での参考サイトまとめ
なるほど、OSのPATH設定に依存しないようにeclipse.iniにvmオプションを指定するのか。設定しておこう。手順はリンクのサイトで問題なし。

2. HATEOASを分かり易く説明してくれているサイト

3. 複数の検索条件を指定したいときの実装ってどうする?

4. RESTEasy リファレンスガイド
6章の@Prettyアノテーションの作成方法の参考にした。
※実行時に定義したアノテーションを有効にするには@Retention(RetentionPolicy.RUNTIME)を設定する必要あり

5. アノテーションの作成方法
4.と同じ。

後は、読み進める上で気になるポイントまとめ
1. レスポンスボディへの書き出し→OutputStream、リクエストメッセージの読み出し→InputStream

2014年2月19日水曜日

Linuxクックブック

0. CentOS最新情報(必要スペックが綺麗にまとまっているサイト)

0. メモリ管理
  1. いまさら聞けないLinuxとメモリの基礎&vmstatの詳しい使い方
  2. ページキャッシュを使用したくない場合、Linux Kernel 2.6 ではrawデバイスではなくO_DIRECTを使用したブロック・デバイスへのダイレクトI/Oが推奨される
  3. tmpfsが/dev/shmをマウントしている件
  4. "Reducing Memory Access Latency" が素晴らしすぎる 
  5. ページキャッシュの効率化 
  6. Linux Kernel panic issue: How to fix hung_task_timeout_secs and blocked for more than 120 seconds problem 
0. ディスク容量がいっぱいの時にやる事 

0. ネットワーク設定の基礎

0. ネットワーク・インタフェースについて

0. /etc/resolve.confの設定変更は即時反映(networkの再起動は不要)

0. rpmリポジトリ検索エンジン

0. Ctrl-D の話

0. 絵で見てわかるファイルディスクリプタ・パイプ・リダイレクト

0. Upgrade to CentOS 6.7 from CentOS 6.6/6.5/6.4/6.3/6.2/6.1/6.0

0. whereis - コマンドのパスを調べる

0. curlでグローバルIPを確認
$ curl ifconfig.io

0. lsコマンドでフルパス表示をする方法

0. 文字コード
  1. Linux で16進ダンプ表示する [odコマンド]
1. 改行コード、空白文字、タブを視覚的に確認

2. Linux上のディスク容量を確認
  1. linuxでディスク容量を確認する方法
  2. ディレクトリ中のファイルサイズ合計値を バイト表示
  3. findコマンドの説明
  4. Linux/UNIXで容量の大きいファイル&ディレクトリを調べる 
3. make概要

4. CentOSの初期設定(RUNレベルの変更など)

5. yum
  1. yumでインストール有無確認
  2. yum upgradeとyum updateの違いについて
  3. yumコマンドでよく利用するコマンド インストール済みリスト取得など
  4. CentOSでyum高速化を行う「yum-fastestmirror」
  5. 旧バージョンCentOSでyum更新できなくなった時
  6. yumでの「Not using downloaded repomd.xml because it is older than what we have:」の解決策
  7. [CENTOS] YUM を使って TELNET, TRACEROUTE, WGET, TCPDUMP をインストールする。(yum info)
  8. CentOS6.7 64bitのyumリポジトリにEPELを追加 
  9. CentOS6.7 64bitのyumリポジトリにRemiを追加 
  10. リポジトリの追加・削除、無効・有効の設定をしてみる
  11. yum を使用して、パッケージをインストールせずにダウンロードだけを行う方法 
  12. Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again 
  13. 備忘録)[Errno 14] problem making ssl connection というエラーに遭遇した。
7. Linuxの起動と起動スクリプト

8. catによるファイルの操作

9. cmpコマンド(バイナリファイルの内容を比較する)

10. objdump(逆アセンブルの情報表示)

11. tarの内容をリスト表示

12. プロセスIDを調べてみる
  1.  PSコマンド
  2.  プロセスIDを調べてみる(様々なコマンド)
  3. プロセスがDで死ぬ 
13. SCPコマンド(リモート・マシン間でファイルをコピーする)

14. cron
  1. Linux のヒント: cron と at を使ったジョブ・スケジューリング
  2. cronの設定・実行
  3. cron の設定ガイド
  4. crontabに追加(リスクの少ないやり方)
  5. cron力をつけよう!全てのcrontab入門者に贈る9個のテクニック 
  6. サーバの処理を自動実行するcronの仕組みと応用法
  7. /etc/crontabと/etc/cron.d設定ファイルの書き方
  8. at コマンド実行エラー処理 
  9. cronの時間設定部分が全てアスタリスク
  10. cron 設定ファイル (crontab ファイル) の置き場所と書式について 
  11. cronのmailを送信しないようにする 
  12. crontabで設定したタスク実行時に、メールを送信しないようにする。 
  13. /etc/aliases を編集して root のスプールにメールを溜めたくない!エイリアス定義で転送だ!
  14. 気付いたらrootメールが溢れてる
  15. cron.d配下のファイル作成注意点
  16. anacronふたたび。(「RHEL6で悩ましい諸々」シリーズ)
  17. locked by another anacron - skipping
  18. RHEL 6のジョブスケジューラ「anacron」とは Part1 
15. kill コマンドって、プロセスを終了させるものかと勘違いしていた

16. シグナルと trap コマンド

17. Linux起動の仕組みを理解しよう[rcスクリプト編]

18. 様々なLinuxのOSバージョンを確認する

19. inotify関連
  1. inotify でディレクトリを監視してみる
  2. inotify で Linux ファイルシステムのイベントを監視する
  3. inotify を使ってファイルシステムのアクティビティーを監視する
  4. コマンドラインからinotify起動 
20. Linuxのポート状況を確認する(netstat)

21. unixtime と 日付 の相互変換

22. 再帰的なgrep。ファイルパターンを指定しない場合と指定する場合

23. 大容量ダミーファイル作成
  1. 大容量のダミーファイルを作成する。Windows、Mac、Linuxそれぞれの方法。
  2. 高速に巨大なダミーファイルを作成する方法(fallocate -l 10GB dummy.dat) 
  3. 容量指定のダミーファイルを作成したい 
  4. システムコール fallocate(2) に対応していない NFS などのファイルシステムでは失敗します 
24. CentOSのバージョン確認コマンドとアーキテクチャ確認コマンド

25. Linux ハードディスクのデバイス名を確認する(fdisk)

26. du - コマンド (プログラム) の説明

27. 【CentOS】nslookup,digを後からインストールする

28. DNS
  1. (GoogleのDNS)Public DNS 「8.8.8.8」「129.250.35.250」は本当に速いのか?
  2. 名前解決に時間が掛かる - RHEL6/CentOS6では、single-request-reopen を必須にしたい…[IPv6] 
  3. IPV6を無効化する
  4. CentOS 6 でも /etc/sysctl.d/ は使える(ipv6 無効化とか) 
  5. 【RHEL6】ipv6無効化
  6. CentOS 6でIPv6を無効にするには
29. 各種サーバ機能の設定(DNSサーバーなど)

30. lessで行番号表示

32. ファイル・ディレクトリの所有者とグループを変更する - chown

33. logのローテーション(/etc/logrotate.conf の設定)

34. logのローテーション(/etc/logrotate.dに設定ファイル作成)

35. tcpdump コマンドの使いかたをまとめてみた

36. xinit - X ウィンドウシステムの初期化コマンド

37.  Linux / Unix Command: gnome-session

38. iptables
  1. 連載記事 「習うより慣れろ! iptablesテンプレート集」
  2. これぐらいやっとけ ~Linuxサーバのセキュリティ設定~ 
  3. IPTables ルールの保存 
  4. :INPUT ACCEPT [0:0]の[0:0]は何の事?
  5. 俺史上最強のiptablesをさらす 
  6. ipsetを使ってスマートにiptablesを設定する
  7. iptables-extensions(ペイロードタイプでフィルタ)
  8. RTPとは(ペイロードタイプの詳細あり)
39. Linuxで80ポートを開放する

40. viオプション一覧

41. メモリーベースファイルシステムtmpfsについてメモ

42. ext2,3,4ファイルシステムの判別

42-2. マウントされているファイルシステムの種類を調べるには(df -T)

43. SSHを便利に安全に使う(CentOSにはデフォルトでインストール)

44. sudoについて
  1. sudo、sudoersについてちょっと調べてみた
  2. sudoersを変更する、よく使う設定例
  3. /etc/sudoersのファイル権限は、440から変更しないこと。(CentOS 6.3ではsudoがエラーで使えなくなる) 
  4. 指定したユーザーでコマンドを実行する 
  5. ssh&sudoでエラーになったら 
  6. sudoersをsedで編集する 
45. gccインストールするときの注意

46. ssh 鍵交換 パスワードなしログイン

47.  ライブラリが見つからない場合の対処
  1. unixやらlinuxでアプリを実行しようとして以下のメッセージが出たとき[cannot open shared object file: No such file or directory]
  2. inotifyで必要なライブラリ
  3. 【ldconfig】共有ライブラリの依存関係情報を更新する
  4. makeするとライブラリが入っているのに /usr/lib/ld: cannot find と怒られる問題
  5. 共有ライブラリをシステムに認識させるには
48. デフォルトゲートウェイの設定

49. LINUXのIPアドレスを変更する

50. Linuxコマンドで正規表現を用いてパターンマッチしたファイルを一括削除する方法

51. centos6.2のMACアドレス変更手順(DISKコピーでサーバーを複製した場合に必要な作業)

52. ln -sで作成したディレクトリへのシンボリックリンクを消す方法

53. テキストファイルの行数や単語数を調べるには(wcコマンド)

54. ファイルディスクリプタとは
  1. ファイルディスクリプタとは何か【stream】
  2. Linuxのファイルディスクリプタ数を変更・確認する方法
  3. ソケットとは何か
  4. ファイルディスクリプタ数の上限変更とlimits.confの罠
55. Linuxパフォーマンスチューニング関連
  1. /procによるLinuxチューニング
  2. バッファサイズのチューニング方法
  3. Linux(CentOS6)カーネルチューニングのメモ
56. 音声ファイルへの処理
  1. 音声ファイルの読み取り、書き出し、圧縮(sox)
  2. SoXの基本的な説明
  3. WAVをAsterisk用のGSMへ変換する
  4. soxコマンドで音声ファイルを編集する10の例
  5. 音声ファイルの情報表示
  6. 音質にビットレートは関係あるのでしょうか?
  7. ffmpegの使い方 
  8. FFprobeTips(ファイル情報取得)
57. 外付けDVD/CDドライブが認識できているか確認 -> /devの下にcdromフォルダが存在するか

58. CD-ROM,DVD-ROMのマウント

59. USBのハードディスクを接続するには

60. ハードディスクのデバイス名確認

61. historyコマンドの結果に日時も表示できるようにする

62. ネットワーク接続開始&NICの起動

63. Linuxにデフラグが無い理由

64. Linux上でCPU/メモリースペックを確認する(cat /proc/cpuinfo & cat /proc/meminfo)

65. LVMで構築した環境のディスク復旧手順
前提:knoppixでDVD or CD ブート
# lvscan <- 論理ボリューム名確認
  inactive          '/dev/VolGroup00/LogVol00' [2.27 TiB] inherit
  inactive          '/dev/VolGroup00/LogVol01' [1.97 GiB] inherit
# vgchange -ay VolGroup00 <- 論理ボリュームのアクティブ化(論理ボリューム名がVolGroup00の場合)
# lvscan <- アクティブになったことを確認
  ACTIVE            '/dev/VolGroup00/LogVol00' [2.27 TiB] inherit
  ACTIVE            '/dev/VolGroup00/LogVol01' [1.97 GiB] inherit
# fsck -fy  /dev/VolGroup00/LogVol00 <- エラーがなくなるまで繰り返しコマンド実行(チェック&復旧)
# fsck -fy  /dev/VolGroup00/LogVol01 <- エラーがなくなるまで繰り返しコマンド実行(チェック&復旧)
【参考サイト】
  1. LVMのボリュームにfsckするメモ
  2. 物理ボリュームの表示(pvscan)
  3. fsckの実行によるファイルシステム修正について
  4. LVMで新たにディスクを追加して既存のLVを拡張する(空き容量をすべて使う) 
66. DHCP
  1. DHCPクライアントでIPアドレスを再取得するには
  2. dhclientがDHCPDISCOVERを繰り返し送信するようにする方法
67. bash脆弱性対応
  1. Bash脆弱性に対してChefでbashをアップデートしてパッチ適用 
  2. Redhatサポートページ
  3. bash の脆弱性対策について(CVE-2014-6271 等) 
68. NTP
  1. NTPサーバーによる時刻同期
  2. Linuxサーバの時刻設定手順とエラー(the NTP socket is in use, exiting)
  3. 時刻同期先が2台の場合のntpdの設定方法
  4. ローカルタイムを参照先とするNTPサーバーの構築(authenticate noも設定したほうがよい) 
69. /etc/aliasesの更新
/etc/aliases を書き換えた後は、
# newaliases

70. 超簡単なDoxygenの使い方

71. 再起動の履歴が見たい

72. sshポートフォワーディング 

73. tar.xz形式ファイルを展開(解凍)する

74. シンボリックリンクの向き先変更(ln -nfs TARGET LINK_NAME)

75. 節電のためにWake-On-Lanを使う

76. CentOS スタティックルートの追加(静的デフォルトゲートウェイ)

77. SELinuxの無効化、動作状況確認など

79. はじめてrsyncを使う方が知っておきたい6つのルール

80. 【 tee 】 標準入力を標準出力とファイルに出力する

81. マウントされているファイルシステムの種類を調べるには

82. autofs + sshfs の設定

83. TTY経由でないsudoの実行設定

84. Linuxプロセスの起動時刻を調べる方法

85. LinuxでISOファイルを作成する方法

86. Kickstart作成
  1. サーバ大量構築時のキモ ~KickstartでのLinux自動インストールディスク作成~
  2. Linux を自動インストールする方法 (Kickstart)
87. イメージ(ISO)ファイルをマウントしてデータを参照

88. 複数NTPサーバを指定するときに優先度をつける

89. checkinstall-rpm作成など

90. checkinstall をインストールする

91. rpmの中身を参照&取り出し(rpm2cpio&cpio)

92. Ext4magic-ext4のファイル復元ツールのインストール

93. ext3のファイル復元
  1. extundeleteの使用例1 
  2. extundeleteの使用例2-実行時の出力ログあり 
  3. LVMでファイル消しちゃったときの復旧方法(VM利用を前提) 
94. Linuxファイルシステム比較 – ディスク容量使用効率編

96. LVMでLVの拡張と削減を行う

97. さくらVPS上のOSを丸ごとバックアップする

98. kernel: Clocksource tsc unstable

99. NIC UUID

100. 【 dmesg 】カーネルのリングバッファの内容を出力する

101. linuxでディスクがフルになったときの調査方法 du df

102. 【 who 】 現在ログインしているユーザーを表示する

103. EC2上でパケットをミラーリング

104. IP in IP トンネリングでポートミラーリング

106. (今さら)Linuxでサービスを登録する

107. cpコマンドでファイルやディレクトリをコピーした際に保持される情報/属性について

108. Apache複数サービス起動
  1. httpd.conf毎にWebサービスを起動するとか
  2. Apacheを複数のプロセスで起動する方法
  3. バーチャルホスト設定(Apache)
  4. バーチャルホストによる複数サイトの同時運用
109.  findコマンド
  1. findコマンドのmtimeオプションについて
  2. findコマンドのmtimeオプションまとめ
  3. あるディレクトリから、n日前からm日前までに更新されたファイルを全て列挙したい 
  4. findコマンドのオプション説明 
  5. find で時間を基準に検索する
  6. 特定の拡張子以外のファイルがあるか find コマンドで検索する

110. trを使った改行コードの変換

111. Linux の cp コマンドで強制上書き(-fでも強制できないとき)

112. rm \をつける意味

113. sort 行を並び替える

114. curl
  1. Using cURL to automate HTTP jobs 
  2. cURL を用いた API の使用法
  3. cURL でレスポンスヘッダを表示する
  4. Manual -- curl usage explained
  5. POST する際の --data と --form の違いについて
  6. curlでヘッダを見る方法いろいろ(--verboseなど)
  7. Web API のテストで良く使うオプション
  8. openSSLの脆弱性で証明書が変わり、APIで四苦八苦した備忘録 
115. TTY経由でないsudoの実行

116. sar
  1.  Linux - sarコマンドについて
  2.  sarコマンドの使い方
  3. sar (sysstat) のサンプリング頻度を変更する方法
  4. sarコマンドでLinuxサーバのシステムモニタリングを行う方法(/var/log/saを表示させる方法など) 
117. プロセス毎のメモリ消費量を調べたい時に使えるコマンド

118. ps - コマンド(用途ごとのオプションの組み合わせがグット)

119. MySQL インストール手順 Linuxの場合

120. リポジトリの追加・削除、無効・有効の設定をしてみる

121. CentOS 6.x/Scientific Linux 6.xサーバーへscpコマンドを使う場合

122. インストール直後に絶対やるべき作業と設定(rootアカウントでのリモートログインの不許可など)

123. ログインできないユーザの作成とログインできるように変更するコマンドの使用方法

125. autosshで自動再接続とポートフォワーディング

126. ssh公開鍵認証(パスワードなし接続)
  1. SSHサーバにパスワードなしでログインする方法 
  2. ターミナルからパスワード入力無しでssh接続する3つの方法 
  3. sshでパスワード認証を禁止するには 
127. sshを繋ぎっぱなしにするautossh for mac

128. SSH で Permission Denied となる傾向と対策

129. syslogなどログをチェックしよう!

130. rsyslogの導入

131. Linux時刻管理の仕組みと設定

131. リッスンしているポートの確認

132. メモリ使用率

133. awk
  1.  出力 print printf文
  2. スクリプトの実行順序の制御(その2)… if 文
  3. Linuxでvmstatの結果に時刻表示(タイムスタンプ)を付けて出力 
134. historyにコマンドの実行時刻が表示されるようにする

135. ソケットバッファチューニング
  1. sysctl変数の設定
  2. Linux におけるソケット機能の向上
136. Webサーバーが特定のSSL暗号スイートに対応しているか確認する手順メモ

137. sshマウント
  1. sshfsのインストール 
  2. sshfsで遠隔地のディレクトリを安全に共有する 
  3. autofs + sshfs の設定 
  4. sshfs
  5. Autofs 
  6. KeepAlive設定
138. ls -l 打った時に権限の後ろに".(ドット)"が付く、付かないは何を意味してる?

139. シェル・スクリプトの同期・並列実行

140. ユーザー管理
  1. ユーザ管理関連
  2. ユーザーをグループへ追加、グループから削除
  3. ユーザー作成時にメールボックスを作成しない
  4. adduser と useradd の使い分け
  5. userdel~ユーザーアカウントを削除する 
  6. 特定のコマンドしか実行できないユーザーIDを作成するには 
141. rsyslog
  1. rsyslogの基本(ログファイルのパーミッション、リモート書き込みなど) 
  2. rsyslogでリモートサーバにログを送る(基本編) loggerで検証手順
  3. rsyslogd 
  4. rsyslog 
  5. rsyslog でリモートホストにログを転送管理する 
  6. rsyslog(messagesなど)にログレベル(severity,重大度)を表示する 
  7. マクロとテンプレートによるrsyslog活用法 
  8. rate-limiting機能でログが切られてしまった場合の対処 
  9. rsyslogでiptableのログを振り分けなど 
  10. 特定のログに対するフィルタの仕組みなど 
142. SSH接続ユーザの強制ログアウト方法(wコマンドによるログインしたままのユーザの確認) 
143. 接続先の認証ファイルに変更があった場合の対処 OpenSSH : WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!

144. acpid (電源停止などACPI イベントを伝える、柔軟性と拡張性があるデーモン)

145. サービスに接続できるユーザー(IP)を制限する Connection closed by foreign host.(hosts.deny,hosts.allow)

146. ログローテーション(logrotate)を使ってみる ( httpd(apache)の設定例 )

147. 特定のプロセスを監視するコマンド組み合わせを試しました

148.  watch(コマンドを定期実行)
  1. watchコマンドで覚えておきたい使い方6個
  2. watchコマンドでディレクトリを目視監視 

149. cp コマンドでシンボリックをコピーする

150. ネットワークトラフィック監視
  1.  ネットワークの監視を行えるモニタリングコマンド20選
  2.  sarコマンドでネットワークトラフィックを観察
  3.  Mbpsは何MB/sなのかを計算します
  4. 通信速度測定システム 
  5. サーバリソースをリアルタイムに監視するdstatのインストールと使い方
151. ソケットバッファのチューニング

152. 自作シェルスクリプトをdaemon化

153. 【 nohup 】 ログアウトした後もコマンドを実行し続ける

154. sudoでリダイレクトをしたいとき

155. Linux上のファイルの改行文字を確認する方法

156. samba
  1. ファイル共有プロトコル、SMBとCIFSの違いを正しく理解できていますか?
  2. Samba のプリンタ共有を正しく無効化する
  3. Windowsファイルサーバー構築(Samba)
  4. sambaについて(iptablesでの許可/不安定な動作(未解決)) 
  5. smb.confの「security=」設定には何を設定すればよいか
  6. Sambaサーバ構築、5つのべからず:2008年版(passdb backendについてなど)
  7. sambaクライアントからアクセスする
  8. smbclientでバッチ送信
  9. smbclientコマンド 
  10. smbclient 細かいオプションの説明 
  11. samba名前解決の話(smbdとnmbd)
  12. RaspBMCのsambaで同時接続出来ないのを解決
  13. Sambaをインストールして、みんなのパソコンからファイルを共有する。 
  14. Samba fails to add a user entry, how do I fix this?
  15. Samba とACL機能(Windowsのアクセス制御  
  16. 読むとsmbパケットのフローがわかるサイト
  17. "ERROR_SHARING_VIOLATION"エラー メッセージ
  18. WindowsのSMBのバージョン
  19. SMB2/3サポートを強化した「Samba 4.1」リリース 
  20. LinuxからSambaをマウントする
  21. cifsさっき知りました(mount.cifsでWindows共有フォルダをマウントする)
  22. Sambaが動作しないときの診断方法
157. Linuxルーター化
  1. IPフォワード設定方法
  2. FORWARD および NAT ルール
  3. sysctl でカーネルパラメータを変更する 
  4. ソースルーティングの無効化
  5. rp_filter が静的ルーティング下の traceroute に及ぼす影響 
  6. IPv4 転送の実行可否を決定する "net.ipv4.ip_forward" を検証する
  7. Linuxマシンをルータにする方法 
  8. ネットワークの設定
158. expectコマンドの使い方(対話型のコマンドを自動実行するときに便利)

160. ログファイルの初期化(ファイルサイズを0にする)

161. cut
  1. cut (連続するスペースを1つのタブに置換が参考になった)
  2. 文字列を抜き出す「cut」
162. SUIDとは(apacheからroot権限でコマンド実行するときに使用した)

163. コマンドの実体(パス)を確認する(type)

164. tmpwatch
  1. CentOSの最小構成インストールではインストールされないので注意
  2. /tmp/ディレクトリ下のファイルはいつ削除される? 
  3. tmpwatchコマンドとは
  4. /tmpと/var/tmpの仁義無き戦い 
  5. tmpwatchで不要なファイルやディレクトリを削除
  6. tmpwatch の動作を確認する
166. echoコマンドで改行やタブを扱うには@Linux (Debian Etch)

167. バックグラウンドプロセス(ジョブ)の管理

168. 再起動で時間ずれる場合の対処方法

169.

170. Linux環境設定/コアダンプを出力するようにする

171. コマンドを連結して行う「;」「&」「&&」「||」の違い

172. vim
  1. swapファイルが見つかった場合にどのように対処すべきか(クラッシュからのリカバリー)
  2. 左右に複数ファイルを並べて同時に編集する  
173. sshのログを出力
  1. How to change ssh log location from /var/log/secure to custom location in rhel 6?
  2. sshd の設定(sshd_config)
  3. システム管理の基礎 syslogdの設定をマスターしよう 
  4. sshd_configのAUTHとAUTHPRIVの違い
174. CPUコア数を調べる

175. topコマンドのバッチモード

177. 日本語表示と入力(CentOS)

178. bashをviモードで使うススメ。

179. .inputrcの便利設定

180. .bashrcや.bash_profileなどの変更設定をすぐに反映させたい

181. Linux で huge page を使っているプロセスを調べる方法(pmap コマンドでプロセスが使っているメモリの内訳を確認)

182. ls -l 見方 +の謎が解けた!?(CentOS5.4)

183. dateコマンドで日時(日付、時刻)計算をする方法

184. chkconfig
  1. init.dの謎 終了の順番 
  2. 自作の起動スクリプトをchkconfigに追加する方法
  3. (今さら)Linuxでサービスを登録する
185. Linuxで1日あたりのデータ送受信量を算出する方法

186. MD5によるハッシュ・チェックサムを計算・チェックする
  1. 【md5sum】MD5を計算する
  2. Linuxでmd5sumを使って複数ファイルを比較する(旧ブログ)
187. ファイルやディレクトリの初期パーミッション(CentOS)
  1.  ルーティング追加
189. ハードウェアクロックとシステムクロック
  1. 静的ルートおよびデフォルトゲートウェイ 
202. キャッシュメモリのクリア
  1. GNU Typist
  2. gtypistの使い方
  3. gtypistインストール手順
    sudo su -
    yum install ncurses
    yum install ncurses-devel
    wget http://ftp.gnu.org/gnu/gtypist/gtypist-2.9.5.tar.gz
    tar -zxvf gtypist-2.9.5.tar.gz
    cd gtypist-2.9.5
    ./configure
    make
    make install 
211. シリアルコンソール
  1. TFTPサーバの構築(CentOS7) 
213. ドライバ

2014年2月18日火曜日

文字コードまとめ

システム開発では必須の知識。文字コード。いままでその場しのぎだったのでまとめ。

まずは、概略をわかりやすくまとめたサイトでポイントを押さえます。
Unicode ~UTF-8、UTF-16との違い~

Windowsでテキストを保存するとき選択可能な文字コード "Unicode"がUTF-16のことだったとは!
こいつのせいでUnicodeとエンコーディングの関係を誤認識していたと思われる。

2014年2月16日日曜日

JavaScriptクックブック

0. MIMEタイプとContent-Type
  1. 「MIMEタイプ」と「Content-type」の違い
0. コマンドライン実行
  1. 今すぐ使えるJavaScriptを実行する環境まとめ
  2. Javaスクリプトが実行できない!?
0. JavaScriptで配列を扱う「Array」と「スタック」「LIFO」「FIFO」の基本
1. n進数への変換及び戻し
ex. "="を16進数へ変換&戻し
var hexCode = "=".charCodeAt(0).toString(16);
String.fromCharCode(parseInt(hexCode,16);

2. イベントのキャンセル
http://d.hatena.ne.jp/chaichanPaPa/touch/20081210/1228909643

3. クライアントのみでCSVダウンロード
http://d.hatena.ne.jp/do_aki/20130225/1361763613

4. ダイアログを開く
http://www.tohoho-web.com/js/window.htm#objWindow
http://www.ne.jp/asahi/hishidama/home/tech/jscript/dialog.html

5. 一致した文字列をすべて置換
http://javascript123.seesaa.net/article/141315325.html

6. 画像イメージについて(HTMLImageElement)
http://hakuhin.jp/js/image.html

7. Canvasの使い方まとめ
http://www.h2.dion.ne.jp/~defghi/canvasMemo/canvasMemo.htm

8. Canvas.toDataURL()でSECURITY_ERR例外が出る
http://d.hatena.ne.jp/rev84/20111201/1322709685

9. Canvasクロスブラウザ対応
http://ushisantoasobu.hateblo.jp/entry/2013/12/07/103845

10. Canvas font プロパティ
http://www.w3schools.com/TAGs/canvas_font.asp
http://www.tagindex.com/stylesheet/text_font/index.html

11. プログラムに\マークを正しく認識させる(バックスラッシュと区別する)
キーボードから\マークを入力するとバックスラッシュと同じ文字コードとなるため、その対処方法。
以下のコードで文字を取得する。
String.fromCharCode('165');
参考サイト

12. <script>タグを記述する場所は3つ

13. ホームページでPDFファイルをダウンロードさせたい

14. target=”_blank” の正しい使い方講座

15. JavaScriptで消費税計算、四捨五入・切り上げ・切り捨て

16. 日付をフォーマットする

17. 文字列のバイト数を求める

18. メーラーを起動してメール送信

19. Date/Timestamp変換のまとめ Unix時刻取得など

20. Gmail経由でメール送信
  1. JavaScript(WSH)からGmail経由でメールを送信するプログラム
  2. Gmail.js - GmailにAPIを追加するJavaScriptライブラリ
  3. Gmail.js - JavaScript API for Gmail
21. window.locationのtargetに_blank指定できる?
22. リンク指定

23. IE11でキャッシュがない場合、画像読み込み前にonload処理が実行される
以下のように、completeフラグがtrueになるまで待つことで対処
var img = document.getElementById('img');
img.src = 画像ファイル名;
while (!img.complete) {} // 画像の読み込み待ち
img.onload = function() { // 読み込み後処理}
⇒画面が固まるためこの実装はNG(参照
正しくは、setIntervalとclearInterval(参考)を使いかつ、img.onloadは使用しない。
また、実行キュー登録⇒取り出して実行となるため、変数のスコープも注意が必要。
var timerID = setInteval (function() {
                        if (img.complete) { // 画像読み込み完了チェック
                               clearInterval(timerID);
                               // 読み込み後処理
                        }
                   }, 500);

24. HTML文章内でのJavaScript記述方法(読み込まれるタイミングなど)

25. “use strict”(厳格モード)を使うべきか?

26. window.scroll (ウィンドウを文書内の特定の位置までスクロールします。)

27. Uint8Array オブジェクト(8 ビット符号なし整数値の型指定された配列。 )

28. [HTML5][Canvas]IE8に対応したかったんだけど…

29. HTML5 CanvasをIEにも対応させる魔法excanvasの使い方

30. DOMDocument->createElementNS() — 関連付けられた名前空間に新しい要素を作成する

31. createElementNS not working in ie8 [duplicate]

32. よくある Canvas の問題を解消する

33. const ※対応ブラウザ及びバージョン注意!!

34. 処理実行タイミングに関して
  1. 処理の実行タイミングを遅らせる方法
  2. JavaScript を学ぶ際に一番重要なのに、誤解されがちな setTimeout 系の概念
  3. onload
  4. window.setInterval
35. 関数リテラル(匿名関数/無名関数) 無名関数への引数渡しなど

36. JavaScriptにさっと入門してもらうには
  1. 今更聴けない!?DOM操作(1)
  2. JavaScriptのイベントハンドラをまとめてみた
37. ドラッグ&ドラッグ操作
  1. ドラッグ&ドロップ
  2. Ajaxで複数選択ドラッグ&ドロップ
38.  audio
  1. オーディオについて(HTMLAudioElement)
  2. HTML5 audioタグでの音源の再生,停止,ミュート,スキップ,初期化,現在の再生時間取得などのまとめ
  3. JavaScript で Beep 音を鳴らす方法
  4. Audio file access with streaming 
  5. PHPで画像をbase64エンコードしてインラインイメージとしてimgタグで表示する方法(音声ファイルに読み換え可能)

39. ブラウザの閉じるボタンが押下された時の制御

40. 挙動が大事! JavaScriptでWindow.closeする時のブラウザ別対応まとめ
41. JavaScriptでバイナリファイルを扱う方法

42. メモリリーク
  1. メモリー・リークを理解する(Google Chrome Heap Profilerの紹介あり) 
  2. メモリの浪費を避けるコーディング(注意点が簡潔にまとまっている)
  3. メモリリーク対策(随時更新)
  4. JavaScript 「再」入門 (メモリリークを参照のこと)
  5. メモリ解放(deleteメソッドで解放されたケース) 
43. jQueryベースのメディア再生ライブラリ「jPlayer」

44. OS&ブラウザでそのJavaScript関数が対応しているかチェック

45. Javascriptの読み込みをひとつのファイルにまとめる「import.js」

46. JavaScriptがページの読み込み時間を遅くする理由トップ10

47. 正規表現
  1. 正規表現
  2. 正規表現パターン
  3. 全角文字を正規表現で検索
48. 同じ文字列を繰り返す

49. javaScriptでラベルの値を変更する方法(真)

50. sleep実装いろいろ

51. ウェブブラウザのウィンドウ内に擬似ダイアログボックスを表示する

52. aリンクを無効にする方法 – JQuery、javascript、[#]リンク等 – How to disable links

53. タッチイベント
  1. タッチスクリーン操作について
  2. 意外と簡単!JavaScriptでタッチイベントを取得しよう
54. 文字コード
  1. javascriptで文字コード変換
55. バイナリデータ

2014年2月13日木曜日

Webアプリケーションの再学習のネタまとめ

JavaのWebアプリケーション再学習にあたってまずはネタまとめ。
軸は、フレームワークを中心に再学習をしようって感じです。

まずは、今まで仕事で使ってきたStrutsについて。
Struts 1/Struts 2 Webアプリケーションフレームワークの比較

そして、ベースのJavaEEについて。これは本買っちゃおう。
ついでに気になるRESTも。
Beginning JavaEE6を貰ったので読んだ
RESTのコンセプトと特徴 ~REST を知ると考え方が変わる~

Beginning JavaEE6が届いたので早速、ポイントまとめ。
代表的な機能は、以下の3つ。これを中心に押さえるのがよいのかも。

  1. トランザクション機能(Java Transaction API:JTA)
  2. メッセージング機能(Java Message Service:JMS)
  3. 永続化機能(Java Persistence API:JPA)

2014年2月12日水曜日

ホームページ素材のPSD形式ファイルの使い方

前から気になっていたホームページ素材のPSD形式ファイルの使い方を簡単にまとめたサイトに遂に出会えたので、残しておきます。
ダウンロードしたPSD形式のアイコンファイルをGIMPでブログに貼り付けられるようにするには

使っているツールがフリーのGIMPってのがGood!!

本棚で眠っているGIMPのドリルひっぱりださなきゃ。

2014年2月11日火曜日

Spring Tool SuiteでWebアプリ作成その10

折角、AWSにMongoDBサーバを立てたわけですが、Security Groupsでポートを解放しても外部から接続できない事象が発生。
その対応方法をまとめます。

【直接原因】
/etc/sysconfig/iptablesにMongoDBのポート開放設定がないため。
なのでポートを開放すると接続できました。まずは解決。

参考サイト
Linuxでポート開放する

そこでふと疑問が。なんで前回立てたTomcat APサーバのポートはSecurity Groupsでのポート開放のみでOKだったのか。
多分の回答は、以下の通りサーバ作成時ベースにしたAMIの違いのようです。
Tomcat APサーバ:AMI = Amazon Linux AMI 2013.09.2 - ami-def297ee (32-bit)
MongoDBサーバ:AMI = Red Hat Enterprise Linux 6.4 - ami-baa63b8a (32-bit)

皆さん、AMIを選択する際はご注意を。

その他、最初mongo.confの設定を疑ったのでその時の参考サイト。
  1. mongoDBの公式おすすめ設定、mongodb.conf、クエリチューニングなど
  2. Run-time Database Configuration
  3. AWS/MongDBの利用事例
おまけで、よく使うlessコマンドで行番号を出力するオプションについて。
lessで行番号表示

2014年2月8日土曜日

ブラウザの開発ツールまとめ

今後、もう少しお世話になろうと思っているブラウザに標準装備されている開発ツール。

まずは、よく使うChrome、FireFox、IE9の開発ツールまとめサイトのリンク。
  1. Web開発でよく使う、特に使えるChromeデベロッパー・ツールの機能
  2. IE9 F12 開発者ツールについて
  3. FireFox 開発ツール
それぞれ使ってみて、使い心地を比較してみようと思います。

2014年2月2日日曜日

Spring Tool SuiteでWebアプリ作成その9

前回の投稿でAWSまわりの初期設定を行ったわけですがその続き。

まずは、AWSへのクライアント設定で出てきたTeraTermの便利設定の資料リンクまとめ。
  1. Tera Termマクロ活用入門(1):各種ログインを自動化する
  2. TeraTermで初期設定ファイルを読み込ませる
ついでに途中で64bit版と32bit版どちらかわからなくなったので。