From the Southern Hemisphere

From the Southern Hemisphere

南半球に移住したプログラマの日々

VS Codeのターミナルでngコマンドが実行できない時の対応

 

環境

・Windows 10
・Visual Studio Code (VSCode)
・Angular CLI

現象

VSCodeのターミナルでngコマンドを実行しようとしたところ、

 ...\npm\ng.ps1 cannot be loaded because running scripts is disabled on this system.

というエラーメッセージが表示され、コマンドを実行できませんでした。
メッセージによると、該当スクリプトの実行が無効になっているようです。

f:id:EstherSoftware:20211023083315p:plain

対応

PowerShellを管理者として起動して、下記コマンドを実行する。

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser

これでVS Codeのターミナルで ng コマンドが実行できるようになりました。

参考

Execution Policy (実行ポリシー) の詳細は下記サイトを参照してください。

docs.microsoft.com

読者さん募集中

記事を気に入ったら読者登録をお願いします!

 

PostgreSQL - PRIMARY KEY (主キー) と UNIQUE の違い

PRIMARY KEY と UNIQUE の違いとは?

Primary Key(主キー)とUniqueはどちらも「データが一意である」制約を設定するものです。それならこの2つに違いはあるの?と気になったので調べてみました。

PRYMARY KEY

PRIMARY KEY(主キー)とは「テーブル内の行データを識別するために設定でき、重複した値を許さないカラム」のこと。複数のカラムに対して設定することも可能。NULLは許可されない。単純に言うと、後述するUNIQUE制約と非NULL制約を組み合わせたもの。この制約は一つのテーブルに対して一つしか設定できない。

UNIQUE

UNIQUE制約とは「カラムまたはカラムのグループに含まれるデータが、テーブル内の全ての行で一意であることを確実にする」ということ。つまり行データを識別する必要は無いけれど、あるカラムに対して重複した値が入るのを禁止したいときに使える。この制約は一つのテーブルに対して複数設定することができる。

UNIQUE制約ではNULLが許可されている点に注意です。

まとめ

PRIMARY KEYもUNIQUEもデータに一意性を持たせる点は同じだけど、目的によって使い分けできることがわかりました。

PRIMARY KEY

テーブル内の行データを特定するために一意性を持たせる。

UNIQUE

 重複した値を格納したくないカラム(またはカラムのグループ)に一意性を持たせる。

参考記事

www.postgresql.jp

www.postgresqltutorial.com

【超かんたん】Youtubeで特定の広告をたったの3ステップで非表示にする方法

Youtubeで特定の広告を消したい

Youtubeで動画を見ていると広告が表示されることがありますよね。僕は広告が表示されること自体は全然気にしないんですが、どうしても好きになれない広告があってその広告だけでも表示されないにする方法がないかを探していて、ついにその方法を見つけました。

そこで今回はYoutubeで特定の広告を非表示にする方法をシェアします。

ステップ1

Youtubeで動画を見ているときに広告が表示されたら、広告動画の左下にあるアイコン(○の中にiの文字があるマーク)をクリックします。

f:id:EstherSoftware:20210412210503j:plain


ステップ2

「この広告が表示される理由」というメッセージが表示されるので下の方にある「この広告の表示を停止」を押します。

f:id:EstherSoftware:20210412210529j:plain

ステップ3(省いてもOK)

最後に「この広告の表示を停止しました。」というメッセージが表示されるので「閉じる」ボタンを押して設定完了です。※このメッセージが表示された時点で広告の表示は停止されているのでこのまま何もせずに画面を閉じてもOKです。

f:id:EstherSoftware:20210412212611j:plain

 さいごに

今回はYoutubeで特定の広告を非表示にする方法についてまとめました。たった3ステップで簡単に広告を非表示にすることができるので、皆さんも試してみてくださいね。

 

テスト駆動開発(Test-driven development)について超ザックリまとめてみた

Test-driven development (TDD) という言葉をよく聞くけれど、実際どういうものなのかわかりませんでした。今回はTDDについて調べてわかったことを超ザックリまとめてみました。

テスト駆動開発

テスト駆動開発 (Test-driven development: TDD)とはソフトウェアの開発手法である。プログラム(機能)の実装前にテストコードを書き、そのテスト(テストコード)をパスできるように実装とリファクタリングを進めていく。

基本サイクル

テスト駆動開発の基本サイクルにはレッド、グリーン、リファクタリングという3つのステップが存在する。

レッド

このステップで重要なのは、実装したコードが何も書かれていなくても、先にテストコードを書くこと。そして、そのテストが必ず失敗すること

このステップでは、実装する機能の要件を適切な粒度に分けて、どんなテストが必要になるかを明らかにする。

グリーン

このステップでは機能の実装を行う。このステップで重要なポイントは、先に書いたテストコードのテスト条件を全てパスできる最小限の(可能な限りシンプルな)コードを書くこと。例えばテストが『文字 'a' を返す』であれば単純に文字'a'を返すコードでもOK。

リファクタリング

テストを全て成功(グリーンの状態に)させたら、次はリファクタリングを行いコードの可読性を高める。

リファクタリングのステップはコードの規模が小さいうちに実施するようにすること。テストをクリアしているからといってリファクタリングを先延ばしにすると、コードの規模が大きくなるにしたがってリファクタリングの負担が増えてしまう。

メリット

バグが減る

TDDのテストにより、多数のバグが開発段階で発見・修正されるため後々に発見されるバグの数が少なくなる。

要件の理解が深まる

テストと実装を繰り返して進めていくため、実装対象への理解を深められる。

デメリット

コーディングが長くなる

TDDでは実装時にテストコードを書くのでコーディングに時間がかかり、レッドのプロセスが疎かになってしまう可能性がある。

テストコードの保守が必要

TDDのテストコードは、実装コード同様にリグレッションテストで使用するために保守が必要。そのため、保守対象のコードが通常より増え、大規模な変更が行われる場合には多くのテストコードを修正する必要がでてくる。

参考書籍

テスト駆動開発について原点から本格的に学びたい方には「テスト駆動開発」がおすすめです。

テスト駆動開発

テスト駆動開発

 

読者さん募集中

記事を気に入ったら読者登録をお願いします!

突然の「Windowsサービスに接続できませんでした」メッセージ

Windowsサービスに接続できませんでした

パソコンを起動したら画面の右下に「Windowsサービスに接続できませんでした」という不穏なメッセージが表示されるようになりました。

しかもこのメッセージが出てからパソコンの起動がやたらと遅くなった気がする...。今回はこのメッセージが表示されたときの対応方法を紹介。

f:id:EstherSoftware:20200920041005j:plain

対応方法

管理者用コマンドプロンプトからコマンドを実行します。

1)コマンドプロンプト(管理者)を起動

スタートメニューからコマンドプロンプト(管理者)を起動する。

f:id:EstherSoftware:20200920041212j:plain

2)コマンドを実行

コマンドプロント(管理者)を起動したら「netsh winsock reset」と入力してエンターキーを押してコマンドを実行する。

f:id:EstherSoftware:20200920041237j:plain

コマンドを実行して「Windsockカタログのリセットに成功しました」というメッセージが表示されたことを確認。

f:id:EstherSoftware:20200920041255j:plain

3)パソコンを再起動

パソコンを再起動して「Windowsサービスに接続できませんでした」メッセージが表示されなくなっていることを確認。

最後に

今回は「Windowsサービスに接続できませんでした」というメッセージが表示されたときの対応方法について書きました。この記事がお役に立ったら幸いです。

読者さん募集中

記事を気に入ったら読者登録をお願いします!