タグ

*プログラミングに関するchibijumperのブックマーク (28)

  • 最小限のコードで動く最も汚いコードから始める

    最小限のコードで動く最も汚いコードから始める 2023.09.02 コードを書く際の重要な要点は、読みやすく他人に理解される「良いコード」を書くことです。しかし、完璧を目指して最初から書こうとすると行き詰まります。代わりに、荒削りながらも動くコードを作成し、徐々にリファクタリングして完成度を高めます。型エラーやリントエラーを無視しても構わないので、まずは動くものを作成しましょう。それからリファクタリングして「良いコード」を作成できます。 コードを書くときに最も大切なことってなんだろう?聡明な読者諸君ならご存知だろうが、コードは書く時間よりも読む時間のほうが長い。だから他人に読まれることを意識して、読みやすい「良いコード」を書かなくっちゃならない。コンポーネントは適切な粒度で分割されていて、適切な名前がつけられている。型システムに安全性だって守られてるし、最新のなんとかアーキテクチャにも準拠

    最小限のコードで動く最も汚いコードから始める
  • 夏の学習会〜テクノロジー活用講座〜|クマハル

    【ワークショップ】 スノーボール →一人ひとり色が違う紙に夏楽しかったこと書いて、真ん中に捨てる。違う色の紙を拾って、一人ずつそれを読む。 ・学びのサイクル 『つかむ→探る→試す→振り返る』のローテーション basic skills learning:薄っぺらい内容のドリルで練習問題を黙々とやってる。 higher-level learning:深い学習 collaborative work:共同学習 highly engaged:深く思考している、応用している ・教室で一番声を出しているのは? ・教室で一番動き回っているのは? ・教室で一番質問しているのは? ・教室で一番考えているのは? →今の授業のあり方は、先生自身もこうやらなくてはいけないという固定観念があり、それが子供たちへの来のあるべき学習という姿から離れてしまっている。 ・Poll Everywhere https://tr

    夏の学習会〜テクノロジー活用講座〜|クマハル
  • Introduction to Algorithms

    現代社会において解決すべき問題 工学上の問題 数学的な問題 社会学的な問題 その他いろいろ 現在では,問題がどんどん複雑で大規模になる傾向 解決のための道具としての「コンピュータ」の必要性 超高性能コンピュータを使ったとしても,手順(アルゴリズム)が良くないと... 問題解決まで膨大な時間がかかる(詳しくは ここを参照) そもそもちゃんとした解を求められない アルゴリズムに対する研究の重要性 各種問題に対する効率的なアルゴリズムの開発 一般的なアルゴリズムの理論的振る舞いの研究 実際の問題に対するアルゴリズムを見てみよう!! データの並べ替え(ソート) 最短の経路を求める 巡回セールスマン問題 おわりに 京都大学のアルゴリズム工学/アルゴリズムデータベースのページ

  • プログラミング未経験者が JavaScript でプログラミングを始めるまでに必要なこと - IT戦記

    (執筆中) (文章の練習も兼ねてぐだぐだと執筆中、現時点で読んでも日語になってないと思います。) (執筆途中だけど、こうしたらいい!とか、アドバイスがあれば教えてください><読者みんなが編集者!とか言ってみる) (あ、はてな記法のパッチを送ってくれてもいいです^^) (ちょっと、 Shibuya.JS in Kyoto → PHP カンファレンスがあるので、次の更新はそれ以降になるかも) 自分の知り合いに「まったくのプログラミング未経験だけど、自分のウェブサイトを作ってみたい!」という人がいるので、プログラミングを始める前に必要な知識や心構えや準備などを書いておこうと思います。もちろん、最初に使う言語は JavaScript です。 この文章は、プログラミングまったくの未経験者が読んで分かる文章を目指しています。もし、分からない部分がある場合は指摘してください。聞いてください。自分で調べ

    プログラミング未経験者が JavaScript でプログラミングを始めるまでに必要なこと - IT戦記
  • 誰もがプログラムを作成できる「Iceberg」登場:コラム - CNET Japan

    かつて、テクノロジに詳しい人だけがコンテンツを作成し、インターネットに公開する方法を知っていた時代があったが、使いやすいブログ、CMSシステムの登場が時代を変えた。今日では、誰もが情報を発信できる。そして今、「Iceberg」がこれと同じ大衆化をプログラミングにもたらしたいと考えている。それが、誰もがプログラマーになる「Web 3.0」構想だ。 2008年、まだプライベートベータ版だったときに、Icebergを取り上げたことがある。当時、共同創設者のWayne Byrne氏は「ソフトウェア戦争」を宣言していたが、今なお戦いは続いている。Icebergでは、どんなユーザーでもシンプルなDIYツールを使ってウェブアプリケーションを作成できる。そして、誰もが作り方を学べるように、Icebergは無料で提供されている。無料版は最大5ユーザーまで対応しているが、6人以上の場合、1ユーザーにつき200

    誰もがプログラムを作成できる「Iceberg」登場:コラム - CNET Japan
  • 研究授業 - 2学期第7週 : パケット交換(改変) - 情報科授業研究

    3~6時限で1年「情報B」の授業をおこない、最後の6時限目が研究授業でした。研究協議の講師として都立駒場高等学校の天良和男先生に来ていただきました。普通教室でできる体験教材をテーマにした研究で、単元は「パケット交換」でした。授業の流れは以下の通りです。「パケット」って何だと思いますか?packetを辞書で調べようパケット交換体験生徒にヘッダ用紙を配り、送信元と送信先を記入させるあらかじめ用意したデータ用紙を配るヘッダ用紙とデータ用紙を4等分させ、それぞれ1つずつテープでとめさせる(これをパケットとする)パケットをすべて回収する。すべての生徒を円状に座らせて、パケットを1つずつ回していくパケットが自分宛であればその場にとどめ、そうでなければ隣の生徒に渡す。受け取ったパケットをヘッダに書かれたパケットのIDを元に組み立てるパケットの構造の説明コンピュータ・ネットワークではデータをパケット化して

    研究授業 - 2学期第7週 : パケット交換(改変) - 情報科授業研究
  • | ^^ |秒刊SUNDAY | ずばり!コレさえあればWebシステムは完璧なAjaxサンプル集

    2008年06月04日 ずばり!コレさえあればWebシステムは完璧なAjaxサンプル集 今までCGIやPHPなどで制作してきたフォームや、投票システム、掲示板などは、PerlPHPが動くサーバが必要となりましたが、Ajaxであれば、どここでも、CGIやPHP並の動的なコンテンツが作る事が出来ます。是非使いまくりたいものです。 ◆ Ajax RSS リーダー ■Ajax RSS reader RSSリーダは色々ありますよね。 ◆Ajax アップローダー ■AJAX file upload tutorial PHPでもCGIでもあるアップローダー。 ◆Ajax キャプチャー ■Using AJAX with CAPTCHA - AJAX Security Part 3 of 3 - waelchatila.com ◆ Ajax デスクトップ ■MuseStorm The profession

  • 1日で作る全文検索エンジン - Building a full-text search engine in "ONE" day - - とあるはてな社員の日記

    最近、「Introduction to Information Retrieval」というStanfordの大学院向け教科書のドラフトを読んでいます。id:naoyaあたりが勉強会で読んでいる教科書です。この教科書には、効率のいい全文検索システムを作るにはどうすればいいか、という(まさに)教科書的手法が網羅的に書いてあり、そのあたりに興味がある人には、非常に興味深く読めるお勧めのです。 ただ、面白い面白いと言っているだけでは、エンジニアとしては価値半減ですので、GW中にrubyで一日かけて実装してみました。 さすがに実装は、一日で作ったものですから、非常に素朴です。マルチバイト文字はbi-gramで、シングルバイトはスペースなどの区切り記号で認識しています。インデックスは、rubyの処理系のHashやArrayで保持しており、外部にMarshallで書き出す、というものです。検索エンジン

  • 教えることの難しさ - ぼくはまちちゃん!

    こんにちは! いきなりだけど教えることって、すごい難しいと思いませんか! とくに初心者に教えることが…! なんていうか、初心者にこそ当に上級者クラスの人があたらないと、 ちゃんと教えられないんじゃないかなーって、いつも思っちゃうよ。 だって初心者の人は、いつも当にとんでもないことを聞いてくるよね。 もうね、自分みたいな中級者なんかじゃ「それはそんなもんやねん」としか答えられないことが多いよ! ぼくそんなことまで知らないのに! それはたぶん、初心者だと自分の知りたいことの範囲すら、まだ理解していないからってこともあるのかな。 だから基から応用、あと関連知識みたいなところまで広く深くカバーしている上級者でないと、初心者相手には、きちんと答えられないことが多いのかもしれないね。 それとも、どうせ相手はわかってないんだから、そこまでキッチリ答えなくてもいいかな。 うん。中級者相手に教えるのな

    教えることの難しさ - ぼくはまちちゃん!
  • MOONGIFT: » 必見!GUIアプリケーションもこれでWeb化?「Jsc」:オープンソースを毎日紹介

    ※ 画像は公式サイトデモより このソフトウェアはすごい。やりたいことも、できていることも分かるのだが、どうやっているのかがさっぱり分からない。GUIアプリケーションとWebアプリケーションでは越えられない壁が存在すると思っていた。いくらAjaxやJavaScriptを駆使しても、GUIアプリケーションの操作性にはかなわない。 ギャラリーアプリケーション だが、それさえも軽々と乗り越えてしまいそうなアプリケーションが登場した。 今回紹介するオープンソース・ソフトウェアはJsc、C#やVisual BasicのコードをJavaScriptにするソフトウェアだ。Sourceforge.net上でのライセンスはPublic Domainとなっているが、ダウンロードできるパッケージに含まれるlicense.txtには個人利用に限るフリーウェアとなっているので注意されたい。 実際、そのようなことができ

    MOONGIFT: » 必見!GUIアプリケーションもこれでWeb化?「Jsc」:オープンソースを毎日紹介
  • New Generation Chronicle:小飼弾--35歳からのプログラミングこそ無上の至悦 (1/9) - ITmedia エンタープライズ

    小飼弾――35歳からのプログラミングこそ無上の至悦:New Generation Chronicle(1/9 ページ) 豊富な実績で多くの開発者を先導する存在になりつつある人物を取り上げる「New Generation Chronicle」マエストロスレッド。こちらの第1回は、ブログ「404 Blog Not Found」などでも知られる小飼弾氏だ。 次代の開発者の素顔と、その交友関係をソーシャルグラフ化する目的ではじまった「New Generation Chronicle」。斉藤のり子さんにはじまった「Web2.0系スレッド」、井上恭輔さんにはじまった「バイナリアンスレッド」に引き続き、すでに豊富な実績で多くの開発者を先導する存在になりつつある人物を「マエストロスレッド」として紹介していきたい。現在、大いに名が知られる彼らがたどってきた道と、経験によって養われた見識からは、次世代の開発者

    New Generation Chronicle:小飼弾--35歳からのプログラミングこそ無上の至悦 (1/9) - ITmedia エンタープライズ
  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
  • 404 Blog Not Found:プログラマーでなくても名前ぐらい覚えておきたいアルゴリズムx10

    2007年11月26日18:15 カテゴリMathLightweight Languages プログラマーでなくても名前ぐらい覚えておきたいアルゴリズムx10 ぎくっ あなたが一番好きなアルゴリズムを教えてください。 また、その理由やどんな点が好きなのかも教えてください。 - 人力検索はてな なぜぎくってしているかというと、実はすでにアルゴリズムの発注を受けているからなのだ。いつまでも伏せておくのもなんなので、ここにえいやっとdiscloseしてしまうことにする。 アルゴリズム大募集! C&R研究所 - トップページ その下書きもかねて、そこでも紹介しないわけに行かないメジャーなアルゴリズムをとりあえず10個紹介しておくことにする。 ユークリッドの互除法(Euclidean algorithm) その昔(数百年ほど前)は「アルゴリズム」といえば、「手順一般」を指すのではなく、この「互除法

    404 Blog Not Found:プログラマーでなくても名前ぐらい覚えておきたいアルゴリズムx10
  • ブラウザから手軽に使えるJavaScriptの統合開発環境『TIDE』 | 100SHIKI.COM

    これはすごい・・・。 TIDEは「Tiny IDE(統合開発環境)」の略らしい。 そのシンプルな名前にたがわず、実に手軽にJavaScriptを書いて、テストすることができる。日語もきちんと通るようだ。 しかもIDEだけあって、変数の中身をウォッチしたり、ステップごとに実行していくことが可能だ。 JavaScriptは慣れていないとどうにもとっつきにくかったりするが、こうした環境があればその動作を確認しながら学習していくことができるだろう。 まだベータ版ということで多少のバグがあるようだが、これからJavaScriptをやってみよう!と思われている方にはお勧めだ。

    ブラウザから手軽に使えるJavaScriptの統合開発環境『TIDE』 | 100SHIKI.COM
  • IDEA * IDEA

    ドットインストール代表のライフハックブログ

    IDEA * IDEA
  • 女子高生ぷろぐらまーなお☆のブログ

    最近は Scala ってゆう言語が流行っているみたいで、私もすこしやってみています>< インストールがけっこう大変だったり、起動がゆっくりしていて動いているのかときどき不安になったりするけど、たのしいです! Scala は型が強い関数型の側面と、手続型の側面のりょうほうもっていて、そのうえで Java歴史ある(笑)たくさんの資産が動くので、とてもおもしろいです。actor モデルとかも採用してるみたいだし、まだやってないけど、そのうちやってみようとおもいます! ところでところで、Scalajava.util.List なオブジェクトを Scala での Collection っぽく扱えるようにする方法が解らなくて大変でした。。。でも scala.collection.jcl.Buffer.apply を使えばいいことがわかりました。 Buffer.apply(numbers).m

    女子高生ぷろぐらまーなお☆のブログ
  • Joe Mutters | 新言語 neko mimi Fu**

    大久保のページに戻る こよみ 分類 このページの記事一覧 最大挑戦者 (04/07) 新言語 neko mimi Fu**♥ (04/06) なで肩 (04/05) 新しいコメント 新しいtrackback 保管庫 検索 その他 RSS1.0 Atom0.3 BrainFuck <[+-.,]> http://pc8.2ch.net/test/read.cgi/tech/1036013915/429-430 笑った。 429 名前:デフォルトの名無しさん[sage] 投稿日:04/10/13 23:27:54 新言語 neko mimi Fu**♥ ・1レス内に全命令のリファレンスが入る素敵な言語。 ネコミミ!            ポインタをインクリメント ネコミミモード           ポインタをデクリメント おにいさま           ポインタが示すメモリ位置

  • 「+1」だけで四則演算をするには? ― @IT自分戦略研究所

    プログラミングの基礎となる考え方、アルゴリズムを理解しているだろうか? ITエンジニアに贈る、アルゴリズム入門。 京都の効率的な回り方を考えるのも「アルゴリズム」 「アルゴリズムって何?」。そう聞かれて、皆さんはすぐに答えられますか。ウィキペディアのアルゴリズムの項には、「なんらかの問題を解くための手順のことである」と記載されています(2007年9月時点)。 例えば、皆さんが週末に京都に旅行し、市内を観光するとしましょう。二条城や銀閣寺、東寺など、回りたいと思う観光地がいくつもあります。バスや電車、場合によっては徒歩など複数の交通手段のうち、どれを使ってどういう順番で回れば効率が良いかと考え、時刻表と格闘することになるでしょう。 この場合、観光地の効率の良い回り方が「問題」で、すべての観光地を最短時間で移動する経路を見つけ、効率良く回る手順を考えることが「問題を解くための手順」、すなわちア

    「+1」だけで四則演算をするには? ― @IT自分戦略研究所
  • プログラムの楽しさを子供に教えるべきか? : 404 Blog Not Found

    2007年09月14日16:30 カテゴリArt プログラムの楽しさを子供に教えるべきか? 答え:何もするな。 今の子供達にどうやってプログラミングの楽しさを教えたらいいのか? さて、この子にプログラミングの楽しさを教えるとしたら、どうしたらいいだろう? ただし、 今の子供たちにプログラミングの楽しさを教える必要なんかない : ひろ式めもちょう 「プログラミングという文化を次代にどのように継承していくべきか」 なんて向きになっているのか? と勝手に妄想した。ほとほとウンザリ。 とはちょっと理由が違う。 世の中には、「この時期に習っておかないと一生自分のものにならない」というものもあれば、「いつはじめても、モノにできる」というものもある。「流暢な外国語」は前者だが、プログラミングは明らかに後者。 実際、自分のまわりを見てみると、プログラマーになったもので「子供のころからプログラミングをしてい

    プログラムの楽しさを子供に教えるべきか? : 404 Blog Not Found
  • ウノウラボ Unoh Labs: 正規表現の勉強法

    bokkoです。 テキストの整形処理を行う上で正規表現は非常に重要です。正規表現なしでテキストの整形処理をするくらいなら自分で正規表現ライブラリを書いてやるという人がいるのかどうかは知りませんが、実際、相当大規模なWebソフトウェアのプロジェクトならそっちの方が早いかもしれません。なんだか自分で書いてて何が言いたいのかわからないような文章になってしまいましたが、私が言いたいのは正規表現はそれくらい強力で、習得して使う価値があるということです。 ただ、正規表現にはじめて触れる場合、非常にとっつきにくく思う方もいると思います。私も最初、意味のわからない文字の羅列に圧倒されたような気がします。 このように最初の段階でとっつきづらく思ってしまうのは大抵慣れの問題なので、とりあえず、正規表現を使ったプログラムでも書いてみるのが一番の近道です。何かしらのテキストを整形するというのがいい題材ですが、私が