SQL文の条件指定で"where 1 = 1"を指定した場合、この条件は必ず真になり、全てのカラムが条件を満たすようになります。これはSQLインジェクションで用いられることで有名ですが、プログラムでSQL文を生成する時に"where 1 = 1"を利用すると便利なことがあり…
小ネタですが、HTMLのclassはスペース区切りで複数指定できます。cssで細かく部品化している場合に、複数指定すると便利です。以下、サンプルです。 【サンプルコード】・sample.html<html lang="ja"><head> <meta charset="UTF-8"> <title>sample</title> <style> .add-border { border: 3px solid #000; } .add-color { backgr</style></meta></head></html>…
プリミティブ型(Number型やString型等)の変数は、constで定義することで変更不可にできます。これを利用して、定数値を定義することができます。 【サンプルコード】const hoge = 1;hoge = 2;console.log(hoge); 【ChromeのデベロッパーツールのConsoleで…
Vue.jsでは、componentを使用して独自タグを定義することができます。これは部品化に役立ちます。 独自タグではslotタグにより値を受け取ることができますが、propsプロパティを用いて属性値を受け取ることもできます。属性値はテンプレート構文で使用できる…
ChromeのデベロッパーツールのNetworkタブでは、アクセスしたページとやりとりされたリクエストやレスポンスについて、その内容や所要時間を確認することができます。そして、Networkタブで確認した内容は、harファイルと呼ばれるファイルに出力し、保存する…
Chromeのデベロッパーツールの機能の一つであるConsoleでは、任意のJavaScriptを実行することができます。コマンドプロンプトでDOSコマンドを実行するような感覚でJavaScriptを実行することができるので、JavaScriptの仕様のちょっとした確認を行いたい場合…
特定の顧客用に特別なビジネスロジックを用意している場合、以下のようにソースコード中に顧客情報を記述することで実装することはできます。(顧客番号が'1111111'である場合に特別なビジネスロジックを実行するとします) :::if (処理中の顧客番号が'11…
複数のソートキーが存在するオブジェクトの配列について、固定長のフォーマットに直すことでソートキーを1つにできます。しかし、フォーマットを直して1つのキーでソートできるようにするよりも、独自Comparatorを定義して複数のキーでソートした方が高速…
フローチャートやネットワーク図等は、フリーの作図ツール「draw.io」を使うと楽に記述できます。Excelでも記述はできますが、draw.ioでは各々の図の記述に適した素材が提供されているという特徴があります。また、draw.ioはブラウザ上での使用が想定されて…
通常のシステムでは、データベースやファイル等にデータを蓄積します。そして、システムの改修の際に、そのデータのフォーマットを変更することがあります。 データのフォーマットの変更には、「これまでに蓄積されたデータをどのように扱うのか」という問題…
Vue.jsの重要な機能の一つとして、componentという機能が存在します。これは部品化に役立ちます。 この機能を利用することで、独自にタグを定義できるようになり、冗長な記述を減らすことができます。例えば、今回はサンプルコードとしてsample1.htmlとsampl…
クラウドコンピューティングのサービス形態を覚えるための簡単な表を作りました。 ■SaaS・PaaS・IaaSの概要 頭文字を取って「SPI」と覚えると、より覚えやすいかもしれません。 ちなみに、「SPI」は就職試験で使われる有名な適性試験の名前です。 ■SaaS・Paa…
JavaのCollection型(サブクラスにList型等がある)は、Collections.sortメソッドでソートすることが可能です。Collections.sortメソッドは、第一引数にソートしたいCollection型のオブジェクト、第二引数にComparator型のオブジェクトを渡します。第二引数…
以前の記事(https://cyzennt.co.jp/blog/2020/10/16/%e7%84%a1%e5%90%8d%e3%82%af%e3%83%a9%e3%82%b9%e3%81%a8%e3%81%af/)で「通常のクラスと匿名クラスの書き方の比較を見たい」という意見があったので、少し補足を行います。 サンプルコードの通り、匿名…
この記事では、暗号化が必要な理由や共通鍵暗号方式・公開鍵暗号方式の概要、SSLの仕組みの概要について書きます。 1.暗号化が必要な理由ノード(端末やサーバ等、他の機器との通信を行う主体を指す)間の通信内容は、Wiresharkのようなパケットキャプチャ…
この記事では、情報処理技術者試験で問われる排他制御とデッドロックについて、基礎的なことを書いていきます。 排他制御やデッドロックを理解する前に、トランザクションについて理解する必要があります。トランザクションとは、複数の処理をひとまとまりに…
最近の情報処理技術者試験では、VRとARの違いを知らないと答えられない問題が出題されることがあります。 詳しい知名度は以下の通りなのですが、VRという用語に比べて、ARという用語は比較的知名度が低いです。 VR認知度は87.6%、ARは34%。『VRビジネス調査…
情報処理技術者試験では、「静的解析ツールとは何か」「動的解析ツールとは何か」を問う問題が出題されます。この記事では、これらのツールは何か、何のために使うのか、といったことについて簡単に書いていきます。 【静的解析ツールの説明】静的解析ツール…
Base64とは、テキストデータやバイナリデータ(画像ファイル、PDFファイル等)を表現する方式の一つです。以下の64種類の文字と末尾のパディング文字(=)を用いて表現するのが特徴です。・アルファベット(a~z, A~Z)・数字(0~9)・一部の記号(+, /) …
Vue.jsのコードに時折コロン(:)やアットマーク(@)が出てきて戸惑う人がいるかもしれませんが、これは省略記法です。それぞれ、v-bind、v-onを指しています。 Vueオブジェクトの変数や関数をHTML側から参照するために、v-bindやv-onを使用します。 以下、…
JavaScriptでは、通常は非同期処理となり、重い関数が終わるまで待つということをせず、次の関数に先に制御が移ってしまいます。そのため、API呼び出しやIO(ファイルの読み書きやDBの読み書き)を伴う関数を呼び出した後に、その結果を元に次の処理を行う、…
以前の記事で、URLからJavaScriptを読みこむことでブラウザに表示される文字の変換を試みました。しかし、URLから読み込ませる方法だと、大量の文字列置換はできません。 そこで、今回はChromeの拡張機能を使用した文字列置換を試みました。以下、サンプルコ…
JavaScriptの初心者を悩ます文法の一つとして、thisが挙げられます。thisが何を指しているのか、どのような場合に使われるのか、なかなかイメージが難しいと思います。 この記事では、その疑問について答えていきたいと思います。 今回の記事では、サンプル…
JavaScriptには「Strictモード」と呼ばれるモードが用意されています。Strictモードにすることで、バグに気付かずに実行が継続されるのを防ぎやすくなり、高速化することもあります。 詳しくはMozillaのページ(https://developer.mozilla.org/ja/docs/Web/J…
ブラウザで表示される文字列について、お気に入りからJavaScriptを読みこませることで置換することができます。例えば、強調表示したいような場合にこれを活用できます。 例として、mozillaのJavaScriptのページを強調表示してみましょう。https://developer…
国内で開発作業に従事している場合でも、国外の技術者とのやりとりが必要になるケースがあります。特に理系大卒の技術者は英語力に自信が無い場合が多い(理系大卒の新卒時点でのTOEICの平均スコアは400点台)のですが、現在はGoogle翻訳という文明の利器が…
サクラエディタの機能として昇順・降順ソートが用意されていますが、それ以外の独自の条件でソートを行いたい場合、置換機能を上手く使うことでソートできる場合があります。改行コードを一時的に置き換えて1行のファイルにするのと、参照機能で並び替えを…
コロナ渦の影響で、テレワークが流行っています。テレワークではコミュニケーションの取り方が変わるため、チャットでのやりとりに慣れていない技術者がコミュニケーションの取り方に悩むという姿を目にします。 先日、相談に乗る機会があったので、それを元…
オブジェクト指向を適用すると、ソースコードの重複した記述を排除でき、生産性や品質を向上することができます。それとは別に、他の開発者にルールを強制できるメリットもあります。カプセル化を例にして説明するのがわかりやすいので、今回はカプセル化を…
JavaScriptのmatchメソッドは戻り値に特徴があり、戻り値を利用して文字列抽出もできるようになっています。今回は、文字列抽出の方法を紹介していきます。 ---- matchメソッド(String.match)では、引数で与えた文字列が含まれるかどうかを返すメソッドで…