string name; cin >> name;

そこら辺によくいるソフトウェアエンジニア。 高校時代にプログラミングを始め、バイト時代…

string name; cin >> name;

そこら辺によくいるソフトウェアエンジニア。 高校時代にプログラミングを始め、バイト時代に紙情報のシステム化を立案・実装した後未経験でエンジニアになり、システム、携帯ゲーム会社を経てアメリカの大学院に留学。CSのMaster(修士)をしてフリーランスをした後AI/ロボット業界へ。

最近の記事

データ構造その5(Deque)

前回はBagとStackを見ました。 しかし、リリースがあったとは言え、週3回の授業の1回分に1ヵ月かかってるので、少しペースを上げたい…。 今回はDequeを見ていきます。 動的配列の復習利点 それぞれの要素へのアクセスが容易 必要に応じて拡張される ユーザー(プログラムを書く人)はメモリ管理を意識する必要がない 動的配列を使ったStackの復習追加削除は一番上の要素に行う 時々容量が増加する 削除の処理はO(1)の計算量で行える 追加の処理もO(1)の

    • データ構造その4(Stack&Bag)

      さて、前回からデータ構造そのものに入りましたが、楽しんで頂けているでしょうか? 前回は動的配列を扱いました。可変長配列と言われたりもします。英語ではDynamic Arrayですね。 今回はStackとBagのインターフェースと動的配列を使った実装を見ていきます。 StackのADT定義 後入れ先出しでデータ要素を扱うコレクション。 積み上げた皿のように後に置いたものを先に取る構造です。 操作 Stackへの要素追加 Stackから要素の削除 Stackのto

      • データ構造その3(動的配列)

        赤ちゃんの成長を見てると、もはや進化に近い気がしますね。 まだまだ泣いてばかりだけど、日々新しいことができていく姿に一緒に笑って一緒に学んでいきたいな、と。子供のいる人生って大変だけどすごく楽しいです。これからどんなことに興味を持って、どんな人を好きになるのか。この子の育つ世の中を少しでも楽しくしたいと思います。 まぁ、自分の子供だからかわいいわけで、電車で降車客押しのけて席に座ろうとしたり、ランドセルをぶつけてくる私立小学生とかは普通に邪魔くさいのですが。 さて、前回は

        • データ構造その2(抽象データ型)

          乳児がいるとなかなか時間が取れないですね。 非技術側のブログで不確実な話で誹謗中傷する人達に辟易して記事書いたり。ホント、ネットリンチとかする奴らに成功体験を与えてはいけないんですよ。世論はそんなところにはないし、あってはならないので。それはカスによるカスハラ至上主義の世界。会社で憶測で文句や悪口ばかり言ってる社員の意見を貴重な意見として考慮するか、というと、まぁ、毒社員として扱われますよね。なんでネットの意見だけ攻撃的でも世論とするのか。駅でだけ毎日発生する体当たりしても気

        データ構造その5(Deque)

          データ構造その1(計算量)

          年の瀬になりました。データ構造第一回は計算量です。1回目2回目は短めのイントロみたいな感じ記事で、それ以降個別のデータ構造の話になります。今回の話は個別の構造から参照される形になる予定です。 計算量はメインではAnalysis of Algorithmsとかアルゴリズムの授業でやったりしますが、データ構造でも、どのオペレーションでどの構造が効率的かを語る上で必要になります。"めっちゃ速い", "なんか遅い気がする"とかは理系の言語ではないし、動かしてみて確認とかは物理じゃな

          データ構造その1(計算量)

          スタートアップとストックオプション

          夏に子供が産まれててんやわんやの日々です。やっぱり笑顔が出だすと可愛さが一層増しますね。仕事ではデータサイエンティストみたいなことをやっていて、勉強の日々だけど、楽しい。 更新遅れまくってますね。意外と留学話の反応良くて驚きです。その続きと、データ構造の最初の記事として計算量の話を書こうと思ってますが、今回はストックオプションの話。以前のポストで外資系大手が目指せない(学位とかが問題の)人はスタートアップで上場を目指すのもあり、と書きましたが、日本最大の悪の組織財務省がスト

          スタートアップとストックオプション

          文系エンジニアが大学院(CS専攻)留学した話(1)

          データ構造の前に留学の話の第1弾、準備編。リスキリングにやっと動き出しましたが、未だに日本では大学を出て働いた後に大学に戻ったり大学院で専門的な知識を付けようという人が少ないです。この記事が本当の意味のリスキリング(なぜか政府の想定は専門学校やプログラミングスクールを想定してそう)に繋がると嬉しいです。 どうでもいいですが、プライベートでは第一子の長男が生まれました。 自分の子供の頃の写真見たらだいぶ似ててびっくり。睡眠は大変ですが、変顔見て夫婦で毎日笑ってます。 留学前

          文系エンジニアが大学院(CS専攻)留学した話(1)

          IT業界の人々

          毎日、電車に乗っていると仕事では絶対関わらないような人達がいっぱいいて、何やら動物園にいる気分になりますね。ドア脇(実態は出入り口の端)に立って、人の通る方向に向けてスマホやバッグを突き出す人とか。そもそもほぼ片方しか開かない路線でそこまで混んでないのにドアを1/3とかふさいで突き出したスマホに夢中な人とか…。知り合いに見られたら恥ずかしいものでもないのかねぇ。ゲームで顔真っ赤にして連打してる人とかね。 今回はIT業界の人達です。これは最初から上位層の強々ガチ勢でなく、ずっ

          コンピューターサイエンス概論#7(8/10週目)

          怪我があったり、確定申告したり(住宅ローン控除1年目とかの)、冠婚葬祭やらで1ヵ月スキップに…。 前回は関数の使い方、ループと再帰の違いや、その際のメモリの使われ方に触れました。変数も関数もメモリの使われ方が見えてくるとだいぶプログラミングでも靄が晴れて視界が良くなると思います。 ちなみに、この記事は海外の某大学のカリキュラムに沿って10週間の授業の内容を紹介するような感じで、これ全てでコードが書けるようになるものを想定していません。一時期、プログラミングスクールのステマ

          コンピューターサイエンス概論#7(8/10週目)

          コンピューターサイエンス概論#6(7週目)

          年初から色々立て込んでおり、毎週更新予定が月1に…。 おかげさまで残暑の頃にはうれしいご報告ができるかもです(筆者の状況なんてどうでもいいかもですが)。 流行り病もなんだかアホみたいな議論してますね。リスクの評価をインフル並みにするならインフルと同程度の対策すればいいわけで、リスク評価を下げてるのにまだ感染するかもしれないから油断できない!とかさ…。感染しても大半の人には大したことないですよ、という話なので、「感染しないことに全力」でなく、「感染したら休もう」程度になる話で

          コンピューターサイエンス概論#6(7週目)

          コンピュータサイエンス概論 #5(6週目)

          [2023/02/07] 参照渡しに関してconst参照の話を追記 年末年始はクリスマス前に風邪を引いて(流行病ではない)ぐったりしてました。 5週目はMidterm(中間テスト)で復習とテストだったようです。アメリカでは多くの授業で真ん中の週でMidtermを行いますが、行わないコースもあるし、6週目や7週目でやった上でFinal(期末テスト)の代わりに課題を出すコースもあります。FinalはFinal weekとして10週目が終わった後に通常と違う時間や場合によっては

          コンピュータサイエンス概論 #5(6週目)

          コンピュータサイエンス概論 #4(4週目)

          振り返り前回 は、switchとかループに関しての週でした。ちなみに取り上げませんでしたが、Rustなんかだと、 loop { <statement>;} というループもあります。当然breakしないと無限ループになります。 Reading課題この週は例外処理とか関数を取り上げます。下記を読んだ上で授業を受けるものとしてReadingの宿題が出ます。 下記pdfのChapter3 http://greenteapress.com/thinkcpp/thinkCS

          コンピュータサイエンス概論 #4(4週目)

          コンピュータサイエンス概論 #3(3週目)

          コンピュータサイエンスの学部で最初の学年に、基本的に最初に取る授業の内容の紹介の連載3回目です。プログラミングスクールのアフィリエイトで誘導したい人が「大学でCS専攻してもプログラム書けない」と言ってたりしますが、CSの最初の授業でどの程度の知識や実装力を最低限として習うか紹介してみようかな、という感じです。 また、プログラミングスクールよりはやや深めにコメントしていくので理解を確認して頂ければ。 振り返り前回は で条件文辺りまでいきました。その過程で型がどんなものか、

          コンピュータサイエンス概論 #3(3週目)

          コンピュータサイエンス概論 #2(2週目)

          先週末急に地方に行くことになり投稿遅れました。 というかあまり需要ないですかね? まぁ、とりあえず、連載として残しておきます。 Lecture 3課題の振り返り climitやsizeofを考慮する必要があるのは何故か 桁あふれやメモリの観点でのデータに使えるbit数 何故cmathのpowは浮動小数点へのキャストを求めるか bit表現のexponentの話 この辺はコンピューターからのデータの見え方を意識する必要性を理解すると良いと思います。なぜを考えるとアルゴ

          コンピュータサイエンス概論 #2(2週目)

          コンピュータ・サイエンス概論 #1(1週目)

          今回はコンピュータ・サイエンスの授業についての紹介です。 コンピュータ・サイエンス学習マップで詳細に解説し過ぎていたので切り抜いたものを土台にできた記事です。 自分が受けていないので、授業スライドと課題からの紹介です。概論の概略というもやっとした話ですが、これがアメリカの中堅大学の1年で最初に取る授業ということで、ご参考にして頂ければ。 1年目最初のプログラミングの科目でコードを書くだけでなく、こういう知識も一緒に学ぶ、と思っていただければ。独学系インフルエンサーは座学を否

          コンピュータ・サイエンス概論 #1(1週目)

          お前は何者か

          内容が重めになってきて(海外大学のコースカタログから図を作りつつ、履修していないコース含めコースの英語ページを読みながらサマリー作るとか)更新滞ってしまっています。こちらプロフピン留め用というか、かっちりした記事ばかりになると筆が遅くなってしまうので軽めの記事も混ぜて行こうと思います。例えば、初心者のよくある悩み、勉強に何のコードを書けばいいかわからない、など。 まずはプロフィール用のお前は誰だ記事です。エンジニアとして為になる話としての情報量はあまりないです。どんな人が書