独り言

プログラミングの講師をしています。新人研修で扱う技術の解説と個人の技術メモ、技術書の紹介など

【SQL】SQLで再帰処理を実現する

SQL

with句とunion allを使用することで、SQLで再帰処理を実現することが可能になります。 再帰を用いることで、大量のダミーデータを簡単に作成したり、階層構造になっているデータの取得が簡単に実現できるようになります。 ただしこのこの構文はDBMSによって…

【Java】入れ子構造のデータの表示

例えば、メインカテゴリを一覧で表示するときに、そのメインカテゴリに対するサブカテゴリも入れ子にして一覧で表示したいような場合があります。 例えば以下のような表示をしたい時。 メイン1 サブ1 サブ2 サブ3 メイン2 サブ1 サブ2 サブ3 このよ…

【JavaScript】星マークでの5段階評価

商品やお店のレビューなどでよく見かけるような、星マークでの5段階評価を行うJavaScriptプログラムのサンプルです。 実際のサービスでのプログラムでどのようなプログラムになっているかは不明ですが、自分なりに作成してみたので、レビューや評価ができる…

【JavaScript】オブジェクト指向

JavaScriptにおけるのオブジェクト指向の概要の説明。 ここではJavaやPHPなど、サーバーサイド用の言語のオブジェクト指向の知識がある程度備わっている前提で話を進めます。 JavaScriptは、元々オブジェクト指向を前提に作られた言語ではありませんが、歴史…

【JavaScript】少しリッチなカレンダーの作成

以前、シンプルなカレンダーを作成するJavaScriptのコードの記事を書きましたが、今回はボタンによって前月、次月のカレンダーを表示することができるカレンダーを作成しました。 Webアプリ、Webサイトでのカレンダー作成時の参考に。 CSSは省略しています。 <body></body>…

【JavaScript】非同期通信

JavaScriptの非同期通信についてのまとめ そもそも非同期とは 非同期を知るには、同時に同期を知る必要があります。 イメージとしては電話とメールの違い。 通常の会話や、電話、テレビ会議などは、同期コミュニケーションです。 1人が話しているときは、他…

Herokuで構築したシステムをCentOS8環境に移行した時の作業ログ

無料で使えるPaasのサービスであるHerokuにPHPを使ったシステムを構築していましたが、さくらのVPSを契約してCentOS8環境に移行したので、その時の手順をまとめます。 移行前の環境 サーバー環境:Heroku DB:PostgreSQL(Heroku Postgres) 言語:PHP 概要 …

【JavaScript】シンプルなカレンダーの作成

JavaScriptでシンプルなカレンダーの作成。 いくつかネットに転がっているコードを参考にもしましたが、基本的にDateの使い方さえ知っていればあとはifとforだけで意外と簡単に作れると知りました。 const today = new Date(); // 現在の日時 const year = t…

【PHP】PHP入門(環境構築)

PHP

PHPは、数あるプログラミング言語の中でも比較的に動作させやすいプログラミング言語です。 しかし、PHPの動作環境は多くあるため、ここで簡単に比較しつつまとめてみます。 目次 PHP単体でのインストール XAMPPについて MAMPについて XAMPP・MAMPのインスト…

【UML】UML入門

UMLの基本的な内容について解説します。 UMLとは Unified Modeling Language の略です。 オブジェクト指向におけるプログラムの構造を把握する場合に使用します。 システムの要件や業務の流れを整理する際にも使用されます。 UMLに含まれる図のことを「ダイ…

【Redmine】Redmineの構築

サーバーにRedmineの環境を構築する作業をしましたが、いくつかつまずいた箇所があったのでそのメモです。 サーバーの環境 インストールを実施した環境は以下 OS:CentOS6(Sakura VPS) DB:MySQL 5.6 Ruby:未導入 インストールしたもの * Ruby 2.5.7 * Re…

【AWS】【Docker】【Java】Amazon Linux 2 でJavaのWebアプリケーションをデプロイするまで(Docker編)

以前、AWS EC2のAmazon Linux 2の環境にJavaのWebアプリケーションをデプロイするまでの手順解説の記事を書きました。 [Amazon Linux 2でJavaのWebアプリケーション動作環境を構築してデプロイするまで]https://case10.hateblo.jp/entry/2020/10/06/165543 …

【PHP】PHP入門(オブジェクト指向編)

PHPのオブジェクト指向編です。 オブジェクト指向そのもそについての細かい説明は下記の記事で書いたので、ここでは簡単な説明に留めます。 ソースコードを絡めた説明をメインにします。 case10.hateblo.jp PHPのオブジェクト指向以前の内容については以下の…

【SQL】ビットマップインデックスの仕組み

SQL

