タグ

ブックマーク / qiita.com (28)

  • VBA ほぼタイプセーフなコレクション - Qiita

    VBA やってますか? VBAってプログラマーに人気ないですよね、たぶん(´・ω・`) でも私のような個人で小さなお仕事をこなしていつないでいる、ワープア系プログラマにとってはマクロ作成依頼が大事な収入源だったりします。 言語の機能はとても貧弱だし、私の大好きな C# とは比べることすら失礼なほどに手の掛かる子ですけど、慣れるとかわいいものです( ´∀`) いまどき配列使ってる男の人って・・・ ダメなところは色々あるけど、やっぱり配列だけは最悪・・・ 固定配列は扱いにくいし、可変配列はもっと困ります。 基的には素直に Collection クラスを使うべきなんですけど、すでにあるマクロの保守で配列を使わざるをえないケースもあると思うので問題点を考えてみます。 可変配列は ReDim でメモリーを確保します。 要素数がいくつあるのかは UBound で配列の添え字の最大値から間接的に調べ

    VBA ほぼタイプセーフなコレクション - Qiita
  • Excel VBAコーディング ガイドライン案 - Qiita

    ここで記述する内容はあくまでガイドライン、指針の案にすぎない。この規約を守るためにコードを作るのでなく、よいコードを作るためのガイドラインにすぎない。このガイドラインがよいコードを作るのに障害になる場合は、ガイドラインを変えるか、ガイドラインを使用しない。 つまり、このガイドラインは必要に応じて、変更されることがある。 もし、ガイドラインを考える場合、VB6の規約が参考になる。 Visual Basic Coding Conventions 宣言について 変数の宣言を強制する モジュールの先頭に下記の構文を記述して型の宣言を強制すること。 この宣言は下記の手順で自動で作成することもできる。 【ツール】→【オプション】 【編集】のタブを選択 【変数の宣言を強制する】をチェックする。 理由 変数名の記述ミスがあった場合、コンパイル時にそのミスを検知できる。 暗黙の型は使用しない VBAで変数の

    Excel VBAコーディング ガイドライン案 - Qiita
  • 昨日までJavaJavaしてた人がいきなりExcelのVBAを実装する羽目になったときのためのメモ - Qiita

    Excel は滅びぬ! Excel の力こそ日企業の夢だからだ! VBA 実装してて学んだこととかのメモ。 JavaJava してたかはあまり関係ないかも。 エディタの使い方 エディタを表示する Alt + F11 で VB エディタを表示できる。 環境設定 背景色・フォントを調整する デフォルトの白背景とか気が狂うので、暗い色にする。 「ツール」→「オプション」を選択し、「エディターの設定」タブを開く。 「コードの表示色」を選択して、「背景」の色を選択する。 ついでにフォントも見やすいやつに変更する。 これだけで開発効率が5割増しになる。 イミディエイトウィンドウ イミディエイトウィンドウを表示する いわゆるコンソールに当たるのが、イミディエイトウィンドウと呼ばれるウィンドウ。 Ctrl + G で表示される。 イミディエイトウィンドウに出力する ↓イミディエイトウィンドウに実行するプ

    昨日までJavaJavaしてた人がいきなりExcelのVBAを実装する羽目になったときのためのメモ - Qiita
  • 新人プログラマに正月休み中を使って読んでみてほしい技術書をセレクトしてみた。 - Qiita

    エンジニア組織を強くするためのを出版しました Qiitaでエンジニアリングをめぐる様々なコミュニケーションの問題とその解決策や考え方を書いてきた。それらの背後にあるエッセンスをこの度書籍として出版するに至りました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング この書籍は、エンジニアリングを「不確実性を削減する」という第一原理で捉え直し、様々なエンジニアリングとその間のコミュニケーションをめぐる現象を説明していくものです。 はじめに 今年、書いた幾つかの記事のタネであったり、新卒教育の際に参考書籍としてあげたものを中心にリストアップします。一応amazonへのリンクも貼っておきますが、先輩が持ってたりすると思うので、冬休みに借りて一気に読んでおくのもいいかと思います。 その時々、必要な技術の習得に日々追われているんじゃないかと思いますが、いつまでも使

    新人プログラマに正月休み中を使って読んでみてほしい技術書をセレクトしてみた。 - Qiita
  • 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 - Qiita

    エンジニア組織を強くするためのを出版しました Qiitaでエンジニアリングをめぐる様々なコミュニケーションの問題とその解決策や考え方を書いてきた。それらの背後にあるエッセンスをこの度書籍として出版するに至りました。 エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング この書籍は、エンジニアリングを「不確実性を削減する」という第一原理で捉え直し、様々なエンジニアリングとその間のコミュニケーションをめぐる現象を説明していくものです。 あわせて読みたい 新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 ペアプログラミングして気がついた新人プログラマの成長を阻害する悪習 この記事について この記事は、新人向けの研修内容を再編集してお送りします。 この記事の内

    新人プログラマに知ってもらいたいメソッドを読みやすく維持するいくつかの原則 - Qiita
  • [MySQL版] ページング処理を採り入れた掲示板サンプル - Qiita

    【2021/10/15 追記】 この記事は更新が停止されています。現在では筆者の思想が変化している面もありますので,過去の記事として参考程度にご覧ください。 編(MySQL編) 完成品イメージ テーブル構造 CREATE TABLE mini_board( `id` int UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, `name` varchar(30) NOT NULL, `email` varchar(255) NOT NULL, `text` varchar(140) NOT NULL, `time` datetime NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_general_ci <?php /* 設定 */ // DSN(Data Source Name)

    [MySQL版] ページング処理を採り入れた掲示板サンプル - Qiita
  • 【PHP入門講座】 目次 - Qiita

    【2021/10/15 追記】 この記事は更新が停止されています。PHP を分かった気になって書いていた不正確な内容が多いため,過去の情報として参考程度にご覧ください。また,完成にたどり着けなかったことをお詫びします。原則的には,公式マニュアルの参照をおすすめします。 前書きとか ターゲット層は? 最低限 HTML についてある程度理解をされている方が対象です。 XHTMLCSS についての理解もあった方が望ましいと思います。 C言語 などの基的なプログラミング言語の経験もあれば幾分か理解がラクになるでしょう。なお、講座では XHTML5 の書き方で統一することにします。以下に有用な参考サイトを紹介します。 XHTML5 移行メモ http://kanow.jp/web/xhtml5-memo.xhtml HTMLクイックリファレンス http://www.htmq.com/ W

    【PHP入門講座】 目次 - Qiita
  • QiitaにXSS脆弱性 - Qiita

    Qiitaに発生していた脆弱性について ※ エイプリルフールネタっぽいけど実際に発生していました。 ※ 現在この脆弱性は修正済みです。 問題のあった記事 問題のMarkdown おいしいクッキーをべたい人はここをクリック! **[おいしいクッキーをべたい人はここをクリック!](data:text/html;base64,PHNjcmlwdD5hbGVydChkb2N1bWVudC5jb29raWUpPC9zY3JpcHQ+)** ブラウザ別の挙動 Chrome 33.0 データURIスキームの先で document.cookie を参照することは出来なかった。 Firefox 28.0 データURIスキームの先で document.cookie を参照することが 出来た 。 Internet Explorer とかその他もろもろ 編集リクエストに任せるぜ! 考察 結局これってやばいの?

    QiitaにXSS脆弱性 - Qiita
  • ファイルアップロードの例外処理はこれぐらいしないと気が済まない - Qiita

    【2021/10/15 追記】 この記事は更新が停止されています。現在では筆者の思想が変化している面もありますので,過去の記事として参考程度にご覧ください。 脆弱性について 参考リンク PHPにおけるファイルアップロードの脆弱性CVE-2011-2202 PHP 5.4.1リリースのポイント 上記に対する補足説明 PHP 5.4.1以降 PHP 5.3.11以降 どちらかを満たしているならば,脆弱性は(今のところ)無い.どちらも満たしていないと, $_FILES 変数の構造を崩す攻撃 ../ をファイル名に含めて送信する攻撃 (ディレクトリトラバーサル) の何れか,もしくは両方の脆弱性を所持していることになるので要注意. 脆弱性対策と注意事項 $_FILES Corruption 対策 改竄されたフォームからの複数ファイル配列送信対策 脆弱性が修正された環境でも 改竄フォーム対策 も兼ねて

    ファイルアップロードの例外処理はこれぐらいしないと気が済まない - Qiita
  • @mpywのマイページ - Qiita

    最近は Qiita はご無沙汰してます。古い記事はそのまま参考にしないようにご注意ください Follow

    @mpywのマイページ - Qiita
  • PHP標準例外まとめ - Qiita

    参考 PHP公式:例外 PHP定義済み例外 Exception すべての基底となる例外クラス。 PHPはException型以外のオブジェクト、値をthrowできません。 javascriptが異常なだけです。 ErrorExcetption エラー例外。 変換用ロジックはこちら function exception_error_handler($errno, $errstr, $errfile, $errline ) { throw new ErrorException($errstr, $errno, 0, $errfile, $errline); } set_error_handler("exception_error_handler"); protected $severityでエラー番号が取得可能とか。 SPL例外 LogicException ロジック内部でのエラーを表す例外。

    PHP標準例外まとめ - Qiita
  • $_GET, $_POSTなどを受け取る際の処理 - Qiita

    【2021/10/15 追記】 この記事は更新が停止されています。現在では筆者の思想が変化している面もありますので,過去の記事として参考程度にご覧ください。 予備知識 PHPはフォームから送信された値などをコード実行開始に自動的に変数として使えるようにしてくれる非常に便利なプログラミング言語です.しかし,それをそのまま用いるとエラーが発生したり,脆弱性になってしまったりするケースがたくさんあります.使う前には適当なチェック処理が必要です. どういった変数が対象になるか 以下に挙げられた変数は,ユーザーが勝手に値や構造を書き換えたり,送信をそもそも行わずにアクセスしたりすることが可能な信用できない変数だと思ってください.例え,ラジオボタンで選択肢を限定していたり,隠し要素として埋め込んでいたりしたとしても,これに該当してしまいます.

    $_GET, $_POSTなどを受け取る際の処理 - Qiita
  • 私の正規表現におけるポリシー - Qiita

    echo '[a]\[b]'; # => [a]\[b] echo '[a]\\[b]'; # => [a]\[b] echo '[a]\\\[b]'; # => [a]\\[b] echo '[a]\\\\[b]'; # => [a]\\[b] echo '\\'; # => \ echo '\'; # パースエラー 慣れないうちは省略せずに全てエスケープすることをおすすめします。ちなみにこれはPHPに限っての挙動であり、 C や Java ではこのような挙動にはならず、 必ずエスケープしなければなりません 。 ダブルクオート内で処理されるシーケンス 一部マニュアルに記載がないものもあります。 記述 実際の表示 意味 備考

    私の正規表現におけるポリシー - Qiita
  • [PHP] リクエストパラメータ・セッションに関するまとめ - Qiita

    予備知識 スーパーグローバル変数とは? 「スーパーグローバル変数って何?」って感じの駆け出しPHPプログラマのために念のためマニュアルへのリンクを記載しておきます.全然知らない人は軽く読んでおいてください. PHP Manual - 変数のスコープ PHP Manual - スーパーグローバル HTTPとは? リクエストヘッダー・レスポンスヘッダー と聞いてピンと来ない人はまず下記サイトにて予習をお願いします.細かいことは覚える必要は無いので,大雑把に「ヘッダーとはどんなものか」ということを理解してください. Qiita - 【PHP超入門】HTTP(GET・POST)について Qiita - 【PHP超入門】Cookieとセッションについて @7968さんによるQiitaの記事です.右も左もわからない人はまずこれで. とほほのWWW入門 - HTTP入門 最初の記事をもう少し体系的にまと

    [PHP] リクエストパラメータ・セッションに関するまとめ - Qiita
  • MySQLのutf8で保存できない文字を弾きたい - Qiita

    追記 コメントで@mpywさんの紹介されてるコードが有効な場合があります。ご検討ください。 要するにUTF-8にすると4バイトになる文字を弾きたい。MySQLが悪い。元コードはクラスの静的メソッド。 <?php function assert_mysql_utf8 ($value) { $len = mb_strlen($value, 'utf-8'); for ($n = 0; $n < $len; $n++) { $c = mb_substr($value, $n, 1, 'utf-8'); if (strlen($c) > 3) { throw new RangeException; } } }

    MySQLのutf8で保存できない文字を弾きたい - Qiita
  • set_error_handlerではfatal errorはハンドリングしてくれない - Qiita

    問題点 set_error_handlerは、phpERRORやNOTICEなどが発生した際に実行する関数を指定できるが、FATAL_ERROR(例外)の場合は関数を実行してくれない。 set_error_handler('error_handler'); throw new Exception('hoge'); function('error_handler') { echo 'ERROR!!'; }

    set_error_handlerではfatal errorはハンドリングしてくれない - Qiita
    taiti0826
    taiti0826 2014/01/07
    エラー処理の参考に
  • トリガーの開発方法&デバッグ方法 - Qiita

    MySQLのトリガー便利です。PHPでトランザクションを張って同期…というのもありだけど、データベースのレイヤで関係が担保されているのは開発者にとっても安心です。 しかし、トリガーの開発方法についての情報は少ない感じがあります。手探りで自己流なところがあると思いますが、トリガーの開発方法を整理できるくらいに自分の中でルーティンが決まってきたので記事としてまとめておきます。 掲示板のデータベースを例に作ってみよう お題がないと説明しにくいので、掲示板アプリを例に話を進めます。YY-BBSのような単純な掲示板を思い浮かべてください。 2つのテーブルを用意します。 スレッドテーブル 投稿テーブル もう少しテーブルの関係がイメージしやすいようにもうちょい妄想しちゃいます。 スレッドテーブルと投稿テーブルは一対多の関係にあります。一つのスレッドに複数の投稿が記録できる仕様です。掲示板にはスレッド一覧

    トリガーの開発方法&デバッグ方法 - Qiita
  • Advent Calendar 2013 - Qiita

    Qiita Advent Calendarとは、クリスマスまでの日数をカウントダウンするアドベントカレンダーの習慣にもとづいて毎年12月1日から25日までの期間限定で展開される記事投稿イベントです。毎年、Qiitaとクリスマスを最高に盛り上げる一大イベントとなっております。興味のあるトピックのカレンダーに参加し、この年末を最高に盛り上がる年末にしていきましょう🎉豪華景品がもらえるスポンサーカレンダーもありますので、ぜひ奮ってご参加ください🎄

    Advent Calendar 2013 - Qiita
  • 特定のURLの、ツイート数・いいね数を取得するAPI - Qiita

    http://urls.api.twitter.com/1/urls/count.json?url=http://fnobi.com/

    特定のURLの、ツイート数・いいね数を取得するAPI - Qiita
  • PHPでデータベースに接続するときのまとめ - Qiita

    【2021/10/15 追記】 この記事は更新が停止されています。現在では筆者の思想が変化している面もありますので,過去の記事として参考程度にご覧ください。PDO に関しては大きく変わっていない部分が多いとは思いますが, PHP 8.x 以降での動作保証はありません。 あらかじめ読んでおきたい記事 Qiita - 【PHP超入門】クラス~例外処理~PDOの基礎 by @7968 初心者がやりがちなミス 以下のどれかに1つでも当てはまるコードは見直す必要があります.付録にリンクを貼っておきましたので,「該当するかも?」という人はクリックして飛んで読んでください.太字にしてあるものは脆弱性に直結する危険度の高いものです. mysql_query などの非推奨関数を利用している SET NAMES あるいは SET CHARACTER SET などで文字コードを指定している そもそもデータベース

    PHPでデータベースに接続するときのまとめ - Qiita