静岡理工科大学情報学部コンピュータシステム学科菅沼研究室のページです.主として,プログラミング言語( HTML,C/C++, Java, JavaScript, PHP, HTML,VB,C# ),及び,システムエンジニアとしての基礎知識(数学,オペレーションズ・リサーチやシステム工学関連の手法)を扱っています.
昨日、@irofさんと飲みながら自分を思い返すと「ちゃんとソフトウェア開発を勉強しはじめてから3年間たった」つまり「@bleisさんを知ってからこの5月でまる3年間たった」 それまでの僕はデザインパターンもオブジェクト指向がなんたるかも、バージョン管理もなにも知らなかった。 毎日言われたことをこなす仕事をして、変えたいけど誰も教えてくれないし、学び方すら教えてくれなかった。 それなりに努力してたけど、よくはわかっていなかった。 そんな状態から抜け出したのが3年前。このブログの先頭でも書いた。当時僕は21歳かな。(ちなみに就職したのは19歳のとき) →【このブログをはじめるきっかけ - うさぎ組】 この3年間でやったことをふりかえってみようと思いました。 ちょっとわかりにくいだろうけど、2009年5月からの12ヶ月周期で書いてみます。 こうやって振り返るのはあくまで僕のためであって、何かを誇
大きく挙げたのは7冊なので、7日の休みで1日1冊ですね! 連休の間に読んでおいて、友達に差をつけよう! うっかり、先輩にも差をつけちゃえばいいと思います。 プログラムを組むとはどういうことか 本を挙げる前に、まずプログラムを組むとはどういうことかということを考えておきます。 ざっくりとした説明なので、だいたいこういう感じ、だと考えてください。 その上で、どのような本が必要かを考えて、本を選んでいきます。 以前描いたものですが、プログラムを作るということと各分野の関係はこのようにあらわせます。 まず、プログラムは最終的にユーザーに使ってもらうためのものです。 ただ、ユーザーはプログラムを直接使うことはできません。プログラムはハードウェアで動かす必要があります。そして、ユーザーインタフェースを介してユーザーが使います。 (ハードウェアからプログラムへの矢印は逆のほうがいいですね) このような、
Python | 10:08わたしはプログラマーではありませんが、いくつかの仕事でテストコードを見たり書いたりすることがあったので、その過程で思ったことをメモとして残しておきます。コーディングとテストを分けて工数を言う癖をやめようどっちもコードを書くのだから分けて考える必要はないテストコードの重要性は理解しているけど、工数も厳しいし客がテストコードを書くことに工数を割くことを認めてくれない。ありがちな話ですが、それがテストを書かないことの根拠であるならば少し考え直しましょう。コーディングとテストを異なる工程と考えるのをやめてしまえばそんなことに悩む必要はなくなります。つまり、「テストを書きながらコーディングする」のです。だいたい、普段プログラムを書いているときだって手元で動かしながらものを作っているでしょう。それと同じことをプログラムを書いてやればいいだけです。客がテストを書かせてくれない
[追記]本エントリは2012年のものです 2019年1月現在おすすめの学ぶ方法は Ruby on Rails チュートリアル:実例を使って Rails を学ぼう をやることです。こちらは有志によって作成・翻訳されている素晴らしい教材で、RailsだけでなくGitやテストといったことも学べます。盛りだくさんですのでおすすめは最初はGitやテストについては無視して1周やってみて、わかったらそれらも含めて2周目をやるという方法です 以下オリジナル記事 前回のエントリは僕が新しく請求書管理サービスmisocaを手伝ってくれる人にRailsを教えたときに思ったことだ。(追記:その人はプログラミングは十分わかってる人だ) 一応アンサーエントリとして、次に教えるならこうするというのをメモしておく 準備 Windowsで開発しない(Windowsの人はVMWareなどでUbuntuとかのLinux環境をい
エンジニアという職業柄かシェルスクリプトを書くことはちょくちょくあるのですが、自分なりに気を付けていることを備忘録&自分への戒めも含めて、簡単に書いてみたいと思います。 変数は大文字 シェルスクリプト書いていれば変数の出番は至るところであるでしょう。その際、可読性を増すように、変数は大文字を使っています。 RET=`cmd1`みたいに。好みの問題もあるでしょうが、分かりやすいので。 クオテーションは選ぶ クオテーションにはシングルだったり、ダブルだったり色々ありますが、使い分けておいたほうがよいでしょう。 変数の展開がないようであれば、シングルクオーテーションのほうがスマートでしょうし、展開があるのならダブルクオーテーションを使えばと。 ダブルクオーテーションを使うのにも意味があって、変数は「$RET」のようにクオテーションで囲まなくても動作はたいていするのですが、 echo "${RET
2018-09-24 映画#4 「グレイテスト・ショーマン」の時代(81点) 映画について グレイテスト・ショーマン (字幕版)発売日: 2018/05/09メディア: Prime Videoこの商品を含むブログ (1件) を見る 採点 81点 名言 最も高貴な芸術とは、誰かを幸せにすることだ。 The nobelest art is that of making others happy ひとこと(ネタバレ無し) … 映画#4 「グレイテスト・ショーマン」の時代(81点) 2018-09-24 映画#3 ダークナイトとヒース・レジャー(80点) 映画について クリスチャン・ベール、マイケル・ケイン、モーガン ・フリーマン、ゲイリー・オールドマンといった素晴らしい役者が揃いながらも、ジョーカーを演じたヒースレジャーが凄すぎて、あまり頭に入らない。 一つ気になるのは、長い割に、トゥーフェイス
仕事としてコードを書くようになって3週間が経ったので ここらで所感をまとめてみたいと思う。 ベンチャーと大手企業の違いみたいなことを書いてもいいんだけど、 正直今のところ「あまり変わらない」印象。 それもそのはず、現職もエンプラ向けの仕事。 SIと仕事のやり方はかなり似ている。 ので、純粋にプログラマとして思ったことを。 スパゲッティコードとの出会い この3週間で触ったのはウチの会社で改修・保守をやっているシステムの バッチや管理画面の細かい修正など。 コードは全てPHPだった。 この辺は一番経験のある言語だったので助かった・・・と思った。 が、意気揚々とソースを見て愕然とした。 処理ベタ書きのずらずら続く手続き型の処理は序の口。 関数を定義する代わりにベタ書きスクリプトを外出しにしてrequire 意味不明な変数名 同じ処理をしているはずなのに名前だけ違う関数達 無計画なテーブル定義 業
The page you are trying to reach does not exist, or has been moved. Please use the menus or the search box to find what you are looking for.
コンニチハ! 変態アドベントカレンダーです。 http://atnd.org/events/22020 ※ アドベントカレンダーとは、クリスマスまでに毎日日替わりで窓を開けていくカレンダーのこと。 それにちなんで、日替わりでblogエントリを書くのがアドベントカレンダーです。 オブジェクト指向 ってよく聞きますし、実際のところ何がすごいの?? って思ったりしてる人も多いでしょう。 抽象クラスって何よ!? インタフェースとかどうやって使う? とか そういう初心者向けアーンドもう一度学びたい人達に変態を例に説明してみましょう。 うだうだですけど、最後まで読んでいただければ幸いです。。。 まず、オブジェクト指向は何が嬉しいのか?ってところですけど、 処理を共通化し、生産性をあげる!! ということではありません。 もちろんそういう一面もありますが、これぐらいならオブジェクト指向を使わなくても十分で
2011年11月08日10:22 カテゴリ 自分の周りに居る凄腕プログラマーが実際に読んでいる本 こんにちわ、VOYAGE GROUPでエンジニアをしている伊織といいます。 RubyKaigi2010/2011でスタッフをさせて貰ったりしています。 他にも渋谷rbランチなどに顔を出させて貰っています。 弊社の先輩エンジニアは勿論の事、RubyKaigiのスタッフをやらせてもらったりShibuyarblunchやLispコミュニティでうろちょろしているお陰で僕の周りには凄いプログラマーが沢山います。そこで、周りの凄腕プログラマーが実際に読んで「良かった」と言っていた技術書を幾つか挙げてみたいと思います。自分で手を動かしてやった本は僕の感想も添えます。 計算機プログラムの構造と解釈 クチコミを見る 有名な魔術師本。MITで長年教科書として使われてきた本です。今はPythonなので違う筈。今やっ
はじめに こんにちは、Python界の情弱です。ちょっと前にOCaml系のエントリを色々と眺めていたらYaron Minsky氏のエントリを見つけたので翻訳してみました。 OCaml for the Masses - ACM Queue Yaron Minsky氏はJane Streetで第一線で活躍されるエンジニアで、Jane Streetの技術ページをはじめ多くの場所でOCamlに関しての知見を語ってくださっています。 Jane Street Tech Blogs 本エントリはJohn Hughesの名エントリ「なぜ関数プログラミングは重要か」を受けてACM Queueに寄稿されたものの日本語訳です。 なぜ関数プログラミングは重要か Why the next language you learn should be functional YARON MINSKY, JANE STREE
この記事で、アルゴリズムの勉強はアルゴリズムカタログを覚えることじゃないよということを書きました。 プログラムの理論とはなにか アルゴリズムの勉強というのは、スポーツで言えば腕立て伏せや走り込みみたいな基礎体力を養うようなもので、「ソートなんか実際に自分で書くことないだろう」とかいうのは「サッカーは腕つかわないのに腕立ていらないだろう」とか「野球で1kmも走ることなんかないのに長距離の走り込みいらないだろう」とか言うようなものです。 Twitterでアルゴリズムの勉強とはなにかと尋ねられて、「アルゴリズムの基本的なパターンを知って、それらの性質の分析のしかたをしって、いろいろなアルゴリズムでどのように応用されているか知って、自分が組むアルゴリズムの性質を判断できるようになることだと思います。 」と答えたのですが、じゃあ実際どういう本で勉強すればいいか、ぼくの知ってる本からまとめてみました。
プログラムには、手続きを記述するという側面と、式を記述するという2つの側面があります。 そして、それぞれの基礎理論としては、チューリングマシンとラムダ計算があるので、プログラムの理論としては、この2系統を勉強する必要があると思います。 ラムダ計算というのは、式によってどのような計算ができるかという理論です。式による条件分岐はそれほど難しくなく、Yコンビネータなどの不動点定理で、式によって繰り返し処理が行えるということが証明されたので、どのような計算でもできるということになっています。 チューリングマシンの理論とは、どのような手続きがどのような性質をもつかという理論です。プログラムの性質というのは、ある出力を行うプログラムが、入力に対してどのように時間がかかるか、どのようにメモリを使うかというものです。そしてこれがアルゴリズムの理論になります。 ところで、ぼくはブログで「アルゴリズムを勉強す
Shed SkinはPythonのコードをC++に変換するコンパイラ。 Shed SkinはPython製のオープンソース・ソフトウェア。プログラミング言語というのは世の中にたくさん存在する。コンパイルする言語もあれば、スクリプトとして実行されるものもある。どれが好きかはプログラマー次第だが、仕様によって言語の選定がしぼられることも多い。 変換処理 そうした言語間の垣根を越える技術もたくさん登場している。言わばランタイムを実装する系統のやり方だが、もう一つ別な言語に置き換えてしまうものもある。その一つ、PythonをC++にしてしまうShed Skinを紹介しよう。 Shed Skinはまだまだ開発中であり実用レベルという訳ではない。だが幾つかのプログラムでは実際に変換ができるようになっている。Pythonでは変数は特定の型を宣言しないため、Shed Skinでは型推論を用いている。また、
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く