Learn or Die

生涯勉強。Macです。

一定時間だけモーダルウィンドウを表示する

コード

html▼

<div class="modal">
  <div class="overlay js-modal--close"></div>
  <div class="modal__inner">
    <h2>モーダル</h2>
  </div>
</div>
<style>

js▼

$(function(){
  //クリックすると2秒かけて消える
  function clickAction() {
    $('.modal').fadeOut('200', function () {
      $('.modal').remove();
    });
  }
  //自動で3秒後に消える
  setTimeout(clickAction, 3000);
});

参考サイト

style01.net

TCPについて詳しく調べてみた

TCPとは

Transmission Control Protocolの略。
通信するときに使うルール(通信プロトコル)のひとつ。
TCPはコネクション型プロトコル(通信相手の応答があってはじめて通信を開始する)なので、データ転送を行う前にコネクションの確立を行う。
このTCPにおいて使用されるコネクションの確立のことを、3ウェイハンドシェイクという。

ポート番号とは

ポート番号とは、コンピュータが通信を行うために通信先のアプリケーションを特定するための番号のこと。
ポートはよく「扉(ドア)」に例えられる。
IPアドレスが住所「家」であれば、ポートは外に出る・外から入る「扉(ドア)」に該当する。
コンピュータ間の通信で通信する先のIPアドレス(住所)が分かれば、そのIPアドレスにデータを送信できますが、そのデータを受信したコンピュータが、どのアプリケーションでそれを受信するのか判断するためにポート番号(ドア)が必要。

FINパケット

FINパケットとは、TCPで用いられるパケットの一つで、接続の終了を通知するために送られるもの。
3ウェイハンドシェイクを切断するときに、やり取りされるデータのひとつ。
FINフラグ(とACKフラグ)に1がセットされたパケットのこと。
TCPではフラグ(FINとACK)のやりとりによって、切断が完了する。

参考サイト

https://wa3.i-3-i.info/word15432.html#:~:text=FIN%E3%81%AF%E3%80%8C%E3%83%90%E3%82%A4%E3%83%90%E3%82%A4%E3%81%99%E3%82%8B%E3%81%AD,%E3%81%AA%E8%BF%94%E4%BA%8B%E3%81%AE%E7%9B%AE%E5%8D%B0%E3%81%A7%E3%81%99%E3%80%82

milestone-of-se.nesuke.com

TCPDFのOutputで日本語ファイル名が消える

下記のように日本語でファイルを保存しようとすると、日本語部分が消えてしまいます。

<?php

$name = 'テスト ハナコ';
$pdf->Output($name.".pdf","I");

解決方法

tcpdfフォルダ直下のtcpdf.phpを修正する。
7592行目にあるOutputメソッド内の、下のpreg_replaceをコメントアウトする。

<?php

if ($dest[0] != 'F') {
    $name = preg_replace('/[\s]+/', '_', $name);
//  $name = preg_replace('/[^a-zA-Z0-9_\.-]/', '', $name);
}

7666行目のbasename関数を外す。

<?php

// 修正前
//header('Content-Disposition: inline; filename="'.basename($name).'"');
// 修正後
header('Content-Disposition: inline; filename="'.$name.'"');

これで日本語ファイルとして出力されました。

JOIN / LEFT JOIN / RIGHT JOINについて

JOIN

JOINは「内部結合」。
一番使用機会が多い。INNNER JOINの別名。
共通のカラムを条件に、複数テーブルの結合を行うことができる。 結合できなかった行は返さない。

LEFT JOIN / RIGHT JOIN

どちらも「外部結合」。
結合できなかった行があっても表示するので、一部レコードがNULLになる場合もある。
LEFTの場合は左側、つまりFROMで指定した側のテーブルを指し、そのテーブル側を軸に情報を表示する。

参考サイト

www.sejuku.net

qiita.com

IN演算子

IN演算子とは

WHERE 句で条件を指定するときに、 IN 演算子を使用するとカラムの中に、IN演算子で指定した値が存在するかどうか調べることができる。 マッチした場合は条件式はTRUEになる。

SELECT col_name FROM table_name
WHERE col_name IN (value1, value2, ...);

NOT IN演算子

IN 演算子の前に NOT を付けることでリストの中のどの値とも一致しない場合に条件式が TRUE となる。

SELECT col_name FROM table_name
WHERE col_name NOT IN (value1, value2, ...);

参考サイト

www.dbonline.jp

revertを取り消す

リモートのベースブランチでreveertし、消えてしまった修正分を再度pushする。

# ベースブランチに移動
$ git checkout master
# リモートの変更分を取り込む
$ git pull origin master
# 作業ブランチに移動
$ git checkout feature/task10
# ベースブランチの変更を取り込む
$ git merge master
# コミット履歴を確認
$ git log
# revertを取り消す。(つまりrevertをrevertする)
$ git revert <コミットID>
# 反映されているか確認後、リモートにpushする
$ git push origin feature/task10

Git – revert

revertとは

既存のコミットを取り消すためのコマンド。
「取り消したいコミットを打ち消すようなコミットを新しく作成する」という処理によって、既存のコミットを取り消す。
新しくコミットを追加しているだけなので、既存コミットの履歴が消えるわけではない。

resetとの違い

「既存のコミットを元に戻す」という点について、同じような機能を持つコマンドがreset。
revertコマンドは特定のコミットを元に戻すことができる。
resetコマンドは、「コミットを取り消した」というコミットが残らない。

使用方法

# コミット履歴を確認
$git log
# 指定のコミットを取り消す
$ git revert <コミットID>

qiita.com