投稿

2019の投稿を表示しています

はじめてのITインフラ

こんにちは、熊本事務所の萓嶋です。

先日、熊本事務所で新人向けにITインフラについての勉強会が行われました。
初めは難しそうでとっつきにくいイメージがありましたが、勉強してみると思っていたより
難しくなく、ある程度理解できたように思えます。

今回はその復習も兼ねて、ITインフラについて簡単に説明したいと思います。


-----------------

そもそもインフラとは?

インフラストラクチャーの略で、下部構造のことを指します。
例えば社会インフラであれば道路や水道など、社会生活を支える基盤のことを指すので、
イメージしやすいと思います。

それをITに置き換えると、アプリケーションを動作させるための下部構造がITにおけるインフラとなります。

このITインフラはパソコンやサーバなどのハードウェアと、
OS(Windowsなど)やミドルウェア(DB製品など)のソフトウェアに分けることができます。
どちらもアプリケーションの開発には不可欠な基盤となる要素です。


-----------------

実際のシステムにおけるITインフラの例は?

企業における一般的なシステム構成として、「クライアント・サーバシステム」があります。
この中でも、クライアントがWEBブラウザを使用するシステムを「Webシステム」と呼び、
これは「Web3層構造」というもので構成されます。

Web3層構造は以下の3つから成り立ちます。これらがITインフラ要素です。
・Webサーバ
APサーバからもらった動的コンテンツとともに、画像などの静的コンテンツを表示する。
・APサーバ
動的コンテンツを提供する。主にアプリケーションを実装する。
・DBサーバ
データを提供する。APサーバからの要求に従ってデータを返す。


紹介したのはごく一部ですが、上記のようなハードウェアやソフトウェアからなるITインフラ
があって初めて、アプリケーションを作ることができます。

-------------------

効率的に使う方法

業務運用する場合、「仮想化」すればこうしたITインフラ要素を効率的に使うことができるようになります。
例えばサーバを仮想化するとすれば、1台の物理サーバに複数の仮想サーバを作成できます。
こうしておけばどれか一つのサーバに障害が起きたとしても、すぐに他のサーバへ切り替えて
稼動させることができ、システ…

わんくま同盟 勉強会でスピーカーしてきました。

イメージ
こんにちは。
熊本事務所の庄村です。

先日、2019/5/11(土)に熊本で開催された
わんくま同盟の勉強会に、スピーカーとして登壇してきました。

私が行ったセッションの内容は「Open XML SDK開発事例」と題して、
MicrosoftのOfficeファイルを操作するための「Open XML SDK」についての紹介や、
開発の進め方の例などを説明してきました。


スピーカーは初めてだったこともあって、
当日はかなり緊張しましたが、無事に終えることができました。




元々自分は、こういった勉強会のようなコミュニティ活動には、
あまり積極的に関わることが無かったのですが、わんくまの関係者と縁があり参加しました。

自分が調べたこと、やったことを人の前で発表するのは
少しばかり勇気がいりましたが、すごく新鮮な感じでした。

スピーカーとして発表することで、
その場でフィードバックがもらえ、自分の知らないこと、
あるいは自分と同じことを考えている人がいることを知り、大変刺激になりました。
また、他の方のセッションも大変参考になりました。

今回、勉強会への参加、スピーカーをやって非常によかったと思います。

勉強会は、いろいろなテーマで各地にて開催されています。
みなさんも、興味があること知りたいことなどあったら、
勉強会に参加してみてはいかがでしょうか?

※当日にライブ配信された勉強会の模様は、Youtubeで視聴できます。
 他の方のセッション内容もためになるので、よかったらご視聴ください。

 わんくま同盟 熊本勉強会 #07
https://www.youtube.com/watch?v=ZTaW7L866aU

就活でMOSは役立つのか

こんにちは、熊本事務所の清島です。

今日はタイトルにもあるようにMOSについて就職活動時の目線からお話しようと思います。

私が就活を行ったのは一昨年ですが、この時のことを振り返るきっかけになったのは
今年就活の弟に「MOSの資格について取得したほうがいいのか」と聞かれたからです。

そもそもMOSとは、マイクロソフトオフィススペシャリストの略で、
Officeアプリケーションの操作に関する国際資格のことです。
公式ホームページ https://mos.odyssey-com.co.jp/

私はワードとエクセルのどちらも上級コースを受験しました。
受験の理由としては
・自動車運転免許しか資格を持っていなかった。
・学校で講座、試験を受けることができた。
・恐らくどの業種でもPCは使うことになるのでアピールしやすいのではと思った。
・既に一般コースを受けていた友達からおススメされた。

試験はPCを使って行い、結果も終了後にその場で表示されます。
結果を見に行く、結果が届くのを待つ、がないのでお手軽だと思います。
また、試験内容も勉強したことを覚えてさえいれば比較的簡単に合格することができます。

おかげで履歴書の資格欄が空欄になることは避けられましたが、今年改めて弟に質問されて
あの受験は必要だったのかと思い返しました。

ここから先は私個人の意見になりますが、
私の就活ではこの資格が有利に働くことはなかったと思います。

