What is RFP(Request For Proposal)?

RFP is a document that asks the vendor candidate to make a concrete proposal when introducing an information system or outsourcing it. Describe the purpose and overview of the system, requirements and constraints.

A concrete RFP method is easy to create when considering the overall configuration into the following three categories.

1. Overall picture
It is intended to make it simple to understand the whole system development that we would like to request the proposal this time.
Describe development objectives, goals, budget, schedule and so on.

2. Proposed requirements
Specifically, it shows specifically what you want a suggestion that meets.Describe the scope you want the suggestion, the division of roles, required functions, operation / maintenance, deliverables.

3. Other
Information that seems better to convey to other than 1 and 2, what you are astray about judgement, etc. are listed as supplements.

1. overall picture
background of development
purpose of development
goals / achievements
budget size
schedule
target
number of contents to be handle

2. proposed requirements
scope to request suggestion
delivery deliverables
method of system development
functional requirement
operation and maintenance requirements
education and training requirements
organization
structure

3. other
consideration
assumed competing site

エンジニアと英語の表現力

エンジニアにとって、英語力は必須。
これは間違いないだろう。

英語でも、リスニング、リーディング、ライティングがある。特に重要なのはreadingかと思っていたが、どうやら考えが甘すぎた。。
– listening
– reading
– writing

本当に重要なのは、英語の表現力。
高いレベルの仕事をするには、説得力のある説明や、よりスムーズに仕事をできるような英語力が必須。
とはいえ、これは直ぐには身につかないし、何をやるのがベストか?

案1:英語でブログを書く
案2:英語のサービスを作る
案3:海外に移住する

どうするか??
英語が重要なのは絶対に間違いない。
案1を1年~2年くらい目標にやってみるか。。

ミドルウェアとソフトウェアの違いはなに?

ミドルウェアって何???

ミドルウェアは、アプリケーションとOSの中間的処理を行うソフトウェアのこと
ということは、ミドルウェアもソフトウェアの一部って理解でよさそうだ。
つまり、ミドルウェアはソフトウェアの一部だから、ミドルウェアとソフトウェアの違いという質問自体が愚問といって良いだろう。

では、OSは例えば、CentOS7.0として、アプリケーションをLaravel5.7とした場合、PHP、MySQL、Composerなどはミドルウェアと呼んでよいのだろうか?

Web
Apache, IIS, Nginx
サーバーを提供しているこれらはミドルウェアになる。

Application
Tomcat, JBoss, WebLogic Server, WebSphere Application Server, Cosminexus Application Server
Tomcatもミドルウェアに含まれる。わかる気がしますね。

Database
MySQL, Oracle, PostgreSQL, SQLServer, DB2
はい、Mysqlもミドルウェアになります。

その他
arcserve, backup exec, netbackup, netvault, jp1, senju, systemworker, tivoli, websam, hinemos, zabbix, clusterpro, hacmp, haモニタ、heartbeat, lifekeeper, mscs, primecluster, serviceguard, vcs
zabbixもミドルウェアですか。アプリケーションのイメージありますけど。。

色々調べると、DBMSやモニター類が代表的なようですね。phpなど、言語はあまりミドルウェアとは呼んでないようです。

エンジニアが断捨離するとこうなる(その2)

そろそろ断捨離する物がなくなってきたので、行動面での断捨離を考えたい。
エンジニアは合理的であるべき。とすると、無駄な行動もバッサリ捨てたい。
で、何を捨てたいか?

コンビニ
– コンビニで立ち読みするのが癖で、直したい。 ザファブル、アフロ田中、BLUE GIANT、フルーツ宅急便が気になって仕方がない。
→ 漫画って無意識に思考に影響与えるから、できるだけ読みたくないなー
→ この悩みを解決するソフトウェアを作りたい
案1) コンビニに入ると、GPSで地震警報並みの警報がスマホから流れる
案2) コンビニに入ると、GPSで自動的にクレジットカードで課金されるようにする
案3) rizapのように、毎日コンビニに入った回数を誰かに報告する

あ、GoogleのGoogle Place APIというのがあるらしい。これ、ガチで使ってみたい。
https://developers.google.com/places/

断捨離をプログラミングで解決する、そういう流れにしたいですねー

ecmファイルとは‽

.ecmというファイル

ん?なにそれ?

エミュレーター関連でよく使用されるらしい。。。
unecmで解凍できるソフトなどもあるらしい。。。

ecmファイルとは何か?
ECMは、エラーコードモデラー形式で作成したディスクイメージファイル。冗長な誤り訂正符号及びチェックサムを除去し、ディスクイメージを格納する。ゲームコンソールのディスクイメージを圧縮するために使用される。

エラーコードのモデラー形式ってなんだ?
XMAP3/Webライブラリが返すエラーコードが8お場合に、共通インタフェースのリターン値1やリターン2に返すエラーコードの形式を示す。モデラーはモデル。

