商店街のIT屋さん

お子様からご年配までITが苦手な人の役に立ちたい!

Air Pods

電車に座って乗って帰っていたら

操作していたiPhoneからに

見慣れないダイアログ

iPhoneAir Podsをつなげますか?」

というダイアログが出てくる・・・

私はそもそもAirPodsを所持していないので

私「いいえ」を選択

しかし、また

iPhone「繋げますか?」

私「いいえ・・・」

iPhone「繋げますか?」

私「いいえ・・・」

どうやら

隣に座ってる人がAirPodsAndroidに接続したいようで

何度、何度も再接続を試みては

その度に私のiPhoneが反応してくる・・・

なんとも言えない気持ちになる帰り道w

(´・ω・`)

「ねぇ ぐるぐる!」がやってきた

 

Amazon Echoに興味があったのですが

招待制に購入できずな中

 

Qiitaやネットの記事に感化され

GoogleHomeを 調べてみると

 

・スピーカーとしての音質はそこそこ

・家がスマートホームに対応しているわけでもなく

・使い道がいまいちない・・・

 

と思ってましたが

半額のセールが今日までということだったので

Qiitaに自分も投稿したく買いました!

 

家でテスト設置してみて

「ねぇ グーグル 明日の天気は?」

と聞くと無事教えてくれましが

 

それを見てた4歳と3歳が

4歳「ねぇグルグル明日の天気は?」

Google「・・・・」

3歳「ねぇ!天気だってば!!」

Google「・・・・」

(グーグルとうまく言えないw)

 

何回教えても

「ねぇ グルグル!」

「ねぇ グルグル!明日の天気は!?!?」

「ねぇ グルグル!ってば!」

 

と言っていてなかなか面白かった

 

早く電気消せるようになりたい!

 

Qiita:オブジェクトを全部配列に変換する再起プログラムを振り返る。

qiita.com

このプログラムを実装したのがもう何年前か覚えてないけど

結構、実行コストかかるんじゃないかとヒヤヒヤして作った覚えがあります。

が、私がプログラムを書いてないプロジェクトでもちょっとレビューや

不具合の相談に乗ったりすると、転記されて実装されたりしていて

嬉しいけどびっくりする。

そんなで昔実装したツールもQiitaにあげたいな・・・

Qiita:Smarty3をもう一歩便利に使うフィルター

Qiita アドベントカレンダー2017

qiita.com

さて

このフィルター機能は最初知らずにドキュメントを読んでたらとても便利だったので紹介

もともとはSmarty2で使ってたけど今Goのドキュメントも読んでますが

公式のドキュメントってのは大事ですね。ちょっととっつきにくいけどw

意外と会社のアドベントカレンダーがちょっとずつ埋まって嬉しい反面

まだまだあるので乗り切りたい!!

こないだ気になったBGMをまだレンタル行けてないな・・・

Qiita : たまに突然必要になるvimの最低限の使い方

qiita.com

同じことコピペしてもしゃーないからリンクにしてみたけど

これだけここに貼ってもつまらないのでQiitaにいらないことを追記するw

MacでHHKBで尊師スタイルで記述していたが

妻に「キーボードにキーボード乗っけてて面白いねw」

と言われるも

いや、これは普通の使い方なんだよ・・・!!

とは言えなかった・・・w

今日のBGM:女王蜂の金星、知らんかったけどいい感じ

Qiita : これだけでも覚えたら便利な正規表現

触り始めたきっかけ

新卒の時の先輩に

正規表現って知ってる?」

と聞かれ

私「知りません・・・・」

ちょうど使っていた秀丸の検索Boxで使えたので勉強し始めたのですが

今、意外とあまり周りで使わない(使う必要がない)エンジニアも多かったので

知ってた方が検索や置換に私が便利だと思う正規表現を紹介!

正規表現

a+

aが1文字以上続く

aaaaaa

ab+

aの後にbが1文字以上続く

abbbbb

ab*

aの後にbが0文字以上続く(aだけでも引っかかる)

a
ab
abbb

[0-9]

0から9までの数字1文字

0
3
9

[a-z] か [A-Z]

aからz か AからZまでのアルファベット1文字

a
b
z

[179]

[]の中にある1文字

1
7

[^a]+

a以外のアルファベット1文字以上  a以外の文字が1文字以上

bbbbb
eeeee

[0-9,]+

0123456789,で構成された1文字以上

1,000
1,234,567

試してみたい

http://okumocchi.jp/php/re.php で //で挟んでチェックしてみてはどうでしょう。 実際にプログラムに実装する前にここでテストすることもよくあります。

/a+/ aaaabbb だと先頭から4文字のaaaaが引っかかる

気をつける事

正規表現を使えるようになってもあまり複雑すぎる 正規表現を書かない事。 複雑になり可読性も落ちる。 メールアドレスも全てのパターンを1つの正規表現でやろうとするととても複雑になるしメンテナンスやチェックが厳しくなる。

最後に知っておくこと

同じ「正規表現」と言えど環境により使える記述と使えない記述があります。 使いたい環境によって使える表現方法を知っておかないと特定の環境で動かなくてハマりますw

実際に仕事でこんな風に使いました。

  • csvデータの変換をしないといけない時に秀丸のマクロで正規表現の置換でデータ変換を行う
  • 置換を使ってログで必要な情報だけを出力する

実践

エディタで正規表現検索するかgrepで使うのが一番簡単なのでぜひやってみてください。

エンジニアデビューしそうな20歳の自分へ

エンジニアデビューしそうな20歳の自分へ

30歳を超えてエンジニアをやってきて

今20歳の自分に何か言えるとしてこんなことやって見たらどう?

という事を初めてのアドベントカレンダーに書いて見ようと思う

とりあえずGitHubのアカウントを作る

自分のソースを公開したり、人のソースを見ることのハードルを下げる

CUIに慣れる

bat、shはできることがたくさんあるし ファイルのリネイムやバックアップ等び自分の単純作業をまとめてみるのもおすすめ

環境にこだわる

いろんなエディタがあるが、自分の好きなエディタをとことん使ってカスタマイズして見る。 エディタでできる事というのはだいたい似てるのであまり色々移り変わって覚え直すよりも 今、気に入っている。エディタを使いこなす方がコーディングも早くできる。 フォントや配色にこだわるのも愛着ができておすすめ!

そして個人的にはPCに付属よりもオリジナルキーボードがおすすめ!

個人のAWSアカウントを取って使う

AWSの個人アカウントを持って見る。 クレジットカードを作成して登録すれば1年ぐらい無料で使うことができる。 ただ言語だけを勉強しているよりも自分のサーバでやってみるということはとても強みになるし 差別化やインフラの勉強にもなる

もちろんいくつかのサービスを使うことでお金がかかる場合もあるが 一定の金額でアラートをあげることもできるしいろんなサービスを試せて面白い

バグが出た場合の対応方法(PHP)

<?php
$i = 1;
$i += 3;
$j += 1;
echo $i;

私が$iを5にしたいのに過去にこんなミスをしたことがあって3時間以上ハマりました (画面の行数を増やすために、フォントも小さくしていたいので余計見えなかったw)

こういう時は全ての行の後ろにvar_dump($i)を入れましょう。

たまにバグが解けなくて困ってる人に話を聞くと少しだけデバッグ出力を入れて解決せず

「うーん。。。」となってる人がいますが

私はとことん入れる事を進めます。

バグが存在しないと思うところにも入れる! ココポイント

どこが意図せず動いていないのかわかっていない時はそもそもから勘違いしている可能性もあるので

<?php
$i = 1;
$i += 3;
$j += 1;
echo $i;

<?php
$i = 1;
var_dump($i);
$i += 3;
var_dump($i);
$j += 1;
var_dump($i);
echo $i;
var_dump($i);

こう!! 最後の行も入れる!!

簡単なソースでハマった時はいまだにたまにやります。

誰かのバグがこれで治りますように!