From the Southern Hemisphere

From the Southern Hemisphere

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

ChatGPTを3ヶ月ほど使ってみた感想

ChatGPTとは

ChatGPTとは、OpenAI社が開発したチャットボットです。最大の特徴は会話形式でやり取りができること。基本的にどんな質問にも答えてくれます。しかも無料で使えます。すごい。

主な用途

僕のChatGPTの主な用途は、AngularとC#をベースにした開発に関して処理の実装方法のヒントを得たいときや馴染みの無いエラーの解決方法を調べるときに英語で質問しています。

使ってみた感想

けっこう便利だと思いました。会話形式でやりとりできるので、何かを調べたくてもどんな検索ワードで調べて良いかわからないときに威力を発揮する気がします。

検索エンジンだとキーワードがわからないと欲しい情報が得られないことが多々あるのでその点ではChatGPTの方が優れていると思いました。

ただし(後述していますが)不正確な回答もあるので、回答にあるキーワードを拾って検索エンジンで調べなおすということもよくあります。

ChatGPTの登場でプログラマーという職業は無くなるか?

少し前にChatGPTの登場によって「近い将来にプログラマーの仕事が無くなるのでは?」と言われていましたが、果たしてそんな未来はやってくるのでしょうか?

僕がしたプログラミングに関する質問に対しては3割ほどの確率で不正確な回答が返ってきたからです。さらに、回答で得られるサンプルコードだけで実行できるわけではないのでプログラミングの基礎知識が無い人が見てもあまり役に立ちません。

以上のことから、まだまだ近い将来にはそんなことは起きないだろうと思います。

ただし、将来的にChatGPTやその後継の人工知能がプログラミング開発環境の構築からデプロイまで出来るようになったら、その時こそプログラマーという職業の存在が危うくなる・・・かも?

読者さん募集中

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

 

手の疲れ・痛み対策にエルゴノミクスマウスが効果抜群だった

手に痛みを感じるように

数か月ほど前から手首や手指に時々痛みを感じるようになりました。プログラマーという仕事柄一日中パソコンを使っているので、いつかこういう日が来るのではないかと思っていましたが、実際にやってくるとコレが結構辛いのです。酷いときにはコーヒーカップを持とうとしただけで痛みを感じることもあります。

腱鞘炎や他の病気などを疑って病院で検査を受けたけれど特に異常無し。そのとき医者に勧められたのがエルゴノミクスマウスやキーボードの使用でした。

エルゴノミクスマウスとは

エルゴノミクスマウスとは、人間にとって使いやすい設計を分析する「人間工学」に基づいて設計されたマウスのことです。手をかぶせるように使う一般的な形状のマウスとは違い、手首をひねらずに無理のない自然な角度で使えるようにデザインされています。

逆に言えば一般的な形状のマウスは手首を常にひねっている状態なので、それだけ負担がかかっているということになります。

エルゴノミクスマウスの効果

購入して2週間ほど使用していますが、一般的な形状のマウスを使っていたときに感じた痛みは全くありません。

持ち方が通常のマウスと違うので操作に慣れるのに少し時間がかかるかもしれませんが、一度慣れてしまえば違和感無く使うことができます。

マウスの形状が飛行機やアニメに出てくる巨大ロボットの操縦桿のようで、使っていると少し気分が上がります(笑)

僕のようにパソコンの使用による手首や手指の痛みに悩んでいる方に是非一度試してもらいたいです。

おすすめエルゴノミクスマウス

僕がおすすめするのは、僕自身使っているPerixx社のPERIMICE-713Nです。

手ごろな価格でアマゾンでのレビューが良いので購入しました。

ワイヤレスなのでケーブルが絡まってストレスを感じることもなく、日本人の手にフィットする大きさなので使いやすいです。

日本のアマゾンでも同じタイプの製品が購入できます。

読者さん募集中

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

【VSCode】見ていた位置に戻る・進むショートカット

Windows版のVSCodeでさっき見ていた箇所に戻る・進むショートカットコマンドです。エディタ上部にある矢印アイコンをクリックしたときと同じ動作をします。

このコマンドを覚えておくだけでファイルを行ったり来たりする時間が短縮でき、開発スピードがグッと上がるので覚えておくと便利です。

前に戻る

Alt + 左矢印キー

次に進む

Alt + 右矢印キー

エディタ上にアイコンを表示する方法

画面上部で右クリックする。

メニューからCommand Centerを選択する。

矢印アイコンが表示されました。

おすすめ書籍

読者さん募集中

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

 

【Angular 14】Router のプロパティ title を使ってタイトルを設定する方法

はじめに

今回はAngular 14の新機能のひとつ、Router に追加されたプロパティ title を使って各ページに任意のタイトルを設定する方法を紹介します。

Router のプロパティ title を使ってタイトルを設定する方法

下記のように app-routing.module.ts 内のRoutes設定箇所にtitleプロパティを追加してタイトルの値を設定するだけで完了です。

const routes: Routes = [
  {
    path: '',
    component: ItemListComponent,
    title: 'Item List'
  },
  {
    path: 'item/:id',
    component: ItemDetailComponent,
    title: 'Item Detail'
  },
];
@NgModule({
  imports: [RouterModule.forRoot(routes)],
  exports: [RouterModule]
})
export class AppRoutingModule { }

これで各ページのタイトルに title プロパティに設定した値が表示されます。

メチャクチャ簡単でビックリしちゃいますね!

ちなみに title プロパティを設定していないページでは app.component.ts などで設定したタイトルが表示されます。

export class AppComponent {
  title = 'my-app';
}

応援おねがいします

ブログランキングに参加中です。

下記バナー・リンクをクリックして応援おねがいします!

 

 

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

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

テスト駆動開発

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

基本サイクル

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

レッド

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

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

グリーン

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

リファクタリング

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

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

メリット

バグが減る

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

要件の理解が深まる

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

デメリット

コーディングが長くなる

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

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

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

参考書籍

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

テスト駆動開発

テスト駆動開発

 

読者さん募集中

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