並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 19 件 / 19件

新着順 人気順

グローバル変数の検索結果1 - 19 件 / 19件

  • 中途半端に優秀なプログラマが「正しいプログラミングテクニック」だと妄信しがちな3つポイント - 分裂勘違い君劇場

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

      中途半端に優秀なプログラマが「正しいプログラミングテクニック」だと妄信しがちな3つポイント - 分裂勘違い君劇場
    • 知っておくとかなり便利!Chromeのデベロッパーツールであまり知られていない実用的な機能とテクニックのまとめ

      Chromeのデベロッパーツールは、Web制作に欠かせないといっても過言ではありません。DOMインスペクター、スタイルパネル、JavaScriptコンソールなど基本的な機能だけでも便利ですが、さらに便利になる機能も数多くあります。 デベロッパーツールを使って、Webページやアプリの制作・デバッグのワークフローが大きく改善される実用的で便利な機能とテクニックを紹介します。 Mastering Chrome Developer Tools: Next Level Front-End Development Techniques 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。 01. ダークテーマ 02. 要素をすばやく選択できる選択モード 03. グローバル変数として格納 04. アニメーション用のツール 05. 要素の疑似状態をシ

        知っておくとかなり便利!Chromeのデベロッパーツールであまり知られていない実用的な機能とテクニックのまとめ
      • DIS例2 / PHPは配列型と辞書(HaspMap)型が区別不能な言語! | PHPを使いもせずDISってる君達へ - Qiita

        PHPはよくDISられることがあります。しかし、実際にはほとんどPHPを利用していない人が印象だけでDISってることが多いような気がします。 そこで、PHPがよくDISられている点について、実際どうなのかをPHP未体験者向けに解説していきたいと思います。PHPを触ったことない人でもわかりやすいようにシンプル目な仕様のRubyを例に説明していきたいと思います!( Ruby触ったことなくても、その他のOOP言語を触ったことあれば雰囲気は理解できるように書いています ) DIS例1 / PHPは配列操作がしづらい PHPの配列操作は扱いづらい等とDISる人たちがいます。実際のところどうでしょうか。 以下のような処理を配列への中間変数を用いず行うコードを例に考えてみます。 0. [2,4,6,8,10]という配列を用意して 1. ↑の配列から8以下の数だけを選択した配列を作る 2. ↑の配列から各

          DIS例2 / PHPは配列型と辞書(HaspMap)型が区別不能な言語! | PHPを使いもせずDISってる君達へ - Qiita
        • JavaScript のブロックスコープと名前空間 « Mozilla Developer Street (modest)]

          Web 開発や拡張機能開発で JavaScript のコードを書いていると、誰もが一度は次のようなことで悩むかと思います。 ブロックスコープと名前空間 (グローバル変数汚染の回避) 読み書きしやすくデバッグしやすいコードスタイル コールバック関数と this オブジェクトの取り扱い デバッグ方法とデバッグ支援モジュール 非同期処理の書き方 いずれも解決方法は人によって様々で、これが常にベストと言えるものがなさそうですが、私なりにそれぞれ検討したことなどを書いてみようかと思います。もっと良い方法があるとか色々皆さんのご意見やツッコミをいただければ幸いです。 JavaScript では名前空間は言語仕様でサポートされておらず、ライブラリや拡張機能などのコードを書くときにはグローバル変数の使用を最小限に抑える必要があります。先日の Mozilla 勉強会@東京 3rd でも佐藤さんと守山さんの発

            JavaScript のブロックスコープと名前空間 « Mozilla Developer Street (modest)]
          • より良いプログラムを書くための究極の奇策 – 「Data first, not code first」 | POSTD

            (訳注:2015/10/31、いただいた翻訳フィードバックを元に記事を修正いたしました。) 開発者は嫌うでしょう。 ここでは、標準的なコツや策略について書きますが、本当に興味があるのは、別のことです。究極の奇策を見つけたいと思います。策略をひとつずつ試して、プログラミングの聖域に少しでも近づければ良いのですが。 はじめに 私が初めて書いたビデオゲームは、 Ninja Wars (忍者戦争)でした。 そう、これは、画像で埋めたHTMLのtableです。 src 属性を変えることで、動きを実現しています。JavaScriptファイルの冒頭は下記のようになっています。 var x = 314; var y = 8; var prevy= 1; var prevx= 1; var prevsw= 0; var row= 304; var endrow= 142; var sword= 296; v

              より良いプログラムを書くための究極の奇策 – 「Data first, not code first」 | POSTD
            • WordPress私的マニュアル – WordPressを使ったサイト作成資料として

              WordPressのテーマやプラグイン作成において、よく利用する関数やグローバル変数などを個人的に整理したコンテンツです。 各関数やグローバル変数は、情報別(データの種類)と目的別(機能の種類)に分類しています。 なお、ほとんどの情報はソースコードを見ながら書き留めた内容であり、確認不足による誤りや更新の遅れによる不正確な内容を含んでいる可能性があります。あらかじめご了承ください。

                WordPress私的マニュアル – WordPressを使ったサイト作成資料として
              • [Perl] my と local と our の違いについて - 竹迫の近況報告

                404 Blog Not Found:perl - myとourとscopeと みんな難しく考えすぎです。 (例外については後で考えることにして)とりあえず以下の基本をおさえておけば混乱することはないと思います。 ■ our 宣言について our はグローバル変数をスマートに使用するための宣言です。our は use vars と等価と考えてください。 our $var; は use vars qw($var); と等価。 our $var = 1; は use vars qw($var); $var = 1; と同じ動きをするもの、と覚えておけばOKです。それ以上の違いは基本的にないと考えて構いません。 ひとつ実用上の違いがあるとすれば、our は Perl 5.6 以降の built-in なのに対して、use vars は vars.pm の Perlスクリプトで実装されています。し

                  [Perl] my と local と our の違いについて - 竹迫の近況報告
                • 第7回 徹底予習:AI時代の組込みシステム開発のお仕事 | 組込みの輪郭 | [技術コラム集]組込みの門 | ユークエスト株式会社

                  ユークエスト株式会社は2021年10月1日をもちまして、 株式会社東光高岳に吸収合併を致しました。 Webサイトは下記のURLに移転しました。 https://uquest.tktk.co.jp/ ※5秒後に移転先にジャンプします。

                  • C言語の正しいヘッダファイルの書き方 - saito’s blog

                    最近、仕事でC言語での組み込み系の開発に携わっています。 開発中のコードを眺めていると、ヘッダファイル内にstatic関数のプロトタイプ宣言を記述していたり、ヘッダファイル内で不必要に他のヘッダファイルをインクルードしているなど、ヘッダファイルの書き方が分かっていないと思われる箇所が多々見られました。 実際、C言語の入門書でもヘッダファイルの書き方を詳しく説明しているものは、僕の知っている限りでは存在しないので、C言語を使っていてもヘッダファイルの正しい書き方を知らない人が少なくないのではないかと思われます。 そこで、このエントリでは、C言語のヘッダファイルの書き方について、僕が知っているテクニックをまとめてみました。 インクルードガードを書く ヘッダファイルファイルで他のヘッダファイルをインクルードしていると、いつの間にか同じヘッダファイルを2回インクルードしてしまうことがあります。 例

                      C言語の正しいヘッダファイルの書き方 - saito’s blog
                    • ちょっと囓っただけの素人が自分を過信して陥る三つの罠? - カレーなる辛口Javaな加齢日記

                      http://d.hatena.ne.jp/fromdusktildawn/20081026/p1 うーんと,30点.「もう少しがんばりましょう」レベル.*1 初心者が惑わされると可哀想なので,一応突っ込んどく. 「変数のスコープは狭いほど良い」という迷信 「同じロジックのコードを2度以上書くな」という迷信 「プログラミング言語を極めるのが大切」という迷信 一つ目は大原則.特にグローバル変数は最悪だ.言語によっては避けられないこともあるが,それはコーディング規約などでカバーするしかない. 二つ目も,ほとんどの場合は大原則.未熟なプログラマーには,何故か負担が大きすぎるらしいけど. 三つ目はケースバイケース.ほとんどの場合は言語も極めてない奴の方が多く,まずは「言語を極めろ」は概ね正解. なんだかなぁ。「先ずは使うことを覚えろ」「次に使わないことを覚えろ」「最後に使うか使わないか選ぶことを覚

                        ちょっと囓っただけの素人が自分を過信して陥る三つの罠? - カレーなる辛口Javaな加齢日記
                      • JavaScriptで即時関数を使う理由 - Qiita

                        (function (param1, param2) { //処理 }('hoge', 'fuga')); var result = (function (param1, param2) { return param1 + param2; }(1, 2)); console.log(result); //3が出力される。 ズバリ、スコープの汚染を防ぐため。 JavaScriptのスコープ JavaScriptのスコープは、「グローバルスコープ」と「関数スコープ」のみ。すなわち関数は任意にスコープを作るための唯一の手段である。 関数スコープの中でvarを使って定義された変数は関数の中でローカルな変数になるので、関数の外側の変数を上書きしたりすることはない。 なるべく変数の有効範囲をせばめる 一時変数を使用する一連の処理があった時に、それらの変数をすべてグローバル変数にしてしまうのはアンチパタ

                          JavaScriptで即時関数を使う理由 - Qiita
                        • クロージャってどんなときに使うの? ~ 利用場面を 3つ 挙げてみる - Qiita

                          結論を先にまとめると、以下の3つです。 1. グローバル変数の宣言をなるべく減らしたい場合 2. ユーザが引数を与えてカスタマイズ可能な自由度の高い「関数」を生成したい場合 3. 前回、呼び出されて実行されたときの演算結果(値)を内部で保存して、次に呼び出されたときに、前回の結果(値)に対して、さらに同じ処理(演算)を行う関数を生成したい場合 以下、「クロージャ」の定義から、頭の整理まで、分かりやすい参考ウェブサイトへのリンクを張りつつ、見ていきます。 【 定義 】クロージャ takeharuさん Qiita記事(2013/07/22)「JavaScriptでクロージャ入門」 「自分を囲むスコープにある変数を参照できる関数」 Wikipedia 「クロージャ」 引数以外の変数を実行時の環境ではなく、自身が定義された環境(静的スコープ)において解決することを特徴とする。関数とそれを評価する環

                            クロージャってどんなときに使うの? ~ 利用場面を 3つ 挙げてみる - Qiita
                          • JSでグローバル汚染してる変数一覧を取得する - Qiita

                            今、グローバル汚染してる変数はなにか? と思ってみるとき、たぶんconsole.log(window)とかしてwindowのプロパティを見ると思います。 ただプロパティ多すぎて、どれがもともとのプロパティで、どれが汚染してる変数だ?? となると思います。 そんな時に使えるコードです 用途 私は主に以下の2点の用途で使います。 悪いグローバル変数を見つける フレームワークやライブラリが使ってるグローバル変数を見つける 特に2番目の用途でよく使いますね。 コード 以下を実行すればconsoleに表示されます console.log((function(){ var propsOrig = []; var propsGlobal = {}; var win = window.open(); for(var i in win){ propsOrig.push(i); } win.close();

                              JSでグローバル汚染してる変数一覧を取得する - Qiita
                            • [PHP] リクエストパラメータ・セッションに関するまとめ - Qiita

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

                                [PHP] リクエストパラメータ・セッションに関するまとめ - Qiita
                              • 中上級者になるためのJavaScript【知識編】 - Qiita

                                【News】電子書籍化しました! Gitbook Read Online Download PDF Download EPUB Download MOBI この記事は、敷居が低いもののなかなか中上級に進めず困っているJavaScript学習者の方を対象としています。よりJavaScriptに対する理解を深める際に気を付けるべき事柄、知っておくべきキーワードの提供をゴールとします。 「クロージャーについてもっと知りたい!」「カリー化なるものがあるのか、知らなかった!」といったきっかけになれば幸いです。 JavaScriptは書ける人が多く、ベストプラクティスが整ってあるものの、逆に間口が広すぎてコピペで済ませてしまったり(場合によってはしょうがないことですが)基礎を学ぶ機会がなくなんとなく現場に出てしまったりすることがありますので、ぜひこの機会にJavaScriptを復習してみてください。

                                  中上級者になるためのJavaScript【知識編】 - Qiita
                                • if __name__ == '__main__' の下にコードをダラダラと書く人、挙手しなさい - Qiita

                                  あけましておめでとうございます。 新年早々ですが、先生、みなさんに言いたいことがあります。 pythonコードで、if __name__ == '__main__'の下にコードをダラダラと書く人、挙手しなさい。 こんな感じに、if __name__ == '__main__'の下にコードを書く人です。 #! usr/bin/python # -*- coding: utf-8 -*- from __future__ import unicode_literals, print_function, absolute_import import sys def say_args(kind, data_list): print("kind:", kind, " data:", data_list) if __name__ == '__main__': args = sys.argv[1:] as

                                    if __name__ == '__main__' の下にコードをダラダラと書く人、挙手しなさい - Qiita
                                  • 関数の使用方法 | UNIX & Linux コマンド・シェルスクリプト リファレンス

                                    → 関数名を指定したブロック内に処理を定義する。 関数名とその関数の処理を定義することで、一連の処理を関数を呼び出すことが可能になる。通常、関数の最後には return コマンドを指定し、その引数として与えた値が関数の終了ステータスとなる。 return コマンドの引数に指定できる値は、0 もしくは 1~255 の正の整数値のみである。マイナスの値も指定可能であるが、-1 を指定した場合は結果的に 255 になる。紛らわしいので、0 もしくは 1~255 の正の整数以外は指定しないようにする。 この return コマンドは省略可能で、省略された場合は関数内で最後に実行されたコマンドの終了ステータスが、関数自体の終了ステータスとなる。 関数を呼び出すときは、関数名と引数のリストを指定する。引数は省略可能である。呼び出すときの関数名は C言語などのように () を付ける必要はない。func(

                                      関数の使用方法 | UNIX & Linux コマンド・シェルスクリプト リファレンス
                                    • tokuhirom blog

                                      Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

                                      • ESLint v2.0.0 の変更点まとめ - Qiita

                                        前 - | 次 v2.1.0 The thing I'm most excited about in ESLint v2.0.0 is code path analysis: https://t.co/H9eqTpc0hF Amazing work by @mysticatea — Nicholas C. Zakas (@slicknet) 2015, 12月 12 ESLint v2.0.0 の変更点をまとめました。 前半に利用者向けの変更内容を、後半にプラグイン開発者向けの変更内容を記載しています。 単純なバグ修正は記載していません。 一覧したい場合は、右列のTOCをご利用ください。 公式情報: リリースノート 1.10.3 から 2.0.0 へのマイグレーション ガイド ピックアップ - 利用者に影響が大きそうな Breaking Changes: 削除された既存ルールのリスト ES

                                          ESLint v2.0.0 の変更点まとめ - Qiita
                                        1