情弱エンジニアのなかのblog

一人前のエンジニアになる為のブログです

MySQLのREPLACEについて

MySQLでREPLACEの使い方等について覚えたので記載いたします。 REPLACEはレコードに登録してある文字列や数値を置換したい時に使います。 書き方は以下のようになります。 UPDATE テーブル名 SET カラム名=REPLACE(カラム名, '置換前', '置換後') WHERE id=X…

gitでリモートのブランチをチェックアウトできずにつまずいたとき

Git

gitを使ったチーム開発で問題が起こりました。開発の手順は以下のようになります。 リモートのブランチ[A]をローカルにチェックアウトする ローカルに作業用ブランチ[B]を作る、制作をする、時が流れる ローカルのブランチ[A]が古くなっていて諸事情によりロ…

jQuery でHTMLの操作 1

jQueryでHTMLの操作について記載いたします。 1.テキストの変更 HTML要素に含まれるテキストを変更または取得するためにtext()を使います。 HTML <p id="first">変更前</p> text()を使ってテキストを変更するにはtext(...)の内側に変更後のテキストを記述します。テキストはダ…

Atomの便利なパッケージ minimapの紹介

Atomでいくつかのパッケージを入れてみて便利なものがあったので記載いたします。 minimap 前々から気になっていたのですが、スクロールバーが小さくて使いにくかったので 「minimap」というパッケージを入れてみました。 右側の赤い枠の中の半透明部分がス…

CakePHPで PHPUnitの導入

CakePHPでPHPUnitをインストールするまでに色々と苦労をしたので手順等を記載します。 1.とりあえず実行して何が足りないのか調べる まずはルートディレクトリで lib/Cake/Console/cake test app を実行します。すると include(PHPUnit/Autoload.php): faile…

CakePHP Hash::extractについて

