タグ

プログラミングに関するshiget84のブックマーク (243)

  • プログラマーにとっての読み書きそろばん : 小野和俊のブログ

    基礎的な学力を表す言葉として読み書きそろばんという言葉があるが、 私はプログラミングについても読み書きそろばんに当たるものがあると思っている。 まず読みというのは、プログラムを読む能力である。 たまに、人の書いたソースを見て、すぐに 「全面的に書き直さないと使い物にならない」とか、 「グチャグチャですよ」とか、 「気持ち悪い」といったことを口にする人がいるのだが、 多くの場合、なぜそのように感じるのかを聞いてみると、 単に自分が今まで書いてきたコードと違ったスタイルで書かれている、 ということだったり、ごく一般的なデザインパターンが使われているのに、 そのデザインパターンを自分が知らないだけで 「わかりにくくて読めない」などと言っていたり、 人のコードを使い物にならないと簡単に口にする人であればあるほど、 その人自身が使い物にならない、という傾向がある。 もちろん、全体の整合性を取るために

    プログラマーにとっての読み書きそろばん : 小野和俊のブログ
  • 初心者はプログラミングをどうやって学ぶと良いのだろうか?:Geekなぺーじ

    最近、初心者がプログラミングを学ぶ(もしくは、初心者にプログラミングを教える)にはどうすれば良いのかが良くわからなくなってきました。 ここで言う「学ぶ」や「教える」というのは、授業などではなくゆるいつながりで知人に教える事を想定しています。 (まあ、学校の授業でもいいのかも知れませんが。) 色々ある Ruby,PHP,Perl,Java,JavaScriptあたりがWeb界隈で最近良く見るプログラミング言語だと思われます。 初心者にとっては、生でHTMLCSSを書くことも「それ既にプログラミングでしょ」という感覚もあるようです。 さて、「全くの初心者だけど何でもいいからプログラミングを学びたい」という人は何から手をつければいいのでしょうか? 個人的にはC言語の方が入門者向けだと思う 個人的には、オブジェクト指向的な「難しい」ものを最初から理解できるのだろうか?というのがいつも疑問に思えま

  • http://twitter.com/nagise/status/1054999927

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • やねうらお―よっちゃんイカを買いに行ったついでに家を買う男 - プログラミング名著100選

    プログラミングの書籍のなかから、100冊を選りすぐってみたい。 まずはC/C++言語系。 「Effective C++」「More Effective C++」「Effective STL」この3冊は外せないだろう。持ってなければモグリだ。(「Effective C++」「More Effective C++」は、原著第3版が出たのでリンク差し替えた。) 「Modern C++ Design」に関しては、どうせ使えもしない(?)lokiの解説がてらtemplateの解説をしてあるだけなので、いまであれば、boostのtemplate解説である「C++ Template Metaprogramming」のほうがいいような気もするが、これまだ邦訳されてないので英語の苦手な人は「Modern C++ Design」以外の選択肢は無い。 あと例外安全について書いてあるとして「Exception

    やねうらお―よっちゃんイカを買いに行ったついでに家を買う男 - プログラミング名著100選
  • プログラムの簡単さと難しさ - 遥か彼方の彼方から

    雑記最近プログラムが簡単だ、という話が賑やかでした。 それには初心者の僕も同意。プログラムは当に簡単だと思う。文法そのものは一週間あれば十分覚えられるし、手広くやらなければ数日で十分です。これは誇張でも何でもなくて、例えば数学英語、論理的思考や集中力の低さに定評があった僕でも、中学生の頃に一週間もしないでHSPという言語の基的なところは覚えました。 オブジェクト指向とかに手を出せば、確かに難しくなる。でも文法だけの理解なら時間は掛からないし、オブジェクト指向が理解できていなくても最低限のプログラムなら問題なく組める。 覚えなきゃいけないことは少ないし、よく使うからすぐに覚えられる。例えば条件分岐なんかで考えてみると、 if(条件式) { 条件式が成立したときの処理 } else { 条件式が不成立のときの処理 } これだけ。どうしても覚えられなくても、構文を神にメモってパソコンの横に

  • いまさら聞けない… PHPってどんなもの | クリエイティブ・タブロイド withD(ウィズ・ディー)

    Saity先生のPHP講座<超初級編> ♯1 Saity(アシアル) バックナンバー初めまして! withDに連載をすることになりました、アシアル株式会社のSaityです。今月から6回にわたって、PHPの講座をお届けしますので、よろしくお願いします。 まずは簡単に自己紹介から iモード黎明期は、携帯電話でインターネットができることが驚きだったんです。当時は携帯電話でHTMLメールができたんですね。メール内の文字を点滅させたり、スクロールさせるなどの装飾をして裏ワザ的に使って楽しんでいました。この裏ワザがWebの技術HTMLであることに気づいたことをきっかけに、Webに興味を持つようになりました。 PHPに関する書籍も今年出しました。 間もなくPHPと出会い、PHPエンジニアを経て、現在はWebシステム構築のリーダーを務めています。同時に、この素晴らしい技術を多くの人に使ってもらえればと

  • プログラムを読み書きできるようになるために必要なエッセンス - 探神

    教育, progそういう経験がゼロの人でもやる気があればいつかできる。できない人は気でないか、真面目でないだけだ。「プログラムなんてたいしたことない」と思い続けること「プログラムはすごい。雑技団の曲芸みたいだ。こんなことを解釈するなんて自分には一生無理だ」と思っている人。そうです、あなたには一生無理です。コンピュータはただ与えられた0と1を判定して命ぜられた通りに処理しているだけで、まったく何も考えてはいないという認識コンピュータにとっては肌色成分が多量に含まれる画像もアメリカ国歌の音声もケーブルを流れる通信パケットも何もかもただの0と1でしかない。それに意味を与えるのは人間の命令。そこに書かれているのは「どうやってそれをするか」であり、「お前にはやり方なんて教えてやんねー!暗号化しといたぜHAHAHA」ではない。だから書いてある通りに動くし、動きは書いてある通りなので、読めばわかる。あ

  • OMake つかったらC言語でプログラム書く手間がバカみたいに減った - 日記を書く[・ _ゝ・]はやみずさん

    OMakeすごい。OMakeはマジですごい。 OMakeはGNU makeの代替品みたいなものなんだけど、正直なところこのツールの強力さはGNU makeと比べると失礼なくらいすごい。これのおかげで、「コード修正→ビルド→デバッグ→コード修正→・・・」のループの、ビルドにあたる作業がほぼ消え去った。 ファイルの依存関係の解析がとにかくすごい。よくあるユースケースなんかの場合、最小限の手間でほぼ完璧に依存関係を網羅して、よしなにビルドしてくれる。 とりあえず、はやみずが実際に使ってみたケースを例にとってそのすごさの一端を紹介しようと思う。 case study 論より証拠ということで、自分が OMake を試しにつかってみたケースを紹介する。C言語でスタティックライブラリを作っていて、それに加えて簡単なテストプログラムを書いている。 /include/ 以下にヘッダファイルが全部ある /sr

    OMake つかったらC言語でプログラム書く手間がバカみたいに減った - 日記を書く[・ _ゝ・]はやみずさん
  • ソフトを一人で作るということ:ITpro

    最近,WebアプリケーションやWindowsソフトの取材で,“このソフトは担当者が一人で作っています”という事例に続けて遭遇する機会があった。フリーソフト趣味のソフトではなく,会社が商品として提供し,不特定多数のユーザーが使っているアプリケーションを一人で作って,一人でメンテナンスしているという点に興味を覚えた。 先週都内で開催された開発者向けイベント「ITpro Challenge!」でも,ドワンゴの戀塚昭彦氏がニコニコ動画を一人で(しかも3日間で)作ったと語っていた(関連記事)。よく考えてみれば,ITpro Challenge!に登壇したようなハッカーとかアルファギークなどと呼ばれる優れた開発者でなくても,企業内で一人でソフトを作っているケースは思いのほか多いのではないだろうか。 アプリケーションの規模や内容,また開発者のスキルにもよるだろうが,おおむね一人で開発するほうが, ・低コ

    ソフトを一人で作るということ:ITpro
  • Build seven good object-oriented habits in PHP

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    Build seven good object-oriented habits in PHP
  • タケルンバさんの言ってたTwitterBOT*ホームページを作る人のネタ帳

    タケルンバさんの言ってたTwitterBOT*ホームページを作る人のネタ帳
  • ブログが続かないわけ | ログイン処理が簡単と言い切れるか 〜 フィッシング対策も忘れずに

    ブログが続かないわけ | ログイン処理が簡単と言い切れるか 〜 フィッシング対策も忘れずに
  • プログラミングとアプリ開発の違い : 404 Blog Not Found

    2008年05月19日11:45 カテゴリYAPC::AsiaLightweight Languages プログラミングとアプリ開発の違い ああ、YAPC::Asia::2008のトリ、Perl Is unDeadを見せてあげたかったなあ。 プログラミングのジャンルと難易度(および Web プログラミング批判) - 黎明日記 だってそうだろ? 「 Web アプリケーション」なんてカッコイイ名前の割に、受け取ったデータを簡単に加工してデータベースに突っ込んで取り出して……それで終わりじゃないか。ビデオやスライドが上がるまでしばらくかかると思うので、とりあえずは以下をご覧あれ。 はてなブックマーク - タグ yapcasia2008 Simon Cozens - YAPC Asia and talking in Japan YAPC::Asia 2008 2日め - てきとうなメモ で、Sch

    プログラミングとアプリ開発の違い : 404 Blog Not Found
  • プログラマの壁 - あどけない話

    プログラマに向いている人と向いていない人がいるそうです。 Jeff Atwood さんの「どうしてプログラマに・・・プログラムが書けないのか?」: プログラムを書ける者とプログラムを書けない者の間にある大きな溝についてはよく知られているが、プログラマの職に応募してくる人間は、すでにこの溝を飛び越えているものだとばかり思っていた。明らかにこれは妥当な仮定ではないらしい。プログラムを書けないプログラマの面接で時間を無駄にしないために、FizzBuzzスタイルのふるい分けが必要ということだ。 どんなことでも向き不向きはあるでしょうから、これには納得いきます。しかし、プログラマになれる人の中にも、溝があるようです。 Joel Spolsk さんの「Javaスクールの危険」: 私のささやかな経験から言わせてもらうと、伝統的に大学のコンピュータサイエンスのカリキュラムで教えられているもので、多くの人が

    プログラマの壁 - あどけない話
  • いまさらだがFizzBuzz。 1から100まで、3の倍数5の倍数云々って、全部定数の計..

    いまさらだがFizzBuzz。 1から100まで、3の倍数5の倍数云々って、全部定数の計算じゃね? というところに気付き、自称メタプログラマー(略してメタグラマー)俺の血が騒いだ。 定数計算なら、それは実行時ではなくコンパイル時に行なわれるべきだ……。 というわけでC++テンプレートメタプログラミング召喚。 #include <iostream> const int FIZZ_NUM = 3; const int BUZZ_NUM = 5; const int BEGIN_NUM = 1; const int END_NUM = 101; template<int N> struct Fizz { enum {PRINT = 0, NEXT = N + 1}; static void print() {} }; template<int N> struct Buzz { enum {PRI

    いまさらだがFizzBuzz。 1から100まで、3の倍数5の倍数云々って、全部定数の計..
  • まあ、普通の人は普通に従っておいた方が良いと思うよ - まずまずのダム日和

    中途半端に優秀なプログラマが「正しいプログラミングテクニック」だと妄信しがちな3つポイント - 分裂勘違い君劇場 スコープを最小限にするとか同じ処理を一つにまとめるとかって、「この変数が生きてる範囲はここまでですよー」とか「こことあそこで意図してる事は同じなんですよー」っていう意思表示だと思うんですよね。でもって、それはプログラム言語の仕様から担保されると。 で、その制約を外しちゃうってことは、そういうルールをプログラマがプログラムの外で管理する事になるわけで(それは、コメントとしてソースコード上に表現されるかもしれないし、プログラマの脳内に記憶されてるだけかもしれないけど、いずれにしろコードが実行される段階に影響は与えないと)、そりゃ超凄いプログラマがそのプログラムを一生面倒見るような事であればそれでも良いのかもしれませんけど、普通の人はまあ従っておいた方が良いかと。

    まあ、普通の人は普通に従っておいた方が良いと思うよ - まずまずのダム日和
  • Re:Re:エガミくんの脆弱性のやつ

    はい! こんにちは! Hamachiya2ですよ! いま、エガミくんの書き込みみながら、ざくっとソースみてみたよー。 XSSの対策ってね、ぼくもよくわかってないけど、 「出力時にエスケープする」っていうのが定石らしいよ。 でもエガミくんのやろうとしたのは「入力時のエスケープ」だね。 だから $_GET のところ(入力)で何かをするのではなくて…、 レスポンスのコーナーのところ。htmlに変数埋め込んで echo してるとこ。 そこの全ての変数をエスケープしちゃう方がいい感じかな。 その際に注意すべきは、htmlの属性内(alt=ナントカとか、src=ナントカとか)に変数を埋め込んでいる場合は、ちゃんとクオートの類もエスケープする感じ? echo '<img src="' . $hensuu . '" alt="ぺろぺろ" />'; とかなら、$hensuu はダブルクオートもエスケープだよ

    Re:Re:エガミくんの脆弱性のやつ
    shiget84
    shiget84 2008/10/27
    『XSSの対策ってね、ぼくもよくわかってないけど、「出力時にエスケープする」っていうのが定石らしいよ。』
  • 中途半端に優秀なプログラマが「正しいプログラミングテクニック」だと妄信しがちな3つポイント - 分裂勘違い君劇場

    「変数のスコープは狭いほど良い」と妄信する 変数でもメソッド名でもクラス名でも言えることだが、単純に「スコープは狭いほどよい」という方針でプログラムすると、逆に保守性も可読性も悪いプログラムができあがることがけっこうある*1。 実際、「あちこちから頻繁にアクセスするようなオブジェクトやメソッド」は、スコープをぐっと広くしてしまった方が(場合によってはグローバル変数やグローバル関数にしてしまった方が)、いちいちパラメータ渡しのバケツリレーをせずに、オブジェクトや機能を使うことができ、プログラムの可読性も保守性もずっと向上することがけっこうある。 たとえば、プログラムのいろいろな箇所から比較的頻繁にアクセスする必要があるようなオブジェクトや機能がバインド(格納)された変数やメソッドのスコープをクラスやメソッド内のローカルにして、それを使うときは、いちいち各クラスやメソッドにパラメータ渡しのチェ

    中途半端に優秀なプログラマが「正しいプログラミングテクニック」だと妄信しがちな3つポイント - 分裂勘違い君劇場
  • プログラミング言語の勉強を継続する三つのポイント - rubyco(るびこ)の日記

    「ほほえみつつ、Ruby。」をキャッチフレーズにしてRubyの勉強を続けています。早いもので、今日で96日目(二進法では1100000と切りがよい)、今月末で100日目になります。 継続のポイントといってもcallccの使い方ではありません。勉強を継続する三つのポイント。 【毎日】以前やったことでも、どんなにつまらないことでも、何でもよいから、とにかく毎日やる心意気が大事。 何回かフライング(前日眠る前に明日の分を書いちゃう)はありましたけれど、これまで、毎日更新してきました。そうするとだんだん勉強するのが習慣になってきますね。これはとてもよいことです。今日は勉強する日だっけ、どうだっけと考える必要がない。とにかく毎日、少しでも。 【書く】読むのもよいけれど、どうしても飽きる。書くのがよい。自分で書いて動かして手応えを感じるのが大事。 参考書もいろいろ買って読みました。でも読んでいるだけで

    プログラミング言語の勉強を継続する三つのポイント - rubyco(るびこ)の日記