Call of Venture ベンチャーの呼び声

スタートアップ企業で働く1人の若者。テック系スタートアップブログ。

ドメインのwww有無の統一。NGINXを使ったリダイレクト設定。

wwwありドメインとwwwなしドメインをどちらかに統一する方法を文字に起こしておきます。

www有り無しの統一意義

統一したほうがいい理由はいろいろとありますが、分けたままだとGoogleに別ページとしてインデックスされてしまいます。
たしか重複コンテンツ扱いになってしまい、サイト評価が下がるんだったと思います。良くないです。

ので、できるだけサービス初期にwwwはありかなしか、どちらかに統一しておきたいです。
今回は、wwwなしに統一します。Googleにインデックスされている数が多い方に揃えるといいでしょう。インデックス数はサーチコンソールをみると分かると思います。(詳しくは知らない)

めざす実装

wwwありドメインを、なしドメインに301リダイレクトします。
301リダイレクトにより、ありドメインへのページ評価を最大限引き継ぐことが出来ます。

実装手順

弊社ではWebサーバーとしてNginxを使っています。
Nginxの設定で、リダイレクトを行うことが出来ます。
Nginxの設定に関する詳しい説明はほかへ譲るとして、Nginxのconfファイルに以下のように記述しましょう。

    server {
         listen 80;
         server_name www.example.jp;
         return 301 http://example.jp$request_uri;
    }
    server {
        listen 80 default_server;
        server_name _;

#####その他の設定######

    }

注意する点は2点です。
- 下のserverブロックのlistenディレクティブに default_server を記載しておくこと。
- 下のserverブロックのserver_nameディレクティブを _ にしておくこと。

この2点を守らないと、開発中に意図しないリダイレクトが発生することがあります。
サーバーのテストなどで開発インスタンスIPアドレスでアクセスでしようとすると、本番のwwwなしドメインにリダイレクトしてしまう症状がありました。

参考: http://nginx.org/en/docs/http/server_names.html http://tengine.taobao.org/nginx_docs/ja/docs/http/request_processing.html http://nginx.org/en/docs/http/request_processing.html

ヒトは自分のキャリアを否定出来ないなぁと思った話

出来ないなぁとおもったので文字に起こしておきます。

進路に悩む後輩にアドバイスしたりすることって、たまにありますよね。
こうすると良いんじゃない?みたいな話を先輩風吹かせながらペラペラしゃべったりするんですが、だいたい後から思い出して死にたくなります。

それはいいとして、そういうときってだいたい無意識に、(自分もこうしたし)こうしたらいいんじゃない?という話をしてしまっています。
結局、自分は正しかった!っていうのを言っているだけなんですよね。

それ自体は別に悪いことではないんですが、そういうバイアスがかかっているというのは意識したいなと思っています。

この話は、たしか投資家の佐俣アンリさんがおっしゃっていたなとおもって探したらありました。

僕は大企業であるリクルートに大卒で入社し、2年半みっちりしごいていただいて卒業しました。 なので自分より若い人と話すときにどうしても「しばらく社会で揉まれたら?」的な話し方で、就職を薦めがちでした。 自分はこうやったら結果的にうまくいった(と思っている)のでこうしたほうがいいというのは恐ろしい固定観念から来る話しでした。

若い人と話すときに僕が陥っていた3つの固定観念 / 佐俣 アンリ | STORYS.JP

これを読んだ当初は、そうなのかぁと思っただけだったんですが、最近なにかと痛感することがあったので気をつけたいなと思う次第です。

組織で問題がおこったら、まずは仕組みが悪いことにしたほうがよさそう

とりあえず仕組みを疑ったほうがいいな、と思うことがあったので書き起こしておきます。

たとえば

例えばすごく寝坊をしてくるヒトがいるとするじゃないですか。
それがちょっとエライ人だったりすると、みんなのモチベーションに影響するし、全体としてダレた雰囲気になって良くないですよね。
それで、そのヒトに詰め寄って、「最近どうしたんだ」「しっかりしろよ」などと言ったからといって、解決するわけでも無いとおもいます。
もちろんそれで会社をクビにするのでもいいかもしれませんが、それだと会社には何も残りませんよね。
また寝坊するヒトが現れた時に、苦労して確保した人材を同じようにクビにするしかないというのはどうなんでしょう。

じゃあどうしよう

