はてなキーワード: 画素数とは
キャリアがスマホ売り始めてからずっとAndroidだったんだけど、
iPad使ってみたら、すげえ処理がヌルヌルでAndroid止めてiPhoneにしようかなって思ってたら
キャリアの販売方法変わるとか聞いて、いったいいくらになるのか不安で仕方がない。
そもそも年々高くなっていくスマホの料金なんとかしてほしいんだよな。
端末一台買うのに普通に快適に使えるPCが1台楽に買えてしまうし
そこそこのスペックのPCですら2台買えてしまう価格って、ちょっとぼりすぎじゃないかなと。
そりゃね、あのちっこい端末にPC並の性能が入ってると聞けば、仕方ないかって思わなくもないんだけど、
PC並といっても処理速度とかから言えば、まだまだPCには追いつかないレベルだしね、
カメラとかもムダに性能良くしてるでしょ。あそこまで細かく撮影できる画素数必要なのかなとかね。
まあ、使う人からすれば必要なんだろうけど、カメラよりも処理速度やアプリの動作速度の方が大事だから
高価というイメージをそっちに割いてほしいんだよ。
カメラの質が良くなったからって、いったいどのくらい割合の価格があのカメラに注ぎ込まれてるのって感じ。
あとね、Androidなんかはワンセグ入ってるけど、あれもムダかなと思うんだよね。
あれが入っているおかげで、クソHKが受信料とか喚くんでしょ。
マジでつけるの止めてほしいんだよな。
カメラ業界って宗教なので、下手にブログで書いたら炎上するのでここで書く。この記事の対象はあくまで初めて一眼カメラに手を出す人向け。
一眼カメラは、ミラーレス一眼と一眼レフの2つがあるが、一眼レフは時代遅れなので選んではいけない。
一眼レフは時代遅れ。これはファンが多く信者も多いが、初めての人が一眼レフを今新たに買うメリットは全くない。
なので一眼レフは買ってはいけない。わかりやすく言うと、キャノンとニコンのカメラは買ってはいけない。
キャノンとニコンはミラーレスも作っているけれど、レンズが全くないのでやはり今は買ってはいけない(将来はわからない)。
今現在購入に耐えうるミラーレスを今出しているのは、ソニー、オリンパス、パナソニックのみ(Fujiは後述)
初めての人にはわかりづらいセンサーサイズだが、ざっくりいうと、フルサイズが一番大きく、APS-Cが中間、マイクロフォーサーズが一番小さい、一眼ではこの3つの規格が主流。
APS-Cは中途半端なのと、Fujiはあまりに玄人向けで初めての人には全く向かないので、検討するならフルサイズかマイクロフォーサーズのどちらかが良い。
(とはいえソニーのAPS-Cは初めての人にも良い選択になりうる良い機種も結構あり、紹介するか少し悩んだ。でも混乱させる可能性があるので、今回はAPS-Cは無しとする)
フルサイズはセンサーサイズが大きいので高画素で高感度だが、一方でレンズが大きくなり、重く、高い。
フルサイズでまともなミラーレスを出しているのはソニーだけなので(正確には他の会社はミラーレス専用のレンズが全くない)、今フルサイズを買うならソニー。
マイクロフォーサーズは小さく、軽く、安い。画素数は劣るが、一般的な用途では問題にならない(フォトブックの印刷などにも十分に耐える)。
マイクロフォーサーズは、将来フルサイズのカメラに移行するときでもサブカメラとして活用出来るので、個人的にはマイクロフォーサーズのカメラから入るのをおすすめする。
ソニーのフルサイズはα7Riii、α7iii、α9などがある。フルサイズに手を出すなら、それぞれの良し悪しは自分で調べて判断出来るようになってほしい。
よくわからないけどフルサイズが欲しい、という富豪はα7Riiiを買っておけば、ものすごく後悔することはないと思う。
マイクロフォーサーズは、大きくオリンパスとパナソニックにわかれる。(パナソニックにもS1R・S1というフルサイズがあるが、初めての人には全く向かない)
一般にオリンパスの方がオートフォーカスが速く、手ぶれ補正の効きが良いので、オリンパスがお勧めだが、使いやすさではパナソニックの方が上という人も多く、画質にそんなに差はないので使いやすさも大事だ。
ここは好みで良い。実際のお店で触ってみるのが良いと思う。
ある程度本気で写真を趣味にしたいならば、ファインダーのある機種を選ぶと良い。E-M1mk2、E-M5mk2、G9pro、これらはプロでも大変に評価が高い。
もっと気軽にということであれば、Penシリーズ(E-PL8、E-PL9)が良い。手ぶれ補正ももちろんだが、ダブルズームレンズキットでついてくる2本のレンズが大変に良い。
撮る題材にもよるけれど、ざっくりと1本おすすめするならば…
E-M1mk2、E-M5mk2 ならば、12-100mm F4 という神レンズがあるので、これをお勧めしたい。レンズキットの12-40mm F2.8も良い。
G9proならばレンズキットで付いてくるLeicaの 12-60mm F2.8-4.0 が大変良い。
Penシリーズはダブルズームレンズキットの2本のレンズが大変良い。
5000円くらいの安いのでもよいから、三脚を使って写真を撮ってほしい。Penみたいなコンパクトデジカメ風のカメラでも、三脚があれば相当綺麗な写真が取れる。
マイクロフォーサーズを使うとして、はじめて三脚を買うなら、ナショナルジオグラフィックの三脚が安くてお勧め。
ただ、初めての人は、何があってもキャノンとニコンは買ってはいけない。カメラ雑誌や記事などではスポンサーに配慮しなくてはいけないので悪いことを書けないし、信者がたくさんいるのでブログなどでも書きづらいんだが、すでにキャノンやニコンのレンズを持ってしまっている人でない限り、新たにキャノン、ニコンのカメラを買う意味はほぼない。彼らはソニーに対して周回遅れだ。
かつて一度だけ縁あって東京のイベントにサークル参加したが、基本はネットでの活動を中心としている。
イベントの日程を知らせるツイートや、通販サイトやら作者自らが公開したサンプルやらを眺めるたび、
「はえ~、便利な世の中だよなあ」
としきりと感服するばかりなのだが、しかしその一方で何かどろどろと腹に溜まるものがあることに、最近私は遅まきながら気付かされた。
SNSというものが創作者において必須のツールとなっている現状は、もはや論じる必要もないほどの常識である。
Twitterアカウントをフォローしていないと、正直言って情報が全く追いきれなくなってしまうほどだ。
なので私も好きな創作者のアカウントは積極的にフォローして回っている。
出来ることなら私だってコミケに行きたい。そしてその場で同人誌を購入したい。出来ることならサークル参加したい。
――東京は、遠い。
高い。辛い。地方の薄給では厳しい。生活費と諸々の貯金のことを考えると、どうあがいてもひねり出せない。
では夜行バスの利用を考える。
真夏にろくに睡眠も出来ず体力を削るような真似をしてまで激動のコミケを乗り切ろうと思うのは浅はかである。若者だけに許される特権だ。
そもそも往復で時間がかかりすぎるので、有休を二日取らないとどうにもならない。
一日なら許されるかもしれない。だが連休は(業務内容的な意味でも)厳しいだろう。
緩やかなオタクには、会社と戦って連休をもぎ取るほどの覚悟は備わっていないのだ。
仮に何とかなったとしても、交通費だけではなく宿泊費を加味する必要がある。
相互フォローをしている方とは交流なんぞもしているので、交際費も発生する。
打ち上げに誘われたらどうするのか。流石に断れない。
どうするのか。
‥‥‥辛い。辛すぎる。
そもそも私は諸事情あって体力が著しく低いため、強行軍をすれば必ず反動が出てしまう。
嵩む医療費。
悲しいかな、こればかりは仕方がない。一生付き合っていくしかない問題である。
だが冒頭にも記述した。「一度だけ縁あって東京でサークル参加した」と。
やったのだ。
そして不可能を悟った。
もう、二度は出来ない、と。
仕方ない。
そういうつもりでこれまで生きてきたのだが、しかし最近、本当に情報の氾濫というくらい様々なものが目に入る。
目に入れば気になってしまう。
どうして私はそこに行けないんだろう、と思う。
『実家が東京なのは才能』、という言葉が最近バズっていたがまさにその通りだ。
楽しそうにしている人を見ると、羨ましいなと思うと同時に悔しくなる。
手にはいるものは確かに増えたが、どうあがいても手に入らないもののことも同時に知ってしまうのは苦しいものだ。
昔は何も知らなかった。知らずに済んだ。
それが良いとは言わない。知ることが出来るのは良いことだ。動画配信は神の御業だ。見逃し放送なんて最の高じゃないか。
そういうことだと思う。
子供が生まれたんで両親に子供の写真を見てもらおうとデジタルフォトフレームを贈るつもりで調べて見た。
メインで売れているのは7〜8インチの画面のものだけど、画素数が800x480とか800x600とかそんなもん。ハイビジョン動画再生機能がついててもそれ。
というかデジタルフォトフレームって写真を楽しむためのものでしょう?昨今の写真はケータイ画質でも4032x3024とかあるというのに、まるで20年近く前のパソコンディスプレイのような画面で見ても虚しいだけじゃないか?
で、内蔵メモリも8Gとかで少ないしクラウドフォトストレージにも対応してないし、それなのに音楽再生と動画再生もできるだけって品物が2〜3万はする。
VR機器に興味があって以前から買いたいな(エロ目的)と思っていたんだけど、機材の金額の高さに踏ん切りがつかなくて困ってました。んなわけで、VR-AVが体験できる個室ビデオ(sodのやつ)に行ってきましたので感想をメモ。
VRゴーグルははpi-maxという機器だった。聞いたことが無いメーカーだったけど有名なんだろうか? 結構ボロくて装着部の表面が外れてときどき視界に入ってくるのが辛かった。新品ならもうすこし良いのかもしれない。如何にもPCはゲーミングという感じのゴツいPCでした。ビデオ鑑賞に集中するあまり、CPU等のスペックを記録するのを忘れてた。グラボも刺さっていたので、PC一台でいくらするんだろうか。
視聴を始めての感想。前評判通り、没入感を感じる。思わず個室ビデオのソファに腰掛けてることを忘れて、画面の中のベッドにいるような感じもちょっとだけする。でもやはり、芸人がテレビで過剰なリアクションをするほど「リアル」とは感じなかった。所詮映像は「画面の向こう」という感じがする。10cm程度の至近距離に被写体がいるときにVRの臨場感が最も高いことを発見。こんな場面では「本当に女の子が近くにいる」という緊張感(興奮)を感じた。最近流行りのバイノーラル録音とセットで聴覚と視覚の二つを感じるやばい。
気になった点。
一番致命的だったのは、視聴中に首を動かして画面を追いかけていると視野中心の位置推定がズレてしまうこと。しばらく時間が経つと、首を前に向けても映像は左に30度程度ずれているという状態が発生し、だんだんズレが増加していくというトラブルに見舞われた。多分加速度センサがうまく動いていないからだろう。こうなると視聴を中止して映像を再生しなおすことになるので、集中して視聴できなくて困った。
自分はメガネなしでは生活できないヒトなので、メガネをしてVRゴーグルをつけると若干映像がずれている感じ。特に、VR内で被写体が10センチ程度の至近距離に来たときは映像に違和感を感じた。メガネ対応VRの開発を待つか、VRのためだけにコンタクトにするか検討するぞ。
VRはリアル感が売りなのに致命的で、解像度が低い。なんか他のレビューで見た気もするが、せっかくの没入感が低画質で台無しになっている感じがする。ひょっとして、fullhdくらいの画素数を(全視野角) X (両目)で配分しているのから解像度が低く感じるのだろうか。体感的には800x600ドットくらいのモニタでビデオを見ている感じだった。体感4kぐらいの画質になれば、もう言うこと無いんだけど技術的に難しいよね。
実用面では、VRゴーグルをつけると早送り等のビデオ操作ができないのでスイッチでゴーグルの視野を切り替えるorゴーグルをはずさずにできる操作が欲しかった。ゴーグルを着けたまま自慰するのは正直気持ちいいけど、「出したもの」を受け止められないのでこの対策も必要。個室ビデオではオナホが付いてたけど、家ではオナホの処理がめんどくさいのでもっと簡易な対策がほしい。ダンボールで囲いでも作って、液体を受け止めようかな。
総評としては、コンテンツ次第で購入もありかな。ただVRでAVを見るのは楽しいが金額を考えると、即買いたいというほどではないというのが本音だよ。ただ、次回個室ビデオにいったらやっぱりVRを選ぼうかなとは思う。AVだけに使うよりも、現実逃避癒やし系コンテンツが出てきたら買おうと思う。今回は、実写AVしかなかったんだけど3Dエロゲなんかやったら違った感想になるのかな? 体験できる場所を探している。
最後に建設的な提案を一つ。VRは種々の問題を抱えているけど、「そこにいる感」は本当にすごい。自分の全視野で映像を見せられると、気持ちも外界と隔絶してる気がする。一言でいうと現実逃避だよ。だから、美少女動物園的アニメの世界に入って、透明な第三者としてキャラとストーリーの進行を眺めたいと思った。つまり、VR-きんモザとかVR-けいおんを作れば癒やし度MAXだよね。日常系アニメがVRにならねえかなと強く強く待ち望んでいる。もし既にあったら、教えてください。
長く書きます。お金の話の経験とかも、少しでも参考にしてください。
10年前のVistaが搭載されていた頃の家電量販店で一番安かったCeleron 1コア メモリ1GB グラボなしノートだからプログラミングに向いてないのかもしれない
お金のない環境を整えられない学生はつらいよね。明らかに札束で殴れず時間を使って損してる。
twitterできないメインで使えないのもまず、重すぎるからっていうのもありそう。
スペックが足りてなさすぎる。まずは6,7万出してスペックを整えよう。
すごい人たちは幼少の頃からパソコンがあって、パソコンをいじるだけの時間があって、承認されてる。
しかも、コミュ症だとかなんだかんだ言いながらも、ネットではきちんと弾けてるし、人望もある。
彼らを理解するのはすっごく難しい。
経済格差が多すぎて、彼らが積んできた経験と持っている環境が違いすぎるから。
プログラム自体は数学を解くようですごく楽しいのだけれど、なぜ苦しい勉強をしながらプログラムをずっとやっていられるのかわからない。
環境はMac(高すぎて揃えるなんてとんでもない)じゃないから、先人たちの簡単に手順化された知恵を受けづらく、プログラムの環境をととえるまでが大変だし、
ライブラリ関係のエラーコードは自分の力で、ライブラリを見つけに行かないとダメで、ウェブで検索しても彼らよりもずっと時間がかかる。
そこをきちんと理解したうえで、自分がどこまでやりたいのか、どうしてやりたいのか
自分はプログラマに向いているのか、考えながら、勉強していったほうが良い。
ちなみに私はプログラムを解くの好きだったし、ある程度は得意だった。
ADHDと自閉症混じってるから、だから職人的なことをやりたかったし、テストをかけば不注意で大きな損失を出す可能性も低くなる。
だからプログラマを目指しているし、プログラマとして就職するつもりなんだよね。
私も無名で、プログラム力的にはpaizaのSランクは、後ちょっと足りない、運が良ければ成功するんじゃない?ってレベル。
ツイッタランドのすごい人たちは目指すと疲れるだけなのでほどほどにね。
彼らは多分余裕綽々でS取れる。
paizaの出題は競技プログラムの一種で、競技プログラムっていうのはある程度出題の仕方が似通ってる。
複数回解いていると昔に残ったコードとか再利用できたりするから有利になるっていうのもある。
ゲームで例えるとRPG好きな奴にFPSやらせても全く活躍できないけど、FPSが得意な奴に別のFPSゲーやらせてもできたりするでしょ。
開発のジャンルの違いがあることは覚えといて。
Mac買えなくて開発環境として選ぶなら,windowsよりlinuxのほうが良い。
windowsだと環境整える前にストレスがやばいし、パソコンが死んだ場合のストレスもやばい。
あと、古いパソコンだとUSBブートができなかったのも割とめんどくさかったし、回線がめちゃくちゃ低速だったから、ISOファイルのダウンロードに半日かかってたかな。
VirtualBoxはすごいスペック持っている人が使うものなので、買い換えないならクリーンインストールかデュアルブート推奨。
ubuntuにしとけば、ウイルス系もあんまり構う必要性がなくなるからね。
起動にVirtualBox起動に数分待って、端末以外を使おうとすると固まるみたいなことやってると辛さが溜まるから。
デビットカードでも行ける。
するが銀行に口座を作ってデビットカードを申しこめば、20歳以下でもなんとかなる。(年齢によっては親の同意は必要だけど)
2,3週間かかるけど、デビットカード作っておくことで色々なサービスを体験できるようになるのは選択肢を増やすにあたって重要なことだから是非。
一応著名なプログラマーをTwitterでフォローしてるけど、ご飯の画像を載せてたり、若者の僕には通じない寒いギャク連発してたり、ロリっぽい画像をRTしてたりと、twitterはメインの情報収集としては利用してない。
ネット上は怖い人もたくさんいるし、まさかりがちょくちょく飛んでくるけど、変にウケると拡散してくれて色々な人が声をかけてくれるのも確かだったりする。
ゆっくりと自分の使い方を覚えていけば少しずつ楽しめると思う。
実際、SNSは情報の精度としては当てにならないし、勉強のためってSNSを使うとストレスで辛くなった。
自分の好きな人だけをフォローすると精神安定するよ、あとフォロー返しはやる必要はない。やってるとTL荒れるからね。
(リストとか使いこなせるなら別なんだろうけどね)
おすすめ度は◎○△であらわす。
おすすめ度:◎ 条件:最低で6,7万円のお金が必要。 おすすめはlenovoのeシリーズ。 重いけど、コスパは良好比較的安めに上がってキーボードも打ちやすいのが良い。 いまはcorei5, メモリ8GBの使ってて、大体(重めのゲーム以外)したいことはなんとかなる。 SSDはあったら便利だけど、一番重要なのはメモリな。 開発したいなら8GBは必須。 (苦労話: 古すぎてノートなのにキーボードを常時接続必要だったり、画像が多いサイトはブラウザを選ぶ必要があったり、何よりもIDEが使えなくて辛かった。 windows vistaのupdateで数日固まったり、ゴミでしかなかった。 )
おすすめ度:◎ 条件:契約できる年齢か、親の同意(年4万円くらいの出費)が必要 何をするにもまず回線速度が遅いと話にならない。 IDE落としたり、クラウドにファイル上げたり、AWS使う時のアップロードとか、音声会話とか。 〇〇をしてみたいと思ったら,ダウンロードに時間がかからないことは、モチベーションのためにめちゃくちゃ大切。 (苦労話: ISOファイルをダウンロードするのに半日かかるのが普通だと思ってたけど、 まともな光回線+まともなルータを利用したら、ダウンロードに1時間ちょいになってびっくりした。 特に古いルータだったりするとボルトネックになったりする。 )
おすすめ度:○ 条件:linuxで生きていくという覚悟 windowsよりは快適。 他のlinuxISOファイルを焼いたりするときにちょっと苦労するかもしれないし、軽いの選ぶと良いかも。 実際普段使うものがネットとプログラムツールだけだったから、なんとかなったし、ゲームの選択肢が強制的に排除されるので、 少しはプログラムに触りやすくなるかもしれない。 (苦労話: エクセル、パワポ必要とか言われた時に、officeのレイアウトで死んだりする。 資料はPDFな。 買い換えない場合のクリーンインストールは↓ 昔のパソコンでもLinuxとか入れればそれなりに動くよっていう人はいるけど、やっぱり社会的な通信網と平均的なマシンスペックが上がっているせいで、ウェブ自体が要求するスペックも上がってて低スペックだとつらい。 ブラウザはw3mとか使って、端末タブを開いてvimで開発してた。 なんでかって言うと普通にブラウザ使うとレスポンスが重すぎたから。 でもその使いづらさの分だけ損してるんだよね。 )
おすすめ度:○ 条件:電車代などの交通費を用意可能 できること: 他人に触発されるタイプなら、すごい人たちの興味の方向を見て学ぶ方向が増えるかもしれない。 後は交通費と宿泊費の出る勉強会なんてものもあるので応募してみると良いかもしれない。 高校生なら、交通費出してくれるっていう太っ腹な勉強会もちらほらある。 一、二回は顔出し推奨。 欠点はあって、コミュ症は治らないので、友達ができるとは限らない。
おすすめ度:△ 条件:家庭環境による できること: 自分の向上心による。 大学生になって一人暮らしになったら、パソコンに触れる時間は多くなったとは思う。 (勉強しているとは言っていない)
おすすめ度:○ 条件:3,4万円の出費 できること: まず、パソコンを長時間触っていても疲れなくなる。 デスクの高さと椅子の高さはとても大切なもの。 疲れなくなるし、指が攣りそうになることもない。 机の高さはきちんと調べたほうが良い、あってることが重要 今使っているのは1万ちょいの新品デスク(ニッセンのフリーテーブル)と3万弱の中古のオフィスチェア 基本的に3000円位のデスクは耐久性と高さがゴミだったりするので注意。 机は http://blog.livedoor.jp/itsoku/archives/38727329.html の66のテンプレを見ておくと良いかな。 (苦労話: しかもノートパソコンでデスクと椅子がなくて狭いこたつの上か100均で買ってきた台の上で、パソコンを使っていたからパソコンの位置の高さが合わなくて姿勢がどうしても悪くなるせいで長時間パソコンをいじることもできなかった。 後は寝ながらパソコンをいじるみたいなみたいな堕落生活してたら、筋肉が硬直してまともに手を握れなくなって、医者にかかることになって1万円程度お金がかかったし、 2ヶ月位まともにパソコン触れなくなった。 ちょうどその時期は、筆記用具をほとんど使わない単位だけだったから良かったものの、他の単位とってたらもっと治療に時間がかかったかもね。 )
おすすめ度:○ 条件:それなりのスペックのパソコン、それなり大きさのディスプレイ できること: 設定しなくても、複数のファイルから補完が聞くし、フォルダ内の全てのファイルから検索、置換ができるのが良い。 ただし、ディスプレイが小さいと実際に開発できる範囲が小さくなるのは注意。 (苦労話: IDEは普通に使えるなら作業効率が全く違って、設定少なくても補完も他のファイルやライブラリから保管してくれるたりする。 でも、昔の環境だとeclipseはフリーソフトだけど環境整えるまでが辛いし、重いしで、開くとブラウザすらまともに操作できなくのが辛い。 だから、ブラウザでチュートリアルとか見ててもパソコンに待たされてストレスだった。 まともに使うには設定がめちゃくちゃ必要なのは実際疲れた。 (ac.jpのメールアドレスは必要だけど)学生無料なIDEでjetbrains製品があるけど、設定しなきゃダメなvimとかと違ってマウスで操作できるのがすごい良い。 端末ではコピペが簡単にできなくて、数は少ないけどよくあるミスが、間違えてcommandモードで貼り付けてやり直したり、vimのline numberの設定をいじらずにvimからコピペができる。 コレだけでイライラ具合が全然変わる。 )
おすすめ度:◎ 条件:図書館や図書室で本を注文できるか、本があるか できること: プログラムの能力が向上する。 おすすめされている本を探すと良い。 プログラム初学者なら、ネットだけで勉強するよりは効率がある。 とりあえず、やりたいことなくて、プログラム力をただ上げておきたい場合は、 競技プログラムやりたいとしても下の順番で進めると良いかもしれない。 あと、プログラムには自分が到達しているところまでで言うと、次の順で壁があって能力が足りないと行き詰まることがある。 >> 関数化 → クラス化 (→ ポインター) → 再帰 → 関数型言語 << 数年かけて勉強して次の段階に勧めないならプログラマは諦めたほうが良いかもしれない。 (能力が足りないのは上司も自分もつらくなるよ)
おすすめ度:○ 条件:1万円弱のお金 できること: ノートパソコンなら2個の画面を使えると作業効率が違う。 特に手打ち系のコーディング練習とかがめちゃくちゃ捗るようになる。 (苦労話: IDE系列は画面を割と占拠するので、ノートパソコンの狭い画面だと辛い。 でも大きすぎる画面だと持ち運べなくなるのでダメ。 画素数が上がればその分だけ小さく表現ができるので、画面サイズが同じでも画素数が違うとかなり大きさが違って見えたりする。 )
おすすめ度:○ 条件:学力があること努力すること、覚悟 できること: 奨学金を利用して環境を整えたり、時間が増えるから更に勉強できる。 プログラム関係もそれ以外も就職先が増える。 また、これからの転職したくなった時に逃げ道が増える。 欠点、国立は安いけど、入学にそれ相応の努力が必要。私立行けるなら、苦労してないと思う。 あと免除制度っていうのがあるから、そういうのも利用しつつ費用を安く上げよう
おすすめ度:○ 条件:年齢(か、親の同意) できること: ちょっとした電子払いができるようになる。 多重債務は起こらない。 欠点としては、定期払いはできないので携帯の契約とかはできないことに注意。
低スペックのパソコンしか無いのは、多分家庭環境のせいでもあって、
君がアルバイトもできるかどうかわからないし、アルバイトしてもそのお金が君のもとに入ってくるかはわからない。
お金も無限にあるわけじゃないし、時には経済格差を感じて辛くなることもあるだろう。
少ないお金の中でうまくやりくりして、それでも自分の力にしていってほしい。
(お金が潤沢にあるなら親を説き伏せることをがんばって)
応援してるよ。
とある業界向けに自社で開発した製品を売ってSIもやるし保守や購入後のサポートもやる。
自社製品は全て自社内で作るのではなく、製品の一部の機能のみをアウトソーシングしたりする。
ちなみにアウトソーシングした部分の設計書やコードはメールで一括送信方式。
(1)作業に使うPCのメモリ容量とディスプレイの画素数と枚数を教えてください。
4GBのCorei5のWindowsのノートPC1台。これっきり。
ディスプレイは余っていれば支給されるが余ってない場合は支給されない。
新たに購入したりレンタルしたりすることはない。
余ってるディスプレイも15インチくらいの昔ながらの正方形に近いタイプ。
(2)設計やコーディングや試験項目のレビューを行う体制が整っていますか? 「レビューをしてください」とお願いしたらしてくれるのではなく、組織としてレビューを行うように決まっていますか?
設計やコードレビューはチーム全員がやるわけではなく、レビュアーとレビューイ数人でやる。
同じ製品のチームであっても設計や実装の担当でない人はレビューには呼ばれない。でもリリース後はそんな呼ばれなかった人ががんばって保守をする。
知識や認識の共有、議論の場としてではなく間違い探しや足りない項目などを指摘することに時間の大半を費やしている。
コードをコミットしても(なおGitではない)、メールや口頭でお願いしないとレビューしてくれない。レビューしても何も指摘してくれない。
(3)開発用の仮想環境・試験用の仮想環境・本番の環境の3つは少なくとも用意されていますか? また、それらを構築するためのマニュアルが整備されていたり、スクリプト等で自動的に構築されるようにしていますか?
新しい人が来るたびに開発環境を整えるのに誰かがつきっきりで1日費やしている。
(4)派遣社員・契約社員・正社員を問わず、定期的に不満や改善してほしい点を吸い上げるためのミーティングの場を設けていますか?
(5)開発用のPCは、OSがWindows/Mac/Linuxなど選べるかどうか?キーボードがJISかUSか選べるかどうか?
Windowsのみ。稼働環境としてのLinuxやMacなはあるが開発環境としてなんて使わせてもらえるわけがない。
6)職場にウォーターサーバーはあるか? コーヒーやお茶などは無料か? また、椅子は1万円以下のものではなく、少なくとも数万円以上のものを貸与しているか? パーティションはあるか?
お湯は出る。椅子はどこにでもある背もたれの低いオフィス用の小さい椅子。多分4000円くらい。
(7)スーツや、ワイシャツ&スラックス着用が必須か? また、男性従業員のみがそうであって、女性従業員は比較的自由な服装か?
(8)言語のバージョンは、最新のメジャーバージョンに比べてせめて1世代前程度か?(例えばJavaなら7以上、PHPなら5.6以上か?)
東京都内で、一般派遣のPGとして何年か働いてきました。時給は2600円前後の案件が多かったです。(個人的にはもっと上げたいところですが、なかなか叶っていません)
SIer系(社内SE含む)は総じてクソだという印象を抱いていますので、バイアスがあるかもしれません。
どんな職種や就業形態であれ、何年かやっていると誰でも、「この条件を満たす就業先はアウトだから、ここで働いてはいけないな」という判断基準が自分の中で確立されてくるものだと思います。
自分のそのような判断基準を整理する意味合いも含めて、「就業先(派遣先)との面談の際、これを聞けば良いな」と思う質問項目を書き出してみようと思います。
typoはご容赦ください。
(1)作業に使うPCのメモリ容量とディスプレイの画素数と枚数を教えてください。
メモリ8GB未満→論外。「我々は、たかだか数千円の費用をケチって従業員の作業効率や快適性を下げているバカの集団です」と言っているも同然。
フルHD未満→論外。「我々は、たかだか1〜2万円の日用をケチって(同上)」
フルHD以上のディスプレイが1枚→可もなく不可もなく。ノートPCと外部ディスプレイ(フルHD以上)ならまあ可か。
(2)設計やコーディングや試験項目のレビューを行う体制が整っていますか? 「レビューをしてください」とお願いしたらしてくれるのではなく、組織としてレビューを行うように決まっていますか?
NO→論外。開発をする一個人が判断ミスや作業ミスをしたり、たまたま疲れていて良い判断ができなかったりした場合、責任が開発者個人に降りかかってきます。時給3倍くれるならともかく、2600程度でそんな責任を負いたくありません。
YES→OK
(3)開発用の仮想環境・試験用の仮想環境・本番の環境の3つは少なくとも用意されていますか? また、それらを構築するためのマニュアルが整備されていたり、スクリプト等で自動的に構築されるようにしていますか?
全てNO→アウト。開発環境を整備する能力もやる気も無い企業ということです。
条件つきYES→まあまあ良い。
完全にYES→すばらしい。
(4)派遣社員・契約社員・正社員を問わず、定期的に不満や改善してほしい点を吸い上げるためのミーティングの場を設けていますか?
NO→企業としての体を成していないので、行くべきではない。
(5)開発用のPCは、OSがWindows/Mac/Linuxなど選べるかどうか?キーボードがJISかUSか選べるかどうか?
NO→特定のOSでないと作業ができない程度の体制でしかないということなので、行くべきではない。
(6)職場にウォーターサーバーはあるか? コーヒーやお茶などは無料か? また、椅子は1万円以下のものではなく、少なくとも数万円以上のものを貸与しているか? パーティションはあるか?
NO→開発者にとって快適な環境を整えようという気が無い。行くべきではない。
全てYES→作業しやすい環境を整えようと言う意思は感じられる。好ましい。
(7)スーツや、ワイシャツ&スラックス着用が必須か? また、男性従業員のみがそうであって、女性従業員は比較的自由な服装か?
両方ともYES→わざわざ窮屈でダサい格好を男性社員のみに強いている上、公然と男女差別を行っている反社会的企業。決して行くべきではない。社会悪。
両方NO→合格
(8)言語のバージョンは、最新のメジャーバージョンに比べてせめて1世代前程度か?(例えばJavaなら7以上、PHPなら5.6以上か?)
NO→新しいバージョンにキャッチアップする能力が組織として備わっていない。注意を要する。
——
いやー皆さん景気はどないでっか儲かってまっか?
こっちはもう全然ですわ。
家系真っ赤で顔真っ赤ですわ。
真っ赤にしていのはスター欄やっちゅうねん。
景気といえば中国バブル弾けちゃいましたねぇ。
もう駄目になる時はあっという間ですよ。
実はですね私のプチバブルも弾けちゃったんですよ。
何のバブルかって?
ほんのちょっと前まで本当よく伸びてたんですよ。
打率打点は恥ずかしいから言いませんけど自分としてはかなりいい線行ってる時期でしたわ。
いやー辛いですわ。
皆さんはどないですか。
ブログでもツイッターでも良いですけどやっぱ自分以外の人のも伸びてて欲しいもんですわ。
どんな方向でもいいからモチベーションがカッカしてると毎日が違う!
くっだらないことでも目的意識があると日々が活き活きとするもんですよ。
空の色の鮮やかさが変わる変わる。
気分が落ち込んでる時とかモノクロとまではいかないでも気持ち16色ぐらいになりますからねえ。
いやー本当皆さん儲かって欲しいもんですわ。
センサーサイズの違いが無いといいたいのは、夜景の話しているからノイズのことだよね?
撮像素子・画像処理エンジンの進化は著しいから数年の違いが大きい。特に、2009年の裏面照射CMOSの登場は大きい。これ以前と以後のカメラで比べちゃだめ。
Pentax Q7は裏面照射CMOSを搭載しているから、低照度でのノイズが大幅に改善されている。
D50はAPS-Cサイズとはいえ、2005年発売のエントリーモデルのデジタル一眼レフカメラ。圧倒的に性能は不利。
Q7と同じ世代のカメラで比べれば、明らかにセンサーサイズの大きい方がノイズは少なく、ディティールもくっきりしているはず。
近年、関数型プログラミングの重要性はいろんなところで叫ばれています。
Javaの最新バージョンに関数型プログラミングに関する新機能が加わりました。
Rubyも昨今、関数型プログラミングへのサポートが手厚くなってきています。
プログラミングの教科書の大手、オライリー社から、Javascriptで関数型プログラミングを行うための解説書が発行されました。
関数型プログラミングへの注目度は高まってきています。
おそらく、みなさんは既にオブジェクト指向が何か、を知っています。
でも関数型プログラミングとは何か、胸を張って語れる人は、周りに見当たらないかと思います。
実際、オブジェクト指向によってプログラミングする方法は、わかりやすい解説があちこちにある一方で、
関数型プログラミングとは何か、何が良いのか、ということについての、よいまとめは見つけることはできませんでした。
この記事を読む方の中で、「関数型プログラミングを取り入れるか・取り入れないか」で切実に悩んでいる人は、おそらくいないでしょう。
この記事はあまり細かいところに立ち入りません。関数型プログラミングを使う側の立場に立って、利点や向き・不向き、それが導くスタイルを書きました。
みなさんは鳥のように飛んで、高い空から、関数型プログラミングとは何か、何が良いのか、を見渡してください。
オブジェクト指向的アプローチは、名前をつけてプログラムを整理する。
関数型プログラミング的アプローチは、汎用部品でなんとかする。
Googleが近年リリースした言語、Goには、”継承”を直接サポートする仕組みが無いことが話題になりました。
また、Mac OSXの基幹ライブラリCore Foundationは、ライブラリ自体はC言語で書かれているにもかかわらず、その設計方針は明確にオブジェクト指向です。
その本質とは"名前をつけて対象を識別し、それを扱うこと"、にあります。
最もプリミティブなオブジェクト指向の対象は、ファイルハンドラです。あるファイルを開いて、読み込んで、あるいは書き込んで、ファイルを閉じる。
これらの処理をまとめたら、わかりやすいですよね?
対象に関する処理を、対象の周りにまとめる。これがオブジェクト指向の基礎的な理念です。
識別することとイコールで比較できることは、とても良く似ています。
イコールによる比較は、オブジェクト指向では鬼門であることが知られています。
PointクラスのインスタンスとColoredPointクラスのイコール演算をどう決めればいいかに、正解はありません(詳しくは"effective java"をご参照ください)。
また名前をつけて識別する対象は、フワフワしていてはいけません。
たとえば、"軍人の階級"をオブジェクトにしたとしましょう。"大佐"クラスのある兵士は名前のフィールドや、性別のフィールドを持っているでしょう。
ところで彼が昇格したときに何が起こるでしょうか。
新たに"少将"クラスのインスタンスが作られます。"大佐"クラスを破棄する前に、名前、性別、その他沢山のデータを引き継がなくてはいけません。フィールドを増やしたい場合はその都度コードに修正を加える必要があります(*)。
なるべくイコール比較を避けたい。対象は不安定なものではいけない。では何に名前をつけて、識別するか。そこにオブジェクト指向技術者の熟練度が現れるのです。
一方、関数型プログラミングでは、特定の何かに名前をつけるより、極力、汎用部品でなんとかしようとします。
関数自体をリストなどのデータ構造に詰めることもよく行われます。
実は、関数型プログラミングというのは本質を表していません。
関数をはじめとして、リスト・ツリーのようなコンテナ、手続きを抽象化したもの、回路を抽象化したもの。
あらゆる対象を値として、合成し、ときに分解し、新しい値を作ります。
変数に適用する処理を作りあげることが、とても簡単だからです。
四則演算が定義されたデータを詰めたデータ構造もまた、四則演算可能だったり。
誤解を恐れずに言うと、オブジェクト指向がトップダウンなのに対し、関数型プログラミングはボトムアップです。
関数型プログラミングをサポートする言語には、沢山の汎用部品が定義されています。
このような構造をインターフェイスとして、様々なライブラリが組まれているので、
たとえばモナドを知っていれば、30分程度でパーサー(解析機)を理解することができて、
パーサーを理解できれば、JSONパーサー・ XMLパーサー・markdownパーサー・C++パーサー ... などを理解するのはとても容易です。
理解しやすいこと。これが関数型プログラミングの大きな利点です。
追記:
また、汎用部品と型のお陰で、ライブラリのドキュメントが圧倒的にひきやすい、というメリットも有ります。
Haskellな人がPythonにトライした結果 - Togetterまとめ
関数型プログラミングは「厳密な事前設計を必要とするため、簡単なことをやるのにも時間が掛かる」。
>> map (*2) [1,2,3] [2,4,6]
邪魔な”儀式”や、"おまじない"のコードが徹底的に撤廃されているためです。
関数型プログラミングのコードは、潔癖かつ濃密です。
たとえばC言語でint hoge(int x,int y)が定義されているとき、hoge(3)はなんの意味も持ちませんが(コンパイルでコケますが)、関数型プログラミングでは意味があり、実際に有用です。
上の例では、「掛け算をする」(*)関数は、二引数関数ですが、それに引数を渡して作られた「2を掛ける」関数(*2)は、一引数関数になります。
関数型プログラミングでは、「簡単なことは簡単にでき、複雑なことは複雑にできる。ただし、間違ったことは殆どできないか、全くできない」。
また、静的型付けの力によって、コード補完は非常に強力になっています。インテリセンスの比ではないです。
たとえば、関数中のある表記の型を任意に表示できます(GHC/TypedHoles - HaskellWiki)。
やがてやってくる未来には、プログラムをテキストエディタで書くことは時代遅れになっているでしょう。
統合環境のサポートで、バグやミスの少ない、スムーズなプログラミングができます。
そしてその環境で動くプログラミング言語は、関数型プログラミングをサポートした言語なのです。
以下の様な兆候を感じたら、あなたはそのプログラムを関数型プログラミングで書くべきです。
一般に、オブジェクト同士の相互作用が複雑になるほど、オブジェクト指向では手に負えなくなっていきます。
そういうときは、オブジェクトを直接扱わず、替わりにその"相互作用"を扱うことで、複雑さを軽減するアプローチが有効です。
それこそが関数型プログラミング的アプローチです。
特にオブジェクト指向が有効なのは、プログラミング初心者がそのコードをいじるかもしれないときです。
関数型プログラミングは、強固さと柔軟さの代償として、高い学習コストを伴います。
オブジェクト間の相互作用が複雑でなく、着目している(名前をつけている)概念が安定しているとき。
そして、プログラムをいじる人たちの間で共通理解が図れているならば、オブジェクト指向が有利です。
遅延評価という機能によって、レガシーな言語で扱えなかった、巨大な数を扱うことができます。
関数型プログラミングで書かれたプログラムは、正確さが要求される、金融関連の業界で使われています。
手続きとしてパーサーを記述できるので、テキスト処理プログラムはより理解しやすく、メンテナンスしやすいものになります。
関数型プログラミングを知らない人は、「正規表現でおk」と言いますが、
彼の書いた複雑な正規表現は、半年後には(書いた本人でさえ)理解できなくなっていることでしょう。
手続き一般を扱うことができるので、途中で割り込みのある手続きの表現も容易です。
関数型プログラミングをサポートしていない言語ではコルーチン(ファイバー)などをつかってなんとかするしかありません。
さもなくば、非並行処理では普通に関数として記述できるところを、並行処理のために、Builder,Strategy,Command,Interpreterパターンを駆使して書き直すことになります。
Javascript使いの方は、Deferredなどの構造を使うでしょう(http://qiita.com/KDKTN/items/4c6986049d204f0645d8)。
C++使いの方はBoostで頑張りましょう。破滅的に解りにくいコンパイルエラーメッセージと格闘してください。
もう少し簡単な例をあげます。
あなたは、あるレシピにしたがって、自動的に料理を行うマシンの制御プログラムを書いているとしましょう。
1. まず玉ねぎを炒める。
2. 飴色になったら、肉を加えて炒める。
3. 野菜を加える。
4. 水を加えて煮る。
5. スパイスを加える。
…できませんよね?何故ならば、各ステップの"間に"、マシンのロボアームの位置や動きを調整する処理が必要だからです。
これをオブジェクト指向でやろうとすると、各ステップの副作用として、それらの処理を行うことになります。
そうすると、マシンが二機に増えた時などの変更量は、絶望的なものになります。
あるいは関数として表現するのを諦め、手順全体をDSLで記述できるようにします。
このアプローチは関数型プログラミング的です。しかし関数型プログラミングをサポートした言語の助けなしでは、そのDSLを記述するために沢山のユーティリティーコードを書かなくてはならないでしょう。
オブジェクト指向的アプローチでこの問題をエレガントに解こうとすると、クラス化の粒度を上げる事になります。
野菜クラス、フライパンクラス、ボイルクラス、フライクラス、焼き加減クラス、アームクラス、野菜の大きさクラス、切り方クラス、焼き方クラス、"焦げたよ"クラス、etc...
こうすると早晩レシピはプログラムのコード上から消え去ることになります。上記のたった5行は、依存性注入のオブジェクトグラフを構築するコードに取って代わることになります。そこには沢山の挙動の制御がオプションとして付記されているのです。
カレーなど、ある種のレシピに限定することで、見た目の理解しやすさを得ることができますが、一方それは表現力を損なうことを意味します。
C言語などではマクロを使うこともできますが、それは結局、関数型プログラミング的アプローチの意味するところと同じになります。すなわち、補助のために沢山のコードを書くことになるでしょう。
iOSのAppstoreアプリは、"無料"と書かれたボタンを押すと、それが"インストール"ボタンに変わり、それをもう一度押すと、ダウンロードの進捗を表すインジケータに変わり、それを押すとダウンロードをキャンセルできます。
このように、位置は同じなのに、ステートに依って見た目と機能が変わるボタンは複雑です。
これをオブジェクト指向で実現しようとすると、
という下らない問題にぶつかります。
一方関数型では、"機能"、"見た目"、"状態"、を独立に扱って、それらを合成してボタンを作るので、迷うことはありません。
「同じ位置にあるUIオブジェクトは、コード上で(インスタンスとして)独立して、他から干渉を受けない」
この条件が満たされているうちは、オブジェクト指向でGUIを実現することに無理はありません。
しかし、携帯端末のような小さい画面で、多くの機能を達成するためには、UI要素はコンテキスト依存的に複雑になりがちです。
近年、PCのディスプレイの大きさは、頭打ちになってきました。
画素数は増えているのですが、MacにおけるRetinaのように、複数ピクセルでひとつのドットを表すようになってきています。
これは、ひとつの画面に置かれるボタンなどのUI要素の数は、これから先の未来で増えることはない、ということを意味します。
したがって、未来のGUIのプログラミングは、注意深く機能をピックアップして制限するというデザイナーの努力を脇におけば、
関数型プログラミングの力を頼るしか無いでしょう。
つまり…
Haskell さいこうなのおおおおおおおおおおおおおおおおおお!! おしっこ漏れちゃうのおおおおおおおおおおおおおおおおおおおお(゜∀。)ワヒャヒャヒャヒャヒャヒャ
1. google:すごいHaskellたのしく学ぼう を注文する。
2. Download Haskell を自分のPCに導入する。
3. コンソールにghciと入力して、対話型コンソールを立ち上げる。
4. 次の関数をコンソールに打ち込んで、結果を見る。即値で書かれているところとかをいろいろ変更してみて、感動する。
take 4 $ map (*2) [1..]
追記:
いかがでしたか?
ちまたには、関数型プログラミングの利点は変数が無いことだ、とか、より安全だから、とか、より速いから、などという妄言が満ち溢れています。
オブジェクト指向と関数型プログラミングは、水と油ではありません。プログラマは自分のプログラムに最適なアプローチを選ぶことができます。
一般にはあまり知られていないことですが、Haskellにもオブジェクト指向へのサポートがあるんです(Lensライブラリ、これを使用したサードパーティ製ライブラリも最近増えてきています)。
この記事を読んだオブジェクト指向プログラマのあなたが、少しでも関数型プログラミングに(そしてHaskellに)興味を持ってくださって、ホームセンターの大人用オシメのコーナーが大賑わいになれば幸いです。。