仕事メモとか

仕事中に調べた情報とか知ったことをメモしています。
unixコマンド, vim, oracle, putty, postgresql, bash, EXCEL, python, SQL全般 など。
最近は tableau, movabletype とかも触ったりしています。
雑な読書感想とかはこちら

ネットワークに繋がらない体験談

はい、体験談をメモします。

構成:windows7。
現象:急にネットに繋がらなくなった。
接続:有線接続が繋がらない

調査した結果、ルーターから出ているwifiはケータイなど各種で繋がる。ルータの有線ケーブルの所のランプはついてる。

PC再起動をしてみるもダメ。
IPを確認すると、169.xxx.xxx.xxxになってる。ネットにそれで繋がらないという人が多数いるので、その情報をもとに調査。
まず、PCを再起動したり、シャットダウン+電源抜いて30秒放置してみたがダメ。
(待つのは放電のため)
LANケーブルを他のケーブルに変えてみてもダメ。ipconfig /renewしても正しい奴が見つからない。
ネットワークドライバを一旦削除して再起動(再起動すると新しく読み込む)もダメだった。

色々考えてサポートの人に電話で相談もしてみたけど、PCよりルータっぽい。でもwifiは生きてる。
とりあえず有線をwifiに変える奴を使ってみたら、そっちのwifiは出てそうでネットに繋がらないことが判明。
ルータの有線部分がダメな可能性が高くなってきたので、ルータを新調してみることに。

ということで、これ、まだ治ってないです。
うまくいったら後日談を足します。


※後日談
ルータを買ってきて接続したらそれでいけました。
ということで、ルータの有線LANがランプついてるけど壊れてた、っていうことが確定。
ルータ自体10年前のものだったので、可動部なくても壊れたけど10年持ったならいいほうかな。



参考:
https://shopdd.jp/e/ip-address-169-254-x-x
このエントリーをはてなブックマークに追加

USBの青と黒

PCがトラブル最中で、なんか抜き差ししてたらキーボードもマウスも動かなくなっていた。
という話をしたら、USBを黒の場所に入れてくだい、って言われて見たら、確かに青のUSBについてた。

そういえばこの色の違いってなんだっけ、と思って調べたら、こういうことでした。

青=USB3.0
黒=USB2.0

さらに調べたら、黄色(パワー電源のUSB)もあるようです。
色によって違うのね。
(USBの全てがこれに準拠してるわけじゃないけど、ほとんど準拠してる模様)


参考:
https://uzurea.net/usb-20-30-basic-knowledge/
 
このエントリーをはてなブックマークに追加

gmailで、未読のみ表示をサクッと検索


ラベルを貼りすぎて複数ラベルになって便利なんですが、
メールがとにかく大量なんで読むだけで一苦労。
ということで、未読のみを検索したいと思って調べました。

is:unread 

いやもう、そのまま。

このエントリーをはてなブックマークに追加

pandasでデータフレームをいろいろな形でmerge

はい、なんかわかったようでわかりづらいpandas。
SQLでやることはすぐに思いつくのに、pandasの書き方で四苦八苦してます。

っていうことで、超簡単対応表。
これだけ分かればいいかな。

SQL = pandas
 full outer join = outer
 left outer join = left
 join = join

pandasの表記例

    df_report = df_1.merge(df_2, on=['key'], how='outer')\
        .merge(df_3, on=['key'], how='outer')\
        .merge(df_4, on=['key'], how='outer')\
        .fillna(0)

やってることはkeyで接続し、全部full outer join。
最後にfull outer join なのでデータが入らない空部分ができるので、そこにゼロを入れる。


参考:
https://deepage.net/features/pandas-merge.html 
このエントリーをはてなブックマークに追加

pythonで対象日付を動的に取るサンプル

はい、いまだにpythonに慣れないで四苦八苦(ほとんど触らないから)
ということで、メモ程度に記載。

要件
 毎月1日〜15日に実行=前月の16日〜月末
 毎月16日〜月末に実行=当月の1日〜15日
 引数指定したら、その対象日(from, to両方指定)

@click.command()
@click.option('--from-date', type=click.DateTime(['%Y%m%d']))
@click.option('--to-date', type=click.DateTime(['%Y%m%d']))
@stop_watch('main', logger)
def main(from_date, to_date):   
 if not from_date and not to_date:
        # 対象範囲無指定なので自動設定
        from_date, to_date = target_range(datetime.today().replace(hour=0, minute=0, second=0, microsecond=0))
    elif not from_date or not to_date:
        raise click.ClickException('from_date, to_date は指定するなら両方指定してください!')

def target_range(now):   
 """
    実行日を与えると集計対象日の組を返します
    """   
 if now.day < 16:  # 1日実行。(2〜15日に実行した場合も)
        from_date = now.replace(day=16) - relativedelta(months=1)
        to_date = now.replace(day=1) - timedelta(days=1)
    else:  # 16日実行(17日以降に実行した場合も)
        from_date = now.replace(day=1)
        to_date = now.replace(day=15)
    return from_date, to_date
入力する日付を、時分秒(マイクロ秒)を全てゼロにすることで丸めている。
このエントリーをはてなブックマークに追加

↑このページのトップヘ