HAYDAY!

忘れやすいポンコツ人間。学んだこと、日々感じたこと、備忘録用ブログ

突然Bluetoothマウスが使えなくなった時の対処法(Windows10)

PCのBluetooth機能を利用したワイヤレスマウスを使用しているのですが

突然つながらなくなって困っていろいろ試したので、共有します。

 

事象

・ワイヤレスマウスがつながらない。

WindowsBluetoothをオンにしようとしても、そもそも選択項目がない

 

使用しているマウス

エレコムBluetoothマウス EX-G」です。

 

試したこと

・PCを一度シャットダウンして立ち上げなおした ⇒ ダメ

・マウスの電池交代 ⇒ ダメ

 

結果

 完全なシャットダウンをすると直りました!

 

完全なシャットダウンとは・・・

Windowsにはシャットダウンが2種類あって、通常シャットダウンしているのは簡易シャットダウンです。完全に電源が落ちているわけではなく操作状況が保持されているようです。

 

不安定な動作をしているときは一度、完全なシャットダウンをしたほうがいいそうです。

 

完全なシャットダウンの方法

簡単です。通常のシャットダウンボタンを押すときにキーボードの[Shift]キーを押したまま、「シャットダウン」を押します。

 

f:id:soyaaman:20200613200445p:plain



画面に「シャットダウンしています。」と表示されたら、[Shift]キーを離します。

 

以上です!

 

 

同じような境遇にあった方がいましたら是非試してみてください!

AWS プライベートサブネットのEC2に踏み台経由でSSHで接続する

こんにちは!

 

基本的な下記のような構成の場合に、プライベートサブネットに置いているインスタンスにはSSHすることができません。(プライベートサブネットはインターネットにつながっていないため)

 

f:id:soyaaman:20200516010420p:plain

ちなみにプライベートサブネットとパブリックサブネットの違いは

 

プライベートサブネット:インターネットゲートウェイに紐づいていない

パブリックサブネット:インターネットゲートウェイに紐づいている

 

という感じで、サブネットを作る時にそういう設定や機能がある訳ではなく

ルートテーブルやACLの機能をつかった考え方です。

 

 

今回、プライベートサブネットにローカルクライアントからSSH接続するために

踏み台経由で接続させるように対応したので、忘れないようにメモします。

 

構成

f:id:soyaaman:20200516010420p:plain

 

手順

プライベートサブネットにあるEC2のセキュリティグループのインバウンドにて、VPCのアドレスレンジからのSSH(22)を許可します。

f:id:soyaaman:20200516010539p:plain

 

次にNATゲートウェイを作成し、プライベートサブネットのほうのルートテーブルにてNATゲートウェイを紐づけます。

NATゲートウェイ作成時にサブネットはパブリックサブネットを選択します。

f:id:soyaaman:20200522230528p:plain

最後に、踏み台のセキュリティグループのインバウンドにてクライアントのGIPからのSSH接続を許可します。

f:id:soyaaman:20200516010842p:plain

 

次にネットワークACLがデフォルトのままであれば、ネットワークACL側でも同様にVPC内からのSSH接続を許可してください。

※ネットワークACLはインバウンドだけではなくアウトバウンドにて「すべてのトラフィック」を「VPCのアドレスレンジ」内で許可してください。

 

 

以上で下記のように接続できるようになると思います!

f:id:soyaaman:20200516010420p:plain

 

 

参考になれば幸いです!ありがとうございました!

AWSの「ElasticIP」とは??

Webアプリケーションの開発に携わっているのですが、最近は少しずつ、オンプレミスからAWSに切り替えよう!って動きが結構増えてきました。

 

メリットとしては、クラウドなので、サーバーの構築を瞬時に簡単に増やしたりできるので、スピードやコスト面でも、やはりオンプレミスよりメリットがあります。

また、マネージドなサービスも多いので、インフラの知識が弱い僕のような人間でも

簡単にサーバーを立てたり、いろんなサービスを簡単に構築できるので、その点は本当に便利です!

 

ただ、なかなかIT素人だった僕には、いろんな用語がわからいため、理解が遅く、かつ、忘れるのは早い!って感じなので、勉強しながら、覚えたことを簡単にメモしてみました。

 

間違っていることも部分もあるかもしれないので、その時は優しくご指摘いただけると幸いです!(笑)

 

今回はAWSの「ElasticIP」です!

 

ElasticIPとは??

固定のグローバルIPIPv4

EC2とかに割り振られているIPアドレスは、一回EC2インスタンスを停止して起動しなおすと、別のIPに変わる。。!

そうなると、外部連携でIP制御をしているサービスとかがあると影響がでてしまったりして、いろいろ面倒><