それで僕が思ったのは、組織内で何か問題がおこったら、まずはそれが起きない仕組みを考えるのが良いなということです。
今の寝坊の例で行くと、そもそも寝坊するのって睡眠時間が足りていないからだと思うんですね。
なので、会社をあげて長時間睡眠を奨励して、まくら給付金をだすとか、そもそも長時間残業を禁止して夜は早めに返すとかするといいんじゃないでしょうか。
他には、早朝出勤するとすごくいいことがある制度をつくるとか、仕事量が多くて1人が12時間働いているところを2人で6時間ずつ働くようにするとかもいいですね。

このように、仕組み化することで、会社に文化やシステムというアセットが残るので、なんだか良い方に前進できているような気がします。
大事なのは、仕組みだとPDCAが回せて、いずれは良い形に行き着けるということだと思います。
個人が気をつけるようにする、とかだと改善も何もありませんから。
なにごともアセット化していくことが大事ですね。

いっそのこと

社内の諸問題はもう全部仕組みが悪いことにしたほうがいいかもしれないですね。一旦全部そういうことにしましょう。
そうすると、問題がヒトから仕組みに移動するので、みんな気持よく議論して、よりよいアイデアがでてくると思います。
やはり自分が悪いということで話が進むと、実はこうなんだよね、だからこうするといいと思う、という素直な意見は出しづらいものです。 結局やりたいのって、遅刻を無くしたいということだけですよね。そのヒトを責めてもなんにもならないですから、ヒトに責任は無いというふうにしたほうがいいかもしれません。

おわりに

もちろん、本当に仕事に対して全くやる気が無くなってしまったというヒトには会社を去って貰う必要が有るかもしれません。
ビジョナリー・カンパニー2でいうところの、「不適切なヒトをバスからおろす」というやつです。
ですが、やっぱり仕組みで解決できることはできるだけ仕組みを作っていくのがいいなぁと思った次第です。

たった1人で大規模Webサービスをやるために必要な技術書一覧

※最終更新 2015/11/23 現時点で全部買っても55000円くらいです。プログラミングスクール行くのと同じくらいですね。

このぐらいやっとけばだいたいOKというのを書き起こしておきます。 僕はスタートアップでそこそこの規模のWebメディアを運用しています。

素晴らしい名著にあふれる21世紀。 ひと通り頭に詰め込むだけでいろんなことができるようになる素晴らしい時代だなとおもいます。 僕がWebエンジニアになるのに勉強になったなぁとおもう名著と教材をリスト化します。

読むだけでレベルアップする魔導書だと思って、お金を惜しまず買いまくり、読みまくりましょう。

まだ読了まで至っていないものも一部掲載しています。必須範囲を明らかにする目的です。

Unixコマンド

まずはコマンド。 dotinstall.com
こればかりは実際に使いながら覚えるのが1番です。

HTML

大正義dotinstall(2回目)。 dotinstall.com

HTMLはめっちゃ簡単なのですが、CSSと合わせて勉強すると混乱がちです。 CSSを学ぶ前に、HTMLだけで理解するのをおすすめします。 HTMLだけだと困惑するぐらいダサいサイトしか作れませんが、それで良いのです。

CSS

大正義dotinstall(3回目) dotinstall.com

配置にまつわる名エントリ。 webdesignrecipes.com

修正しやすいCSSの書き方。必須。

最初に体系的に学び、体系的に実装するのが理想です。 とりあえず実装ならBootstrapなどライブラリ利用もありですが、いずれ全換装することになりますので。

Ruby

d o t i n s t a l l。 dotinstall.com

Ruby on Rails

まずはMVCについてざっくり理解することが最優先です。MVCは、役割分担をすると綺麗にコードがかけるよねというものです。

理解ができたら白本を。

Ruby on Rails 4 アプリケーションプログラミング

Ruby on Rails 4 アプリケーションプログラミング

あとからパーフェクトに。

パーフェクトRuby on Rails

パーフェクトRuby on Rails

パーフェクトRuby on Railsには、Rails開発全般が広く浅く書いてありますが、説明は分かりづらいです。最初に読むべきではないです。

MVCがどういうものか直感的に理解できない場合は、白本を見ながら簡単なサイトを一つ作ってみると良いと思います。 テキストで理解できるならそれがもちろん良いですが、MVC

インフラ

インフラ全般