ビットマップインデックスの仕組みについてのメモ。 Qiitaでも同じ記事書いてます。 そもそもインデックスとは ビットマップインデックスの前にそもそもインデックスとは何かについて簡単に説明。 インデックスはざっくりいえばテーブルに対してのSQL(SELEC…

【プログラミング全般】オブジェクト指向入門

ここでは様々なプログラミング言語でサポートされているオブジェクト指向について解説します。 オブジェクト指向は一言でいえば、モノ(オブジェクト)に着目したプログラミングの概念で、開発を効率よく行うために必要な考え方です。 オブジェクト指向をサ…

【プログラミング全般】デバッグの基本

ここではデバッグについて解説します。 デバッグとは プログラム(ソフトウェア・アプリケーション)の不具合のことをバグと呼びます。 そしてバグを取り除く(プログラムの不具合を修正する)ことをデバッグと呼びます。 バグは日本語では虫の意味がありま…

【JavaScript】スロットゲーム

JavaScriptで作成したスロットゲームです。 ドットインストールを参考にしようとしつつ、結局全く違うコードになってしまいましたが、とりあえずは動きます。 JavaScriptの学習やゲーム作成の参考にどうぞ。 <html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>スロットゲーム</title> <style> body { text-align: center;</meta></meta></head></html>…

【JavaScript】タイピンゲーム2

以前JavaScriptでのタイピングゲーム1のソースコードを載せましたが、少し改良したのでそちらも載せます。 改善点としては、 リアルタイムで時間が表示される ストップボタンを追加 出題される単語のテーマを選べるように といった感じです。 こちらもJavaSc…

【JavaScript】タイピングゲーム1

JavaScriptで作成した簡単なタイピングゲームです。 ドットインストールで紹介されていたJavaScriptでのタイピングゲームの動画を参考にアレンジを加えたものです。 JvaScriptの学習、ゲームの作成の参考に。 もう少し改良したいのでバージョンアップしたら…

【JavaScript】じゃんけんゲーム

JavaScriptで作成した簡単なじゃんけんゲームです。 画像ファイルは適当なネットのフリー素材を探してご使用ください。 JavaScriptの学習、ゲーム作成の参考に。 <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>じゃんけんゲーム</title> <style> body { text-align: center; } #your-choice, #opp…</meta></meta></head></html>

【Java】【AWS】Amazon EC2でJavaのWebアプリケーション動作環境を構築してデプロイするまで

クラウド上にJavaによるWebアプリケーションの動作環境を構築する手順です。 AWSの Amazon EC2を使用し、マシンイメージはAmazon Linux 2 を利用します。 DBはPostgreSQLを使用する前提とします。 解説する内容は以下の項目。 インスタンスの作成までに関す…

【PowerShell】PowerPintのプロパティのタイトルを一括で変更する

PowerPointやExcelなどのOffice製品では、プロパティでタイトルを設定することができます。 PowerPointだけを使っている場合にはあまり意識しなくても良い部分ですが、PDFにエクスポートする時ファイルのタイトルとしてタブに表示されます。 ファイル名と同…

【フレームワーク】フレームワーク入門

ここではプログラミングにおけるフレームワークについて解説していきます。 一般的なフレームワーク フレームワークという言葉は、プログラミング用語ではなく、様々な業界で用いられている用語です。 フレームワークは日本語では枠組みという意味をもちます…

【Git】Gitの理解度チェック

Gitに関する理解度を確認するための問題集です。 解説はここには書きませんが、下記の記事を参考にください。 case10.hateblo.jp case10.hateblo.jp case10.hateblo.jp 用語 以下の用語の意味を簡潔に説明しなさい。 Git バージョン管理システム リポジトリ …

【JavaScript】石取りゲーム

JavaScriptを使って超簡単な石取りゲームを作成。 プレイヤーがAとBで交互に交換していき、1度に1~3個の石を取ることができる。 最後の1個を取った人が負け。 JavaScriptの勉強の参考に。 ソースコード <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>石取りゲーム</title> <style> body { text-align: center;…</meta></meta></head></html>

【Linux】Linux入門(環境構築編)

ここではLinuxの環境を動かしながら学べるように、環境構築の方法を簡単に解説。 学習用でLinuxOSを動かすには、仮想環境を作るのが便利です。 VirtualBoxインストール 仮想化ソフト Oracle VirtualBoxをダウンロードしてインストールします。 ご自身のOSの…

【情報処理】仮想化とコンテナの基本

ここでは仮想化とコンテナの基本について説明します。 仮想化とは クラウドサービスなどでは、サーバーの仮想化の技術が使われています。 仮想化とはどのような技術をさすでしょうか。 一昔前までは、システムを構築する際はサーバーを調達し、1台のサーバー…

【情報処理】クラウドの基本

クラウドについての解説になります。 クラウドとは クラウドは、クラウドコンピューティングの略です。 クラウドとは、「コンピュータの資源(リソース)を必要な時に必要な分だけ使うことができる仕組み」のことです。 定義としてはこんな感じですが、一般…

【Linux】Linux入門(コマンド編)

基本コマンド pwd point working directory 現在の作業場所(カレントディレクトリ)を確認するコマンド。 ls list ファイルの一覧を確認するコマンド。 ls -l とするとファイルの詳細情報も同時に確認できる。 ls -aとすると、隠しファイルも含めて表示され…

【Linux】Linux入門(Linuxの概要)

Linuxの基本的な解説です。 Linuxとは Linux(リナックス)は、サーバーや組み込み系のシステム幅広い分野で利用されているコンピュータOSです。 UNIXというOSを真似てリーナス・トーバルズという人物が作り上げたOSがLinuxです。 コンピュータOSの中にはUNI…