n0fのブックマーク (36)

  • ある蜜柑の上にアルミ缶。

    Angularで作成したフロントエンドのWebアプリを、GitHub上で管理して、masterブランチにコミットされた変更を自動でAmazon S3にデプロイ(適用)させる方法を解説します。記事では、S3をCloudFront経由でインターネット上へ公開し、名前解決をRoute 53で行… Vue CLIでは、デフォルトでパッケージマネージャーにYarnを使用します。ですが、開発環境や番環境でのミドルウェアの制限等により、Yarnではなくnpmで管理したいプロジェクトもあるかと思います。そんなとき、Vue CLIでどのようにプロジェクトを作成すれば… Create React Appでは、デフォルトでパッケージマネージャーにYarnを使用します。ですが、開発環境や番環境でのミドルウェアの制限等により、Yarnではなくnpmで管理したいプロジェクトもあるかと思います。そんなとき、Cre

    n0f
    n0f 2017/02/07
  • ある蜜柑の上にアルミ缶。

    Angularで作成したフロントエンドのWebアプリを、GitHub上で管理して、masterブランチにコミットされた変更を自動でAmazon S3にデプロイ(適用)させる方法を解説します。記事では、S3をCloudFront経由でインターネット上へ公開し、名前解決をRoute 53で行… Vue CLIでは、デフォルトでパッケージマネージャーにYarnを使用します。ですが、開発環境や番環境でのミドルウェアの制限等により、Yarnではなくnpmで管理したいプロジェクトもあるかと思います。そんなとき、Vue CLIでどのようにプロジェクトを作成すれば… Create React Appでは、デフォルトでパッケージマネージャーにYarnを使用します。ですが、開発環境や番環境でのミドルウェアの制限等により、Yarnではなくnpmで管理したいプロジェクトもあるかと思います。そんなとき、Cre

    n0f
    n0f 2017/02/07
  • 若くて実績の少ないITエンジニアには、発言権はないらしい | 綺麗に死ぬITエンジニア

    どれだけ勉強して知識を身につけようとも、「若くて実績の少ないITエンジニア」というのは単に会社の歯車でしかないようです。つまり、黙って働け、と。 非常に悔しい思いをすることが多い世の中です。 若いエンジニアは「プロ」ではないらしい先日、勤務先の社長から言われたことです。 実績もろくにないお前みたいな若造が、意見なんかするな、生意気だ プロって何だと思う。長い間その分野で実績を上げてきた職人であって、お前はまったく違う 恐らくこれが、世間一般の"ホンネ"なのでしょう。若いというだけで、実績が少ないというだけで、来の能力でなら与えられるべき地位や収入、名誉を得ることができないのです。たとえその会社でどれだけ高い成績を収めたとしても。 ちなみに、プロというのは一般に、特定の分野で生計を立てている人のことを言います。私もエンジニアとして生計を立てていますが、彼ら曰く若いというだけで例外のようです

    n0f
    n0f 2015/11/25
  • 直感で使いやすいUIを求めるやつは、UIのことを何にもわかってない | 綺麗に死ぬITエンジニア

    どうも。 Webアプリケーションの価値を高める要素の一つに、UI(ユーザーインターフェース)の使いやすさというものがあります。UIとは、人間とコンピュータの間での情報をやりとりするためのインターフェースのことで、Webアプリケーションでいえばブラウザに表示される画面になります。 今回はその、Webアプリケーションの顔とも言える「UI」の使いやすさについて、勘違いしている人が非常に多いので、記事にします。 使いやすいUIなど、主観でしかないまず前提として、「使いやすい」「使いやすくない」というのは、個人の主観です。あなたが使いやすいと思おうが、顧客が使いやすいと言おうが、それは決して信用してはなりません。中には使いやすくないと思う人が必ずいますし、使いやすいという意見そのものに信憑性はありません。 なぜなら、利用者はそのUIが優れているのかどうかについて、判断することは不可能だから、です。

    n0f
    n0f 2015/10/30
  • ITプロジェクト失敗例から見る、プロジェクトマネージャに必要なもの

    昨今、ITシステム開発プロジェクトの成功率は3割以下だといわれています。 ITシステム開発が行われるようになって、かれこれ50年ほど経つにもかかわらず、未だに70%以上のプロジェクトが、当初の想定を大幅に下回るQCD(クオリティー・コスト・デリバリー)で納品されるか、そのまま納品されずに開発中止という結果に終わっています。 なぜ、システム開発プロジェクトがこれほどまでに成功率が低いのかを、私が経験したプロジェクトの失敗から考察してみます。 以前、途中参加したとあるプロジェクトでは、ウォーターフォール型開発が採用されていました。 そのときのプロジェクトマネージャーは、できないエンジニアではありませんでしたが、かといって特に優秀なエンジニアとも言えない、ごく一般的なエンジニアでした。 発注元はこのプロジェクトマネージャーに、要件を口頭で伝えるだけでほぼ丸投げし、出てきた要件定義書や外部設計書

    n0f
    n0f 2015/10/21
    昨今、ITシステム開発プロジェクトの成功率は3割以下だといわれています。 なぜ、システム開発プロジェクトがこれほどまでに成功率が低いのかを、私が経験したプロジェクトの失敗から考察してみます。
  • EC2のセキュリティグループにCloudFrontからしかアクセスを許可しない設定を追加する(改良版) | 綺麗に死ぬITエンジニア

    AWSLambda, SNS, S3を活用した、記事のサーバーレス版を後日作成しました! こちらからどうぞ。 記事投稿日現在、AWSセキュリティグループの受信許可設定には、IPアドレスの指定および他のセキュリティグループのID指定しか対応していません。つまり、CloudFront経由でしかアクセスさせたくない場合であっても、そのような設定をすることは、現時点ではできません。 そこで今回、定期的に自動でCloudFrontのIPアドレスを調べ、セキュリティグループを設定してくれるシェルスクリプトを作成しました。 今回の記事のスクリプトは、前回の記事の改良版のスクリプトです。根的な動作について知りたい方は、前回の記事も合わせてご覧ください。 スクリプトのメリットこのスクリプトを利用することにより、WebサーバへのアクセスがCloudFrontからのみに絞られるため、外部からWe

    n0f
    n0f 2015/10/09
    今回、定期的に自動でCloudFrontのIPアドレスを調べ、セキュリティグループを設定してくれるシェルスクリプトを作成しました。
  • 20代前半で実質技術部長を務めている私が、これまでどうITを勉強してきたかを振り返る | 綺麗に死ぬITエンジニア

    n0f
    n0f 2015/10/09
  • Apache HTTP Server パフォーマンスチューニングまとめ

    備忘録としてApacheのパフォーマンスチューニングを簡潔に羅列していきます。ちゃんとチューニングができているかの確認用(チェックリスト)なので、設定方法や動作等詳しく知りたい人は、改めてググってください。 Apacheのセキュリティ対策については、こちらにまとめてありますので、よろしければどうぞ。 Keep Aliveの設定KeepAlive「ON」にすることで、Keep Aliveが有効になり、同一クライアントに対してTCPコネクションを使いまわすことができるようになります。 デフォルトでONなので、通常は特に設定する必要はないです。 httpd.conf等に下記を記述します。 MaxKeepAliveRequests1つのKeep Aliveで受け付けるリクエストの数を指定します。目安として、「Webページ1つ当たりの平均的なコンテンツ数+α」に設定します。デフォルト値は「100」で

    n0f
    n0f 2015/10/08
  • Apache HTTP Server セキュリティ対策まとめ

    備忘録としてApacheのセキュリティ対策を簡潔に羅列していきます。ちゃんと対策ができているかの確認用(チェックリスト)なので、設定方法や動作等詳しく知りたい人は、改めてググってください。 Apacheのパフォーマンスチューニングについては、こちらにまとめてありますので、よろしければどうぞ。 サーバー情報の隠蔽ApacheやPHPのバージョン情報の公開は、脆弱性を突いた攻撃の温床となる場合があるため、控えましょう。 ヘッダーフィールドの隠蔽httpd.conf等に下記を記述します。

    n0f
    n0f 2015/10/08
  • EC2のセキュリティグループにCloudFrontからしかアクセスを許可しない設定を追加する

    記事の改良版を後日作成しました! 改良版の記事はこちらからどうぞ。 こちらの記事にもあるとおり、当ブログはAWS上で稼働しており、なおかつCloudFront経由で配信しています。 記事投稿日現在、AWSセキュリティグループの受信許可設定には、IPアドレスの指定および他のセキュリティグループのID指定しか対応していません。つまり、CloudFront経由でしかアクセスさせたくない場合であっても、そのような設定をすることは、現時点ではできません。 そこで今回、定期的に自動でCloudFrontのIPアドレスを調べ、セキュリティグループを設定してくれるシェルスクリプトを作成しました。 スクリプトのメリットこのスクリプトを利用することにより、WebサーバへのアクセスがCloudFrontからのみに絞られるため、外部からWebサーバ体(EC2)のIPアドレスを特定することが困難となり

    n0f
    n0f 2015/10/06
  • 特定のPHPアプリケーションがきちんと動作しないときの対処法

    単純な原因でしたが、原因がわかるまで相当かかってしまったので、備忘録として。 現象CentOS 6および7とDebian 7.8にて、他のCentOS 6が稼働するサーバーから移行してきたPHPのWebアプリケーションが動作しませんでした。空白(真っ白)のページが表示されたり、タイムアウトしたり、フレームワークのテンプレートのみ表示されたり……。 CentOS 6では、CakePHPのDispatcherクラスが正常に読み込めていないらしく、以下のログが"/var/log/httpd/error_log"に出力されていました。 [date] [error] [client XXX.XXX.XXX.XXX] PHP Fatal error: Class 'Dispatcher' not found in /var/www/html/app/index.php on line 103 Cent

    n0f
    n0f 2015/10/06
  • ノンサーバーエンジニアへ贈る、Webサーバーの負荷テストの手法

    今の時代、仮想化技術の発展・クラウドコンピューティングの普及により、Webデザイナー・プログラマーとサーバーエンジニアの区分が曖昧になってきていて、デザイナーやプログラマーもWebサーバー(apache/httpd)に対して目を瞑っていられる時代じゃなくなってきました。 今回は、ノンサーバーエンジニア向けに、Webサーバーの負荷テストによる、サーバーのボトルネックや問題発生原因の究明の仕方を紐解いていきます。 サーバーの構成要素Webサーバーのボトルネック(処理速度低下の原因や障害発生の原因)を究明していく上で、最低限、ボトルネックとなりうる要素は知っておかなければなりません。サーバーは簡単に、以下の要素が互いに機能しあって動いています。 CPUメモリーハードディスクネットワークそれぞれの役割は後述します。 上のうちの1つでも機能しなくなると、WebサーバーはWebサービスを提供できなくな

    n0f
    n0f 2015/10/06
  • Node.js + Express 4.xで、セッション管理にRedisを使う

    インターネット上には、Express 3.x系の情報ばかりで、苦労したので備忘録として。 前提以下のバージョンを使用しています。 モジュール名バージョン

    n0f
    n0f 2015/10/06
  • Node.js + ExpressへのOPTIONSメソッドの実装

    REST APIにアクセスする際に、ブラウザがAPIサーバに対してHTTP(もしくはHTTPS)のOPTIONSメソッドでリクエストを投げることがあります。 記事では、その現象の解説と、Node.jsでAPIサーバを実装している場合のOPTIONSメソッドへの対応法を記述します。 HTTPのOPTIONSメソッドとはHTTPで一般に使われるメソッドといえば、GETやPOSTですね。REST APIを頻繁に利用する人ならば、PUTやDELETEも利用したことがあるでしょう。サーバのテストのためにHEADメソッドを利用したことがある人もいるかもしれません。 OPTIONSメソッドは、これらのメソッドのうち、サーバがどのメソッドをサポートしているかを調査するためのメソッドです。 昨今のブラウザでは、フロントエンドJavaScriptから違うドメインへのアクセスに対して、Cross-Origin

    n0f
    n0f 2015/10/06
  • Node.js + Express 4.xで、Gzip圧縮を実装する

    インターネット上には、Express 3.x系の情報ばかりで、苦労したので備忘録として。 前提以下のバージョンを使用しています。 モジュール名バージョン

    n0f
    n0f 2015/10/06
  • Amazon EC2に、オープンソースのウイルス対策ソフトClamAVを導入する

    今回は、AWSAmazon EC2(Amazon Linux)上に、オープンソースのアンチウイルスソフトである、ClamAVの導入方法を解説します。 ネット上にいくらか資料がありますが、単純にそれだけでは実現できないこともあったので、備忘録として残します。 ClamAVのインストールまず、yumコマンドでインストールします。以前まではリポジトリを指定しなければならなかったようですが、現在は特に指定することなく導入できます。

    n0f
    n0f 2015/10/06
  • 「シンプル」とは、複雑なものを「複雑に見せない」ということである

    「物事は全て、シンプルな方がいい」、そう思っている人も多いのではないでしょうか。 シンプルイズベストという言葉があるとおり、シンプルということはそれだけで素晴らしいことです。 今日は、「シンプル」について少し考えてみます。 サービス・ソフトウェアにおける「シンプル」周りの長く続いている経営者や、時代の頂点に立つような成功者達は、とてもシンプルにビジネスを進めているように思います。 それは、「簡単」とも違う、「単純」とも違う、ただただ「シンプル」に、です。 例えば、GoogleGoogleのトップページは、どのWebサイトよりもシンプルです。機能もユーザからすれば至極シンプルなもので、1度、中央のテキストボックスに文字を入力すれば、誰もがその働きを理解できます。 しかしながら裏には、とても単純とは言えないような膨大な仕組みがあります。 Googleの利用者は、使っていく上でその複雑さに触

    n0f
    n0f 2015/10/06
  • Amazon CloudFrontでWordPressの負荷を軽減する

    つい先日、ブログのサーバをAmazon Web Servicesに移行しましたので、構築方法をまとめます。 構成は下記のようになっています。 構成 独自ドメインを1.のCloudFrontに設定し、そのドメインにアクセスすることで、1.にまずユーザのリクエストが到達します。ここで、HTTPだった場合はHTTPSにリダイレクトするようになっています。 1.へのリクエストは、静的なファイルで且つ、以前のアクセスで結果がキャッシュされていれば、1.が直接返事をします。動的なファイル、もしくはキャッシュされていなければ、2.へとリクエストを一部加工して転送します。 2.はWordPressが動作するWebサーバです。適宜3のデータベースサーバにアクセスし、リクエストを返します。 大まかに、このような構成で動作しています。 落とし穴単純にこの構成を組むのは簡単に思えますが、実は落とし穴があり、結構

    n0f
    n0f 2015/10/06
  • 仕事は”馴れ合い”じゃない! ITエンジニアは残業をするな!!

    最近、IT技術者としてキャリアを進めていく上で、いくつか働き方について思うことがあります。 今日は残業について考えてみようと思います。 残業は「悪」最近の会社は一昔前の会社と違って、残業を減らそうという取り組みが多くなされていると聞きます。その前提として、『残業は悪』という考えがあり、昨今はそれを多くの人が理解してきていると考えられます。 しかしながら、毎日残業しているようなITエンジニアは、少なからずいます。 はっきり言うと、毎日残業をするようなエンジニア仕事というものをなめてます。なめきってます。 これからその理由を説明します。 残業をするのが当然と思っているまず、残業をしている人の多くに当てはまるのがこの考え方。言っときますが、残業をするのは当然ではありません。 まともな会社で残業代が支給されるところで、少ない月収に少しでも色をつけようと思って遅くまで働いているのならまだしも、ただ

    n0f
    n0f 2015/10/06
  • ITエンジニアがゆく、富士登山1泊2日の旅(2日目)

    n0f
    n0f 2015/10/06