【udemy】手を動かしながら2週間で学ぶ AWS 基本から応用まで

AWSの勉強を始めるにあたり、udemyのオンライン研修を受講しました。(去年の話ですが)

https://www.udemy.com/aws-14days/

 

自分でAWSのアカウントを作って、インフラの構築をしていく形です。
今までアプリケーションをメインにやってきた人にお勧めの研修です。

 [分かること]

  • AWSのメインどころのサービスの概要と使い方
  • AWSの超メインのEC2,RDS,ネットワーク周り(VPC,ELBなど)の使い方
  • セキュアなVPCのつくり方
  • 超重要なIAMについて

[感想] 

このオンライン研修を受ける前は以下の書籍で勉強しました。

Amazon Web Services 基礎からのネットワーク&サーバー構築 改訂版

この書籍はAWSの入口としては非常に有用でしたが、DB構築もEC2上に作成する形であったため、RDSなどのサービス利用はこの研修で初めて利用しました。

 

オンライン研修の感想は一言で言うと「非常に勉強になった」です。
実際に手を動かしながらインフラを構成していくことで、クラウドを利用することとメリットを感じることができました。
特に大きなメリッドだと感じたのが、AutoScaling部分です。
こんなに簡単にフェールオーバーや仮想サーバの増設ができるなんて!と感動すら覚えました。

AWSを始めとするクラウドが流行り出したのが、大分前なので感動するのは世間的には大分遅いのでしょうね。。。

このオンライン研修受講後に、AWSのトレーニングを受講しました。
(これも去年の話ですが)

aws.amazon.com

正直、オンライン研修受けてなかったら、分からないことが多かったと思います。

udemyはたまにセール価格で販売しているので、その時に気になるものにエントリーするのがお勧めです。

久々にみた自分のブログ

はてなダイアリーの終了連絡を受けて、久々にこのブログを確認しました。
(そして、データ移行しました)

d.hatena.ne.jp

このブログを最後に更新したのは2009-02-28なので、9年前です。

この9年間でIT業界も大分様変わりしました。2008年末のニュースを探すと
こんな記事がでてきました。

www.itmedia.co.jp

今は主流となっているクラウドGoogleのサービスが出たてで、
ブラウザもChome初期、スマホもまだまだこれからって感じです。

この当時からは今のトレンドは予想できなかったです。
ブロックチェーンなどはその言葉もない時です。

振り返って自分はどうかというと、それほど進歩していないように感じます。
(特にテクニカル面では)

求められるスキルが完全にマネジメント系にシフトしたため、テクニカルなスキルは
あまり磨けていないのが現状です。

ただ、私個人としては、エンジニアである以上、テクニカルなスキルは磨いていきたいですし、磨いていくべきだと思っています。

幸いなことに昨年、(ようやく)AWSを触る機会をもらい、
「世の中、こんな便利なものがあるのか」と驚き、
「マネジメントもインフラ的な知識が必要だな」と深く感じました。

クラウドの便利さに感動を覚えたついでに、
AWS以外にもGCPやAzureはどうなの?」と昔のわくわくがブリかえってきました。

一方、システム環境だけでなく、「機械学習」や「人工知能」というワードも
気になっていて、それに関連する書籍をちょっと読み始めました。
機械学習に関しては、「そもそも数学忘れてる・・・」という反省から
数学の復習から入っています。

機械学習に関連して、pythonを復習(このブログを読み返したら昔やってました)し始めました。

相変わらず、何を目指しているのかが分からない状態ではありますが、
「やりたいことはとりあえずやってみる」というスタンスでやっていこうとおもいます。

 

 

Springコンテナの初期化処理

 SpringはBean定義ファイルのスコープに
 シングルトンの指定をすることができます。
 
 あまり利用した事がなかったので、一度BeanFactory経由で
 生成された後にキャッシュされているのだと思っていました。
 
 でも、実際に実行してみると、
 コンテナの初期化タイミングでインスタンス化されることが判明。
 
 --
BeanFactory factory = BeanFactory.getFactory();
  ⇒これだけでシングルトン指定のBeanはインスタンス化される。
 --

分離レベル

 SQLの分離レベル指定がどの範囲まで適用されるかを
 実験したので備忘のためメモ。
 
 UNION利用時の分離レベル設定(WITH UR等)は両方の
 SELECT文に適用される。
 
 分離レベルはステートメント単位で適用されるため。

文字コードの問題

 文字コード関連でちょっとハマったのでメモ。
 
 この辺を詳しく見ておく必要あり。
 
 http://d.hatena.ne.jp/hnw/20090503
 http://www-01.ibm.com/support/docview.wss?uid=std3ab24f58406c3003a492574560008a857
 
 UTF-8が主流になっていく中、未だShift_JISのアプリは世の中にたくさんある。
 日本語特有の問題だがとても重要な問題。
 

オープンソーステクノロジー勉強会参加メモ

