iku8log

Webエンジニアのタダのメモ。

MacBook Pro Mojave で急にWifiに接続出来ないと思ったらHDMIケーブルが原因だった

詳しくは調べてないので詳細についてはよくわからないが、Wifiが急に接続できなくなった原因としては、ディスプレイに接続するHDMIケーブルだった。

このHDMIケーブルを外せばWifiに接続することが出来た

起きた事象

  • 急にWifiに接続できなくなった
  • Wifiに接続しようとしてWifiのパスワードを入力するも弾かれる
  • Wifiの接続をリセット(削除)しても繋がらない
  • PCの再起動、Wifiの再起動をしても繋がらない
  • 他のPCやスマホからだと繋がる

原因

USB干渉があることをネットで確認。 試しにPC全ポートのコードを抜いてみたらつながった。

今のPCのコードとしては以下の通り

  • ディスプレイ2枚
  • type-c <-> HDMI
  • type-c ポート拡張端子
  • HDMI <-> HDMI

問題なのはHDMI <-> HDMIだった。

type-c <-> HDMIを使用しているときは、Wifiに接続でき、HDMI <-> HDMI 使用時では接続不可となっていた。

解決方法

  • ディスプレイを抜く
  • apple純正のものに切り替える
  • 5GHzのWifiを使用する

今はお金が勿体ないのでディスプレイを抜くを選んだ。ディスプレイは1個だがまあいいや。 そのうち5GHzのWifiを使用するにする予定。

参考:

【対応策】MacBook ProでUSB Type-Cを繋ぐとWifiが繋がらなくて切れる。Type-CのWifi干渉問題の対応策 - いのちだいじに

IntelliJでプロジェクトが同一ウィンドウで開かれてしまう 新しいウィンドウで開く方法

事象

intellijを使っていて、新しいプロジェクトのウィンドウを開く時に、今開いている既存のプロジェクトと同じウィンドウで開かれてしまうようになった。

おそらく、初回に「新しいウィンドウで開く」か「同じウィンドウで開く」か聞かれて、同じウィンドウで開くにチェック付けたんだと思う。

解決方法

Preferences > Appearance & Behavior > System Settingsで変更できる

f:id:iku8:20200409122605p:plain

shiftを2回押して以下検索でも目的の設定画面に行ける

open project in new window

自分は常に「同一ウィンドウで開くか新しいウィンドウで開くか」聞くようにしている

「git -C pull」が使いたかったので、gitのバージョンを2系にした

確かgit -Cオプションは1.8くらいくらいから使えた気がするが、せっかくなので2系にあげてみた。

背景としては、jenkinsでコードデプロイをする時に、git pullをしたかったが、毎回workspaceを消していてgit cloneしていた。 なぜcloneかというと、workspaceが予期せず消えた時にpullだとデプロイがバグってしまうから(ほぼないし、原因解明もすぐだが)。

どうせならリポジトリが作業ディレクトリに存在すればpullするし、なければcloneするみたいな処理を書きたかった。スマートに。

ということで、git -C xxx pullというのを使いたかった。

前置きが長くなったがインストール方法

yumリポジトリ追加してインストール

今入っているgitを削除

sudo yum remove git*

git2系が含まれるyumリポジトリを追加

sudo yum -y install  https://centos7.iuscommunity.org/ius-release.rpm

gitインストール

sudo yum -y install  git2u-all

バージョン確認

 git --version

自分の環境では、git version 2.16.6が入った

ソースからインストールもしてみたが、なぜか-Cオプションが使えなかった。なにかが足りなかったんだろう。調べるのが面倒なので後の方法で対応した。

最終的なgit pull or clone設定

jenkinsに設定したスクリプトは以下の通り

git -C /path/to/repository pull || git clone -b master gitリポジトリ /path/to/repository")

参考: これと全く同じ https://computingforgeeks.com/how-to-install-latest-version-of-git-git-2-x-on-centos-7/

SpringBoot2.2、gradleでセッションをredisで管理する

SpringSecurityでの認証を実装していることを前提とする。

redisを導入しておく

dockerでredisを入れる

docker-compose.yml

version: "3.3"
services:
  redis:
    image: "redis:latest"
    ports:
      - "6379:6379"
    volumes:
      - "./data/reis:/data"

redisを起動する

docker-compose up

これでlocalhost:6379でredisにアクセス可能

springbootにredis導入

springbootのセッションでredisを使うには、

  • spring-boot-starter-data-redis
  • spring-session-data-redis

を入れる必要があるらしい。

MVNRepositoryで検索してみる

https://mvnrepository.com/search?q=spring-boot-starter-data-redis https://mvnrepository.com/search?q=Spring+Session+Data+Redis+

build.gradleに以下記述

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-data-redis:2.2.6.RELEASE'
    implementation 'org.springframework.session:spring-session-data-redis:2.2.2.RELEASE'
}

application.ymlに認証情報等記述

spring:
  redis:
    host: localhost
    port: 6379
    database: 0
    password: null

これで自分のアプリーケーションにログインすると、セッション情報がredisに書き込まれているのがわかる。 アプリケーションを再起動しても、redisにセッションが書き込まれているためログイン状態が保持される。

redisに入ってみてみる

$ redis-cli
127.0.0.1:6379> select 0
OK
127.0.0.1:6379> keys *

これでセッションが確認できる。

Nuxtの「.eslintrc.js」をIntelliJに読み込ませる

nuxtプロジェクト直下の「.eslintrc.js」を右クリックし、Apply ESLint Code Style Rulesを押す。

f:id:iku8:20200320141601p:plain

これで以下のようにeslintrcで設定してるルールに違反されているとエラーハイライトされる

f:id:iku8:20200320141748p:plain

参考: JetBrainsのIDEにESLintルールを適用してリフォーマットするTips - Qiita