並び順

ブックマーク数

期間指定

  • から
  • まで

401 - 440 件 / 593件

新着順 人気順

グローバル変数の検索結果401 - 440 件 / 593件

  • M5Stackでお薬飲んだ記録を作る - プログラミング素人のはてなブログ

    お薬飲んだ記録をするものを作りたい M5Stackを入手したので、画面とボタンが付いているメリットを最大に活かせる投薬管理アプリを作りました。 M5Stackでお薬飲んだ履歴を記録·確認するアプリ作ってみた。 pic.twitter.com/D4Fwq5OA42— とりてん (@s51517765) 2021年5月1日 しろいとり子さんのブログを大いに参考にさせていただきました。 siroitori.hatenablog.com siroitori.hatenablog.com VS codeのPlatformIOを使う ESP32のときも感じましたが、M5StackをArduino IDEでコンパイル・書き込みをするととても遅いです。 ぐぐるとVS codeのPlatformIOという拡張を使うと速い、という情報を見つけたのでこれをインストールします。 ↓を参考にVS codeにPlat

      M5Stackでお薬飲んだ記録を作る - プログラミング素人のはてなブログ
    • Go言語でAWS Lambdaの開発をサポートするパッケージを作った - Qiita

      仕事でGo言語 + AWS Lambdaを用いる機会が多く、特にセキュリティ監視関連基盤のバックエンド処理を開発しています(これとかこれとかこれ)。 開発をすすめる中で「こうすると便利だな」というちょっとしたtipsはいろいろあったのですが、あまりに細切れな処理すぎるのでプロジェクト間でコピーするなどして開発に利用していました。とはいえ管理しているプロジェクトが多くなってきたことで挙動がまちまちになってしまったり、ある程度tipsの数が溜まってきたのもあって、パッケージとして切り出してみました。 AWSが公式で提供しているPowertools(Python版、Java版)を意識してはいますが、完全に再現する目的では作っていません。また、全てのGo + Lambdaの開発者が「この方法に従うべき!」とも思っていません。例えば、API gatewayによって呼び出されるLambdaは各種Web

        Go言語でAWS Lambdaの開発をサポートするパッケージを作った - Qiita
      • スタンプ結合

        はじめに 良い設計を考えるときの観点の一つに、モジュールの結合度があります。モジュールの結合度の階級の一つが、スタンプ結合です。 コードレビューをするときに、スタンプ結合という言葉を使うことが多いです。ですが、今までスタンプ結合の出典を知らなかったので、出典を調べて、その結果をまとめました。サンプルコードはGoで書いています。 スタンプ結合の定義 スタンプ結合は和書だと、Glenford J.Myersの著書、ソフトウェアの複合/構造化設計で以下のように定義されています。 2つのモジュールが内容・共通・外部・制御結合ではなく、かつ、おなじ非大域的データ構造を参照しているとき、これら2つのモジュールはスタンプ結合である。 スタンプ結合の定義を理解するために、モジュールの結合度が定義された背景と階級について説明します。 複合設計 ソフトウェアの複合/構造化設計では、複合設計(composite

          スタンプ結合
        • データベースという名のグローバル変数との向き合い方(Repository Pattern)

          この問題の一つの解決策となりうるのが Repository パターンである。 Repository パターンを用いた簡単な疑似コードを書いてみる。 class HogeRepository { public Hoge get(int id) { Row row = db.execute("SELECT id, a, b FROM hoge where id=?", id); return new Hoge(row.getInt('id'), row.getInt('a'), row.getStr('b')); } public void save(Hoge hoge) { db.execute("INSERT INTO hoge VALUES (?, ?, ?) ON DUPLICATE KEY UPDATE ...", hoge.id, hoge.a, hoge.b); } } clas

            データベースという名のグローバル変数との向き合い方(Repository Pattern)
          • eslintrc で設定できることを理解する記事

            module.exports = { env: { browser: true, es2021: true, }, extends: "plugin:react/recommended", parserOptions: { ecmaFeatures: { jsx: true, }, ecmaVersion: 12, sourceType: "module", }, plugins: ["react"], rules: { }, }; env env (environment) は事前定義されているグローバル環境変数を再定義します よく使う(再定義する)環境変数を以下に示します browser ブラウザのグローバル環境変数 es2021 すべての ECMAScript2021 をグローバルに追加し、 ecmaVersion パーサーオプション ( サポートしたい JavaScript 言語オ

              eslintrc で設定できることを理解する記事
            • tiny-segmenter・kuromoji.js : JavaScript 製の形態素解析ツールを2つ使ってみた - Corredor

              形態素解析ツールというと MeCab が有名だが、コレはライブラリをマシンにインストールし、Python・Ruby・Java・Perl・Node.js 言語などにバインディングするライブラリを導入することで使える。機能的には十分便利だが、導入手順や言語の制約があり、ライブラリのサイズも大きいので、ウェブアプリとして動かす時は若干やりづらいところもある。 そこで、MeCab 以外に形態素解析ツールがないか、中でも JavaScript 製だったりして、ブラウザオンリーで使えるようなライブラリがないか、探してみた。 tiny-segmenter kuromoji.js 軽さ優先なら tiny-segmenter・MeCab に近い品詞情報も知りたければ kuromoji.js tiny-segmenter 早速見つけたのは、TinySegmenter というライブラリ。JavaScript 製

                tiny-segmenter・kuromoji.js : JavaScript 製の形態素解析ツールを2つ使ってみた - Corredor
              • Wasm入門(仕様編) - VA Linux エンジニアブログ

                はじめに Wasmの特徴 仮想マシン実行環境 スタック 関数 グローバル変数 メモリ テーブル 命令セット データ型 数値演算 ベクトル演算 変数、メモリ、テーブルアクセス 制御フロー ランタイムとのインタフェース バイナリフォーマット タイプ インポート 関数 テーブル メモリ グローバル エクスポート スタート エレメント データ 終わりに 執筆者 : 小田 逸郎 はじめに WebAssembly(以下、Wasm)というものが世間で話題となっているようです。 元々、Webブラウザで実行されるバイトコードであるという程度の認識で、Java みたいなものか(?)くらいの感想しかなく、あまり関心はなかったのでした。 しかしながら、最近、Kubernetesでコンテナの代わりにWasmアプリケーション を扱えるような記述を見かけるに至り、「は?(なんじゃそりゃ)」と、 にわかに関心が出てきたの

                  Wasm入門(仕様編) - VA Linux エンジニアブログ
                • Julia 1.5以降のREPLにおける変数スコープの扱い - Qiita

                  変更の概要 2020年10月4日追記:もともとこの記事は、Julia 1.5がリリースされる直前に書かれました。当初の内容は、Julia 1.4以前の視点で、新バージョンの挙動を説明するものでした。この追記では視点を変え、Julia 1.5以降の利用者が、旧バージョンの挙動を振り返るようにしました。また、このスコープルールの決定に至るまでの経緯をまとめました。 Julia 1.5以降、REPL上の変数スコープの挙動が変更になった。 Julia 1.4までのデフォルトの挙動は「ローカルスコープ内からグローバル変数を参照できるが変更できない」とされていた。 1.5以降は、ループなどの一部のローカルスコープ内で、グローバル変数の参照と変更が(デフォルトで)可能になった。結果、REPLでループを書く場合に、他の言語と似た感覚で変数を変更できるようになった。 この変更は、JuliaのREPL上でプロ

                    Julia 1.5以降のREPLにおける変数スコープの扱い - Qiita
                  • 【自動給餌機】ESP32によるWifiの接続 - 自由きままに楽しまないとね

                    ESP32のWifiプログラミング ESP32にてローカルネットワーク環境へ接続するプログラムを以下の手順にてご紹介します。 ESP32をパソコンに接続する Arduino IDEを起動する [ファイル]->[環境設定]をクリック 「追加のボードマネージャーのURL」に以下のURLを入力 https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json [ツール]->[ボード]->[ボードマネージャー]をクリック 「esp32」を入力し、インストール [ツール]->[ボード]->[ESP32 Dev Module]をクリック ESP32にArduino IDEから以下のプログラムを書き込む #include <WiFi.h> void setup() { // シリアルの初

                      【自動給餌機】ESP32によるWifiの接続 - 自由きままに楽しまないとね
                    • Pythonのselfとかinitを理解する - Qiita

                      class some_class: def __init__(self,something): self.something = something def some_function(self): print(self.something) クラス構造を用いる理由は、主に大規模なソフトウェアの構築の際の効率化にあるらしく、小規模なコードであれば普通に関数だけ書いていくやり方でも混乱は起きない模様。参考までにどのような場合でクラスの活用が有効かを調べたところ、こちらには、次のメリットの記載があり。 ・グローバル変数を無くし、すべての変数を何らかのスコープに属させる ・処理を効率的に使い回す ・一つの処理は一つの箇所に実装し、修正箇所を最小化する ・関数実行中に、関数自身が再度呼び出される場合の対処 クラスとインスタンス こちらの記事にもあるように、Pythonのクラス構造はインスタンスの生

                        Pythonのselfとかinitを理解する - Qiita
                      • OSSの単体テストツール「Google Test」使ってみた~ 無償のソフトウェアテストツールを知ろう:part3 ~ | ハートランド・ザ・ワールド

                        先日の記事、 「現場に必要なOSS (オープンソースソフトウェア) のテストツールとは」 で触れた、無償のテストツールをいくつか紹介していくシリーズ。 今回は、本格的なテストフェーズで使える「単体テストツール」として、 『 Google Test 』 を使ってみたいと思います。 設計フェーズで使える無償ツール『PlantUML』を使ってみた記事はコチラ ↓ から。 OSSのモデリングツール「PlantUML」使ってみた。 手間をあまりかけずに、ソフトウェア設計ドキュメントを作りたい、プロセス化したいという方におすすめです。 読んでみる 単体テストツールとは? ツールの話の前に「単体テスト」について、少し説明したい思います。 単体テストとは ソースコードの個々のユニット、すなわち、1つ以上のコンピュータプログラムモジュールが使用に適しているかどうかを決定するために、関連する制御データ、使用手

                        • 関数がネストされたPythonコードで関数の内側で変更した変数を関数の外側から参照する方法を調べてみた | DevelopersIO

                          こんにちは、CX事業本部の若槻です。 関数がネストされたPythonコードで、関数の内側で変更(定義)した変数の値を外側から参照したい場合があります。 例えば以下のコードでは、inner()の外側(outer()の内側)でvar = 'Initial Var'とし、inner()の内側でvar = 'New Var'としています。 def outer(): var = 'Initial Var' def inner(): var = 'New Var' return(var) print(inner()) print(var) この場合outer()を実行した際の出力は # 出力 >> python outer() New Var Initial Var となり、inner()の内側で行った変更が外側に反映されず、print(inner())とprint(var)の出力結果が異なる結果とな

                            関数がネストされたPythonコードで関数の内側で変更した変数を関数の外側から参照する方法を調べてみた | DevelopersIO
                          • ヒープとスタック | 学校では教えてくれないこと | [技術コラム集]組込みの門 | 東光高岳

                            2011.6 やあみんな、ビリーだよ。 今回は、メモリの使いかたについて説明してみよう。 これまでにビリーが講義した、 「七の巻:スタックってなあに?」 「八の巻:メモリを壊してみましょう」 「拾壱の巻:コードサイズを聞かれたら」 で復習しておくと、さらに理解度アップだよ! セクションとヒープ領域とスタック領域 プログラムの本、コンパイラのマニュアルなどを見ていると、ヒープ領域やスタック領域という言葉が出て来るよね。これはいったい何だろう?メモリの領域をさしているようだけど、「拾壱の巻:コードサイズを聞かれたら」で解説した、セクションとは違うのかな?『セクション』は、ROMやRAMをどのような用途に使うかを決めるものなんだ。「プログラム(コード)を配置する領域」「データを配置する領域」などだね。 組込みの世界では、一般的にプログラムやOSをコンパイル(リンク)した時点でセクションのアドレス

                            • Cybozu Frontend Monthly #5

                              コンテンツWe rendered a million web pages to learn how the web breaks 共有者:b4h0_c4t Web ページがどのようにして壊れるかを学ぶため、実際に発生しているエラーを調査、考察した記事。 トップ 100 ドメインのルートページ 100 万件をレンダリングするスクリプトを使用して出力される未処理エラーを調査した結果、85%が ReferenceError TypeError SyntaxError 。 また、上記のエラーが実際に発生している理由として、そのほとんどがリソースの読み込み失敗に起因していると述べています。 How to resolve ReferenceError ReferenceError の多くはライブラリが生成したグローバル変数を読み込む時に発生している。 What causes TypeError on

                                Cybozu Frontend Monthly #5
                              • 【JavaScript入門】変数のスコープを完全マスター! | 侍エンジニアブログ

                                こんにちは!Webコーダー・プログラマーの貝原(@touhicomu)です。 今回は、JavaScriptの変数のスコープについて解説したいと思います。 スコープにはグローバルスコープとローカルスコープがあり、それぞれの使い分けが初心者の方には難しく感じるかと思います。 そこで、この記事では ・変数のスコープとは ・様々な変数のスコープ という基本的な内容から ・変数のスコープが存在しないケース ・変数のスコープを定義する文法 という実践的な内容までを解説していきます。 変数のスコープについて正しく理解し、必要な場面で使いこなせるように、しっかり学習を進めていきましょう。 変数のスコープとは 変数のスコープとは、その変数が参照できる範囲のことです。 スコープには、大きく分けて以下の2種類があります。 グローバルスコープ → ページ全体でどこからでも参照できる。 ローカルスコープ → ページ

                                  【JavaScript入門】変数のスコープを完全マスター! | 侍エンジニアブログ
                                • Common LispでREST APIを作ってみよう - 電通総研 テックブログ

                                  ISID Xイノベーション本部の山下です。 このポストは電通国際情報サービス Advent Calendar 2021の11日目のポストです。 中途入社したばかりで右も左も分からないのですが、楽しそうな企画ですので参加させていただくことにしました! 今回は自分が普段よく使っているプログラミング言語「Common Lisp」の紹介記事を書かせていただきます。 はじめに 皆さん、Common Lispというプログラミング言語をご存じでしょうか? 「括弧が多い」と有名なLispの方言の一つです。 情報系の学部などでは習ったことがあるかたもいらっしゃるかもしれません。 何はともあれ、Common Lispで書かれたHello, Worldを見てみましょう。 (format t "Hello, World~%") ちょっと独特な感じの書き方になっていますね。 Common LispやLisp系の言語

                                  • A Guide to the Go Garbage Collectorを読んで GOGC と GOMEMLIMIT を理解する - Techtouch Developers Blog

                                    テックタッチアドベントカレンダー9日目を担当する roki です。最近マネージャとして動き始めました。なかなかに難しい仕事ですが学びのある日々を過ごしています。 今回は、一転技術的な話で Go の GC(Garbage Collector)におけるパラメータ GOGC と GOMEMLIMIT(メモリ制限) について学んだことをまとめます。参考にした文書は Go 公式の GC に対するガイドで、Go 1.19 に対するものです。 tip.golang.org GCにまつわるコストを理解するために必要な概念の整理と、GOGC, GOMEMLIMIT がどのような役割を果たすのかを見ていきます。GOGC はメモリの使用量と CPU コストのトレードオフを制御し、GOMEMLIMIT はメモリ使用量に制限を与えます。特に、GOMEMLIMIT は GOGC で調整しにくかったメモリ制限を実現しま

                                      A Guide to the Go Garbage Collectorを読んで GOGC と GOMEMLIMIT を理解する - Techtouch Developers Blog
                                    • Web Worker (Dedicated Worker) によるマルチスレッド処理 - 30歳からのプログラミング

                                      JavaScript は基本的にシングルスレッドであり、並列処理を行うことはできない。 そのため何か重たい処理があると、それによってメインスレッドが専有されてしまい、後続の処理が遅延してしまう。 その結果、ウェブアプリの速度や操作性に悪影響を与えてしまう可能性がある。 Web Worker を使うとマルチスレッドによる処理が可能になり、重たい処理をメインスレッドではなく他のスレッドに処理させることができる。 この記事では、Web Worker の基本的な使い方を見ていく。 動作確認は以下の環境で行った。 Deno 1.9.0 Google Chrome 90.0.4430.72 ワーカースレッドの作成 Web Worker には専用ワーカー(Dedicated Worker)と共有ワーカー(Shared Worker)がある。 この記事では Shared Worker については扱わず、D

                                        Web Worker (Dedicated Worker) によるマルチスレッド処理 - 30歳からのプログラミング
                                      • ES6, CommonJS, AMD, RequireJS, UMD, System.JS, TypeScriptのModule を完全に理解する|kuuubo

                                        ES6, CommonJS, AMD, RequireJS, UMD, System.JS, TypeScriptのModule を完全に理解する JavaScript, TypeScriptを利用していると様々なモジュールシステムに関するワードが出てきます。 AMD, CommonJS, ES6, ES5, Webpack, Babel, RequireJS, UMD,  SystemJS, System.register, module target etc... これらの用語の関係は複雑で混乱しがちな部分です。 この記事は、1つで全てを理解できる決定版を目指して記述しています。 少々長くなりますが、なんども振り返るノートとして利用していただければと思います。 では本題に入ります。 JavaScriptのModuleとは JavaScriptの新しい仕様ECMAScript2015(E

                                          ES6, CommonJS, AMD, RequireJS, UMD, System.JS, TypeScriptのModule を完全に理解する|kuuubo
                                        • Software Design 2021年3月号の「WebAssembly入門」を読んだ - dackdive's blog

                                          Software Design (ソフトウェアデザイン) 2021年3月号 [雑誌] 技術評論社Amazon rust-jp の Slack で知り、読んでみました。 3 ~ 4 時間でさらっと読めるボリューム。 全体的に手を動かす成分はそこまで多くなかった印象で、読み物として面白かった。 以下、各章の感想など。 第1章 WebAssemblyの登場の経緯と利用方法 自分のこれまでの知識を復習しつつ、歴史的経緯などは知らなかった部分も多かった。 WAT のフォーマットについては以前読んだこちらの記事が良かった。 WebAssemblyハンズオン: 実際に動かして基礎を学ぶ(翻訳)|TechRacho(テックラッチョ)〜エンジニアの「?」を「!」に〜|BPS株式会社 また、印象的だったのはWasmの用途のところで 現代のブラウザが JavaScript を高速に実行するためには、大まかに「(

                                            Software Design 2021年3月号の「WebAssembly入門」を読んだ - dackdive's blog
                                          • 新卒が必読書「リーダブルコード」から学んだ、読みやすいコードを書くための基本ルール - 弁護士ドットコム株式会社 Creators’ blog

                                            こんにちは、2025年内定者の千木良です。現在は東京国際工科専門職大学4年生で、2025年4月に弁護士ドットコムに入社予定です。 この記事では、弁護士ドットコムの必読書である「リーダブルコード」を読んだため、学生エンジニア視点で重要だと思った点をまとめた記事になります。 ボリュームがある記事になってしまいましたが、この記事を読むだけでエンジニアとして一回り成長できる内容になりましたのでぜひ最後まで見てもらいたいです! この本が必読書である必要性 リーダブルコードとは? こんな人におすすめ 本書の重要ポイント 名前の命名を意識しよう 名前に情報を埋め込む 誤解されない名前にする コメントする際はなぜ記述するのか考えよう コメントの目的を考える コメントは正確で簡潔に コメントを書く癖をつける 変数を意識して使う 変数を削除する 変数のスコープを縮める さいごに この本が必読書である必要性 こ

                                              新卒が必読書「リーダブルコード」から学んだ、読みやすいコードを書くための基本ルール - 弁護士ドットコム株式会社 Creators’ blog
                                            • slog時代のGoではloggerをcontextで引きまわさなくて良い気がする - Diary of a Perpetual Student

                                              Goのloggerを引き回す際に皆さんはどのような手法を取っていますか? グローバル変数にloggerのインスタンスを入れておく contextにloggerのインスタンスを入れておく トレースIDなどを入れたloggerを適宜作ってcontextに格納する 構造体のフィールドにloggerのインスタンスを入れておく(DI) などなど、ソフトウェアの規模や特性を鑑みて各自使い分けているかと思います。 ところで、私は 2. 3. の手法があまり好きではありませんでした。単純に面倒だし美しくありません。contextに入れる、取り出すだけでも数行のコードを毎度書く必要があってダルいな〜と思っていました。けれども、ログにトレースIDなどを入れたいだろうなあと思い、Webサーバの実装においては 2. を渋々選択していました。 さて、Go 1.21ではslogパッケージが登場しました。slogは単に

                                                slog時代のGoではloggerをcontextで引きまわさなくて良い気がする - Diary of a Perpetual Student
                                              • 【忘備録】Javascript : varとlet、宣言に使うべきは?スコープの違いから理解 - Qiita

                                                はじめに 今まで Javascript で変数宣言をする際に let を使っていたけど、その理由がよくわかっていなかったのでまとめます。 まとめ ・ 変数には「グローバル変数」と「ローカル変数」があるよ。 ・ 基本型と参照型の変数で処理の流れが変わるよ。 ・ やっぱり、varよりletを使った方がいいよ。 先ず、最初にスコープのおさらい。 ⑴グローバル変数とローカル変数 基本、関数内で定義された変数が「ローカル変数」です。 ローカル変数は関数全体でのみ有効な為、グローバル変数に影響しません。 var scope = "global"; function getScope(){ var scope = "local"; return scope; } console.log(getScope()); //=> local console.log(scope); // => global 上の

                                                  【忘備録】Javascript : varとlet、宣言に使うべきは?スコープの違いから理解 - Qiita
                                                • [レポート] 上級者向けサーバーレス開発のベストプラクティス #SVS401-R #reinvent | DevelopersIO

                                                  アノテーション テクニカルサポートの川崎です。 本記事は AWS re:Invent 2022 のセッションレポートとなります。 概要 あなたは経験豊富なサーバーレス開発者ですか? 本番環境のワークロードでサーバーレス アーキテクチャを最大限に活用するための役立つガイドが必要ですか? イベント ソースとしてストリームと API のどちらを選択するか、または関数を 1 つにするか複数にするか迷っていますか? このセッションでは、アーキテクチャのベストプラクティス、最適化、便利なチート コードを提供して、安全で大規模かつ高性能なサーバーレス アプリケーションを構築し、実際の顧客シナリオを使ってそのメリットを説明します。 セッション動画 セッション資料 Best practices for advanced serverless developers セッション情報 SVS401 アジェンダ サ

                                                    [レポート] 上級者向けサーバーレス開発のベストプラクティス #SVS401-R #reinvent | DevelopersIO
                                                  • 【脱初心者向けプログラミング学習】処理を追え!「今、変数には何が入ってる?」 | YQUAL

                                                    2020-08-05 14:37 2021-01-29 15:45 プログラミング 【脱初心者向けプログラミング学習】処理を追え!「今、変数には何が入ってる?」 HTML PHP プログラミング学習 そんな悩みを抱えたプログラミング学習者に向けて、「脱初心者のためのプログラミング学習」についてPHPを例にまとめました。 やり方自体は同じですので、他の言語をメインとしている人は自分の環境に置き換えながら学習して、初心者から抜け出しましょう。 最後まで読み、これが日頃からの習慣となれば、脱プログラミング初心者はすぐにやってくるはずですよ。 「コピペで動いた」は卒業しよう ネットで調べてサンプルコードを貼り付けるだけでも動くようなプログラムは数多く存在します。もちろんそれで完成すれば問題ありませんが、プログラミングの技術をより実践レベルで身につけるのであれば、「コピペで動いた」というような初心者

                                                      【脱初心者向けプログラミング学習】処理を追え!「今、変数には何が入ってる?」 | YQUAL
                                                    • fmtパッケージをインポートするとファイルサイズがどかんと増えてしまう理由 - Qiita

                                                      しかし、パッケージとしては以下のような依存が発生してしまっています。internalは抜きます。 errors go io os path reflect sort strconv sync syscall unicode time type Goはリンク時に不要な関数は削除してバイナリをなるべく小さくしようとするのですが、Goの言語仕様&エスケープ解析の欠点としてはinit()で参照(パッケージグローバル変数の宣言もコンパイル時に生成されるinit()にまとめられるので、グローバル変数宣言も)されたものはすべて、eliminationが働かずにリンクされちゃうんですよね。 %vでどんな型がきてもパースしてやるぜ、という機能があるのでおそらくそこでリフレクションをimportしていて、そのimportの中にinit()があれば、そこで使っている要素がシンボルとして残り・・・みたいな連鎖でし

                                                        fmtパッケージをインポートするとファイルサイズがどかんと増えてしまう理由 - Qiita
                                                      • JavaScriptのtry~catch文で例外処理をする方法 - TECH PLAY Magazine

                                                        try~catch文はJavaScriptにおける例外処理が記述できます。例外処理とは何なのか?どのような場面で使うのか?といった基本の知識から、実際の記述方法などについて、コードの実例とともに例外処理を初めて学習する初心者にもわかりやすいように解説していきます。 プログラムを実行する際にエラー(例外)が起こることがあります。通常はエラーが起こった際、そこでプログラムは止まります。しかし、実際の場面ではエラーが起こってもプログラムに止まって欲しくない場合もあります。そんな時に使えるのがtry~catch文です。 今回はJavaScriptでの例外処理に利用されるtry~catch文について、概要や使い方、デバッグに使用する方法などについて解説していきます。 JavaScriptで例外処理をおこなうtry~catch文とは try~catch文を使うことで、例外処理を記述できます。 例外処理

                                                          JavaScriptのtry~catch文で例外処理をする方法 - TECH PLAY Magazine
                                                        • JavaScriptのprototypeを理解する - TECH PLAY Magazine

                                                          JavaScriptにあるprototypeを理解すると、あるオブジェクトのプロパティを他のオブジェクトに引き継いだり、new構文で新しくオブジェクトを作成するとき親となるオブジェクトを指定したりできます。 今回は、JavaScriptのprototypeについて実際のコードと共に解説していきます。 JavaScriptにはprototypeという仕組みがあります。 プログラミング入門者の方はもちろんのこと、他言語を学習済みの方でもあまり馴染みがないかもしれません。 しかしJavaScriptの基本的な仕組みに関係しているprototypeの理解は、JavaScriptを使いこなすにあたって避けて通れないものです。 今回はこのprototypeについて実際のコードと共に解説していきます。 JavaScriptのprototypeとは JavaScriptにはprototypeという仕組みが

                                                            JavaScriptのprototypeを理解する - TECH PLAY Magazine
                                                          • Webクリエイターの為の情報サイト | Web Programming Portal

                                                            みなさまどうもおはこんばんにちは。 さて続きまして、呼びだされたタイミングのカレントオブジェクトを参照できる『this』(ディス)ってやつについて色々とやっていきたいと思います。 これ、めっちゃ便利なのでバッチリ使い方を覚えてしまいましょう。そんでもって『this』を使わないと構築できない処理も存在してたりしてなかったりするので結構必須項目のような感じになってます。 あと他の言語でも『this』のような仕組みは用意されていたりするのでございますが、JavaScriptの『this』の挙動はちょっと特殊かもしれません。なので他の言語、特にクラスベースな概念で設計がされている言語に精通している方は混乱してしまわないように要注意でございます。 というわけでやっていきましょう。とりあえずの『this』の使い方はこんな感じです。 this; 普通に『this』って記述するだけでOKです。オブジェクト

                                                              Webクリエイターの為の情報サイト | Web Programming Portal
                                                            • Deno 1.15 へのアップデートと変更事項まとめ - 虎の穴開発室ブログ

                                                              皆さんこんにちは。急に寒くなってきましたね。おっくんです。 去る 2021 年 10 月 13 日に Deno 1.15 がリリースされました。 今回も、リリースノートを参考に 変更事項の気になるところを紹介したいと思います。 実行環境 Docker イメージ denoland/deno:centos(確認時点では Deno 1.15.1 でした)を使用します。 Deno 1.15 Deno 1.15 での変更事項をDeno 1.15 リリースノートを元に確認します。 FFI が改善されました Deno 1.13 でプラグインが廃止され、入れ替わりに導入された FFI API が改善されました。 今回のリリースで、「ノンブロッキングコール」と、「バッファ引数」の機能が追加されます。 ノンブロッキングコール ノンブロッキングで関数を呼び出すには、Deno.dlopen のオプションとして n

                                                                Deno 1.15 へのアップデートと変更事項まとめ - 虎の穴開発室ブログ
                                                              • RISC-V で自作OS - 借り初めのひみつきち

                                                                じだいは RISC-V です。 github.com RISC-V とは Windows でよく使われている x86 は 40 年以上前から基本的に互換性を持ったまま拡張を続けた結果、現代ではほとんど必要ない機能との互換性のためにかなり複雑な仕様になっています。 また、 Arm に比べると高価で発熱が多く構成の自由度が低いので Windows 以外の用途ではあまり使われません。 Windows 以外でメジャーな Arm は組み込みからサーバーまで幅広い用途に使われますが、ライセンスやロイヤリティの関係でベンダーの自由度が制限されていて離れるベンダーが増えてきています。 ある程度の性能が必要なコンピュータは今までは x86 か Arm の実質2択でしたが、最近はシンプルで自由な RISC-V が注目されています。 RISC-V の命令セット RISC-V の命令セットは、32bit 基本命令

                                                                  RISC-V で自作OS - 借り初めのひみつきち
                                                                • 株式市場予測モデルTrader-Company法を(簡単に)実装してみた - Qiita

                                                                  これだけ見るとどこが"シンプル"なのか分からないかもしれないので,具体例を示します: $$ \hat{r} _ 0 [t] = 4.92\color{red}{\rm ReLU}(r_1 [t-3]) + 5.86 \color{red}{\rm sign}(\color{blue}{\max}(r_2[t-2], r_3[t-5])) $$ 具体例を見ると,たった二つ(あるいは一つ)の銘柄によってfactorを計算し,それらを重みづけて足し合わせることで予測をしていることがわかります. いま,表記を簡単にするためにファクターを表す$x_1[t], \cdots, x_M[t]$を導入します.ただし$x_j[t]$は「時刻$t$の"リターン"を予測するための$j$番目のファクター」という意味であり,時刻$t$における量から計算されるわけではないことに注意してください.時刻$t$のリターン$

                                                                    株式市場予測モデルTrader-Company法を(簡単に)実装してみた - Qiita
                                                                  • ESLintのflat configは分割して書くといいかも - Qiita

                                                                    // 設定項目は分割して配列に入れる // 上から順に適用されていく export default [ { /* 設定項目1 */ }, { /* 設定項目2 */ }, { /* 設定項目3 */ }, { /* 設定項目4 */ }, ... ]; Flat ConfigはただのJavaScriptファイルなので、設定を別ファイルに切り出したい時はimportかrequireで変数として読み込むだけOKです。 設定項目を簡単に分割できるようになったことで、 対象ファイルの設定 使用したいルールの設定 言語やパーサーの設定 プラグインの設定 などを分割して書けるようになりました。以下では実際のeslint.config.jsがどのように記述されるのか、一例を紹介します。 eslint.config.jsの書き方の例 以下のJSファイルは、typescript-eslintプラグインを使用

                                                                      ESLintのflat configは分割して書くといいかも - Qiita
                                                                    • [電卓喫茶] 翻訳:構造化プログラミングを最初に提唱した文書

                                                                      翻訳:構造化プログラミングを最初に提唱した文書 はじめに ここでは、 構造化プログラミング と 構造化定理 の違いなどを説明した後に世界で最初に「構造化プログラミング(Structured programming)」という言葉を用いた文章 "7.4 STRUCTURED PROGRAMMING"(1969年) の翻訳を掲載します。 NATOソフトウェア工学会議によると、この文章は論文(Paper)ではなくて、研究成果報告書(Working paper)ということになっています。研究成果報告書は、研究の概要や成果を書いたものです。 "7.4 STRUCTURED PROGRAMMING" を書いたダイクストラ博士は、1972年に他の科学者と共同で "Structured programming" という本を出版します。これが構造化プログラミングのバイブルになっています。 目次 構造化プログラ

                                                                      • AWS WAF のアクセスログをAmazon Managed Grafana で可視化する | DevelopersIO

                                                                        こんにちは、なおにしです。 Amazon S3に保存されているAWS WAF のアクセスログを Amazon Managed Grafana のAmazon Athena 組み込みデータソースを使用して可視化してみましたのでご紹介します。 はじめに Amazon S3に保存されているAWS WAF のアクセスログをAmazon Athena で解析することがあるかと思います。その際、トラブルシューティングなどでのアドホックな利用ではなく、例えば月次レポート用にデータを確認するようなシチュエーションであれば、Athena のクエリも時間指定のみが異なるだけで基本的には同じクエリを使用するというケースもあるかもしれません。 もちろん、トラブルシューティングにおいても必ず見るべき内容(特定条件のアクセス数など)が決まっているのであれば実行クエリも決まっていると思います。あとはデータ取得の時間指定

                                                                          AWS WAF のアクセスログをAmazon Managed Grafana で可視化する | DevelopersIO
                                                                        • 令和時代の Ruby 基礎文法最速マスター - Secret Garden(Instrumental)

                                                                          令和時代の基礎文法最速マスター Advent Calendar 2020 1日目の記事になります。 この Advent Calendar は昔流行っていた 基礎文法最速マスター をまたやりたいなあ…という思いからはじめました。 まだ空きはあるので興味があるひとは参加してもらってもいいですし、別に Advent Calendar である必要もないので書きたいひとがいればどんどん書いていくといいと思います! と、言うことで最初のネタは Ruby になります。 この記事は書かれた時点での最新版である Ruby 2.7.2 に準じる形で書いています。 また、過去の Ruby基礎文法最速マスター はこちら になります。 目次 目次 はじめに Ruby のインストール ドキュメント ドキュメントなどでよく書かれる慣習 基礎 実行方法 ファイルから実行 ruby コマンドに直接コードを渡す 対話環境 コ

                                                                            令和時代の Ruby 基礎文法最速マスター - Secret Garden(Instrumental)
                                                                          • JavaScriptの変数宣言 let,ver,const - Qiita

                                                                            ローカル変数 一度入力した値を変更できる var グローバル変数 いつでもどこでも変更可能 なるべく使わない 使い方 上に書いたやつ優先で使う constが最優先で、次点がlet 使用例 雰囲気で感じろ if(true){ const hogeConst = "hoge1"; let hogeLet = "hoge2"; var hogeVar = "hoge3"; console.log(hogeConst); // hoge1 console.log(hogeLet); // hoge2 console.log(hogeVar); // hoge3 hogeConst = "hoge4" // エラー hogeLet = "hoge5" // hoge5 hogeVar = "hoge6" // hoge6 console.log(hogeLet); // hoge5 console.

                                                                              JavaScriptの変数宣言 let,ver,const - Qiita
                                                                            • 焼きなまし法のコツ Ver. 1.3 - じじいのプログラミング

                                                                              焼きなまし法そのものの解説は少しだけにして、焼きなまし法の使い方のコツをメインに書こうと思います。 焼きなまし法の概要 最適化(=最大値か最小値を求める)の手法の1つです。以下は擬似コードです。 あらかじめ、計算する時間を決める。 以下のスコープ内のコードを時間経過するまで繰り返す。 { 適当に、次の状態(近傍)を選ぶ。 (1) 次の状態のスコアが、今の状態のスコアより良くなった場合は、常に、状態を次の状態にする(遷移)。 (2) 次の状態のスコアが、今の状態のスコアより悪くなった場合でも、ある確率で、状態を次の状態にする。 確率は以下のように決める。 (2.A) 序盤(経過時間が0に近いとき)ほど高確率で、終盤ほど低確率。 (2.B) スコアが悪くなった量が大きければ大きいほど、低確率。 } 最後に、今までで一番スコアのよかった状態を選ぶ。 次の状態が悪くてもそれを選ぶ可能性がある(2)

                                                                                焼きなまし法のコツ Ver. 1.3 - じじいのプログラミング
                                                                              • Rust 1.63を早めに深掘り - あずんひの日

                                                                                こんにちは、あずんひ(@aznhe21)です。今月からあずんひの活動を支援できる仕組みを導入してみました。寄付頂ける方は記事末尾からお願いします。 さて、本日8/12(金)にRust 1.63がリリースされました。 この記事ではRust 1.63での変更点を詳しく紹介します。 8/12は最初の「PC」であるIBM 5150が発売された日 ピックアップ スコープ限定スレッドが使えるようになった 関数を使って配列を初期化できるようになった 各種ロック機構が定数文脈で生成できるようになった I/Oの生ハンドルが所有権に基づいて管理できるようになった 安定化されたAPIのドキュメント array::from_fn 引数 サンプル Box::into_pin メモ BinaryHeap::try_reserve エラー サンプル BinaryHeap::try_reserve_exact エラー サ

                                                                                  Rust 1.63を早めに深掘り - あずんひの日
                                                                                • Mackerel で開発中のマイクロサービスを OpenTelemetry のトレースを活用してパフォーマンス改善した - Unengineered Weblog

                                                                                  Mackerel Advent Calendar 2023 の2日目の id:rmatsuoka です。 qiita.com 私は今年に新卒としてはてなに入社し、 Mackerel のアプリケーションエンジニアとして開発に携わっています。さて Mackerel では OpenTelemetry のメトリックに対応することが発表されました。詳しくは次のページをご覧ください。 mackerel.io 私はこの OpenTelemetry を受け取ったり、取り出したりするコンポーネントの開発をしています。入社して最初の仕事として OpenTelemetry の トレース を活用し、コンポーネントのパフォーマンスを改善を行いました。 トレース 導入を提案したのは id:lufiabb さんです。最初、私のタスクは OpenTelemetry の トレース をアプリケーションに仕込んで終わりだったの

                                                                                    Mackerel で開発中のマイクロサービスを OpenTelemetry のトレースを活用してパフォーマンス改善した - Unengineered Weblog