読んでおきたいslideshare(ネットワークゲームにおけるTCPとUDPの使い分け)

昨日、モノビットの方から以下のスライドが公開されたようです。

www.slideshare.net

最近はアプリの開発も多くなり、ある程度のネットワークの知識が必須になってきました。

特に基本的なことは抑えた上で、具体的な実績値を把握しているかどうかが大きな分かれ目になります。

このスライドで学ばせていただいたのは、具体的なレイテンシ、各ゲームを作る際にどの程度のレイテンシが要求されるのかといったことだと思います。

モノビット社の方の作成されたスライドなので、紹介の内容もありますが、非常に為になる内容でした。

黒騎士と白の魔王で使用されている技術 - photon server

4/26に株式会社グラニから、新しいゲームがリリースされました。
黒騎士と白の魔王というゲームです。

クライアントの速度は端末に依存するのですが、サーバーとの通信はかなり速そうでした。
どんな技術を使っているのか気になったので調べてみると、以下のslideshareが見つかりました。

 

さすがグラニさん。がっつりC#ですね。

内容はどちらかというと、ゲームの作り方の紹介ではなく、 PhotonServerの使い方がメインのようです。
しかし、PhotonServerを選定するに至った背景なども紹介されていて面白いです。


PhotonServerはサーバーOSがwindowsである必要があるので、費用がかかりそうなイメージがありますが、国内での採用実績が増えてくれば、自然と注目が集まりそうな技術です。
もちろん、スライドの中でも紹介されているように、すでに同じような他の技術があります。
なんの技術を選択するかは、そのときの案件次第だと思いますので、いろいろな情報をキャッチアップしておくことをお勧めします。

記事紹介:Android端末をadb経由で操作する

最近、Android端末で、決まった動きを再現させる方法がないかと考えていたところFReqというアプリに行き着きました。

ただ、中で何をやっているのかよくわからず、不安になってしまったので、標準機能を使ってなんとかできないかと調べていたら、以下の記事に行き当たりました。

 

getevent/sendeventでAndroid端末の操作自動化

引用元:http://techblog.qoncept.jp

 

adb経由でshellを実行することで、タッチイベントなどをコマンドから発生させる方法のようです。

イベントのデータが生データのようなので、少しイメージがしにくいようですが、操作した内容を記録することもできるようです。
「一度記録しておいて、繰り返し実行する」ということが可能なようなので、簡単に同じ操作を実行させることができそうです。

FReqのようなアプリを使えば、解りやすいGUIで簡単に操作ができそうですが、かゆいところに手が届かなかったり、他人が作ったツールに頼りたくないという人には、こちらの機能を使うのも手かもしれません。

残業ゼロの会社の記事をみて思ったこと

社員7人の町工場、残業ゼロで年収600万円超!ヒントはラーメン屋に (ニュースイッチ) - Yahoo!ニュース

単に残業をしないのではなく、しなくても仕事が回る工夫がすごい

2017/02/04 16:19

この記事を読んですごく刺激を受けました。

残業をゼロにして、なおかつ年収もいい。
そんな会社にできるなんてすごい。
と思うかもしれません。

私がその中でもすごいと思ったのは、社員全員で協力して、効率的な仕事の進め方、顧客から求められる条件を満たすために、今の体制からどのように変えていくか。を導き出したところです。

 

記事の中で、ラーメン屋の例が出ていますが、本当に定時内の仕事だけで終わってしまっては信頼を失ってしまいます。
ですが、記事内にある通り、客が合わせてくれるケースもあります。
信頼を勝ち取ったまま、どのようにして効率的に回していくか、この工夫が大変だと思います。

 

1.社員全体のスキルアップ

これがなければ話になりません。できることだけをやっていては、効率的に動くにも限界があります。
しかし、ただ、こなすだけだった仕事からより良くするために、仕事への取り組み姿勢から意識改革を行うのは相当大変だと思います。
特に、少人数の場合、全員を同じ姿勢に直していくのは相当ハードだと思います。
なぜなら、大人数であれば、多少できていないメンバーがいてもフォローできますが、少人数の場合、それができません。
一人当たりの負担が大きいからです。

 

2. 勤務体系の変更

顧客がいる以上、特に BtoBのような業種の場合は、顧客の状況に合わせて対応することが少なからずあります。

部品を発注する場合、大手であればあるほど、リスク回避をするために、複数の工場から仕入れたりします。
これは、なんらかの理由で部品の調達が困難になった場合でもラインが止まらないように回避する方法なのですが、どこかの工場からの供給が少なくなった時に、急遽他の工場からの供給を増やしてもらったりすることがあると思います。
供給がなければ、製品が作れなくなってしまうので、発注者側からすると大きな問題です。
特に製品の売れ行きのいい時期に製品が作れないのは、致命的です。
そういった時にどうしても、部品を作る工場にしわ寄せがいってしまうことがあると思います。
そういった時のための勤務体系の見直しというのは、すごいと思いました。