なのでElasticIPを払い出して、EC2にアタッチすることで、固定IPになる!!

 

特徴メモ

  • リージョン毎に払い出されるため、他のリージョンで払い出したのは使えない
  • 料金は基本無料!
  • けど、EC2に紐づけてないと料金発生する
  • 紐づけてもEC2が停止していたら、料金発生する
  • EC2が起動していたら無料!要は使わないと損するよ。使わないなら返して!ってことみたい

 

簡単な内容ではありますが、まとめてみました。

 

皆さんも是非使ってみてください。

読んでくれてありがとうございました!

アルゴリズムについて調べると眠れなくなった

こんばんわ!

 

アルゴリズムってたまーに聞くけど、何だろうと思ったことはありませんか?

僕もシステム開発の仕事についていながら、アルゴリズムという言葉の意味をちゃんと説明ができませんでした。

 

アルゴリズムとは??

Wikipediaによると

数学コンピューティング言語学、あるいは関連する分野において、問題を解くための手順を定式化した形で表現したもの

アルゴリズム - Wikipedia

 

例えば、1~100の数字が書かれているランダムに並んだカードがあって、それを大きい順に並べなさいと言われたら、どう並び替えますか?

 

カードを1枚手にもって、束の1番上のカードから順番に1枚ずつ引いて、数字が大きいほうを手に持っているものと入れ替える。

それをずっと繰り返して、最後に手に持ってるカードが一番大きいので最大カードとする。

という1ループを100回繰り返せば、ソートできます!

 

もしくは、

まず、50を基準として、束の1番上のカードから順番に1枚ずつ引いて、50以上と以下で2つに分ける。

2つに分けたものを、それぞれ基準の数字を決めて、さらに2つに分ける。

というのを1枚になるまで繰り返す。

 

など方法がいっぱいありますが、その方法それぞれが「アルゴリズム」と理解しました。

 

並び替えのアルゴリズムだけでもいっぱいあって

このQiitaの記事をぜひみてほしい。

 

qiita.com

 

このアルゴリズムを1つ1つみてると、

「あれがこうきて、それがこうで、、これを繰り返して・・なるほど!」

って感じで、考えて理解するのがめっちゃ面白い!

 

面白いのですが、夜から脳をフル回転させてしまったので、結果的に、眠れなくなっていますw

 

そして、なぜかYoutubeの横に出てきた「アルゴリズム体操」を見てしまって、頭から離れなくなっています・・

 

みなさんもご注意ください><;

 

さいごに、補足情報!

アルゴリズム機械学習を学ぶ上でも必要になってきます。

勉強するには以下のサイトが面白そうです!

visualgo.net

 

以上、おやすみなさい。。

ワクワクを提供できる人間とは??

こんにちは!

 

IT業界で仕事をしていると、"AIだAI!"みたいな雰囲気が少しずつ私の周りを取り囲むようになってきました。。

とりあえずAIって感じでPJが始まるものの、結果的に「あれ?これってAI使ってないじゃん!笑」みたいなものもあったりしますw

 

ただ、笑ってもいられず、実際はやはりAIが少しずつ人間の業務を変わりにやってくれるようになってきています。実際にいらなくなった仕事も結構あります。

 

そうしてくると、自分が今やっている仕事もいずれはコンピュータに変わるんじゃないか?自分は将来どう進んでいくべきか?と真剣に考えざるえません。

明確な夢や目標があるわけでもなく中途半端な人間のため、不安になることもありますが、ただ、ひとつ言えるのはワクワクする仕事をしていたいし、こいつと一緒にいると楽しいな!って思われるそういう人間になりたいとは思います。

 

なので、今回ワクワクを提供できる人間になるために、ワクワクについて勝手に分析していきたいと思います!!きっと需要ないw

 

そもそも「ワクワク」とは??

kotobank.jp

 

どきどきと一緒なのか?!

とりあえず、期待や喜びを与えればいいということが分かりました。

 

じゃあ実際に自分に置き換えて考えてみます。

 

自分自身どんな時にワクワクしてきたか?

  • 非現実的な空間に行ったとき(イルミネーションやディズニー、イベントなど)
  • 旅行
  • みんなでゼロから何か物作りをするとき
  • 物を買ったとき
  • 新学年のクラス発表(学生時代w)

 

いろいろ洗い出してみましたが、まとめると、答えがでました!

「新しい物、人、空間、場所、体験」に触れた時にワクワクしていました(’o’)!

 

じゃあ

ワクワクを提供できる人間とは

新しい物、人、空間、場所、体験を提供できる人がワクワクを提供できる人間と勝手に定義することにします。

