タグ

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

  • CocosCreatorのクラス定義を理解する - Qiita

    はじめに CocosCreatorのクラス定義は少々特殊ではありますが、コーディングをしやすくする様々な工夫が施されているため、きちんと理解しておくと効率が上がります。クラス定義については、公式ドキュメント(英語)にわかりやすく説明されています。私自身も思い出そうとするたびに英文のドキュメントを読み直すのはつらいので、和訳(&若干簡略化)してみました。 翻訳の正確さよりも読みやすさを重視したいので、英語の原文は併記しません。 原文:Cocos Creator v1.7.x User Manual 「Scripting」 Declare Class with cc.Class cc.Classによるクラス宣言 cc.Classは、Cocos Creatorでクラスを宣言するための便利なAPIです。説明の便宜上、cc.Classを用いて作成するクラスをCCClassと呼ぶことにします。 1.

    CocosCreatorのクラス定義を理解する - Qiita
  • 阿部寛さんから学ぶKISS(Keep it simple, stupid)の原則 - Qiita

    はじめに KISSの原則とは ケリー・ジョンソン氏によって提唱された原則です 一般的には "Keep it simple, stupid" (シンプルにしておけ!この間抜け) と解釈されますがジョンソン氏人は"Keep it short and simple" (簡潔に単純にしておけ)という意味で使っていたようです。 どちらにせよ、この原則は物事はシンプルな方がいいということを訴えています。 さらに格調高い感じにいうと「オッカムの剃刀」というやつですね。 Simple is Best まずはこちらをご覧いただきたい 阿部寛のホームページ その古き良きインターネッツなデザインからネット上でよく話題に上がる阿部寛さんの公式ホームページです。 このシンプルさには美しさを覚えます。 そのレスポンスはなんと驚愕の406ms(ブラウザはVivaldiを使用)。 今風なWebサイトによくあるリッチなア

    阿部寛さんから学ぶKISS(Keep it simple, stupid)の原則 - Qiita
  • シェーダエディタを利用してシェーダをリアルタイムデバッグしたいことがもしかしたらあるかもしれない人向けの無駄に長い文章 - Qiita

    ブラウザ上でのシェーダデバッグ WebGL や GLSL のデバッグは、通常の JavaScriptフロントエンド開発とは少々異なる趣があります。 というのは、WebGL や GLSL を利用した開発には、GPU という来なら JavaScript が干渉することのできない領域が大きく関わってきます。その閉ざされた世界のなかでいったい何が起こっているのかについては、ブラックボックス化されており容易には見通せない場合が往々にしてあります。 より正確には、WebGL の調査系のメソッドを適切に呼び出してやるなどすれば、GPU などのハードウェアに関することも含めて、WebGL に関連する情報をある程度は収集することができます。まあしかし、要はいちいち調べないとわからないわけですから、ちょっと面倒です。必然、「案件の性格上実行されるデバイスが限定されている場合」を除いて、大抵は「まあこんく

    シェーダエディタを利用してシェーダをリアルタイムデバッグしたいことがもしかしたらあるかもしれない人向けの無駄に長い文章 - Qiita
  • UserAgentからOS/ブラウザなどの調べかたのまとめ - Qiita

    WEBサイトにアクセスしてくる利用者の情報をUserAgentから調べることが出来るが、どんな情報がわかるか調べてみた。より詳しい情報は参考に使ったサイトを参照で。 はじめに GoogleChromeにおいてユーザーエージェント文字列を段階的に廃止することを発表しています。 段階的にUserAgentが削除版UA文字列に置き換わっていきChrome 113で完全に削減版の UA 文字列となってしまいます。 削除版のUA文字列は以下の通りです。 User-Agent Reduction # Desktop (user on Windows 8.1, for example) # 旧 UA文字列 Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.1234.56

    UserAgentからOS/ブラウザなどの調べかたのまとめ - Qiita
    oukastudio
    oukastudio 2019/11/03
    UserAgentの書き方は厳格に定義されているようではないようだ 知らなかった
  • 型変換のいろいろ - Qiita

    JavaScriptは型変換がおもしろいと思うので残しておく JavaScriptの勉強中なので、こうしたほうがいいなどありましたらガンガン言っていただけると喜びます。 基型から 文字列 と 数値 変換の方法がいくつかあり、それぞれ挙動が違ってきます。 文字列 → 数値 var value = '1234'; // 以下、1234 Number(value); parseInt(value,10); value - 0; +value; value - 0 数値演算のオペランドに文字列値を書くと、暗黙に数値に型変換されます。(+は文字列連結として扱われる) そのため、value - 0 ではnumが暗黙の型変換によって数値になりますが、0を引いても数値は変わらないため型変換だけが行われることになります。 +value また、+演算子を単項演算子で使用すると、正の符号演算になります。正の符

    型変換のいろいろ - Qiita
    oukastudio
    oukastudio 2018/04/22
    // これはだめ parseInt(true,10); // NaN あくまで文字列の変換用
  • SafariでもエラーにならないJavascriptのヒアドキュメントの書き方 - Qiita

    Safariの荒ぶり こちら( http://qiita.com/_shimizu/items/837b529de9f3302e315c )で見かけたヒアドキュメントの記述トリック、この方法だとSafariで期待した結果が得られずエラーになってしまう。 なお、元ネタについてはこちら( http://tomasz.janczuk.org/2013/05/multi-line-strings-in-javascript-and.html ) var html = (function () {/* <!DOCTYPE html> <html> <body> <h1>Hello, world!</h1> </body> </html> */}).toString().match(/[^]*\/\*([^]*)\*\/\}$/)[1]; (この部分は修正の追記により削除しました。) 修正 Safar

    SafariでもエラーにならないJavascriptのヒアドキュメントの書き方 - Qiita
    oukastudio
    oukastudio 2017/10/28
    バッドノウハウ的だが目からうろこ
  • PHPの脆弱性への攻撃名称と対策メモ - Qiita

    自分用メモ。ごちゃごちゃすると忘れるので、なるべくシンプルにまとめたい。 誤り、不備などあれば、随時追加修正します(ご指摘ありがとうございます)。 クロスサイトスクリプティング(cross site scripting、XSS) 概要 訪問者に目的のサイトとは別の罠サイトを踏ませて不正な処理を実行させる行為。 原因 フォームから受け取った値を、エスケープせずに画面に出力するために発生 (偽のフォームを作成する手法も有るので、JavaScriptの対策だけでは不足) HTMLの実体参照を用い、& を &amp; に、< を &lt; に、> を &gt; に、" を &quot; に、それぞれ置換する。 PHPではhtmlspecialchars関数を用いれば、一括で対策できる (ただしENT_QUOTESを設定しないとシングルクォーテーションはエスケープされない)

    PHPの脆弱性への攻撃名称と対策メモ - Qiita
    oukastudio
    oukastudio 2015/01/06
    対策 決済実行など、必要な処理の画面の直前に、以下の対策をとる トークンを埋め込む html側 //HTML側のhiddenにトークンを埋め込む " php側 //送られるトークンが想定されているものか検証する if(session_id() !== @_POST['token']){
  • 【追記:2018 01/25】配列の連結(concat vs Array.prototype.push.apply) - Qiita

    こちらに追記しようとしたのですが見にくかったので別記事にしました ES6での配列の連結方法になります https://qiita.com/kaz2ngt/items/c03625587bf398b6f81a 以下過去記事 投稿テストも兼ねたメモ 一般的に配列の連結はconcatを用いるが、配列に配列を継ぎ足していくような処理だとconcatでは毎回配列を生成しているのがきになり、他の手段を調べてみるとArray.prototype.push.applyというものがあったためメモ 実行ファイル var a = [0, 1, 2, 3], b = [4, 5, 6, 7], i, count = 10000; console.time(); for (i = 0; i < count; i++) { a = a.concat(b); } console.timeEnd();

    【追記:2018 01/25】配列の連結(concat vs Array.prototype.push.apply) - Qiita
  • 初心者の備忘録(随時更新)

  • 1