Similar to 実践・最強最速のアルゴリズム勉強会 第二回講義資料(ワークスアプリケーションズ & AtCoder)
こんにちはこんにちは!! 先日、ちょっとしたイベントで、学生の方にこんな質問をされました。 「自分は早くプログラマになりたい、作りたいアプリもある。 だけど来年にならないとプログラミングの授業が始まらないから、作れない」 と。 なるほど。 その時、ぼくが答えたのは、 「今日、家に帰ったらプログラミングしてください」 だったんだけど、言葉が足りなかったかもしない。 だからここに、もうちょっと詳しく書いてみますね。 アプリを作る、プログラマになる、一番手っ取り早い方法を。 1. 目標を立てる 作りたいものを思い描くということ。 いきなりすごいものを作るのは大変だから、最初の目標は少し抑えてちょっとしたものがいいね。 できれば、自分にとって便利なものや、少しワクワクするものがいい。 例えば、スマホで動くキッチンタイマーとかでもいい。 (これはワクワクしないかもしれないけど) 2. すぐに作り始め
最近、C言語のポインタは難しいって話をプライベートでして、そのときにした説明をまとめてみた。 コンピュータのメモリがどのようになっているか想像する これはHex Fiendというソフトを使ってあるファイルのHexダンプを見たものだけど、コンピュータのメモリも同じような構造になっているのでこれを使う。類似のソフトはHex Editorなどで検索すれば出てくるだろう。 コンピュータのメモリはこうしたずらずらと数値が記録されたマス目の連続のような構造をしている。Hex Editorなのでこれは16進数で表現されている。1バイトは16進数2桁で表現される。Hex Editorでは普通は1バイトごと、あるいは4バイトごとに区切って表示する。このエディタは一区画ごとに8桁の16進数があるので4バイトごと。 ポインタを使うのに重要なのはたぶん、こうしたメモリの内容を頭の中で思い浮かべることができることだ
By Robert McDon. 皆様こんにちは! 先日の記事『16万タイトルの AV の ID を dmm から集めた』の続きです。前回は IDBy Robert McDon. 皆様こんにちは! 先日の記事『16万タイトルの AV の ID を dmm から集めた』の続きです。前回は ID を集めたので、今回はそれを元に画像をもりもりとダウンロードします。 画像の処理とかにトライするのはまた後日。今回の記事はダウンロードまでです。 大量のデータを用いれば何か出てくるかもしれないという期待、楽しいですね。 そういえば前回の記事について「ビッグデータ」という言葉を絡めてコメントをいただきましたが、正直この程度ではビッグデータでも何でもないと思います。レコード数16万というのはデータベースとしてはたぶん特に多くもないほうです。また、今回ダウンロードした総データ量は107GBですが、一般にビッグ
2012年11月18日17:00 カテゴリ書評/画評/品評Art Don't be shy and show your code - 紹介 - Webサービスのつくり方 Webサービスのつくり方 和田裕介 出版社経由で著者より献本御礼。 こういうのもなんだけど、自著が上梓されるのと同じぐらいかそれを上回るぐらいうれしい。 でも、タイトルちょっとおとなしすぎたかな。 「Webで一人前になるための33のエッセイ」とか。 Webからただ受け取るのではなく、Webに貢献するために必要な秘訣が、本書一冊でわかるのだし。 本書「Webサービスのつくり方」、副題「「新しいを生み出すための」33のエッセイ」は、どこにでもいそうな(ちょっと|かなり)すけべな一青年が、いかにして一人前のWebサービスデベロッパーになったかの記録。 「我が事のように嬉しい」のは、その過程に私も一役買ってるから。 404 Blo
WinでVPSするのに必要なソフト 何はともあれPuTTY。PuTTYはVPSと通信する為のソフト。他にもTeraTermなどあるけど、よく分かんないならPuTTY。 Windowsのsshクライアント三強の個人的な比較 | 全自動ねじまき機 さくらのコンパネでサーバーを起動したらWinでPuTTYを起動してVPSを操作する。コンパネにある「リモートコンソール」は基本的に緊急時に使うもの。ちなみに私はサーバー起動後にさらに一回再起動しないとPuTTYで入れませんでした。 PuTTYでVPSのコンソールを表示するのが、Macにおける「ssh root@IP.ADD.RE.SS」と同じです。これでドットインストールをガシガシ進めます。 ドットインストールの該当範囲 さくらのVPSへ接続してみよう 作業用ユーザーを設定しよう 日本語確認で化けます。PuTTYの文字コードをEUCからUTF-8に変
男女の出会いの形は多種多様です。もちろん、求める形も人それぞれであることはいうまでもありません。 体だけの割り切った関係、パパ活、浮気、愛人希望など本当に様々な形、そして様々な属性の男女が異性との出会い、そして関係を作りたいと考えているわけです。 そして、こうしたニーズが数多くあるからこそ、ビジネスが生まれてきます。そして、合法的にかつ有料で出会いの場を提供していくのが会員制の交際クラブになります。 どんな方々が利用しているのか では、具体的にどんな方々が交際クラブを利用しているのでしょうか。もちろん、出会いを求める男女であることはいうまでもありません。 そして、どんな男女が?というのがポイントになります。まず、こうした交際クラブの登録にはもちろんのことながら、会員になるために会費だけではなく、条件が男女ともにあることはいうまでもありません。 男性側については、収入や社会的な地位がポイント
■内容紹介 現在、プログラミングコンテストは数多く開催されています。Google Code Jam、TopCoder、ACM/ICPCなどの名前を聞いたことがある人も少なくないでしょう。本書で扱うのはそれらのような、問題を正確にできるだけ多く解くことを競うプログラミングコンテストです。 プログラミングコンテストは気軽に参加することができます。例えば、Google Code JamやTopCoderはインターネット経由でコンテストが行われるので、Webサイトでの登録を済ませ、決まった時間にコンピュータの前に居れば参加することができます。 しかし、プログラミングコンテストの世界は非常に奥が深く、経験を積んだプログラマーであっても良い成績を残すことは容易ではありません。プログラミングコンテストで勝つには、柔軟な発想力と幅広い知識を用いて問題を解くアルゴリズムを考え、それらを正確に実装しデバッ
プログラミング言語は人が作ったもの。人は誤るもの。なので完璧なプログラミング言語は存在しない。 「人は誤るもの、しかし誤りに固執するのは馬鹿の所業だ。」(キケロ) プログラミング言語も、間違った設計をして、馬鹿でない人がそれを修正することの繰り返しで発展してきた。 というわけで言語間での設計判断の食い違いとか失敗した設計とかを収集中。一部抜粋して講義資料に入れるつもりなので他の事例をご存知でしたらぜひ情報をいただけるとありがたいです。 if(x = 0) C言語では代入が式であるためif(x == 0)のつもりでif(x = 0)と書いてしまい、常に偽になってしまう。 x = 0の値はint、条件式はboolでないといけないので型エラーだよ派: Java x = 0は式ではないので条件式に入れたら構文エラーだよ派: Python 条件式にx = 0をいれたらx == 0と解釈するよ派: H
いまさら聞けないiPhone/iPadアプリの作り方の基礎:SDKで始めるiPad/iPhoneアプリ開発の勘所(1)(1/4 ページ) 初めてiPhone/iPadアプリ開発に挑戦する人が、迷わず短時間でアプリを作れるように、数多くの情報の中から要点をグっと絞った開発の勘所を紹介する入門連載です 迷わず短時間でiPhone/iPadアプリを作れるように 皆さんのお気に入りのiPhone/iPadアプリは何でしょうか。筆者は、Googleカレンダーと同期してくれるスケジュール管理アプリがお気に入りです。いまでは目的のアプリを探すのも大変なほど、日々多くのiPhone/iPadアプリが登場しています。 6月8日にはiPhone 4の発表があり、マルチタスクやモバイル広告ネットワーク、ゲーム開発など、iPhone OS改め、iOS 4で実現できる機能がたくさん追加され、さらに魅力的になりました
気づいたことやミスしたことなどメモしていたので確認作業。細かい仕様だったり暗黙のルールだったり、テクニックだったり。JSに慣れていたら当たり前なことばかりかもしらん。 追記のところはid:os0xさんより。ありがとうございます! undefined var a; alert(a) // undefined 宣言だけだとundefined。undefinedというのは、宣言している変数に値が入っていませんよ、ということ。 そしてオブジェクトには無いプロパティとか参照すると出てくる。 var a = 100; alert(a.length); // undefined さらに引数も。 function func(val) { alert(val); } func() // undefined 引数はCallオブジェクトってのに格納される。このオブジェクトはローカルの変数が格納されるオブジェクト
はじめに 「マンガでわかるJavaScript」は、難しそうに思えるプログラムを、簡単そうに見えるマンガで解説するという初心者向けの入門講座です。 架空の高校生たちに教える形式で、プログラムの基礎から応用を、解説していきます。一通りのマンガを読めば、かなり実践的なところまで、プログラムを書けるようにしていきます。 (マンガは、左上から右下へと読みます) プログラムというと、けっこう大変そうに思えますが、この講座のテーマは「面倒くさいことを楽にする」です。面倒臭がりで、手抜き大好きの女子高生を主人公にして、楽しくプログラムを学んでいくことにします。 主な対象読者は「これからプログラムを学んでみたい人」「Webの世界に関わっていてJavaScriptを学んでみたい人」「昔JavaScriptを触っていたけど最新のトレンドが分からないので改めて学んでみたい人」などです。初心者だけでなく、Webデ
Programming Languages Google's Python Class This is a complete online introduction to Python programming, including writen materials, lecture videos, and coding exercises. The class is geared for people with a little bit of programming experience, and is used within google to introduce Python. Below are video-taped lectures from Google Video on various technology areas. These videos are great oppo
最強最速アルゴリズマー養成講座: そのアルゴリズム、貪欲につき――貪欲法のススメ アルゴリズムの世界において、欲張りであることはときに有利に働くことがあります。今回は、貪欲法と呼ばれるアルゴリズムを紹介しながら、ハードな問題に挑戦してみましょう。このアルゴリズムが使えるかどうかの見極めができるようになれば、あなたの論理的思考力はかなりのレベルなのです。(2010/9/4) 最強最速アルゴリズマー養成講座: 病みつきになる「動的計画法」、その深淵に迫る 数回にわたって動的計画法・メモ化再帰について解説してきましたが、今回は実践編として、ナップサック問題への挑戦を足がかりに、その長所と短所の紹介、理解度チェックシートなどを用意しました。特に、動的計画法について深く掘り下げ、皆さんを動的計画法マスターの道にご案内します。(2010/5/15) 最強最速アルゴリズマー養成講座: アルゴリズマーの登
いよいよ今回から、具体的なアルゴリズムの紹介に入っていきます。今回は、プログラミングにおける重要な概念である「探索」について考えます。グラフに変換し、探索する、という流れを知るとともに、そのグラフを効率よく探索する方法について紹介します。 今後紹介していくアルゴリズムについて お待たせしました! 「最強最速アルゴリズマー養成講座」という連載タイトルのとおり、今回の連載からいよいよ具体的なアルゴリズムの紹介に入っていきたいと思います。 しかし、それを読んでいただく前に、1つ注意してもらいたいことがあります。連載第3回でもお伝えしたように、「問題を、既存の適当なアルゴリズムに当てはめる」という考え方は、非常に危険である、ということです。 筆者の経験上、TopCoderでRedCoder以上を目指すのであれば、回答時間短縮のために、いままでのパターンを利用するのも方法の1つなのですが、本連載では
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く