Webエンジニアが知っておきたいインフラの基本

Webエンジニアが知っておきたいインフラの基本

DB・MySQL

基本

基礎からのMySQL 改訂版 (プログラマの種シリーズ SE必修! )

基礎からのMySQL 改訂版 (プログラマの種シリーズ SE必修! )

運用・チューニングなど

エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド

エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド

DB設計。

達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ

達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ

漢なら。 nippondanji.blogspot.jp

良いコードをかくために

必読書。

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

リファクタリングAmazonで注文してから早24日。まだ届きません。

リファクタリング:Rubyエディション

リファクタリング:Rubyエディション

GoF。難しそうなのでまだ読んでないですが、デザインパターンは必須。

オブジェクト指向における再利用のためのデザインパターン

オブジェクト指向における再利用のためのデザインパターン

Git・Github

未だ良い教材に出会っておりません。 このへんに注意するとハマりにくいと思います。 - 差分管理のメリットを知る。"差分"であることが最大の発明。 - ブランチとは編集履歴についたタグだと考える。 - ローカルでGitを使えるようになってからGithubに触れる。 - いくつかのコマンドが複合したコマンドは、構成コマンドを理解する。pull、rebase。 - いましているのはリモートの操作なのか、ローカルの操作なのかを強く意識する。 - 追跡ブランチの概念を理解する。 - git-flowかgithub-flowを用いてプルリクエストによるコードレビューを取り入れる。 - コミットを削除してはならない。打ち消すコミット(リバートコミット)を追加するのだ。

AWS

公式のドキュメントがなんだかんだで最強です。隅々まで読みましょう。

だいたいこれ一本。使い始めたばかりなら、持っていてもいい本。

Amazon Web Services パターン別構築・運用ガイド

Amazon Web Services パターン別構築・運用ガイド

AWSの公式スライド。インフラ構成など参考になります。 aws.amazon.com

あとはAWSのスタートアップ技術相談会行きましょう。本当にありがたいです。AWSのスタートアップへの投資が本当にすごい。頭を低くしながらしゃぶりつきましょう。 aws.amazon.com

ときどき覗きたい。AWSのリリース。 aws.typepad.com

ネットワーク

TCP/IPをやるとかなり色々わかります。インターネット、ルーターDNSなどなど。

マスタリングTCP/IP 入門編 第5版

マスタリングTCP/IP 入門編 第5版

サーバーを自作するのが大変オススメ。作る楽しさ、動く楽しさを感じながらすさまじい密度のハラオチを得られます。 TCP/IPの書籍と合わせて一気に実践レベルでサーバーをいじれるようになります。 秋葉原ドスパラに行って「ネットワークの勉強用にサーバー組みたいです」「一番安いCPUとメモリ1GBでいいです」「予算3万です」と言いましょう。 すると3万5000円くらいでパーツを購入できます。ググりながら頑張りましょう。

サーバーを自作した後だと、クラウドサービスの有り難みが100倍感じられます。Love AWS

NGINX

マスタリングNGINX

マスタリングNginx

マスタリングNginx

サイトパフォーマンス

早いです。

ハイパフォーマンスWebサイト ―高速サイトを実現する14のルール

ハイパフォーマンスWebサイト ―高速サイトを実現する14のルール

セキュリティ

ちゃんとセキュリティ勉強してないです。 SQLインジェクションスクリプトインジェクションだけなんとなくやっただけなので...。 名著をご存知のかた、コメント下さい。

日々暴かれる脆弱性情報。 www.st.ryukoku.ac.jp

最新技術のキャッチアップ

Software DesignWEB+DB PRESSは抑えておきたい。なかなか全部読めませんが。

gihyo.jp

gihyo.jp

その他、身につけといたら良さそうなこと

僕が主導してるエンジニア育成プロジェクトがあるのでよければこちらもどうぞ。 github.com
目下作成中ですが、いずれ上記の全範囲をカバーします。 PRお待ちしてます。

ブログ「ベンチャーの呼び声」始めました。

はじめまして。私はIT系スタートアップ・ベンチャーで働いています。主にエンジニアリングを担当しています。 日々のログとして、まとまった文章を書く場所が欲しくてブログを始めました。 継続を第一に、シンプルな文章でやっていこうと思います。

多くの人の目に止まればなよいなとおもっています。 よろしくお願いします。