問題が起こるよりも前に対策を打てるのはすごいと思いつつなかなかできません。
なぜなら、一人追加で採用するにも費用がかかるからです。
何事もない時には不要な人員となる可能性があります。
この会社のすごいところは、全体の社員の休日や作業量を調整して、無駄にならないようにしていることだと思います。

 

単純に記事をみて想像しているだけでも大変さが十二分に伝わってきます。
この記事をみて、自分たちの会社では無理だな、と思った方、本当にそうでしょうか?
何よりもまず、改善してみようと行動を起こしましたか?
自分の行動を変えてみましたか?
改善しようとどれくらいの期間を費やしましたか?
この会社は、10年の時間をかけたそうですよ。
私も、早速動き始めてみようと思います。
一人一人の考え方が変わらなければ、組織が変わることはないのですから。

今日読んだ本「Webエンジニアが知っておきたい インフラの基本」

今日は時間ができたので、本を読んでました。

プログラマといっても所属する組織によって携わる業務範囲が変わってくると思いますが、困るのは経験からしか学べないようなことです。

とくインフラの知識に関しては、経験から学ぶことも多く、環境によっても対応方法が何通りも出てきます。

 

インフラ専任の担当者が付いていればその人にお任せすることができますが、一番の問題は、安定稼働しているシステムで担当者を置くことができない場合です。

そのような場合には、プログラマが兼任することもあるのではないでしょうか?

 

そのような職場で、入門として学ぶにはちょうどよい本だと思います。

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

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

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

 

 

 

本の構成的に、インフラ構築のための概念、考え方、初期構築時の説明、運用時のポイント、障害発生時のポイント、改善方法などが簡単に紹介されています。

タイトル通りWebによった本なので、PaaS、SaaSのサービスを提供する側の教科書として用いるのには限界があります。

Webサービスを提供する側の基礎知識として読んでおいても良いかと思いました。

 

注意点として、業務系の方や、サーバーを物理的に組み立てる人、基本的なことは把握できているが深い知識、経験を望まれる方には向いていないと思います。

 

次の世代を育てるための考え方

自分が学ぼうとする姿勢と、周りの人が学ぼうとする姿勢に温度差があるように感じられるようなことはないでしょうか?

 

多分これは、特定の職種や特定の年代になると感じられるようなものではなく、ふと気がつくと気になってくるものだと思います。

 

昔は、「なぜ、周りの人はもっと真面目に取り組まないんだろう」とか、「なぜそこまで必死になるんだろう」とか気になることがありました。

あまつさえ、「周りの人を自分と同じくらいやる気を持ってもらうためにはどうしたらいいんだろう」とか上から目線で考えていたりもしました。

 

でも、冷静に考えてみると別に難しいものではなく、人それぞれ、環境が違うから進みかた、進め方が違うだけだと気付いてきました。

同じ職場、同じ仕事をしていても、これまで取り組んできたこと、プライベートなど同じ人など誰もいません。

一人一人、考えて、その時の最善な選択を取ろうとしているのです。

 

気づけば割と当たり前なことです。

しかし、頭ではわかっていても、心が、気持ちが理解できず、ストレスの原因になったりすることがあるかもしれません。

でも、きにするだけ、考えるだけ無駄です。

なぜなら、自分と同じにはできないのですから。

 

もしも、それでも気になることがあれば、アドバイスをしてあげましょう。

それを受け入れるかどうかもその人に委ねて。

 

いろいろな人がいろいろな考えを持って取り組むから、新しい視点が生まれます。

それを、「自分と同じではないから」という理由で潰そうとしてはいけません。

 

最近になって、本当の意味でようやく気づけたと思います。

今後は、その人らしさを大切にして、長所短所をパズルのように組み合わせていきたいと思いました。

よく使うvimの操作

vimを使い始めて、そこそこ立つのですが、あまり上達していません。

それでも、サーバー上でちょっとした編集を行ったり、コマンドでファイル操作を行った方が早い場合などに、vimを使うことがあります。

 

その中でも、これは覚えておかないと話にならないとういう項目をまとめてご紹介したいと思います。

 

・カーソルの移動 hjkl

・編集モード i

・矩形選択 v ctrl+v

・コピーy

・切り取り x

・行削除 dd

・行頭へ移動 0

・行末へ移動 $

・置換 :%s/置換元文字列/置換文字列/g

 ※範囲選択をした状態でも、可能(範囲選択した箇所だけを置換)

・ファイルを開く :new filename

・ファイル間のカーソル移動 ctrl+ww

・ファイルを閉じる :q

・編集を破棄してファイルを閉じる :q!

・ファイルを保存する :w

 

他にも豊富な機能がありますが、使いこなせているのはこれくらいな気がします。

もっと使いこなして、素早く編集できるようにならないと、作業効率が上がらないので、修練を積みたいと思います。