あんまり情報がないなー

エンジニアがamazon欲しい物リストを考えるとこうなる

欲しい物リスト
http://amzn.asia/0W51meS

基本物欲ないからなーーーーー 特に欲しい物ない。。
なんだろーほんとにないな。 

1位:macbook pro 123,984円 i5, 256GBくらいあれば良し。
欲しい。

2位:コーヒーメーカー 18,800円
うーん、まずまず欲しいかも。

他は。。。

そんなものかなー
絞りだしても出てこないなー
むしろ、なんか捨てたいなー。。

うーん、ないぞ。むしろ、財布はノーブランドにグレードダウンしたい。
しかし、やすっぽい財布もなかなかないなー

ということで、結論、欲しい物リストはそんなにない。

こんな感じ http://amzn.asia/0W51meS

【時間の無駄】Youtubeの見るのを止めたい時

あることに気が付いた。
Youtubeって完全に時間の無駄じゃね? 

現実逃避にはいいんだけど、なんと言ったらいいのかわからいんだけど、なんか価値観や思考を奪われる感じがするんだよね。思考の影響を受けやすい、というか。だから、できるだけ見ないようにしようと思ってるんだけど、ついつい見てしまう。そして、殆ど無駄だとわかってるんだけど、たまに役立つような情報もあるからたちが悪い。

で、しばらく考えたんだが、閲覧ブロックするアプリをインストールして、強制的に見れないようにすることにした。

1.アプリの設定を無効化する
設定->アプリと通知->アプリ->Youtube

2.BlockSiteをインストールして閲覧ブロックする

あれ、何気に、大事なことしたような気がする。

特殊文字とはなにか?

プログラマーって、みんな文字や文字コードの知識が詳しいな。まいるぜ。

wikipediaを参考にします。
特殊文字の定義
特殊文字(とくしゅもじ、special character)とは、情報処理において文字集合に含まれる文字(図形文字)として扱われるもののうち、伝統的な言語学でいう「文字」(表音文字や表意文字)に入らないものであって、しばしば通常の文字とは異なる特殊な扱いをされるものをいう。

なんだそれは? 

伝統的な言語学で扱われてきた約物(句読点や:/;/”/?/!等)のほか、数学記号などの学術記号、単位記号、通貨記号、国際音声記号、といったさまざまな記号類、矢印や罫線素片、ハートやダイヤなどのトランプのマーク、絵文字といったものも含まれる。

絵文字も特殊文字なのか。ややこしいな。

エンジニアと英語

仕事で英語は使っているか?
=> Yes(コミュニケーション/ドキュメント両方)

英語は必要だと思うか?
=> Yes、ドキュメントの読み込みは英語ができないとかなりキツイ。

エンジニアとして、どういう英語の勉強をしたか、しているか?
=> udacityの講座は全部やった。

英会話スクールなどに行った方がいいか?
=> No。高校生の頃、30万位払ってECCに通ったが、全く上達しなかった。英会話はエンジニアには金の無駄。

英語のプログラミング関係の本を買って勉強するのはどうか?
=> No。まず、売ってる本の種類が少ない。Amazonで買おうとすると、海外取り寄せになる場合が多い。すると、到着するのに1週間以上かかったりするので、そのころにはマインドが変わっている。

おすすめの勉強方法は?
=> 英語のサイト/アプリケーションを構築すると勉強になると思う。

文字のバイト数とは?

システムによって、バイト数の制限があることがあります。
よくある例としては、画像ファイルは〇M byteまで など。

まず、言葉の定義から。
1バイトとは
0か1かを表すビットという単位が8つ並んで構成される。2の8乗で256通りのデータ

1KB、1MB、1GB
1キロバイト=1024バイト、1メガバイト=1024キロバイト、1ギガバイト=1024メガバイト
※1000バイト単位でないので注意が必要

半角のアルファベットと数字、1文字のデータ量は1バイト
– 日本語は漢字が数千あり、256種類では表現しきれないので、2バイト(16ビット)で1文字を表現する。いわゆる全角文字。2バイト(2^16)は65536種類の情報を表現できる。

500バイトだと250文字
WordのA4でフォントサイズ10.5で40文字程度

アルファベットは7ビットで表現
つまり1バイト?

PHPでバイト数を図ってみましょう。
strlen()でバイト数を計測

$single = "a";
$multi = "あ";
var_dump(strlen($single), strlen($multi));

あれ、”あ”が3byteになってる。何故だ!?

phpのマニュアルを見てみる。
http://php.net/manual/ja/function.strlen.php
うーん、やっぱりバイトだ。 あ、マルチバイト文字列はmb_strlen()でカウントするらしい。なるほど。つまり、”あ”は3バイトで表現されているってことか。