受けた業種にもよるのでしょうが、面接で資格の有無について尋ねられることは少なく、
また、MOSのことを知らない人事の方もいらっしゃいました。

あくまで私が受けた業種での話なので業種、職種によっては重要度が変わってくるかもしれませんが、
この資格があることをアピールポイントにしたり、自己PRのネタにすることは難しいと思います。

しかし、資格があることで日常で使う程度の知識はあると言うことができますし、
勉強して、試験を受けることが、一通りの機能を覚えるいい教材になると思います。
(試験後忘れてしまったことも多いですが……)

例えばエクセル上級の試験ではグラフ、表の作成や関数を正しく使うことなどが出題されます。
簡単なマクロ作成問題などもあり、これらの知識は事務系の仕事をする人たちは
重宝するのではないかなと思いました。
また、ワードでもただ文書を作るだけの時…

社内歓迎会がありました

4月12日は熊本事務所社員での歓迎会でした。

社内では社員同士の親睦を深めるため、不定期で交流会を開いています。
今回は新入社員が入社したため、歓迎会(交流会)として皆で鍋を食べに行きました。

お店では鍋をつつきながら皆様々な話題に花を咲かせておりました。
新入社員が平成2桁生まれということに、僅かながら世代差を感じて平成生まれ一同がショックを受け、時代の流れを感じてしまう一幕もありましたが、そんな中でもあれは知っている、これは知らないと共通の話題を探して盛り上がりました。
会は終始和気あいあいとした雰囲気で、新入社員も周りと打ち解けていたようでした。

自分が新人で、会社に馴染めるか不安だった頃を思い出しましたが、
新入社員の姿を見て安心した限りでした。

今後もこうした機会を設けて、親睦を深められたらなぁと感じた次第です。

AWS WAFを導入する理由

こんにちは。AWS初心者のASD堤です。

サーバに不正アクセスされクレジットカードの情報漏洩や会社職員の個人情報が流出したりと、何かとセキュリティに関連するニュースが立て続けに起きているこの頃。

不正アクセスの手口は様々ありますが、主に使われるケースは次の2つになります。
・不正ログイン
・脆弱性等の悪用

不正ログインは利用者側がログインIDやパスワードを適切に管理していれば、被害にあう確率は下がるでしょう。
しかし、脆弱性については日々変化しており対応するのも一苦労・・・。
SQLインジェクションやクロスサイトスクリプティング、ディレクトリトラバーサル等、技術者にとっては悩みのタネの一つ。

そのような脆弱性対策を簡単に実現してくれるAWS WAFなるものが2015年からサービスインされています。

そもそも、WAFとは一体なんなのか?
Web Application Firewallの略で、正常な入り口から入ってくる悪意のあるデータを排除してくれる機能です。

よく耳にするFirewallは、IPアドレスとポートを入り口として、「この入り口には〜のIPアドレスは入っちゃダメ」とか
「この入り口は常に閉じておかないとダメ」と言った、不正な通信経路からの侵入を防ぐものでした。
しかし、正しい通信経路からくる不正なデータに対しては無力な訳です。

そこでWAFでは、通過するデータの中身を解析し、あらかじめ設定しておいたデータパターンと入力データを突き合わせ、
マッチしたデータを遮断・排除してくれます。

ただし、すべての不正データを防げるわけではなく、データパターンをガチガチに設定してしまうと
正常なデータも予期せぬ形で遮断してしまう可能性があります。
誤検知や誤遮断が発生するリスクを踏まえて、使う事をお勧めします。

データパターンを自分でカスタマイズし設定できるのですが、
現在はサードパーティのベンダーが様々なユースケースに対応するルールを提供してくれています。
マーケットプレイスから購入し、ALBやCloudFront等にアタッチする事で簡単に導入できるようになっています。
デメリットとして、サードパーティのルールはチューニングができないことに注意してください。

以下にWAFの要素と価格について簡単に紹介しておきます。
① Condition : IPアドレスやデータパタ…

フレッツ光を新方式(IPoE方式)に乗り換えましょう

こんにちは。福岡事務所の石橋です。

光回線による一般向けインターネット接続サービスの登場から15年以上が経過し、今ではほとんどの地域で利用可能となっています。
NTTのフレッツ網を利用した最大1Gbpsプランが主流ですが、夜間など利用者が多い時間帯に、動画が頻繁に止まるくらい遅い場合があります。
何故遅くなるのか?その原因と改善方法について説明します。

2015年ごろまでに光回線を契約した場合、ほぼ間違いなくPPPoE方式でインターネットに接続しています。
2016年以降でも、申し込んだISP(インターネットサービスプロバイダー)次第ではこの方式での接続になってしまいます。
PPPoE方式では、県ごとに存在するNTTの施設内で、網終端装置によりフレッツ光網とISP網とが接続されています。
ISPの県ごとの利用者数や通信量に対してこの部分の設備数が不足すると、通信速度が低下してしまいます。
また、設備の増設はNTT側が行っているため、ISP側が希望しても増設できない場合があります。
近年では、スマートフォンの普及と動画視聴などでの利用から、著しく混雑することが増えてきました。