11/20にオープンソーステクノロジー勉強会に参加してきました。
テーマは「HTML5」です。
ほとんど予備知識なしで参加しましたが、HTML5の新機能の
概要を把握することができました。


講師は、

株式会社あゆた取締役、html5-developers-jp管理人、Google API Expert(HTML5)

という肩書きをお持ちの白石俊平さん。


ということで、備忘も兼ねて参加メモを残しておきます。



HTML5とは

  • 2009/10末に最終ドラフトが発表されたHTMLの最新仕様
  • W3C勧告は2022年だが、使えるのはもっと前

  ⇒IE8/GoogleChome/Opera/FireFox3.6/Safari等で実装が進んでいる

  • HTML4との大きな違いは以下の2点
  • タグ中心の仕様
  • API中心の仕様
  • 書き方

  HTMLファイルの先頭に空のDOCTYPE宣言をする
  ⇒こうするとブラウザのレンダリングエンジンが
   最新Verで解析する

■変更点概要

  • タグがたくさん増える
  • sectionタグ
  • アウトラインを構成するタグ

  ⇒従来のDIVタグのようなもの

  • すべての要素が何らかのsectionに所属する
  • アウトライン化のメリッド

  プログラムで適切に処理できる
  ⇒正確なデータが取れる

  JSで自由に操作が可能な描画用のタグ
  ⇒2D/3Dが可能
  ⇒GIFなどの画像よりも柔軟性が高い

  • Video

  JSで自由に操作が可能な動画再生用のタグ
  ⇒動画フォーマットが標準化されてない!(かなり問題)
  ⇒しかし、GoogleがOn2Tecを買収したことにより、
   標準化が進むかもしれない(期待)

■WebForm2.0

  • Form関連タグの種類が大幅に増えた

  ⇒現在はOperaが頑張って実装してる

  • validateが楽になった

  従来はJSやJSF-Taglib等で実装していた部分が
  HTMLの標準になっている

  • ドラック&ドロップ

  他のアプリとのデータ連携が簡単にできるようになった

■追加されたAPI
【アプリケーションキャッシュ】
  リソースをローカルにキャッシュする仕組

【WebDataBase】

  • クライアント上で動作するRDB
  • SQLをフルに利用できる
  • ドメイン毎に領域が違い、1つのドメインに複数のDBを装備することも可能
  • 非同期APIと同期APIがある

   ⇒ブラウザをフリーズさせないように設計されている

【WebStorage】

  • KVS(Key-Value-Storage)型
  • 扱いが非常に簡単

【WebWorkers】

  • バックグラウンドで動くスレッド
  • 今のJSはUI処理の一環として動くため、JSで思い処理を するとブラウザはフリーズする
  • 注意点

  window/document等のDOMを見れない
    ⇒データ共有にはメッセージングを利用する
  debugerで追えない

【WebSockets】

  • クライアント/サーバー間を双方向通信をする仕組

   ⇒今まではサーバー⇒クライアントの送信の仕組がなかった

■所感
HTMLレベルでここまでできると、Webアプリの形が大幅に
かわることは間違いない。
実際に業務で利用するまではまだ時間はありそうだが、
早い段階から学んでおく価値はあります。

IEでのファイルダウンロード文字化け問題

IEでファイルをダウンロードする時に文字化けが起きたので調査。


通常は、以下のようにURLエンコードしてあげれば問題ない。

 String dFilename = URLEncode.encode(finename,"UTF-8");
  response.setHeader("Content-Transfer-Encoding","binary");
  response.setHeader("Content-Type","application/force-download;charset=UTF-8");
  response.setHeader("Content-Disposition","attachment; filename=" + dFilename);

しかし、これだと一定以上の文字数でダウンロードダイアログで文字化けが発生。


原因は、文字数制限。
  ⇒


IEでは255バイトを超える文字は文字化けする仕様らしい。


しかも、UTF-8でのエンコードだと全角が6バイト9バイトに変わってしまうため、
文字数の制限が激しい。


さらに、HttpHeaderに何を設定してもIEShift_JISエンコードされているものと
判断するらしい。
 ⇒


対応としては、IEでダウンロードさせる場合は、
Shift_JISエンコードしてHttpHeaderに設定させてあげればOK。

 String dFilename = new String(finename.getBytes("Windows-31J","ISO-8859-1"));



この場合、IE7の5C/7C問題に引っかかるが、すでにパッチがでているから最新を適用すれば大丈夫。
 ⇒IE7で、ダウンロード時に特定の文字が化ける - 倖せの迷う森


ただし、それ以前のIEだと、コロンやセミコロンなどの2バイト目が5C/7Cの文字が
ファイル名に含まれているとNG。


【参考】
負けるな!新人SEのノンストップ自己研鑽生活(Javaプログラマ&新人パパの子育て日記帳) ファイルダウンロード時の日本語ファイル名の文字化け
IEでファイルダウンロード時の文字化け - guccyonikki