cakephpのコードでHash::extractという記述を見つけまして、以前もどこかで見たような気がするのですが しっかり理解できていなかったので使い方等記載していきます。 まず説明の前に以下のようなデータを持っているとします。 $results = array( 0 => array…

jQuery でセレクターの指定など3

jQueryでセレクター指定について記載していきます。 間接セレクター 特定のセレクターの後に出現する要素を選択できるのが「間接セレクター」です。 セレクターと要素を~(チルダ)で結びます。 HTML <ul> <li id="first">テキストテキスト</li> <li id="second">テキストテキスト</li> <li id="third">テキストテキスト</li> <li id="fourth">テ</li></ul>…

gitで間違えてpushしてしまったときの対応など

Git

gitを使ったチーム開発で間違えてpushをしてしまい、githubを確認したら案の定「Compare & pull request」が出ている、、 そんなときの解決方法を調べたので記載いたします。 まずは「branches」を押します 続いて消したいブランチを探してゴミ箱マークを押…

vagrant内のプロジェクトをatomで開く

vagrantを使ってアプリ開発をしていましてatomでコードを書いているのですが いちいちFTPを開いてファイルを選択するのが面倒なので、 サイドにプロジェクトのツリービューを出す方法を調べました。 まずパッケージのインストールが必要になります。 atomで…

phpMyAdminのセットアップの際の注意点

アプリの制作などでvagrantにphpMyAdminをインストールすることがあると思うのですが ブラウザで表示しようと思ったら「403 Forbidden~」と出てしまった、、という場合の対処方法を記載いたします。 phpMyAdminのインストールに関しては以下のサイトなどを…

シンボリックリンクを使った際の注意点

アプリの制作などで仮想環境を使うことがあると思うのですが linuxでシンボリックリンクを使ってアプリをブラウザで確認した際に 403 Forbidden You don't have permission to access 、、、 と出てしまいました。 こちら調べて解決したので方法を記載いたし…

linuxコマンド まとめ

最近linuxのコマンドを使うことが多くなってきたので コマンドやショートカットをいくつか紹介したいと思います。 clear 画面を一度まっさらにして画面を見やすくしたいときは「clear」を使います。 画面が文字だらけで見えにくくなったら「clear」を使うと …

jQueryでモーダルウィンドウ 画像表示

画像をクリックして背景を暗くしてクリックした画像をモーダルウィンドウで表示するという処理をjQueryで制作したので 手順などを記載いたします。 まずはHTMLで画像の準備をします。 1.HTML <body> <a href="images/temp.jpg" class="modal"> <img src="images/temp.jpg" alt="画像"></a> <div id="glayLayer"></div> <div id="overLayer"><img src="images/article.jpg"></div> </body> 画像が一枚表示されます。 画像を表示した…

heidiSQLの使い方

最近SQLの制作をしていましてテストデータを制作するのに時間がかかっていたので 簡単にテストデータを作成するためにheidiSQLというツールを使いました。 なかなかに便利だったのでインストールの手順と使い方を記載いたします。 前提としてXAMPPが必要にな…

MySQLの外部結合の条件について

SQLの制作で結合を使うのですが外部結合を使う際の注意と仕様を今一度まとめたいと思います。 以下のようなテーブルがあると仮定いたします。 customersテーブル 顧客名 +---+-------+ |id |name | +---+-------+ |1 |yamada | |2 |tanaka | |3 |satou | +--…

MySQLで初回購入後の顧客データ

SQLで初回購入の年月と初回流入の媒体を指定して顧客を分析して その顧客の月毎かつ媒体ごとの売上とユニークな顧客数を出すという処理を制作したので手順を記載いたします。 今回は初回購入月と初回流入媒体を指定することを前提とします。 まずは以下のよ…

jQuery でセレクターの指定2

前回jQueryでセレクター指定の記事を書いたのですが まだセレクターについて書くことがあったので記載していきます。 前回の記事はこちらになります。 nonaka-katuma-hal.hatenablog.com 初期状態はこのようになっているものとします。 HTML <ul> <li>テキストテキス</li></ul>…

jQuery でセレクターの指定

先日jQueryでアコーディオンの制作をして記事を書いたのですが その前にセレクターの指定から書くべきだなと思ったので今回はjQueryのセレクターについて記載していきます。 HTMLのどの要素を操作するかをセレクターで指定していきます。 本編に入る前に本記…

jQueryでアコーディオンの制作

アプリの制作をしていまして、アコーディオンを使ったメニューを制作したので手順等を記載いたします。 まずはHTMLは以下のように記載いたしました。 <html lang="ja"> <head> <meta charset="UTF-8"> <title>アコーディオン</title> <script type="text/javascript" src="js/jquery-3.2.0.min.js"></script> <script type="text/javascript" src="js/menu.js"></script> </meta></head></html>

CakePHP cssが反映されない時の対処方法

CakePHPでアプリの制作していてcssを編集してブラウザで確認した際に編集点が反映されていないという事があり、 原因を調べて対応したので手順等を記載いたします。 まずは原因ですが もしかしたらブラウザがcssをキャッシュしているのではないか? という記…

SQL サブクエリの扱い方について復習

SQLを書いていてサブクエリを使うのですが基本的な使い方のおさらいをしておきたいと思ったので記載いたします。 今回はデータうんぬんではなく、サブクエリを使う際の注意になります。 まず以下のようなサブクエリの使い方をしているとします SELECT custom…

SQL データの集計に関して

売上の計算をするSQLを制作していまして、特定条件で絞り込んだ顧客の初回購入から〇ヵ月間の売上を取得する という処理を制作したので、手順等を記載いたします。 まず前提として以下のようなテーブルがあるとします。 customersテーブル 顧客名 登録日(顧…

SQL JOINの注意点について

初回購入商品ごとに顧客を出力して顧客たちの初回購入月の総売上を出力するSQLを作っていたのですが 問題点があったので記載いたします。 まず今回このようなデータが入っているものとします。 customersテーブル 顧客名 +---+-------+ |id |name | +---+---…

PHPでDBのデータを扱う

PHPのアプリケーションを制作していてDBを扱う方法を学んだので記載いたします。 今回はDBの挿入と更新と削除を行う方法に絞って説明いたします。 1.挿入 挿入の処理は以下になります $stmt = $db->prepare("INSERT INTO テーブル名 (name, value) VALUES (:…

MySQLで大きい数値の表示とGROUP BYで複数指定の方法

MySQLを使っていて覚えた技術を記載いたします。 1.表示する数値を3桁でカンマ区切りにする 総売上など、ある程度大きい数値を出力するSQLを作った際に、そのまま表示すると見にくくなります。 SELECT total_sales as '総売上' 総売上 10000000 表示する数値…

SQL WHERE 1の意味について

SQL文でときどき SELECT fuga FROM hoges WHERE 1 といった書き方を見かけたのですがどういった意味なのか分からなかったので、調べたので記載いたします。 まず上記のSQL文は SELECT fuga FROM hoges と結果は変わりません。 [where 1]に関してですが、MySQ…

MySQLで特定期間のデータを抽出する

ある期間に始めて購入があった顧客を取り出して、購入した月から3か月間の累計購入金額を 出力するという処理を作ったので手順等記載いたします。 今回のブログでは3つのテーブルを使います(SQL文では2つ) 構造を記載いたします。 customersテーブル 顧客名 …

CakePHPでSession情報を取得する

CakePHPで記事を投稿するアプリケーションを作っていて Authを使ったユーザーログイン機能を実装したのですがログイン中ユーザーが記事を投稿する事が出来ておらず、 今回記事を投稿する際Sessionの情報からユーザーを判断する処理を作ったので手順書等を記…

SQL小数点の表示とtimestamp

SQLを扱っていて、小数点の表示とtimestampを扱ったので、使い方等記載いたします。 1.小数点の指定 データの平均を出す計算をするときなどで、小数第何位まで表示するか指定したいときがあると思うのですが そういったときに使えるのが[DATE_FORMAT]です。 …

MySQLで日付に関する処理

日付の処理の実装 MySQLでとある月から〇ヶ月後のデータを取得するなどを行ったので手順書等を記載いたします。 1.DATE_FORMAT 日付データから特定の数値だけ必要な時はDATE_FORMATを使います。 例えばフィールド[birthday]に[1994-05-23]という形式で誕生日…