そしてプラスαとして、提供している側が熱意がある、かつ、楽そうにやることが大事かなと思いました。

熱意がある人、楽しんでいる人というのはそれだけで人を集める魅力があります。

ただ、その人の想像を超えるものを提供するというのはそう簡単なことではないですね。。

 

ワクワクを提供できる人間に必要なスキルはこんな感じかな

 

①本人が楽しそう(熱意かすんごい!)

「なんか楽しそう!何だろう?混ざりたい!」って人が集まるので、こういう人は大概、人脈も広い。

 

②専門性(その分野の知識)が高く、たくさんのアイデアを持っている

相手が想像できなかったような事を思いついたりする。

 

③推進力とプレゼン力

イデアを実現するために、周りを巻き込んで、大きな力を生み出す

 

ほど遠いなぁ~~。。

 

じゃあ今できることって何だろうと考えると・・

まずは、どんな事においても「一生懸命」かつ「本気」で楽しむことを意識していくこととします。(しょぼいかなw)

 

っていう今思ったことを忘れないようにメモとして記載しました!

 

ありがとうございました。

 

 

 

 

シェルスクリプトでファイルを読み込んで1000行ごとに文字を挿入する

開発をしていた際に、DBの更新が必要となった際のメモです!

条件や更新内容がそれぞれ違うUPDATE文を40万件流し込みする必要があった際に 実行中ずっとトランザクションをはってしまうと、アプリに支障が出てしまうため 1000行ごとにコミットすることになりました。

よし、とりあえず、1000行ごとに「commit;」って書いとくか!と思って、作業しようと思ったのですが まあ面倒だとおもって、シェルスクリプト作って、やったほうが早いし確実ってことで、急いで作ったものを、忘れないようにメモしておきます。 すぐ忘れるので・・

やりたいこと

・ファイル名を引数で渡して、1行ずつ読み込む

・1000行ごとに「commit;」という行を挿入する

コード

#!/bin/sh

cnt=0
filename=$1

while read line
do
  cnt=`expr $cnt + 1`

  if [ `expr $cnt % 1000` == 0 ]; then
    echo "commit;" >> "./${filename}.sql"
    echo $line >> "./${filename}.sql"
  else
    echo $line >> "./${filename}.sql"
  fi

done < ${filename}

echo 'finish!!'

実行

例えば、「sqlfile.sql」というファイルに文字を挿入していきたいときは、こんな感じで呼びます。

$test.sh sqlfile.sql

結果

同じディレクトリに「sqlfile.sql.sql」というファイルが作られます。(変なファイル名ですみません。。)

さいごに

あまり使う機会はないかもしれないですが、sqlファイルはなくても、テキストファイルでもなんでも代替できるので、もし機会があれば参考にしていただければと思います!

以上!

AWSの「CodeDeploy」とは??

Webアプリケーションの開発に携わっているのですが、最近は少しずつ、オンプレミスからAWSに切り替えよう!って動きが結構増えてきました。

 

メリットとしては、クラウドなので、サーバーの構築を瞬時に簡単に増やしたりできるので、スピードやコスト面でも、やはりオンプレミスよりメリットがあります。

また、マネージドなサービスも多いので、インフラの知識が弱い僕のような人間でも

簡単にサーバーを立てたり、いろんなサービスを簡単に構築できるので、その点は本当に便利です!

 

ただ、なかなかIT素人だった僕には、いろんな用語がわからいため、理解が遅く、かつ、忘れるのは早い!って感じなので、勉強しながら、覚えたことを簡単にメモしてみました。

 

間違っていることも部分もあるかもしれないので、その時は優しくご指摘いただけると幸いです!(笑)

 

今回はAWSの「CodeDeploy」です!

 

CodeDeployとは??

ビルド済みのモジュールをサーバーに反映するやつ。

リリース作業など、サーバー一台ずつ切り離しして反映とかやらないといけなかったりするけどそういうのを解決する機能が用意されてるみたい!

 

特徴メモ

  • EC2やLambdaのほかに、オンプレミスにもデプロイできる。
  • EC2とオンプレミスの場合は、エージェントにインストール必要。
  • いろいろ細かい定義はappspec.ymlに書く。
  • AutoScalingで動的にサーバーが増えても問題なし!
  • デプロイ方法はいろいろ選べる。
方式 特徴
AllAtOnce 全サーバー同時に反映。早い!けどシステムが一瞬ダウンする。
HalfAtATime 全体の半分を止めて反映!稼働サーバー減るので負荷注意!
OneAtATime LBから1台ずつ切り離して反映。負荷は安心。けど遅い。

 

簡単な内容ではありますが、まとめてみました。

 

皆さんも是非使ってみてください。

読んでくれてありがとうございました!