この問題を抜本的に改善できるのが、IPoE方式によるインターネット接続です。
IPoE方式では、東京または大阪の接続点(2018年時点)まではフレッツ網を通り、そこからはゲートウェイルータを通してISP網に接続しています(両者の間をVNE事業者が仲介しています)。
PPPoEと違い、接続事業者側が自由に設備を増設することができるため、接続点がボトルネックとならず、混雑することがありません。
本来、IPoE方式はIPv6のみのサービスで、これだとGoogleやYoutube、Facebookなどごく一部のサイトしか閲覧できません。
しかし、IPoE方式と、PPPoEなしでIPv4接続を提供する方法を組み合わせることで、PPPoEとほぼ同じようにインターネット接続を行うことができます。
ISPによって異なりますが、v6プラスやIPv6オプション、IPv6 IPoE+IPv4 over IPv6方式などの名前で提供されています。
注意点として、これらの方式では対応ルーターへの買い替えが必要です。従来のルーターは利用できません。

大手ISPのほか、携帯各社の光コラボなどでも提供されていますので、この機…

C#で配列操作の可読性を高めるには

こんにちは。福岡事務所の荒平です。

私は前回LINQを使用し、ソースコードの可読性を高める記事を書きました。
今回も可読性に注意しながら「配列などの複数要素から特定の条件に一致する先頭要素」を取得する方法について説明していきたいと思います。

さて、いきなり質問ですが、皆さんは配列から特定の条件に一致する先頭要素を取得したいときどのようにして取得しますか?
・配列の中をfor文などのループで回して条件に合う要素が見つかればそれを取得してbreakする…
条件に合った要素を取得することはできますが、可読性の視点から見るともう少しスマートに書きたい…

そこで登場するのがLINQメソッドの「First」です。

■Firstとは

 配列などの複数要素のうち、先頭の要素(条件を指定した場合は条件に一致する最初の要素)を返すメソッド

 ◆基本的な書き方①
  value = 配列.First(条件);

  このように書くだけで配列の中から条件に合った最初の要素をvalueに入れることができます。

  しかし、条件に一致する要素が1つもない場合System.InvalidOperationExceptionの例外が発生してしまいますので、
  実際にはより汎用的な「FirstOrDefault」というメソッドを使います。

 ◆基本的な書き方②
  value = 配列.FirstOrDefault(条件);

  こちらは条件に一致する要素が1つもない場合は型のデフォルト値(0やnullなどデータ型ごとにdefault構文で取得できる値)を返します。


 ここまで配列から要素を取得することについて書きましたが、もちろん配列だけではなく「List」などのコレクションにも使えます。

■「Last」、「Single」メソッド

 ちなみに類似機能として「Last」、「Single」があります。
 (それぞれにXxxOrDefaultがあります)

 Firstが最初の要素を返すのに対し、Lastは最後の要素を返します。
 Singleは条件を満たす唯一の要素を返します。

 しかし、Singleについては唯一の情報を取得する目的に使われるメソッドなので、条件に一致する要素が複数あった場合、
 System.InvalidOperationExceptionの例外が発生します。
 これは「Sing…

Windows 10に.NET Framework 3.5が入らない?

イメージ
こんにちは。
熊本事務所の庄村です。

今回は、実際の業務中に遭遇したトラブルとその解決法についてご紹介したいと思います。

弊社で開発し、お客様に納品しているアプリケーションについて、
最近、Windows 10上で動作するか検証する機会がありました。

対象のアプリケーションは.NET Framework 3.5を使用しており、
現在はWindows 7上で運用していますが、近日中にOSをWindows 10に移行する予定のため、
OS移行前に動作検証しておく必要がありました。

事前の調べでは、Windows 10では追加のインストールが必要なものの、
.NET Framework 3.5はサポート対象となっているため、特に問題は発生しないはずでした...。

しかし、業務アプリケーションのインストール時に、
自動で.NET Framework 3.5のダウンロードインストールが実行された際、途中でエラーが発生。


改めて、Microsoftのサポートサイトを確認すると、Windows 8以降で発生する現象の様でした。
しかし、今回発生したエラーコード:0x800F0954とそれに対応する直接の対策手順は確認できませんでした。

エラーが発生するタイミングから、ダウンロードの時点で失敗しているようなので、
その後の調査で判明した、コンポーネントのダウンロード元を変更するグループポリシーを設定することで、
何とか.NET Framework 3.5のインストールに成功しました。

以下にその際の対応手順を記します。
1. グループポリシーエディタを起動する。


Winキー+Rキー押下で表示される、「ファイル名を指定して実行」に"gpedit.msc"を入力し、
[OK]ボタンを押して「グループ ポリシー エディター」を起動します。


2. オプションコンポーネントのインストール設定画面を開く。


上記選択行をダブルクリックします。


3. オプションコンポーネントのインストール設定を有効にする。


上記青枠を選択し、[OK]ボタンを押下します。


4. .NET Framework 3.5を有効化する。


上記1~3までの手順実施後に、コントロールパネルの「Windowsの機能の有効化または無効化」より、
.NET Framework 3.5を選択、[OK]ボタンを押下…