タグ

programmingに関するlimitususのブックマーク (123)

  • 5分でできるPHPセキュリティ対策 - ぼくはまちちゃん!

    こんにちはこんにちは!! Webプログラミングしてますか! よく「PHPセキュリティがダメ」とか言われてるよね。 でもそれって、べつにPHPが悪いんじゃなくて、 たぶん、セキュリティとかが、まだよくわからない人が多いだけなんじゃないかな。 がんばって勉強しようと思っても、なんだか難しい理屈が並んでいたりするしね…。 なので今日は、セキュリティ対策について、 「これだけやっとけば、わりと安全になるよ」ってことを、初心者むけに、大雑把に書いてみます! 理屈がわからなくても、最初はコピペでも、 なにもやらないより、やったほうがきっとマシになる! 1. XSS対策 動的なものを表示するとき、全部エスケープすればokです! (NG) あなたの名前は <?= $name ?> ですね! ↓ (OK) あなたの名前は <?= htmlspecialchars($name, ENT_QUOTES) ?>

    5分でできるPHPセキュリティ対策 - ぼくはまちちゃん!
  • はてな的プログラミング言語人気ランキング - Cube Lilac

    この記事で更新していた「基礎文法最速マスター」のまとめは,現在,プログラミング言語「基礎文法最速マスター」ランキング にて更新しています.この記事の更新は停止していますので,最新の結果はそちらを参照下さい. ここ最近,「○○○ 基礎文法最速マスター」と言う記事が流行っていたようです.この各記事の被ブクマ数を見ていると,プログラミング言語毎の(はてな界隈での)人気がよく表れているなーと思ったので被ブクマ数の多い順に列挙してみました*1.尚,調査する際には Perl基礎文法最速マスター - Perl入門〜サンプルコードによるPerl入門〜 の「このエントリーを含むエントリー」と 基礎文法最速マスターぞくぞくキターーー! - 燈明日記 を利用しました. JavaScript 基礎文法最速マスター - なんとなく日記 PHP 基礎文法最速マスター - Shin x blog Perl 基礎文法最速

    はてな的プログラミング言語人気ランキング - Cube Lilac
  • git - 簡単ガイド

    アッド & コミット 変更されたファイルを選択します。 git add <filename> git add * を実行するとIndexに追加されます。 これは基的な作業の一つです。 変更を実際に適用するには git commit -m "Commit message" を実行します。 変更がHEADに入りましたが、 リモートリポジトリには未だ入っていません。 変更のプッシュ この時点で、変更がローカルリポジトリのHEADに適用されました。この変更をリモートリポジトリに適用するには git push origin master を実行し、masterの代わりに適用のブランチ名を入れます。 もし既存リポジトリをクローンせずに使用した場合 git remote add origin <server> を実行すると、リモートリポジトリを登録する事が可能です。 これで変更を特定なリモートリポジト

  • Programming UNIX Sockets in C - Frequently Asked Questions: クライアントとサーバ(TCP/SOCK_STREAM)両方に関する質問

    Previous Next Table of Contents 2. クライアントとサーバ(TCP/SOCK_STREAM)両方に関する質問 2.1 相手側のソケットが閉じられたことをどうやって知ることができますか? Andrew Gierth 氏 ( andrew@erlenstar.demon.co.uk) より: 私の知る限り… 相手側が (SO_LINGER を使ったややこしいことをしないで) close() するか終了したとすると、こちらの read() の呼び 出しは 0 を返すはずです。同じ場合で、write() 呼び出しで何が 起こるかは、もうちょっとわかりづらいです。直後の呼び出し時ではな く、その次の呼び出し時にEPIPE が返るでしょう。 もし相手が再起動するか l_onoff = 1, l_linger = 0 を設定して から閉じたとすると、read() からは(

  • Vimでソースコードを素早く追いかける - Guyon Diary

    Vim Advent Calender 2011 45日目の記事です。今回のテーマはソースコードを素早く追いかけるです。 Vimをお使いの皆さんは設定ファイルや文書作成以外にもソースコードを作成・メンテ・閲覧などに利用されている事と思います。 そこで、ソースコードを追いかける時に便利なプラグインをご紹介したいと思います。なお、この記事は過去に私が書いたエントリーを再構成した内容となっています。 追いかけるソースコードを用意する まずは、追いかけたいソースコードを用意しましょう。例としてあげるソースコードはVimで世界的に有名なc9sさんが作った、巷で話題のRubyBundler(やVimのVundle)ライクなPHP版Onionです。 $ git clone https://github.com/c9s/Onion.git cd ./Onion プラグインを設定する Source Exp

    Vimでソースコードを素早く追いかける - Guyon Diary
  • Javaの例外処理で知らないと損する7つのテクニック

    Javaの例外処理で知らないと損する7つのテクニック:【改訂版】Eclipseではじめるプログラミング(24)(1/3 ページ) これからプログラミングを学習したい方、Javaは難しそうでとっつきづらいという方のためのJavaプログラミング超入門連載です。最新のEclipseとJava 6を使い大幅に情報量を増やした、連載「Eclipseではじめるプログラミング」の改訂版となります(この回と前回のみ、別連載「EclipseでJavaに強くなる」の改訂版です。今回は第4回Javaの例外のテクニックを知る」の改訂版です) 前回の「プログラマの宿命! 例外とエラー処理を理解する」では、Javaにおける例外の用途と基的なコードの書き方、例外が発生するさまざまなケースについて理解しました。 今回は、独自に例外を定義する方法や、ちょっとした例外のテクニックを紹介します。 【1】Eclipseで独自の

    Javaの例外処理で知らないと損する7つのテクニック
  • JavaScriptでファイル操作!? File APIを使いこなそう

    連載目次 近年のWebアプリケーションでは、画像ファイルやテキスト・ファイル、Officeファイルのアップロードやダウンロードのやり取りが行われることが多くなってきている(例えば、Twitter上での画像ファイル共有やGoogleドキュメントでのOfficeファイルのアップロードなどがそれだ)。 HTML5では、ファイル操作に関するAPIとして「File API」が定義されたことで、ローカルのファイルをブラウザ上で直接、取り扱うことが可能となった。これによって、Webとローカルの違いをアプリケーションで意識しなければならない局面も少なくなる。 現在、File APIは以下の3種類の仕様が策定されている。

    JavaScriptでファイル操作!? File APIを使いこなそう
  • Pythonを始める人への日本語情報集 - None is None is None

    @mopemopeさんからバトンを渡されました、2011 Pythonアドベントカレンダー(Python3) 16日目担当のおもけん(@doloopwhile)です。 Q「RubyPythonどちらが初心者向けでしょうか?」 A「Pythonは日語情報が少ないので、Rubyがおすすめです」 質問掲示板などで、しばしば見かけるやり取りです。しかし、当にPythonは日語情報が少ないのでしょうか? 確かに、かつてはRubyの情報量の方が圧倒的だったでしょう。しかし、現在ではPythonも日で広く使われ、Pythonプログラマーのブログも多数あります。少なくとも初心者がPythonを始めるのに情報不足ということはありません。 そこで、明日のPythonプログラマーのため、日語情報を列挙しておきます。ワリと無難というか、常識的な資料ばかりです。 結局、何を読めばいいの?5つの日語情報

    Pythonを始める人への日本語情報集 - None is None is None
  • 日本でソフトウェアエンジニアが高く評価されない理由(かもしれない) | quipped

    タイトルの話に入る前に、日アメリカの平等について少し話そう。 アメリカは平等な国だと言われる。どこの馬の骨かわからない移民でも、結果次第で門戸が開く国。徹底した実力主義。既成の枠組みに個人を押し込めない自由な思想。これは嘘ではない。オバマ大統領をはじめ、多くの人たちが、逆境を乗り越え、自分の実力で勝負し、不可能とされることに挑戦し、多大な成功をおさめてきた。アメリカンドリームと言われるゆえんだ。14歳で移民したぼくも、アメリカのオープンな実力主義の恩恵を受け、今に至っている。 確かにアメリカは、誰にでもチャンスを与えるという意味では公平だ。でも考え方によっては不公平な国でもある。例えば大学入試。基的に日では、みんな一斉に同じ試験を受け、そこで上から何人というふうに合否を決めるが、アメリカは全て書類選考だ。高校や標準考査(SAT/ACT)の成績に加え、育った環境・人種・課外活動・小作

  • シェルスクリプトはエレガントでなければならない

    /bin/shの実体としてはash(dash)、bash、kshの採用例が多い。どのシェルもBourne shellの機能に加えて、拡張機能を提供する。 FreeBSDなどの*BSD系のOSは、ashを/bin/shとして使っている。ashはPOSIX.1(POSIX:2008)にいくらかのBSD拡張機能を取り込んだシェルだ。メモリをあまり消費せず、高速に動作し、ほかのライブラリに依存することが少ない。従って、rootやレスキューシステムのインタラクティブシェル、システムのシェルスクリプトといった場面で採用されている。 Mac OS Xはbashを/bin/shに採用している。FedoraやopenSUSEなどのLinuxディストリビューションもbashを/bin/shに採用している。LinuxディストリビューションでもUbuntuやDebian、Linux Mintなどは、高速に動作する

    シェルスクリプトはエレガントでなければならない
  • にひりずむ::しんぷる - is_deeply の結果が見難くて生きるのが辛い件

    そう思ってる人がいっぱいいるってことなので、こんな感じのを書いたらいいのかなと思った。 適当です。 use strict; use warnings; use Test::More; use String::Diff; use Data::Dumper; use Term::ANSIColor qw(color); sub is_deeeeeeeeeply { my ($got, $expects, $desc) = @_; local $Test::Builder::Level = $Test::Builder::Level + 1; local $Data::Dumper::Terse = 1; local $Data::Dumper::Sortkeys = 1; local $Data::Dumper::Indent = 0; my $got_str = Data::Dumper::

  • Vimをプログラム開発環境にしてしまおう

    今回から、Vimをプログラム開発環境にしてしまう方法を解説します。これができれば、Vimでプログラムを編集した後に、コンソールに戻ってコンパイルの指示を出すという面倒を避けられます。(編集部) そろそろ実用的なことを - Cプログラミング これまで7回にわたってVimの基的な使い方を解説してきた。これまで紹介してきた操作法を身に付けておけば、かなりの速度でテキストファイルを編集できるようになっているはずだ。Vimを操作する能力は、熟練すればするほど高速になる。スキルアップに費やす対象としては悪くない選択肢だ。今回以降しばらくの間は、より具体的なシーンを想定して、操作方法や、または操作方法をより便利な次元へ引き上げるプラグインについて紹介していく。 Vimといえばやはりプログラミング言語や設定ファイルの編集エディタとして利用することが多い。今回は、C言語のソースコード編集とコンパイル、実行

    Vimをプログラム開発環境にしてしまおう
  • ✅ UFABET 888 เว็บพนันออนไลน์อันดับ 1 เล่นได้ทั้งกีฬาและคาสิโน ตอบโจทย์สายพนัน

    ประเภทเกมทำเงินที่นักพนันนิยมเข้าเดิมพันเว็บพนันอันดับ 1 1. แทงบอลออนไลน์ บอลสดและอัตราต่อรองการแข่งขันกีฬาในลีก และการแข่งขันสำคัญทุกเหตุการณ์ถูกอัพเดตโดยตลอด UFABET 888 เว็บพนันอันดับ 1  ของเราให้บริการในราคาน้ำเพียง 4 ตังค์เท่านั้น ทำให้เป็นที่ชื่นชอบมากขึ้นเมื่อเทียบกับการพนันที่ต้องไปยุ่งกับโต๊ะบอล สำหรับคนในปัจจุบัน การเลือกแทงบอลโดยตรงบนเว็บพนันบอลออนไลน์เป็นที่นิยมมาก คุณยังสามารถรับชมการแ

  • quick sortよりも高速でmerge sortのように安定しているソートアルゴリズムtim sort [勘違い] - Islands in the byte stream

    <追記>ベンチマークプログラムに誤りがありました。ソート済のシーケンスに対してソートを掛けていました。ご指摘ありがとうございます>ak氏 そんな夢のようなソートアルゴリズムがあるのかというと、あるらしいんです。それがtim sortと呼ばれるアルゴリズムです。 画期的(?)なソートアルゴリズム「Sleep Sort」:濃縮還元オレンジニュース|gihyo.jp … 技術評論社 このあたりで拾ってきたネタですね。 merge sortを改良したアルゴリズムで、安定*1しており、しかも実行速度にも優れているとか。アルゴリズムの性能の評価は済んでいるらしく、CPythonやJDK7には既に導入済みのようですね。 ならば当然Perlのソートも…と考えるわけですが、まず評価のためにJavaのソースをC++にそのまま移植してみました。それがこれ(いちおうテスト済): https://github.co

    quick sortよりも高速でmerge sortのように安定しているソートアルゴリズムtim sort [勘違い] - Islands in the byte stream
  • gitでアレを元に戻す108の方法 | Webシステム開発/教育ソリューションのタイムインターメディア

    以前gitで一度行った変更をなかったことにする方法4つを紹介しましたが、 日常的に git を使用していると他にも様々な 「なかったことにしたい」「元に戻したい」 という状況に遭遇します。 そのひとつひとつについて対処方法を紹介していきます。 目次 問題1: ライブラリの新機能を試すためにあれこれ適当なコードを書いてみた。でももう要らない。問題2: トピックブランチをマージしたけど実はまだ不完全だった。マージをやり直したい。問題3: リリース後に発覚したバグ。原因は30日前に自分が行ったコミットだった。なかったことにしたい。問題4: 新しいコミットしようとして間違えてgit commit –amendで書き換えてしまった。元に戻したい。問題5: 色々作業していたら作業ディレクトリの内容が混沌としてきた。一度綺麗な状態にしたい。問題6: 作業ディレクトリにゴミファイルが溜まってきた。一度綺麗

    gitでアレを元に戻す108の方法 | Webシステム開発/教育ソリューションのタイムインターメディア
  • ぼくはこうしてプログラミングを覚えた

    オリジナルはココです。フェイスブックのエンジニアでで史上ベスト3に入るといわれるEvan Priestley氏への質問「どうやってプログラミングを覚えましたか」に対する人からの答えです。 手短かに言えば 何年もの歳月の賜物というか。ぼくはただひたすらプログラミングが大好きで、(フェイスブックで働いていた)過去4年間、ほとんど他のことをしていない。その前も2.5年ほどプログラマーとして働いていたし、そのさらに前も6年くらい趣味でプログラミングをしていた。ぼくは高校も大学も中退しているので、それで空いた時間もプログラミングに費やした。つい最近フェイスブックを辞めたけど、未だに起きている時間のほとんどはプログラミングだ。 もっと詳しく言えば 月並みだが、ぼくはちっちゃい頃からコンピューターが好きで、我が家にあったヤツで(最初はMac Plusで途中からIIsiになった)で散々遊んだ。8歳か9歳

  • Rubyソースコード完全解説 / 青木峰郎

    $Id: index.html,v 1.6 2004/07/20 23:08:12 aamine Exp $ この文書は書籍『Rubyソースコード完全解説』のHTML版です。 ただし初校段階の原稿をベースにしているため、 書籍では修正されている間違いが残っている場合があります。 予め御了承ください。 2004-02-16 に全章を公開しました。 目次 まえがき 序章 第 1 部「オブジェクト」 第 1 章「Ruby言語ミニマム」 第 2 章「オブジェクト」 第 3 章「名前と名前表」 第 4 章「クラス」 第 5 章「ガーベージコレクション」 第 6 章「変数と定数」 第 7 章「セキュリティ」 第 2 部「構文解析」 第 8 章「Ruby言語の詳細」 第 9 章「速習yacc」 第 10 章「パーサ」 第 11 章「状態付きスキャナ」 第 12 章「構文木の構築」 第 3 部「評価」 第

  • データ型のアラインメントとは何か,なぜ必要なのか?

    以前このサイトとブログに,何度かアラインメントに関する記事を書きました (サイト内関連ページ参照). そのせいか「アラインメント」で検索して来てくれる人が多いので, 過去の記事に加筆修正してこのページを新たに作成しました. 加筆した点は次のとおりです. アラインメントとメモリアクセス回数の関係をわかりやすくするため, (ほんの少し) 図を導入しました. 「データがアラインされていないとメモリアクセス回数が増える」 と言葉で説明しているサイトは多いのですが, 図で示しているところはまだ見たことありません. アラインされていないアドレスにデータを書き込む場合, 読み出しの場合以上にメモリアクセス回数がかかる可能性があることを追記しました. 以前は「複合データ型 (配列,構造体,共用体) のアラインメント」はほとんど自明のことだと思っていたので軽く流していましたが, 意外なことにこれを解説してい

  • perl-mongers.org

    This domain may be for sale!

  • Part1 正しいPerl/CGIの書き方:ITpro

    Shibuya Perl Mongers 2代目リーダーにして,ppencodeの作者。広島市立大学卒業後,大企業向けmod_perl製品の開発に従事。2005年よりサイボウズ・ラボ株式会社に入社。LL Ringに参戦。Namazu for Win32,Plagger,Ajajaのコミッターでもある。 CGIといえばPerl。そんな風にいわれていた時期もありました。レンタル・サーバーのCGIで手軽にPerlが使えたこともあり,ちょっとした掲示板のスクリプトやアクセス・カウンタなど,CGIプログラムの多くがPerlで書かれていました。このためPerlが爆発的に普及したのです。Perlは日のインターネット黎明期を支えたプログラミング言語として,広くその名が知られています。 その半面,Perlで書かれたプログラムの保守性に悩む声も聞かれるようになりました。事実,Perlのプログラミング経験が少

    Part1 正しいPerl/CGIの書き方:ITpro