刺身にタンポポ乗せる仕事ってきょうび言わねーな……。 プログラミングとは、勉強も運動もスマブラも下手なクソ隠キャ中学生が「俺もパソコン1台で凄い技術者になって…!」とワクワクしながら始めるものの思ったより普通に難しいし学校の試験で出たような知識要求されるしで3日で放り投げ、10数年後にnoteで「お前らは絶望的にプログラミングに向いてないからやめろ」なんて記事を書くだけのザコに成り下がる、夢と希望に溢れた技術である。 近年ではパソコンのスペックの上昇にともないできることも増え、どこのご家庭にもあるRTX2080で簡単にディープラーニングもできるようになった。Unityで3Dゲームをバリバリ動かしてもブルースクリーンは出ない。やっぱ世界を広げるのは小賢しい知恵よりもスペックの暴力だぜ。 開発環境や言語も選択肢豊富で、エディタもかつては有料クラスでも手に入らなかったような贅沢な機能が満載のもの
アルゴリズムを楽しく学ぼう! 独習に役立つWebサイト・参考書・競技プログラミングを紹介〈13選〉 プログラムの性能を改善して開発スピードを向上させるため、アルゴリズムを気軽に、かつ楽しく学べるWebサイトや書籍など、13種類のさまざまなコンテンツを紹介していきます。 アルゴリズム(algorithm)とは何なのでしょうか? 例えば、 Wikipediaにはこうあります。 アルゴリズムとは、数学、コンピューティング、言語学、あるいは関連する分野において、問題を解くための手順を定式化した形で表現したものを言う。 「問題を解くための手順を定式化した」とは、ソフトウェアエンジニアにとって「プログラミング」のことです。 みなさんも日々の開発業務において、問題(要件)を解くための手順を考え、その手順を特定のプログラミング言語で表現していませんか? アルゴリズムは、一般に「ソート(整列)」や「探索」と
4月からプログラミングを教える仕事を定期的に行っていて、集合研修という形が1つ、実験台としてプログラミングに興味がある学生の甥っ子に対してマンツーで教えています。自分の教えている内容がどう伝わるか、どんなイメージ絵を描けばいいのか、どの順番で説明すればよいのか。それらを検証するためです。 で、そんな中、甥っ子がポロッと漏らしました。 「おれ、やっぱりプログラミングのセンスが無いんだと思う。教えてもらっても全くわからないことが多いし...」 「ちげーだろ。お前は単なる練習不足にすぎない。2〜3回しか練習していないのに、どうやってオレと同じレベルで物事が判断できるんだって話。ちょっとしか練習してないのにセンスもクソもない。漢字の書き取りにセンスが必要か? 100回while文書いてみたか? 書いてないだろ? 」 「あ・・・(察し」 センスは練習不足の免罪符じゃない 彼が言っていたセンスがあると
ネット上ではSIer批判=技術のことをわかっておらずプログラムも書けずPMも出来ない非効率でダメダメな上流工程と、 人月単位での労働力提供という業界の慣習に縛られ、持ち前の優秀な技術力・知識を生かせず非効率な作業を強いられているかわいそうな下請け開発者、という構図が確立されているように思います。 自分が関わるまでは、まあそうなんだろうなと思っていましたが、しかし実際にそういう立場のひとと関わりをもつにつれて、どうもそうではないのではないかと思うようになりました。このあたりの実情を書いていこうと思います。 なお、先に言っておきますが本記事で書くことは、上流工程がどうのとか、業界の多重請け負い構造がどうのとか、給料が安くてとか労働条件が過酷でとか、そういう話とは全く関係がなく、純粋にプログラミングのスキルの話だけです。 対象はおもに詳細設計、実装UTだと思ってもらえれば。外部仕様が決まった状態
Photo by ITU Pictures こんにちは。谷口です。 プログラミング初心者の方々、プログラミングを学びたい方々は、普段どのような方法で学習をしていますか? 最近は、Web上でコーディングができるサイトや、プログラミングを学習できる動画コンテンツなど、独学での勉強に役立つサービスが増えてきました。そこで今回は、初心者でも独学でプログラミングの基礎を楽しく学べるサービスを11件ご紹介いたします。 ■初心者でもプログラミングして実行できる!学習サイト ◆1.Codecademy http://www.codecademy.com/learn 学習可能言語:HTML/CSS、Ruby、Python、PHP、JavaScript、jQuery 対応言語:英語(一部日本語) 料金:無料 Codecademyは、実行環境を構築しなくても、書いたコードを実行できます。サインインすると実際にW
ある正規表現に対して、特定の文字列がマッチするかどうかをチェックするツールやサイトは沢山ありますが、正規表現そのものが何を意味しているのか、どんな文字列を期待しているのかを解析・解読・説明してくれるツールやサイトってなかなか見ない気がします。 他人の書いた正規表現を見て、「ん?」ってなったことはありませんか? 例えばこれ。 1 ^[a-zA-Z0-9-_.]@([a-zA-Z0-9_-]+\.)+[a-zA-Z]{2,4}$ これくらいなら分かりますが、複雑になってくるとつらい… いつかはマスターしたいけど…今は楽したい。 そう思ってググってみると…ありました! それがこちら。 Regexper http://www.regexper.com/ 正規表現を入力して Display をクリックすると、その正規表現が表す内容を図にして表示してくれます。 例えば先程の正規表現は、当記事の一番上の
改訂:2014/10/20 備忘録としてまとめていきます。 今まで集めていた情報まとめていきます。 すでに読んだやつも今これから読んでこうってやつもまとめにまとめちゃいまっせ。 アウトプットも大事だけど、自分より先輩の方がアウトプットし続けて頑張って得た知見をあっという間にインプットできる"本"という形での学習も超大事なのです。 エンジニアとしての心得みたいな本 ハッカーと画家 コンピュータ時代の創造者たち 作者: ポールグレアム,Paul Graham,川合史朗出版社/メーカー: オーム社発売日: 2005/01メディア: 単行本購入: 109人 クリック: 4,884回この商品を含むブログ (594件) を見る YCombinatorの共同設立者の彼の本。 CODE COMPLETE 第2版 上 作者: スティーブマコネル,Steve McConnell,クイープ出版社/メーカー: 日
将来プログラマーやSEを目指してプログラミングを勉強している学生も多いと思います。 しかし「自分の技術では、会社の現場で通用しないのでは?」といった不安を抱え、なかなかインターンに応募できない人もいるのではないでしょうか。 そこで、自分の技術力に自信をつけるため初心者向けのオススメプログラミング学習サイトを5つ紹介します。 1. iTunes U https://www.apple.com/jp/education/ipad/itunes-u/ iTunes Uは、Apple社のソフト「iTunes」を利用した学習プログラムです。 世界26カ国の大学の講義の模様が動画で閲覧できます。プログラミング関連では、スタンフォード大学の「Programming Methodology(プログラミング手法)」や「iPhone Application Programming(アイフォンアプリのプログラミ
はじめに 僕がプログラミングを始めてから、もうすぐ12年になろうとしています。 この12年間、いろんな技術書を読んだり、仕事やプライベートでたくさんコードを書いたりしてきました。 最初に入ったSIerでは主にJavaを、前職の社内SE時代はC#をメインのプログラミング言語として使ってきました。 現在はRubyをメインで使っていますが、言語が変わっても、また何年経っても「これはあのとき学んだ知識が役に立ってるよなあ」と思う瞬間がときどきあります。 そこで今回はこれまでに読んだ技術書を一通り振り返り、「この本で学んだことは今でも役に立ってる」と思うものを17冊ピックアップしていきます。 おことわり (2014.09.29 20:00追記) このエントリのタイトルは「10年経った今でも役に立っている」という意味で付けています。「今から10年後まで役立つ」という意味ではありません。(紛らわしくてご
アルゴリズムを理解するのにビジュアル化することは非常に有効で、プログラムをビジュアル化することで理解が進むのもまた同じ。そこで、アルゴリズム・プログラミングの理解が進むようにと、アルゴリズムを記述したプログラムコードを一挙にビジュアル化することで、アルゴリズム&プログラミングを同時に学習できる一挙両得なサービス「VisuAlgo」が公開されています。 VisuAlgo - visualising data structures and algorithms through animation https://visualgo.net/en 上記のVisuAlgoサイトで試しにソートアルゴリズムの基本プログラム「バブルソート」をビジュアル化してみます。「Sorting」の「bubble」をクリック。 検索窓の下に「bubble」と表示されたのを確認したら「Sorting」の画像をクリック。
ダンジョンに潜る・・・チッ、ドラゴンだ。 こいつのファイアーブレス(火焔の息吹)が邪魔で先に進めない。 魔法を使うしかないようだ。 ハッカーだけに許された魔法を・・・ ソースコードを開き、該当する部分を書き換える。 さあて、ドラゴンのブレスはどうやってとめるのかな・・・ ここか・・・・ まったく、凄いゲームが現れた。 hackforplayがそれだ。 どういういきさつで産まれたかはわからないが、enchant.jsを使っていることは確かだ。 このゲームでは、最初から意図的にバグやソースコード上の罠が仕込まれている。 ゲームを進めるためには、バグを少しずつ修正しながら前に進むしかない。 このバグが、またうまくできていて、丁寧にバグをとっていく過程でプログラミングの基礎的なことが自然に学べるようになっているのだ。 この教材を作ったのはDaiki Teramotoさん。 たぶん面識はないが、こん
先日ドットインストールへ遊びにいってみた。を書いてみたら、なんとドットインストールさんのメルマガにご紹介して頂き、寝ている間に実質開設してから3日とは思えないアクセスがあった。 ありがたしありがたし。 このチャンスを逃すものかと(貧乏根性発揮して)初心者向けにおすすめのgoogle apps scriptの魅力と実際の作成過程を説明するブログを書いてみたい。 ちなみに私もようやく入門したといえる程度の初心者レベルですので、他により効率よい方法があるとは思います。 が、初心者が目にするリアルな工程や面白さをご紹介して、ぜひ4月の自分のような知識まっさらだけど興味があってどうしようと悩んでいる方のためになる記事にできればと思っております。 GASは文系必須スキル。 さて、まずはGASがオススメである理由をその便利さ・気軽さ・習得しやすさの3つの側面から説明してみる。 便利:下手なライフハック
プログラミング言語には様々なものがありますが、その中でも比較的人気なのがPHPです。PHPはHTMLファイルに直接記述できるスクリプト言語であり、その手軽さや言語自体のわかりやすさなどから、主にWebサービスの制作でその人気を獲得しています。 PHPは他の言語に比べてとても簡単な仕様となっており、初心者でもすぐにマスターすることができるものです。そして、同じプログラムを書く際でも複数の書き方が可能になっており、使用者に合わせた柔軟性も兼ね備えています。 そのような様々な書き方があるならば、なるべく手短でスマートなコードの書き方をマスターしたいものです。コードをスマートに記述することは以下のメリットがあります。 見やすくなることで保守・管理性の向上 コード量の短縮 記述時間(制作時間)の短縮 組織でのプログラミングルールの簡潔化が可能 このようにメリットが様々あるので、同じプログラムであれば
Pythonを使ってこの方さまざまな点につまずいたが、ここではそんなトラップを回避して快適なPython Lifeを送っていただくべく、書き始める前に知っておけばよかったというTipsをまとめておく。 Python2系と3系について Pythonには2系と3系があり、3系では後方互換性に影響のある変更が入れられている。つまり、Python3のコードはPython2では動かないことがある(逆もしかり)。 Python3ではPython2における様々な点が改善されており、今から使うなら最新版のPython3で行うのが基本だ(下記でも、Python3で改善されるものは明記するようにした)。何より、Python2は2020年1月1日をもってサポートが終了した。よって今からPython2を使う理由はない。未だにPython2を使う者は、小学生にもディスられる。 しかし、世の中にはまだPython3に
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く