並び順

ブックマーク数

期間指定

  • から
  • まで

241 - 280 件 / 596件

新着順 人気順

グローバル変数の検索結果241 - 280 件 / 596件

  • Goのcontext.Contextに入れる値をリクエストスコープに限る理由 - Money Forward Developers Blog

    こんにちは! 京都開発本部テクニカルアーキテクトグループの櫻(@ysakura_)です。 クラウド会計Plusの性能問題の解決を担当しています。 先日Goの開発をしていて、 context.Contextに入れる値をリクエストスコープに限るべき理由をパッと説明できない事がありました。 そこで、自分なりの意見を纏めてみました。 はじめに contextパッケージのコメントによると、Contextに入れる値はリクエストスコープなものに限るべきとされています。 // Use context Values only for request-scoped data that transits processes and // APIs, not for passing optional parameters to functions. 訳 contextの値は、プロセスやAPIを通過するリクエストス

      Goのcontext.Contextに入れる値をリクエストスコープに限る理由 - Money Forward Developers Blog
    • Shopifyテーマの構造解説。各ディレクトリとファイルの役割を知る | non-standard world株式会社

      Shopifyテーマの基本構造 Theme Kitを利用して新規テーマを作成すると、内部構造は下記のようになっています(2019年10月現在)。 Shopifyテーマに必要最低限なファイルで構築されているため、オリジナルのテーマ作成時は、これらのファイルを足掛かりとして開発を進めてゆきます。 なお、Theme Kitの作成内容には含まれていないものの、一般的なテーマではsectionsディレクトリやsnippetsディレクトリも利用する機会が多いため、手動で追加しておくと良いでしょう。 theme ├assets/ |├application.js |└application.css.liquid ├config/ |├settings_data.json |└settings_schema.json ├layout/ |└theme.liquid ├(sections/ ※自身で追加する

        Shopifyテーマの構造解説。各ディレクトリとファイルの役割を知る | non-standard world株式会社
      • 【SUGEEEE】 Retool でローコードに業務用アプリ作って簡単に業務改善|ノースサンド

        こんばんは、ノースサンドのキングです。 今日はバックオフィスで大活躍のモダンなツール「Retool」を紹介します。 最近とある仕事でヘビーユーズしてますね、はい。 このツールを実際に使った人からは... このツールを使って1週間かかっていた業務が1日でできるようになりました!(40代男性)いくつもの画面をタブで開いて、あっちで検索、こっちで検索して情報収集しなきゃいけなかったのがこの画面一つ開いておけばわかるようになってとても便利です!!(20代女性)みたいな声が聞こえてきます。もう絶賛ですね。 Google検索しても日本語の記事が全然Hitしないので、これは布教しなきゃいけない!!!という勝手な使命感から記事にしました。 ご一読あれ。 ちなみに↑の怪しい広告とか勧誘みたいな引用コメントは 年齢 性別 共に架空のもので、冗談です。 実際に言われたわけではありません。ホントはありがとうくらい

          【SUGEEEE】 Retool でローコードに業務用アプリ作って簡単に業務改善|ノースサンド
        • GASでローカルCSVを取り込み、スプレッドシートで請求書を作成する | DevelopersIO

          CSVファイルからデータを処理して、毎月特定の形式の請求書を発行するというケースがあり、Google SpreadsheetでテンプレートをデザインしてGASでスクリプト処理を実行しました。その方法を紹介します。 Guten Tag! ベルリンより伊藤です。 特殊な請求書を発行するケースがあり、CSVファイルのデータから請求書を作成する必要がありましたので、スプレッドシート + GASで実装しました。 この投稿を書いている中で次々にバグを見つけて修正できました。アウトプット大切! はじめに ネットで「CSVを取り込んでスプレッドシートにデータを入力する」といった情報は調べるといくつか出てきますが、普通にコードをコピペして試してみると動かない場合があります。というのも、GASでは2020年2月より V8 ランタイムが導入され、現在デフォルトで有効になっているため、以前のランタイムを元に書かれ

            GASでローカルCSVを取り込み、スプレッドシートで請求書を作成する | DevelopersIO
          • 【WordPress 5.8】クエリーループブロックが有能すぎるので今日から使いたい

            で 「デザイン」カテゴリーに属するブロックで今回追加されたブロック(サイトロゴブロックやアーカイブタイトルブロックなど)や「テーマ」カテゴリーのブロック(投稿タイトルブロックや投稿のアイキャッチ画像ブロックなど)は基本的にフルサイトエディティングに対応する前提のブロックなので、これまでどおりのテーマを利用している場合には使うところが(ほぼ)ない(と思っていい) と書いた。 書いたのだが、実はこれは正確ではない。 クエリーループブロック(クエリーブロック)について触れなかった経緯今日 7/20 リリース予定(日本時間ではたぶん明日 7/21 になるだろう)の WordPress 5.8 では新たに多くのブロックが追加されている。 今回追加されたブロックは主に「フルサイトエディティング(FSE・ヘッダー、フッター含め全てのサイトの要素をブロックで構成していくもの)」へ対応するために追加されたも

              【WordPress 5.8】クエリーループブロックが有能すぎるので今日から使いたい
            • プログラミングRust 第2版

              次世代ブラウザ開発用にMozillaによって開発されたRustは、C/C++並みのパフォーマンスと低レベルの制御能力に加え、メモリとスレッドの安全性を担保し、さらに並行性にも優れるといった特徴を持つ、優秀な言語です。本書はMozillaで実際にRustを使ってFirefoxを開発している著者らによる、言語の概要と用途について解説する書籍で、Rustのほとんどの機能を詳細にカバーします。Rustのメジャーバージョンアップにより非同期処理が可能となったことに対応し、第2版では新たに非同期処理の章を設け、この機能を詳細に解説しています。Rust 2021対応。 訳者まえがき まえがき 1章 システムプログラマにもっといいものを 1.1 Rustはプログラマの負担を引き受ける 1.2 並列プログラムを飼いならす 1.3 にもかかわらずRustは速い 1.4 Rustでは協調するのも容易 2章 Ru

                プログラミングRust 第2版
              • 【アウトライン版】サンプルコードでわかる!Ruby 3.0の主な新機能と変更点 - give IT a try

                お知らせ 毎年恒例の(?)Rubyの新機能解説記事を公開しました。 型チェックについてまとめたPart 1と、それ以外の新機能についてまとめたPart 2があります。 qiita.com zenn.dev お気づきかもしれませんが、Part 2はQiitaではなくZennを使って書きました。 その理由は読者の方が記事に対してお金を振り込めるからです!・・・といっても僕がそのお金を独り占めするわけではありません。 2021年1月31日までに集まったお金はRubyの普及と発展のためにRubyアソシエーションに寄付する予定です。 また、こういった技術記事に対して、どれくらいの人が対価を支払う意思があるのかという、調査・実験の目的も兼ねています。 そんなわけで、上記の記事が良かった、役に立った、と思った人はぜひサポート(対価)の支払いをお願いします🙏 さて、それはそれとして、今回書いた記事はどち

                  【アウトライン版】サンプルコードでわかる!Ruby 3.0の主な新機能と変更点 - give IT a try
                • JavaScriptクロージャーの仕組みとスコープ:関数型プログラミングにおける重要な概念の解説 - deve.K's Programming Primer - プログラミング初心者のための入門ブログ

                  クロージャー(Closure)の概念は関数型プログラミングにおいて重要であり、JavaScriptの面接でよく質問される事もあります。 どこでも使用されていますが、クロージャーは把握するのがとても困難でもあります。 まず、クロージャーを学ぶまえに(スコープ)および(レキシカルスコープ)の基本を学ぶ必要があります。 そして、前提としてJSの変数および関数に精通しているかご確認下さい。 この記事では、JavaScriptクロージャーの仕組みおよびJavaScriptスコープについて解説します。 スコープ スコープチェーン レキシカルスコープ JSのクロージャーとは? レキシカルスコープとクロージャーの違い JSでのクロージャの利点と欠点 最後に スコープ JavaScriptのスコープ(Scope)は、変数や関数がどこからアクセス可能かを定義する仕組みです。 変数や関数がどこで宣言されたかによ

                    JavaScriptクロージャーの仕組みとスコープ:関数型プログラミングにおける重要な概念の解説 - deve.K's Programming Primer - プログラミング初心者のための入門ブログ
                  • lazy_static はもう古い!? once_cell を使おう

                    この記事を 3 行でまとめると Rust のグローバル変数には多くの制限があった 制限を撤廃し、容易にグローバル変数を使うためのクレートが lazy_static lazy_static の代替となる once_cell が登場 Rust のグローバル変数には多くの制限があった Rust にはグローバル変数がありますが、 定数でしか初期化できない 変更可能にすると unsafe を使用する必要がある 変更不可にするとスレッドセーフな型しか使用できない という制限があり、非常に使いづらい物となっていました。 例えば、一度だけ巨大なテキストを読み込んでグロバール変数に格納したいとします。 しかし、次のように書くと unsafe 無しではグローバル変数を変更できないため、コンパイルエラーとなってしまいます。 static mut LARGE_TEXT : String = String::new

                      lazy_static はもう古い!? once_cell を使おう
                    • PHPUnit 5 から PHPUnit 6 するときにハマった点とこれから - 猫でもわかるWebプログラミングと副業

                      はじめに PHPUnit 6 にするきっかけ 地道な修正作業 クラスの namespace mt_rand と mt_srand グローバル変数の扱い non-numeric test phpunit6 ochiru アサーションをしていないテスト PHPUnit 6 にしてよかったこと そして時代は はじめに この記事は PHP Advent Calendar 2019 - Qiita 4日目の記事です。 昨日の記事は tzmfreedom さんの PHPでPHPを実装する というすごいタイトルの記事でした。 去年のPHPアドベントカレンダーで PHP 5.6 から PHP 7.2 にする話を書きました。 www.utakata.work この記事がめちゃめちゃ好評で、今でもたまに見られています。PHP 5.6 のサポートはとっくに終わったはずなのですが... ということで今回は PHP

                        PHPUnit 5 から PHPUnit 6 するときにハマった点とこれから - 猫でもわかるWebプログラミングと副業
                      • .eslintrcのenv設定ってなんぞや?

                        { "env": { "browser": true, "node": true, "es6": true }, ... } こんな設定を書いていると思いますが、envとはなんなのか理解せずいれていたので調べてみました。 これまであいまいにenv設定をしていた人はぜひみてください。 公式ドキュメント An environment provides predefined global variables. とのことなので、envはあらかじめ用意されているグローバル変数を設定しておくものらしいです。 おそらくbrowserだったらalertとかwindowとかあるんだろうなとちょっと想像できるわけですが、実際にはなにが設定されてされているのでしょうか。 しかしそのリンクや情報は公式ドキュメントにはない。。。 のでソースコードを追ってみたところ、設定されている場所を見つけることができました。 そ

                          .eslintrcのenv設定ってなんぞや?
                        • setTimeoutに大きい数値を与えるとどうなる? 仕様を読んで完全理解 - uhyo/blog

                          JavaScriptではsetTimeoutという関数を使うことができます。 しかし、実はこの関数は言語仕様(ECMAScript)に組み込まれているものではありません。 ブラウザ上で動くJavaScriptの場合、setTimeoutはHTMLの仕様によって定義されています。 このHTMLの仕様はHTMLとは名ばかりの巨大な仕様で、今時のブラウザの挙動をほぼ全て規定しているといっても過言ではありません。 さて、setTimeoutにとても大きな数値を渡したときの挙動に関するツイートをTwitterで見かけました。 曰く、setTimeoutに渡す数値は32ビット整数しかサポートされていないというのです。 試してみると、次のようなものは確かに一瞬でタイマーが呼ばれてしまい、想定した挙動とは違うように思えます。 setTimeout(() => { console.log(`${2 ** 5

                            setTimeoutに大きい数値を与えるとどうなる? 仕様を読んで完全理解 - uhyo/blog
                          • Power Automate Desktop:Robin言語の解説&簡易リファレンス

                            マイクロソフトの無償RPA(自動化ツール)である「Power Automate Desktop(PAD)」で使用されているRPA言語「Robin Language(ロビン言語)」について解説しています。 このコンテンツはプログラミングやローコード開発の経験がある方向けの内容となっていますので、もしこれからPower Automate Desktopでの自動化にチャレンジしてみたい、という方は「はじめてのPower Automate Desktop – 使い方・解説記事まとめ」をご覧になってみてください。 本ページは通常Power Automate Desktopで直接編集することのない(本来する必要が無い)ソースコードについての解説となっています。 私的なマニュアルとして整理し始めたもののため、もしご興味があれば読んでみてください。サンプルやテンプレートなどを交えた自動化フロー作成の解説に

                              Power Automate Desktop:Robin言語の解説&簡易リファレンス
                            • 【WebAssembly】ブラウザ上で動作するポーカーソルバーを開発した話

                              初投稿です。数あるポーカーの変種の中で世界的に最もポピュラーなものと言ってよいテキサスホールデムにおける、数学的に最適な戦略を解くソルバーを趣味で開発したので、その技術的な部分を備忘録を兼ねて投稿してみます。非常にニッチなアプリケーションではありますが、刺さる方には刺さるんじゃないかなと期待しています。 開発したものはWebアプリケーションとなっているので、以下のリンクから試すことができます (モバイル端末向けにはデザインされていないのでご注意ください): GitHubのレポジトリはこちらです: そもそもポーカーのソルバーとは何ぞや さて、いきなり「テキサスホールデムのソルバーを作りました」と言われても多くの方にはピンと来ないと思いますので、そもそもテキサスホールデムとはどういうゲームなのか、またそのソルバーとは何なのかについてまずは軽く紹介することにしましょう。 テキサスホールデムのルー

                                【WebAssembly】ブラウザ上で動作するポーカーソルバーを開発した話
                              • Webpack基本構成ファイルのセットアップ手順|初心者向け基礎ガイド - deve.K's Programming Primer - プログラミング初心者のための入門ブログ

                                Webpackとは entryとoutput Loaders ローダー babel-loader css-loader/style-loader Plugins(プラグイン) webpack-dev-server 最後に 以下のリンクを合わせてお読み下さい。 dev-k.hatenablog.com Webpackとは Webpackは、JavaScriptやその他のモジュールに依存するファイルを1つのファイルにまとめることができる便利なモジュールバンドラーです。 JavaScriptのモジュールバンドラーとしては最もよく知られており、HTMLやCSSなどのファイルに対してもバンドルすることができます。 Webpackを使用するには、Node.jsのパッケージマネージャーであるnpmを介してインストールする必要があります。 まず、"npm init"コマンドを使用してプロジェクトを初期化し

                                  Webpack基本構成ファイルのセットアップ手順|初心者向け基礎ガイド - deve.K's Programming Primer - プログラミング初心者のための入門ブログ
                                • 良いコードの書き方 - Qiita

                                  概要 チームによる継続的開発を前提としたコーディングのガイドライン。 特定の言語を対象としたものではないが、主に静的型付けのオブジェクト指向言語を想定している。 サンプルコードは別段の定めがなければSwiftで記載。 ガイドラインの目的 生産性を高め、メンテナンスコストを下げる バグが生まれづらくする 開発メンバー(特に新規参加者)がコードを理解しやすくする 初心者プログラマーの教育 内容の説明 タイトルの頭についた【数字】は重要度。 高いほどシステムに与える影響が大きいが、低いものの方が影響が小さく改修しやすいものが多い。 【5】変数のスコープを小さくする 変わり得る値は複雑さを生み誤解やバグに繋がるため、プログラムは変数が少ないほど問題が生まれづらい。 プログラミングの大原則として、変数は必要最低限を心がけ、むやみに増やさないようにする。 また、変数はスコープや寿命が大きいほど悪影響が

                                    良いコードの書き方 - Qiita
                                  • メモリ・GPU負荷の改善から考える、HTML5ゲーム「重い問題」の解決策

                                    2019年10月9日、『神姫PROJECT』などソーシャルゲームの企画・開発を手がける株式会社テクロスが主催するイベント「TECH x GAME COLLEGE」が開催されました。第27回となる今回のテーマは「HTML5で『重い』問題をクリアしてリッチなゲームを作る」。株式会社ノックノート執行役員の岡山知弘氏が、話題の HTML5 ゲームを作るにあたって、いかに JavaScriptでリッチなゲームを作りながら重い問題を解決していくかを語りました。後半パートとなる今回は、メモリやGPUの負荷改善やさらなる改善箇所についてレクチャーしました。 メモリリークの原因をプロファイラで特定する 岡山知弘氏:じゃあ、次はメモリの負荷改善の話をします。メモリリークの原因をプロファイラで特定しましょう。 まずメモリリークという言葉について。JavaScriptやブラウザ環境では、メモリは定期的にクリアされ

                                      メモリ・GPU負荷の改善から考える、HTML5ゲーム「重い問題」の解決策
                                    • Matzミーティングに潜入!Ruby開発者・まつもとゆきひろさんに聞くRuby秘話|ZOZO DEVELOPERS BLOG

                                      こんにちは、広報の坂井(@hana_yonde)です! ZOZOテクノロジーズでは月に1度、技術顧問であるまつもとゆきひろさん(通称:Matz)とのオンラインミーティングを実施し、勉強会を行っています。 「社員なら誰でも参加自由!」ということで、ミーティングにお邪魔してきました!社員があれこれ聞いていたので、当日出た質問とMatzさんからの回答を抜粋してお届けしたいと思います。 Rubyの人気が低下…?日本のプログラマーのガラパゴス化についてー 最近、プログラミング言語の人気ランキングなどで「Rubyの順位が徐々に下がってきている」と感じることがあります。Rubyの人気がなくなってしまうと、日本のプログラマーがガラパゴス化するというか、世界から孤立してしまうんじゃないかなと思っているのですが、MatzさんはじめRubyを作っている方たちはどう考えていらっしゃるのでしょうか? Matz:ご質

                                        Matzミーティングに潜入!Ruby開発者・まつもとゆきひろさんに聞くRuby秘話|ZOZO DEVELOPERS BLOG
                                      • なぜ暗黙知は生まれてしまうのか? 設計のための、問題の捉え方 Part2

                                        2018年11月8日、Classi株式会社が主催するイベント「設計Night2018」が開催されました。Builderscon tokyo 2018にて好評を博したプレゼンテーション「開発現場で役立たせるための設計原則とパターン」をもとに、発表だけではカバーできなかった3つの論点について、3名の登壇者がより詳しく深掘りします。プレゼンテーション「ドメイン知識の暗黙知を形式知にするためには」に登壇したのは、magnolia_k_氏。講演資料はこちら 「事実」「関係」「原則」 magnolia_k_氏:じゃあどうすればいいかということで、「じゃあ、僕らどうすればいいんですか?」「わかんないですよ」「書いてないことは書いてないんだから」と。 「じゃあ知ってる人に聞きますか」といって、「あなたの知ってる暗黙知を教えてください」と言っても「はぁ……」と言われるだけですね。 (会場笑) これ、けっこう

                                          なぜ暗黙知は生まれてしまうのか? 設計のための、問題の捉え方 Part2
                                        • 【WordPress】クライアント目線で使いやすく!管理画面カスタマイズのポイント8つと対応方法まとめ | 東京のホームページ制作 / WEB制作会社 BRISK

                                          TOPブログ【WordPress】クライアント目線で使いやすく!管理画面カスタマイズのポイント8つと対応方法まとめ WordPressのカスタマイズをしていくと、機能が多くなればなるほど管理画面がごちゃごちゃしてきます。 制作する側は慣れたものですが、実際に更新・投稿をするクライアントの視点で見ると、実は不親切設計になっているかも知れません。 そこで、今回はクライアントが使いやすい・ミスしにくい管理画面にするためのポイントを8つご紹介いたします。 【目次】 必要ないメニューを出さない、触らせない 管理画面の不要なメニューを削除管理画面用のCSSを記述して調整勝手にWPのバージョンを更新させないAll in one SEO packの不要な入力枠を削除ユーザーの権限を分ける 何の機能なのか伝わりやすいように工夫する メニューアイコンを設定するカスタムフィールドの設定内容をわかりやすくする「ア

                                            【WordPress】クライアント目線で使いやすく!管理画面カスタマイズのポイント8つと対応方法まとめ | 東京のホームページ制作 / WEB制作会社 BRISK
                                          • Devise入門 64のレシピ - 猫Rails

                                            環境 第1章 Deviseをはじめよう 001 Deviseを使ってみよう 002 ヘルパーを使ってみよう 第2章 モジュールを使う 003 モジュールとは? モジュールの種類 モジュールのカラム モジュールのルーティング モジュールのコントローラーとビュー モジュールのメソッド モジュールのメール送信 モジュールの設定 004 Registerableモジュール コントローラーとルーティング 設定 参考 005 Database Authenticatableモジュール コントローラーとルーティング カラム 設定 メソッド メール 参考 006 Rememberableモジュール カラム 設定 メソッド 参考 007 Recoverableモジュール コントローラーとルーティング カラム 設定 メソッド メール 参考 008 Validatableモジュール バリデーション項目 設定 参

                                              Devise入門 64のレシピ - 猫Rails
                                            • #CTOを破産から救おうチャレンジ クイズ at YAPC::Hiroshima 2024 の紹介と解説 - inSmartBank

                                              去る2024-02-10に取り行われたYAPC::Hiroshima 2024にて、弊社スマートバンクは椅子スポンサーをさせていただきました。椅子にチラシを掲載する権利を得た我々は、広島グルメマップの掲載、および「CTOを破産から救おうチャレンジ」というクイズ企画を行いました。 YAPC初スポンサーで椅子スポンサーさせてもらってます!自分の顔が至る所に貼ってあって若干気まずいw@ohbarye の冪等性の話を理解すると解けるクイズになっているので是非トライして見てください👍#yapcjapan #yapc_b pic.twitter.com/HPXfred0yX— 堀井 雄太 | SmartBank CTO (@yutadayo) 2024年2月10日 本記事ではこのスポンサーチャンスを活かして行なった #CTOを破産から救おうチャレンジ の紹介と解説をいたします。 #CTOを破産から救

                                                #CTOを破産から救おうチャレンジ クイズ at YAPC::Hiroshima 2024 の紹介と解説 - inSmartBank
                                              • 【個人開発】FlutterとFirebaseでサボり防止アプリを作った - Qiita

                                                (2022年6月追記) 2022年6月現在、この記事にあるアプリよりも、ほぼ同じコンセプトのReact+NextJS製webサービス「みんなで作業場」に滞在していることが多いです。 是非お越しください! アプリ 先日、個人開発アプリをリリースしました!やったね!!! 審査も通りまして、現在App StoreとPlay Storeで配信されております。 App Store Play Store せっかくなので、利用した技術のメリットと注意点をまとめておこうと思います。 作ったアプリ これです。 広報用ページも作ってみたのでリンクを貼っておきます。 広報用ページはスマホで見る用にレイアウトしてます。 監視し合う会 〜お互いサボらないようにみんなで作業しよう〜 英語名: Procrastinators Watch Mutually 解決したい課題 やらなきゃいけないことがあるのに、なかなか取り組

                                                  【個人開発】FlutterとFirebaseでサボり防止アプリを作った - Qiita
                                                • WordPress CSSやJavaScriptファイルの読み込み

                                                  推奨される読み込み方法 CSS や JavaScript の読み込みを header.php 等の head 要素内に link 要素や script タグを使って記述することもできますが、その場合プラグインなどのファイルと重複したり、同じファイルを複数回読み込んだり、また、ファイルに依存関係がある場合に正しい順序で読み込まれなかったりする可能性があります。 そのため、スタイルシートは wp_enqueue_style()、スクリプトは wp_enqueue_script() を使って、ファイルを登録及び読み込みキューに追加し、アクションフックで読み込むことが推奨されています。 読み込むエリアによって、以下のようなアクションフックを使用します(スクリプト及びスタイルシートの両方の読み込みに使えます)。 wp_enqueue_scripts – サイト公開側に読み込む場合 login_enq

                                                  • 副作用と参照透過性と冪等性を理解して、テストでドメインを磨く - Qiita

                                                    朝でも夜でも mac でも windows でも商用環境でも日本でもアメリカでも、add(2, 3)は5 透過的 ( transparency ) とは「存在するものを存在しないように見せる」感じらしい 透過の反対は仮想らしい 透過 → あるけど見えないガラス 仮想 → ないけど見えるホログラム つまり「参照透過性」は「参照があるけどないように見せる」ということ 変数の再代入やグローバル変数の参照が処理内になければ、処理内では変数の参照について心配する必要がないので、参照が透過的と言える 冪等性 処理を何回実行しても同じ結果になること 現状を気にせず叩けば良いので、chef やマイクロサービス等のたくさんの状態を更新する処理と相性が良い (一部が失敗しても全てが成功するまで叩き直せば良いから) 身近な例だと「オン | オフ」みたいなトグルボタンは冪等性がないけど「オフにする」ボタンは冪等性

                                                      副作用と参照透過性と冪等性を理解して、テストでドメインを磨く - Qiita
                                                    • Chrome DevToolsのAllocation instrumentation timelineでメモリリークを見つける - SMARTCAMP Engineer Blog

                                                      こんにちは!スマートキャンプでインサイドセールスに特化したSaaSであるBALES CLOUDを開発しているエンジニアの井上です。 皆さんは、開発・調査などでChrome DevToolsはよく使われているかと思います。 私達の開発するプロダクトでメモリリーク問題が起きたことがあり、 その際に調査方法で知っていれば助けになった内容をまとめていければと思っています。 JavaScriptのメモリ管理とは? GC(ガベージコレクション)とは? メモリリーク問題とGCで開放されないメモリ よく言われるメモリリークの種類 計測に使用したToolについて タスクマネージャー Chrome DevTools Memory Heap snapshot Allocation sampling Allocation instrumentation timeline Allocation instrument

                                                        Chrome DevToolsのAllocation instrumentation timelineでメモリリークを見つける - SMARTCAMP Engineer Blog
                                                      • 「javascript void(0)」にはどんな意味があるのか? - TECH PLAY Magazine

                                                        WEBページ上のボタンをJavaScriptでアクションさせる場合に、「javascript:void(0)」と書く習慣がありました。「void」にはどんな意味があるのか、どんなデメリットがあるのか、また、「void」の代わりにどう書けばよいのかを紹介します。 WEBページをインタラクティブにするために、ボタンなどを押下したときのアクションをJavaScriptで制御させることがあります。 本当はaタグのリンクボタンだけど、遷移させずにJavaScriptでアクションをさせることができるのです。 aタグのhref属性に「javascript:void(0);」と書く習慣がありましたが、今はすすめられていません。この記事ではどうして使わない方が良いのかを解説します。 「javascript:void(0);」の意味 void(0)はUndefinedを返す JavaScriptの「void(

                                                          「javascript void(0)」にはどんな意味があるのか? - TECH PLAY Magazine
                                                        • TSyringe - JavaScript/TypeScript向けの軽量DIコンテナ | Folioscope

                                                          Vim Vixen では Clean Architecture 風の設計をしており、扱うモデルやレイヤー毎にクラスを作成します。 現在はクラス数が 100 を超えて、クラスにインスタンスをいちいち渡したり、インスタンスの作成と管理が面倒になってきました。 そこで Vim Vixen では Dependency Injection (DI)コンテナを導入することにしました。 いろいろ探してみると、すでに JavaScript/TypeScript 用の DI コンテナがいくつか存在するようです。 その中で(巨人の肩に乗るつもりで)Microsoft の「TSyringe」という軽量 DI コンテナを採用しました。 https://github.com/microsoft/tsyringe TSyringe はデコレーター(Java のアノテーションのようなもの)で DI するクラスを指定した

                                                          • AWS LambdaからAWS AppConfigを呼び出してみた - Qiita

                                                            1. 初めに 皆さん、AWS AppConfigを利用されていますか? AWS AppConfig は 2019年12月にリリースされた機能で、こちらのブログが出た際には私は記事を何度も読み直し、一番の売りは何だろう?他のデータストア(例えば、DynamoDBやParameter Store)に設定情報を格納するのと何が違うのだろう?と考えたものです。 ちなみに、AWS Configとは違います。AWS AppConfigについて取り扱う記事です。AWS ConfigはAWS リソースの設定状況を記録するサービスで変更を検知し記録するものです。また、AWS Config RulesはAWSサービスのリソースの状況が事前に設定されたルール通りに作られているか検証するサービスとなります。 繰り返しになりますが AWS AppConfigについて簡単にご紹介したいと思います。 2. 要約 より安

                                                              AWS LambdaからAWS AppConfigを呼び出してみた - Qiita
                                                            • メモリとはなんぞや ~ Node.js のメモリ管理を知る ~|ラキール公式|株式会社ラキールのエンジニアたちによるTECH BLOG

                                                              こんにちは。株式会社ラキールで DX 基盤開発を行う LaKeel DX Engine Group に所属する星と申します。 普段は LaKeel Synergy Logic という自社 API Gateway を開発しています。 社内ウェビナー(ウェブセミナー)で発表した Node.js のメモリ管理について、その内容の一部を公開します。 メモリメモリとはメモリとはメモリ(RAM, Random Access Memory)とはコンピュータのデータを一時的に記録するためのパーツで、日本語では主記憶装置と言われたりします。 メモリは主に作業机の広さなどに例えられたりします。 (机が広いと様々な道具を一度に使える≒ブラウザのタブをいっぱい開きながら画像編集がサクサク実行できる) プログラミングの文脈でいえば、メモリは実行するプログラムそのものやデータ(変数など)を保持する場所になります。 メ

                                                                メモリとはなんぞや ~ Node.js のメモリ管理を知る ~|ラキール公式|株式会社ラキールのエンジニアたちによるTECH BLOG
                                                              • なぜあなたのプログラミングスキルは向上しないのか? - Qiita

                                                                はじめに 私自身、未経験からプログラミングを学習して転職したこと、MENTAで50以上の人にプログラミングを教えている経験から、プログラミング学習の心構えについて思うことがあるので書き留めてみようと思います 5分ほどで読み終わるので、初学者の方は是非参考にしてみてください👀 ※ 客観的な根拠に基づく事実だけではなく、個人的見解も含まれておりますので、半分ポエムだと思ってお読みください ※ 人によっては痛いところを突かれて気分を害する可能性もあります。その場合はそっ閉じして日を改めてお読みください 👉 メッセージ 焦らず地道に力をつけていきましょう (全てをまとめるとこの一言に集約されます) どんなに脳みそが優秀でも、全くの未学習・未経験の状態から1ヶ月勉強したぐらいでは実務をこなせるレベルのエンジニアにはなれません 短期的な成果ばかりに目を向けず、長期的な視点を持つようにしてください

                                                                  なぜあなたのプログラミングスキルは向上しないのか? - Qiita
                                                                • Reactプログラマーを目指す方必見!JavaScriptの変数と定数の基礎解説 - deve.K's Programming Primer - プログラミング初心者のための入門ブログ

                                                                  当ブログでは、将来的にReactプログラマーを目指す方に向けて、JavaScriptの基礎を解説します。 今回は、JavaScriptの変数と定数について学習します。 また、スコープについても解説致しますが、詳しくは当ブログの別の記事で説明しています。 以下のリンクを参照してください。 dev-k.hatenablog.com JavaScript 変数 変数の宣言 変数の命名規則 変数の割り当て(代入) 変数の値を変更(再代入) 値の型操作 再宣言 JavaScriptグローバル変数 JavaScriptローカルスコープ 関数スコープ ブロックスコープ 定数 JavaScriptの定数とオブジェクト 最後に JavaScript 変数 変数はJavaScript固有のものではございません。 実際、ほとんどすべてのプログラミング言語には変数の概念があります。 データを非常に簡単に処理および

                                                                    Reactプログラマーを目指す方必見!JavaScriptの変数と定数の基礎解説 - deve.K's Programming Primer - プログラミング初心者のための入門ブログ
                                                                  • 多分わかりやすいCloudFormation入門とチュートリアル - Qiita

                                                                    Serverのリソース管理(WebサーバーとかDBサーバーとかのマシン管理)ってみなさん何で管理していますか? Ansible AWS CLI(Shell) etc.... 色々あると思いますが、AWSを使用しているならばCloudFormationも一つの選択です。 ただCloudFormationをいざ始めてみようとすると ドキュメントの量が膨大 謎のyml記法がある(DSL的な) とかで億劫になって敬遠されがちかと思うのでこれさえ覚えおけば使えるよ!!ってのをまとめてみました。 対象者 AWSを使っている CloudFormationってナニソレ美味しいの?って人 サーバーのリソース管理方法を選んでいる人 事前に必要なもの aws cli macな方は黙って brew install awscli と打とう やらないこと ポチポチとGUIでCloudFormationを作らない Cl

                                                                      多分わかりやすいCloudFormation入門とチュートリアル - Qiita
                                                                    • 型はみんなの心の中に存在しているんじゃない? - タオルケット体操

                                                                      はじめに まずインターネットのお気持ち記事で「型がある」とか「型がない」とか言い始めたら、書き手がどういった意図でそのような言葉を選んだのか警戒しなければならない。 全部を語るとそれだけで5記事分くらいの分量になりそう*1なので割愛するが、世間的には「静的な型検査を行える」ことを指して「型がある」と呼称しており、その強弱とかランタイムの挙動については基本的に無視するという姿勢をとっているようだ。きちんと研究している層にとってはなんとも歯痒い定義なのかもしれないけれど、雑に語るにはとても便利な切り分けなので本記事も基本的にこれを採用する。 余談だけど、世間一般が語る「強|弱い型付け」の定義って恣意的すぎて意味不明だわとおもってたんだけど、いまWikiで確認してもやっぱりどういう基準で決めてるのか意味不明。たぶん時代遅れの概念なんだとおもう。 はじめに 変数の型が静的なのは我々にとってごく自然

                                                                        型はみんなの心の中に存在しているんじゃない? - タオルケット体操
                                                                      • Operating Lambda: パフォーマンスの最適化 – Part 2 | Amazon Web Services

                                                                        このケースでは、128 MB の場合、関数が完了するまでに平均 11.722 秒かかり、1,000 回の呼び出しに対するコストは $0.024628 となります。メモリを1024MBに増やすと、所要時間の平均は1.465秒になり、コストは0.024638ドルになります。1,000分の1セントのコスト差で、この関数のパフォーマンスは10倍向上しています。 Amazon CloudWatchで関数をモニタリングし、メモリ消費が設定された最大値に近づいた場合にアラームを設定できます。これは、メモリにバウンドされた関数を識別するのに役立ちます。CPU バウンドおよび IO バウンド関数の場合、実行時間を監視することで、より多くの洞察が得られる場合があります。このような場合、メモリを増やすと、コンピューティングまたはネットワークのボトルネックを解消できます。 AWS Lambda Power Tun

                                                                          Operating Lambda: パフォーマンスの最適化 – Part 2 | Amazon Web Services
                                                                        • WEB+DB Press Vol.125の特集記事「作って学ぶプログラミング言語のしくみ」を執筆しました - kmizuの日記

                                                                          色々苦労も多かったですが、無事、全工程を終え、後は発売日の10月23日(土)を待つのみで、感慨もひとしおです。 WEB+DB Press Vol.125 「プログラミング言語を作る」系の書籍や雑誌記事は時々見かけるくらいには珍しくなくなっていますが、構文解析器を記述するのにPEGを使ってたり、構文解析を後回しにして先に抽象構文木のインタプリタを書いてもらうなど、これまで「プログラミング言語を作る」というテーマについて色々考えた結果を詰め込んでいるのが、私っぽさと言えるかもしれません。 30ページで、以下のような最低限「まともな」プログラミング言語としての機能を装備したものを作って解説するのは色々苦労も多かったですが、「プログラミング言語を作ってみたいけど、しんどそう」という人の糧になればいいなと思います。 算術式あり 関数定義と呼び出しあり ローカル変数とグローバル変数あり 条件分岐+ルー

                                                                          • Reactを使うとなぜjQueryが要らなくなるのか - Qiita

                                                                            はじめに React(通称 React.js1)を全く知らない、あるいは幾つか記事を見たけどなんなのかピンと来ていない、という人のために書いています。 「jQuery くらいしか知らない」くらいの人に具体的に雰囲気を知ってもらうのが目的であり、すでにやる気がある人向けのチュートリアルではありません。やる気が出れば日本語版ドキュメントを読んで手を動かせばあっという間なので、そこまでの興味が出ることを目標にしています。 以降では ES2015 (ES6) の文法(アロー関数とか)を使っています。この部分が怪しい人は先にアロー関数と const 文だけでも知ってから先に進んでください。 以下の説明中、このアイコンで表すのは(2023 年現在から見た)『昔話』です。新しく自分のコードを書く際には本来知らなくていいことですが、古い記事を見たときに混同しないための参考情報として書いてあります。この記事

                                                                              Reactを使うとなぜjQueryが要らなくなるのか - Qiita
                                                                            • マッハバイトにRedis Sentinelを導入した話とClusterデータ移行ツールを自作した話 - LIVESENSE ENGINEER BLOG

                                                                              インフラグループの春日です。 従来のパッチワーク的なアップデートとは別に、完全新規にサーバーを構築し直すメンテナンスのことをインフラグループでは 式年遷宮 と呼んでいます。 我々は以下の目的でオンプレサーバーに対して定期的に式年遷宮を実施しています。 OSやミドルウェアのバージョンUPになるべく追従して脆弱性や不具合を回避する アップグレードや設定変更の積み重ねで汚れたOSをクリーンな状態に戻す より良い構成に変えて運用負荷を減らしていく 今回は マッハバイト で使っている Redis の式年遷宮で、 可用性向上のため Redis Sentinel を導入 速さを求めて Redis Cluster のデータ移行ツールを自作 した話をさせていただきます。 Redis Redis Sentinel を導入 Sentinel 導入前の構成と課題 Active Standby 構成 Replica

                                                                                マッハバイトにRedis Sentinelを導入した話とClusterデータ移行ツールを自作した話 - LIVESENSE ENGINEER BLOG
                                                                              • Unity 6がいよいよ本気でゲーム開発者へオブジェクト指向を捨て去りDOTSに移行することを推奨〜関数型プログラミングとの関係性は?

                                                                                Unity 6がいよいよ本気でゲーム開発者へオブジェクト指向を捨て去りDOTSに移行することを推奨〜関数型プログラミングとの関係性は? Introducing our new e-book: Unity’s Data-Oriented Technology Stack (DOTS) for advanced developers / 新しい電子書籍のご紹介: 上級開発者向けの Unity のデータ指向テクノロジー スタック (DOTS) Unity のデータ指向テクノロジースタック (DOTS) を使用すると、 ターゲットハードウェアを最大限に活用できるパフォーマンス強化ツールスイートが提供され、大規模で複雑なゲームを作成できます。 50 ページを超える電子書籍「上級 Unity 開発者向けのデータ指向テクノロジー スタック入門」が、無料でダウンロードできるようになりました。データ指向プロ

                                                                                  Unity 6がいよいよ本気でゲーム開発者へオブジェクト指向を捨て去りDOTSに移行することを推奨〜関数型プログラミングとの関係性は?
                                                                                • AsyncLocalStorageとusingで快適に構造化ロギングしたい話

                                                                                  アプリケーションのログ収集にあたっては、構造化ロギング (structured logging) というプラクティスが広く実践されています。構造化ロギングとは、ログの出力を単なる文字列ではなく、メッセージ以外のメタデータも含む構造化されたデータとして出力することです。構造化されたデータを出力することで、ログの解析や集計を容易にすることができます。 この記事では、JavaScriptのサーバーサイドアプリケーションにおける構造化ロギングの実装に焦点を当てて議論し、最終的に筆者が開発したasync-object-stackを宣伝します。 コンテキストをどのように共有するか 構造化ロギングの実装における主要な関心事は、複数のログでどのようにメタデータを共有するかです。ログに付与するメタデータは、1つのログだけでなく、複数のログにまたがって付与されることが多いでしょう。例えば、リクエストを送ってき

                                                                                    AsyncLocalStorageとusingで快適に構造化ロギングしたい話