終わりましたね。
試験は二科目で、プログラミングと筆記があったのですが、プログラミングはまぁまぁそこそこ。筆記はいまいちという感じであわせたらとんとんかちょっと悪いかくらいかなぁという感じです。
結果は神のみぞ知る。
なんかすごくよく使うので実装してみた。よく考えると単純に再帰で実装できることにきづいて10分くらいでちょちょっとかいてみた。
def make_comb(array, num)
return [[]] unless num > 0size = array.size
ret_arr = []
(size-num + 1).times{|ind|
ret_arr += clonecker([array[ind]],make_comb(array[(ind+1)..-1],num-1))
}ret_arr
enddef clonecker(array1, array2)
array2.map{|item|
array1 + item
}
end
例えば、make_comb([1,2,3],2)とやると[1,2][1,3][2,3]が得られます。ほとんど同じ方法で順列も作れます。
言われて、コンピュータ科学の問題を見てみたら見慣れた問題がたくさんあって、いまさら若干後悔してます。
こんにちは。はらじゅんです。
受験科目にプログラミングというものがありまして、あんまし深いこと考えずにそれを選択したわけですが、システム作るのとかは得意ですが、正直あまりアルゴリズムとかに詳しいわけでもなく、どうしたもんかなーと思いとりあえず対策をすることにしました。
ICPCの問題を解くといいらしいといううわさを聞きつけ、ICPCに挑戦した友達に聞いたところPKUをお勧めされました。
いわゆるオンラインでプログラムを採点してくれるあれです。あとはtop coderとかその辺。
とりあえず、全問題を紙に印刷して傾向分析からいこうと思います。こんなことするの大学受験以来だな・・・・
あとiPhone Developer programに登録しました。これでiPhoneアプリが開発できます。しかし一ページ目から穴だらけで、「さすがアップル・・・・この突っ込みどころの多さ・・・!」と思う一方で、どんな人でも使えるiPhoneという存在をキープしつつ自由に開発させるという若干矛盾した命題をクリアするのは大変なんだろうなぁとか思いました。
とりあえずNDAがあるらしいので深いこというのはやめましょう。
ちょいちょいいじっていきたいと思います。
で、何の宣言かというと、結局プログラミングの試験というのはアルゴリズムの試験なので、勉強したアルゴリズムをちょいちょい書いていこうかなと思います。
ん?けど敵に塩送ってもしょうがないんだよなー。んー。まぁアルゴリズムだけかくならいいか。
そんな感じでゆるいけどもしばらくそういう感じでいきたいと思います。
iPhone買ったのでメールサーバをimapにしようと思い新しくレンタルサーバを借りました。
まずimapサーバって何ですか?という話ですね。
メールサーバには大きくpopとimapというという仕組みが存在しています。
popはたくさんの人に使われている方式で、基本的にメールサーバからローカルにメールをダウンロードし、サーバ上のメールを削除する使い方をします。
メールサーバ上の領域をあまり食わないので多くのレンタルサーバでこっちが採用されています。
一方でimapは基本的にサーバからメールを削除しません。
既読/未読の管理もサーバ上で行います。フォルダわけなどもすべてサーバ上で行われます。
送信済みのメールなどもすべてサーバ上に残ります。
そのため私のように常時2,3台のPCでメールを書いたりiPhoneでメールの送受信をする人にとっては大変便利です。
実はこのimapはgmailでも対応していて、普通のメーラ+gmailで同じことができたりします。なのでわざわざサーバ借りることなんかないのですが、まぁそこは趣味の問題です。
そして先にあげたcoreserver。ディスク15GBで年間6000円という激安サーバな上、imapにも対応ています。一週間テスト運用でメールのやり取りをしてみましたが問題なく動作するので契約しちゃいました。
このコアサーバはvaluedomainと運営会社が同じです。domainも爆安なので自分が持っているドメインは大体ここでとっています。
ただ、この会社は玄人向けであることが若干否めません。他社のVPSなら簡単クリックで終わりそうなものとかも全部自分で設定しなくてはいけません。
自分は趣味でDNSサーバ立ててわけわかんない設定とか一時期やってたのでそんなに苦はなかったですが。
ちょっとPCに自信があるという人でiPhoneをお持ちの方は、この組み合わせはお勧めです。
テスト中ですね(ほとんどの人には関係なさそうですが・・)
どうでもいいけど綾戸智恵が好きです。
とても楽しそうに歌うんですよね。なんかゴスペルとかと同じ感じがする。楽しいことも悲しいことも楽しくしてしまえるという感じがすごくする。
テストとか社会の何チャラとか、いやだいやだとそんな話ばかり聞きますが・・・・・って、なんか俺の周りはそうでもない気がしないでもない気がするけど・・・・こういう感じに気持ちよく物事が進めばいいのになといつも思います。
ちょっと幸せな瞬間ですね。
雑感。テストの出来があまりよくない気がするorz先学期結構取れたからちょっと油断してるな・・・・
レポート返却がなぜか俺だけ指導教官に呼び出され「くっ・・・・手抜きにもほどがあったか・・・・!」とビクビクしながらいったら、そういうわけでもなくて、「ここってこういうわけじゃなくて?」という、根本的になんかの論理的誤りでした。反省。
遠くから見ると非常に卒論風なレポートです。近くで見ないでくださいw
一応俺もちゃんと勉強してたんだなぁ・・・・
雑感2
今日久しぶりに考えてるシステムもろもろを話してみたところ、「それは面白い!」ということになったものの、「ぜってー売りにくいよなそれ」という話になった。
とりあえず自分が持ってれば非常にすばらしいツールであることは間違いないんだけど、ぶっちゃけ「もっと便利になろう」というのはよほどモチベーションある人だけなので、そういう意味では売れる気がしないというのは本となんだよな。むー。
ただ、なんかいろいろとヒントを得ることができた。ありがたし。
久しぶりに大ヒットだった。
まぁグーグルがやるのはビジネス上(多分)無理なのがわかってるので、あのうっとおしい質問「グーグルがそのうちやるんじゃないの?」には明確に答えられそうでよかった。
と、いうか、冷静に考えればぐーぐるだって無尽蔵にお金を持ってるわけじゃないので「物理的な可能不可能」と「ビジネス上実行可能」とかは分けて考えないとだめだとおもうんだよな。
それ聞くほうはちゃんとわかってるんだろうか?
どうせまた聞かれるんだろう(ぉぃ)と思うのでpwnage(jailbreak)について簡単に警告というか、注意点を書いておこうかなと思います。
主には以上3点です。
まずiPodTouchをjailbreakするだけなら、少なくとも日本であれば、appleが訴えてこない限り大丈夫なわけですが、iPhoneの場合携帯なのでそれを改造した場合電波法だかなんとか通信法だかに抵触する可能性があるみたいです。(うわさレベルなので未確認ですが)
少なくとっもハードウェア的に改造する場合はアウトで、ソフトウェアはグレーゾーンなんだそうな。
いちいちつかまることはないと思いますが、余計なことはしないほうが身のためでしょう。すくなくともjailbreakの話をするときはそっと身内でしたほうが無難そうです。
これにともなってiPhoneがpwnageに失敗した場合のリスクも若干高めです。金銭的リスクだけならたいしたことないですが、上の件と絡めると少々リスクが高いように感じます。
CPUが云々言う人いますが、メモリサイズが小さい(らしい)ところも注意です。
jailbeakすると常駐アプリを起動することができますが、もちろん常駐するということはメモリを食います。
safariがよく落ちたりするのは、何が原因なのかはわかりませんが、大量にメモリ消費すると落ちる傾向があるように感じます。
少なくともiPhoneの安定運用を考えるなら、アプリケーションのインストールには気を使ったほうがよさそうです。
最終的に「リセット」という最終手段が使えるのなら大丈夫ですが、使えなかった場合に少々ディザスターです。
とりあえず、jailbreakした人で、iPhoneの全機能が安定して使えることがわかるまでは、素人の方にはあまりすすめません。
追記:
すべからく自己責任なので、止めることも特にしないんだけどね・・・・
一応まだレポート終わってないので詳細なのは再来週くらいにまとめるとして、格安のimapサーバ(15GB!)を発見したのでそこを実験で使っています。
とりあえず全部のメールのコピーを転送して様子見中。
やっぱりiPhoneはimapでこそ進化を発揮する。gmailでもいいジャンって話もあるし、それはまったくそのとおりなんだけども、そこは単に趣味の問題。
「そんなのめんどいしお金かかるじゃん」とか言われるけど、そこは単に感覚の違いで、「その程度めんどくさくない(設定するだけ20分くらい)し、お金もかからない(imap使えるだけのレンタルサーバ代はごみ)」という感じです。
だったら好きなドメイン使えて、好きなサブドメインまで設定できて、無尽蔵にメアド作れるほうがお得じゃないか!(ほんとか?)
まぁなんにしても、おれはサーバ何台持ってても使い道はあるんだよね・・・・最近時間ないから3台(と、言っても自作のPCだけど)ほど放置されてるけど・・・
自由な発想の話。
ちょっとネタですがこの動画を知り合いに教えてもらった。
http://www.nicovideo.jp/watch/sm3515017
なんと言ったらいいのか。ほとんどのことは用意されてるAPIつかって箱庭の上でプログラミングしてればたいていのことはどうにかなるし、それで評価される世の中なのに、こういう発想をして作ってしまうところにすごく個人的に感動を覚えた。
これがなんの役に立つのかとかよく知らないけど、こういう発想力と行動力が世の中の人全員に身につくと世界がもっと愉快になる気がした。
変換スピードが遅いとかそのへんの話がいろいろ出てるけど、根本的に連文節変換がないケータイとか(文字を色々入れる人なら)ありえない
はて。これは本当なんだろうかという話。「必要」というのが「これなけりゃiPhoneとか買う価値なさ過ぎる」とかいう意味ならそんなことはないと思う。
(個人的に「必要」ということばは数学的な何かを思い起こさせるのでかなり強い単語に聞こえる)
実は学科の友達も「連文節変換ないのがだめだ」と言っていたのだけど、言われるまで気づかなかったくらいに自分には不便がなかった。
というかPCとか電子機器に対してユーザビリティの点を期待したことがなかったのはあるかもしれないが・・・・たいていの場合人間がUIに順応していくもので、個人的には人間の操作を矯正するのもひとつのUIの設計なんじゃないかなと思っていた時期もあります。
そんなはなしはどうでもよくて。
先のリンク先のブログの書いてあることに誤りはないし、文句もない。しかし、「じゃぁ予測変換があったら使いやすかったのか?」に対する考察がないのはいただけないよね。と、思った。
(例に漏れず駄目だしだけしたところで、それってただの感想文だよねという話。大学で一番怒られる点。)
とりあえず、連文節変換がなくて不便であることは認める。長い文章打って一発で変換してくれればそれはそれは気持ちいいと思う。
まさにDOSの時代に一太郎+ATOKに出会ったときの一発で変換できたときの気持ちよさに似ている。
けど、じゃぁ一発変換できなかったらどうするんだろうね?
もちろん単語の区切りを再設定して、そこから変換することになるんでしょう。
では、ここからが問題です。「どのくらいの精度で一発変換できると思いますか?」「あのiPhoneのインターフェースで区切りの再設定って容易だと思いますか?」
まず一発変換の精度。定量的な比較は難しそうですが、いくつかの文章をmacのことえりで変換してみましょう。
○もももすももももものうち → 桃もスモモも桃のうち
○となりのきゃくはよくかきくうきゃくだ → 隣の客はよく柿食う客だ
×論文投稿の期限を延長した旨メールさせていただきました → 論文投稿の期限を延長した胸メールさせていただきました
△申し込みを完了する → 申し込み・申込み・申込 などのバリエーションがある
○はっせいほうとせっとくりょく → 発声法と説得力
×工学研究科機械工学専攻 → 光学研究か機械工学専攻
これ以外にもやりましたが、ほとんどの文章でいけました。×になったのは適当にメールから拾った文章で、とりあえず意地の悪そうなのを適当にピックアップしただけなので、かなり恣意的であります。
次に「iPhoneで区切りの再設定は容易か?」という問題。
「変換が誤っている」というのはいくつかのケースに分けられることが観察できます。
今回簡単に試したレベルではほとんどが前者でした。後者もたまにありますが、よくわかんない長い長い学術用語みたいのか、口語っぽい文章で無い限りは無いようです。ひょっとすると若い人の文章は後者多いかもしれませんね。
前者の場合はどうやって修正するのでしょうか?iPhoneには矢印キーがないので、おそらくタッチしてカーソルの場所を動かすことになるでしょう。
該当の区切り箇所にもって行き、そこでスペース(変換)をタッチして正しい候補を選ぶ。たとえばこういうインターフェースが想像できます。
では後者の場合はどうでしょう。
ことえりではshift+矢印キーで単語の境界を切り替えることができます。ではiPhoneではどうしたらいんでしょうか?
まず、iPhoneには矢印キーがないのでことえりと同じ方法は使えません。
次に単語の区切りの再設定モードを作ることを考えてみます。たとえばダブルタッチした場合とか。
すると指でなぞった部分が単語の切れ目として再設定されるというのが想像できます。しかし、iPhoneのタッチの精度は高いと思うものの、テキスト編集エリアで正しく選択できるほどセンシティブではないように感じます。(少なくとも私は)
こういうことから考えると、連文節変換の一番のネックは「一発で変換できなかった場合で、かつ、単語の区切りがあっていない場合」であることが想像できます。
もし、人間が連文節変換のないインターフェースに順応することが可能であるとすると、こんなややこしいインターフェース実装するより、連文節変換実装しないほうが便利であるという可能性が出てくるような気がします。
なんにしても、連文節変換で正しい変換がされなかったときの修正を簡単にやる方法が思いつきません。逆に言えばこれさえあればiPhoneに実装されるんじゃないでしょうか?
以上は仮説なので、所詮実証実験するまでは仮説なんですが・・・・
まとめると、
これら3つのことは仮説でしかないのですが、実証実験をすることは可能です。実験の仕方もいくつかアイディアがあります。
だれか批判ばかりではなくてこういう建設的な実験してくれる人っていないのかなぁ?(タダでやる人は神な気がするけど)
なんにしても、「連文節変換がないと不便」であることは認めるものの、「あったとしても有効かどうかはかなり疑問」というのが個人的な意見です。
すくなくとも人間が順応で着るならそっちのほうが便利そうであることは確かです。
追記:
なんにしてもiPhoneが最初から不便であろうことはわかっていたのに、そこをつっつくのはなんかなぁというきがする。
自分の周りでは「まず契約の時点でソフトバンクが落ちて契約が手間取る」とかいうあたりから、ネタではあるけど、予想してた。
なんにしても、プログラムが組めて、ある程度浅くではあるがITにかかわっている身として注目しているのはandroidです。
あれはビジネス的な点でフワフワしてるのでいまだになぞですが、携帯OSのなかでは一番リナックスに近い存在です(まぁリナックスなんだけど、ライセンスやオープンソースという点で。iPhoneってappですらおーぷんにできないよねぇ?)
世間も3Gの登場で世界的に通信方式が統一してきたし、少なくとも国内は統一しつつあります。
携帯の価格あたりのハードスペックも上昇しアプリケーションが自由に開発できるところまで着ました。
じゃぁあとはPCと同じ展開になるんじゃないでしょうか?
キャリアごとの設定部分(SIM?PCだとBIOSとか)とOSが分離して、OSも自由に入れ替えられる。インターフェースもマルチタッチが普及しちゃえば、どのOSでも扱えるようになりますよね?
そもそもOSの低レイヤー部分でインターフェースの差異を吸収しちゃえば大丈夫でしょう。PCだっていろんなキーボードつなげるのと一緒です。
昔の汎用機とかの時代に詳しいわけではないですが、なんかおじさまがたの昔話を聞いてると同じことがおこっているように感じました。
あなたはどう思いますか?
追記2:
現状、app入れた程度でなにもカスタマイズしてないので、iPhoneの有用度とことん低いです。
とりあえず何人かに自慢して優越感に浸ったとかでしょうか・・・・
自分の場合、情報端末として使う目的が高いので、その辺のカスタマイズを徹底的に(時にはコーディングもして)やらないと役に立たないという・・・・
たぶん作ったものは公開しないけど。(iTunes storeに出すほどクオリティあげるのめんどくさい)
削除してみました。なんとなく飽きてきたというのが大きいような。
泥カンってのをざっくり説明するとこれ。これをustで眺めてました。
なんというか、結局泥の部分をまったく語らないまま終わってたので、なんで「泥になるのか」ということと、それはSIerとかといった業態とは関係なく、単に経営的にその会社が泥なだけなんだという話と、そんなの関係なく自分が何をしたいのか考えろという話をしてみようと思います。
泥っぽいところを昔見たり体感したりしました。泥っていっても色々ありそうなので具体的に書くと・・・
ぱっと思い出せるのはこんな感じですね。大体こんな感じの理由で帰れなかったりとか休みがなくなったりとかします。
けどこれって実は経営努力が足りないってだけなんですよね。
そもそもAM2時なんて完全に業務時間外です。そりゃリリース前とか緊急時の電話とかはしょうがないと思いますが、基本的にそうでないものは受けるべきではないわけです。
そもそも徹夜作業になりそうなときは双方計画的に?というか、すくなくとも事前に宣言してやるようにするのが標準です。
単にここは仕事とプライベートのバランスを自分で図ればいいだけ。ほうれんそう?とかいうのをしっかりしてればいいんでないでしょうか。(いまだにできないと怒られるが・・・)
だいたい夜中に連絡が来て困るとか言ってる人は、そもそも連絡がとりづらい人が多いです。不思議ですね。
仕様追加も経営努力で何とかなるように思う。
交渉上不利なのはもちろんわかってますが、それでも交渉するから経営とか営業の価値があるのかと。
金銭的な面で相手が握っていることはもちろんですが、少なくともお客さんから見ればこちらはITのエキスパートです。
こちらがこうだと言い切ればたいていとおります。「前の人はやってくれた」と言った感じでほかと比べられることもありますが、妥当な料金設定とそれを説明できるだけの資料を用意しておけば、たいてい「おれはここまでやっててこの値段。妥当でしょう?いやならほかに頼んで」で通じます。
あくまで「値段設定が妥当」であることが大前提ですが、プロジェクトが途中まで進んでる状態で、他に頼んだとしても値段が大して変わらないんであれば、プロジェクトの途中で仕事が切れることはありません。
切れたことがないわけではないですが、その場合はきりのいいところで清算してました。
ちなみに相手がITのエキスパートである場合、ちゃんと仕様きってくれることが多いのでそんなにおかしなことにはならないというのが実感値です。
見てて一番かわいそうなのは「営業だったのにSEもどきをやらされてる人」で、何か頼まれたときにそれが世間でどういうものなのかということや、実際開発がどうなるのかが判断できない上、判断できないのに判断させられてるのでプロジェクトがぎりぎりになります。
しかしそこはさすがに営業の人というか、底値はキープするんですよね。泣けばすむ程度で済ませます。まぁ結局泣くんだけど・・・・
仕様があいまいなまま発注しようとする人がいます。まぁどんなにつめたところで変更には絶対なるんですが。
IT系のプロジェクトには2種類あって、大きく委託契約でやるべきものと受託でいいものがあるように思いました。
新興のベンチャーとかで、その会社の事業になるようなものは絶対に受託で受けてはいけません。受託は最初に仕様をつめてそれを納品することで対価をいただくわけですが、どんなにがんばって決めても仕様が変わります。
逆にがっちがちに決めることも気合入れればできますが、相手の会社の事業計画が変更になる場合に間違いなくそこがボトルネックになります。
笑い話ですがその会社そのものがデスマーチ化しますwww笑ってるけど当事者的には笑えません。
こういうのは業務委託として受けるのが正解。プロジェクトが安定してきたら、契約の中身変えるとか、その辺は臨機応変にやっていいんでないでしょうか(こういうのは小規模だからこそ簡単にできるのはありますが)
話がどんどこそれましたね・・・・
ようは言いたかったのは、経営判断する身からすると、泥泥になるのは業界的なものもさることながら、適切な判断ができていないからであるように思います。
まぁこんなこといっても就職する人とかにはあんまし意味ないんだけどね。どうせ判断なんか10年くらいできないんだから。
自分は身をもって体感してしまったので、ああするとこうなるとか、こういう人はああだとか、感覚的なものはあるんですが、そういうのって体感しないとわからないんですよね。
起業ゲームとかいうのをこの前やってきましたが、こういう現実的なところをもう少し盛り込めば楽しいしためになるのになぁとか少し思いました。(そのゲームは確立計算さえ間違わなければそこそこ儲かる感じだった)
実際こういう経営努力的なことを自分ひとりではじめて、試行錯誤を繰り返し、ちょっとずつ改善していったらだいぶ泥っぽいことはなくなりました。
少なくとも自分の場合、泥になってたのは仕事のプロトコルをまったく理解できていなかったところにあったみたいです。
自分の場合、これはまずいとおもってひょいっと抜けちゃいましたが、世の中には根本的に気づいていない人とか、気づいててももうやめられない人とかたくさんいます。
で、なんでこういう話かって言うと、ちゃんと考えないといけないのは「どの業界が泥」とか「SIerが泥」とか「ベンチャーが泥」とかってことじゃないんだよね。
どんなことしてても「泥」な会社は「泥」なんです。SIerが泥な気がしているのは、たんにそういう人が伝統的に多いってだけでしょう。
実際自分の先輩はSIerなのに定時帰宅してます。むしろその人はそれが悩みだったりもするので世の中難しいですね。
もう一度繰り返しますが、ちゃんと個々の事例について見ることをお勧めします。見るのは結構難しいですが、それなりに方法はあります。
そして、自分が何をしたいかというところについては、もっと慎重に考えたほうがいいのかと思います。
どこいったって一生楽なまま過ごせる会社はレアでしょう。なんにしても多少の不満は出ます。それに対して「御社は泥なんですか?」と聞いたところで「泥ではないけど、泥な事もある」という返事が返ってくるのは当然ですね。
「あいまいな返事」という処世術が身についてる社会人相手だとなおさらでしょう。
はい。というわけでした。
蛇足:
なので、「受託をしない」というのはこれだけだと50点ですよね。経営者としては受託だって立派な手段の一つでしょう。
「仕事がないから受託する」はNGですね。これはやめたほうがいいと思います。がんばれ営業。
とりあえず、「うちは受託をしないんだ!」を同じ人から3回くらい聞くと「web2.0(笑)」といってるように聞こえます。俺だけかな。
それにしても、怪我しないでまともに経営を学ぶ方法ってないもんかね。MBAとかいらないけど、今書いたような初歩の初歩みたいのは何とかなりそうなものだけども。