ひろこま Hack Log

プログラミングや機械学習などの知識を記録・共有します

2019-01-01から1年間の記事一覧

Ubuntu18.06の時刻をntpで合わせる

Ubuntu18.04 の時刻をntpで合わせる Ubuntuの時刻がおかしい Virtual BoxにインストールしたUbuntuを久しぶりに立ち上げてみたら時刻がおかしい。本当は12/21なのにシステムは12/13になっている。 $ date 2019年 12月 13日 金曜日 05:29:28 JST # 今日は本当…

Rubyの深いハッシュで、ある要素が未定義かどうかを判定

rubyで深いハッシュを扱うときのコツ 以下のような深いハッシュがあるとする。 x = {a: {b: {c: 1}}} このハッシュに対して、 x[:a][:b][:d] が存在するかどうかを判定したい。 直感的に、以下のようにすれば判定できそうだ。 x[:a][:b][:d] 結果は nil が返…

CRONでハマりやすい重要なポイント3つ

cronとは cronとは、設定したスケジュールに従って指定されたプログラムやシェルコマンドを定期的に起動してくれる仕組み。 実行スケジュールは分刻みで指定することができる。また、毎時、毎日、毎週、毎月などを指定することもできる。 crontabというコマ…

リダイレクト先のファイル名に現在時刻を付与する

リダイレクト先のファイル名に現在時刻を付与する リダイレクト先のファイル名に現在時刻を付与します。 echo "hello" > log-`date "+%Y%m%d-%H%M%S"` 結果 $ ls log-20191003-120938 「既存のログファイルに上書きしないように、常にタイムスタンプを付けて…

Sublime Textでリモートサーバ上の複数ファイルを編集する方法

Sublime Textでリモートサーバ上のファイルを編集する方法 rsub を使おう サーバ側でもSublime Textを使いたいと思ったことはありませんか? 私は、普段はローカルのSublime Textでコードを書き、開発が一段落したタイミングでサーバにプッシュするという開…

Macで急にSamba接続ができなくなった

Macで急にSamba接続ができなくなった VirtualBox上に立てたUbunuと、ホストOSのMacでファイル共有をしようとSmaba接続を試みた。毎日何の問題もなく繋がっていたが、いきなり繋がらなくなり以下のようなエラーが出てきた。 サーバが存在しないか、現在利用で…

Railsで同じActionが2回以上呼ばれる問題

Railsで同じActionが2回以上呼ばれる問題 Railsのログをふと見たら、何故か全く同じActionが2回以上呼ばれていた。 このバグ?は、コントローラーのアクション/メソッドが2回以上連続して呼び出され、最初はリクエストで渡した正しいパラメーターで呼び出さ…

説明可能な人工知能「LIME」を使って初音ミクのイラストを分析してみた

説明可能な人工知能「LIME」を使って初音ミクのイラストを分析してみた 1. LIMEとは 論文はこちら https://arxiv.org/abs/1602.04938 任意の判定モデルに対して、何らかの結果が出たときに「なぜその結果が出たのか?」を説明できるツールです。 LIMEはLocal…

多重にimportするとModuleNotFoundError: No module named 'xxx' というエラーが出る

経緯 先日、 pythonでとあるモジュールを作ったのですが、そのモジュールを別のコードでインポートしたところ、 ModuleNotFoundError: No module named 'xxx' というエラーが発生しました。 実は、インポートしたモジュールの中で別のモジュールをインポート…

ブラウザで画像を縮小してサーバにアップロードするJavaScript

ブラウザで画像を縮小してサーバにアップロードするJavaScript 画像アップロードは案外重い ブラウザからサーバへ画像をアップロードする際、画像のサイズに注意を払う必要があります。最近のスマホカメラの性能は凄く、iPhone 6S以降のiPhoneで撮った写真の…

【2019年版】Ubuntu18.04 にChromeとSeleniumをインストール

Ubuntu18.04 にChromeとSeleniumをインストール UbuntuにSeleniumをインストールする手順 UbuntuでSeleniumを使えるようにするためには Chromeをインストール Chrome Driverをインストール Seleniumをインストール と3ステップを踏む必要があります。 ここで…

【図解】INNER JOIN と OUTER JOIN

SQL

【図解】INNER JOIN と OUTER JOIN INNER JOIN = 両テーブルに存在する行をまとめる 上図を見ても分かるように、 INNER JOIN は両方のテーブルに存在する行をまとめます。 簡単な例を見てみます。 学生 student と学校 school のデータがそれぞれ以下のよう…

RTF形式 (rich text format) をUTF-8に変換

RTF形式 (rich text format) をUTF-8に変換 RTF形式とは rich text formatのことで、テキストのサイズやフォントを変えられたり、文字に装飾を付けたりできる形式です。 MicrosoftのWordやMacのテキストエディタなどを思い浮かべてみるとわかりやすいかもし…

Google Map APIで地図上に円を表示してみた

Google Map APIで地図上に円を表示してみた Google MapのAPIに「Maps JavaScript API」というものがあり、これを使うとブラウザ上でGoogle Mapを操作したり図形を描画したりすることができます。 今回は、Google Map上に円を表示するスクリプトをご紹介しま…

【解決】Koto_City_Free_Wi-Fiに繋がらない

【解決】Koto_City_Free_Wi-Fiにパソコンから繋げない Koto_City_Free_Wi-Fiとは? 東京都江東区では、「Koto City Free Wi-Fi」という名前の公衆無線LANサービスを公共施設、拠点避難所、観光スポットなどに配備し、誰でも無料でインターネットに接続できる…

【解決】Chrome + Selenium + Mac でコピペできない問題

【解決】Chrome + Selenium + Mac でコピペできない問題 「コピペできない」問題 Seleniumを用いるとChromeやFirefox上の操作を自動化することができます。 しかし、Mac上のChromeでコピー&ペーストを行うつもりで Command + C, Command + V を実行してもう…

Pythonコードを自動でPEP8記法に変換する

Pythonコードを自動でPEP8記法に変換する PEP8とは Pythonのソースコードの書き方を定めたコーディング規約です。 世の中には色々なコーディング規約がありますが、PythonではPEP8が最もメジャーな記法です。 はじめに — pep8-ja 1.0 ドキュメント PEP8を守…

Google mapのPlaces APIで周辺の建物を検索してみた

Google Map API Places APIとは 任意の場所の詳細情報(緯度・経度や名称、住所など)を検索できます。名称のオートコンプリートや、周辺の建物の検索なんかもできたりします。 GoogleMaps — GoogleMaps v0.11.0 Pythonで周辺建物を検索してみた 以下のpytho…

深層学習で扱うテンソルを3Dで可視化してみる

可視化されたCNNの中間層 目的 ― 可視化することでデバッグ効率を上げる 自作のニューラルネットワークモデルをデバッグしようと思ったとき、入力と出力結果だけしか見れないとブラックボックス的な解析しかできず辛いです。 中間層がどのような値を取ってい…

matplotlibで3次元配列を描画【Voxel使用】

3次元配列の描画 3次元配列を上図のように描画してみる matplotlibのvoxelという技を使います。これを使うと3次元配列(テンソル)を3D空間上に表示できます。 import colorsys import collections import numpy as np from matplotlib import pyplot as plt…

Pythonで任意の整数を色相に割り当てる

色相環 (wikipediaより引用) 色相環とは HSVカラーモデルとも言われます。赤、緑、青の色度で色を表現するRGBモデルの代わりに、色相(H)、彩度(S)、明度(V)の3値で表現するモデルです。 色相は、上手の円柱においてどの方角の色かを表します。彩度は色の鮮や…

簡単!EC-CUBE4で独自ドメインのメールをGmail経由で送る方法

EC-CUBEで独自ドメインのメールアドレスからメールを送れるようにしたいと思ったことはありませんか? この記事では、EC-CUBE4を対象に、独自ドメインのメールをGmail経由で送れるようにする方法をご説明します。 必要な費用はEC-CUBE4のサーバ台とドメイン…

htopの緑、水色、黄色、赤が表す意味

htop htopコマンドでCPUやメモリ使用量を見ることができます。その時、使用量を表すバーが緑や水色や黄色になっているのですが、これがどういう意味か調べて見ました。 以下に神回答がありました。 (adsbygoogle = window.adsbygoogle || []).push({}); serv…

【1分でわかる】ufwのルールを追加・確認・削除する方法

ファイアーウォール ルールの追加 sudo ufw allow 8080 ルールの確認 sudo ufw status Status: active To Action From -- ------ ---- 22 ALLOW Anywhere 80 ALLOW Anywhere 18080 ALLOW Anywhere 3000 ALLOW Anywhere 8080 ALLOW Anywhere ルールの削除 ま…

【1分でわかる】Linuxに新たな秘密鍵でSSHログインする方法

SSH鍵 以下ではUbuntuを前提として話を進めます。 接続先Ubuntuに新規ユーザを作る まず、適当なアカウントで接続先Ubuntuにログインします。 新たなユーザを作るコマンドを実行します。以下、hogeという名前のユーザを作成するという体で説明します。 (adsb…

pythonのloggingでSUCCESSレベルを追加

logging Pythonでログを出力する際にloggingを使っている方は多いと思います。loggingを使えば、単にログを書き出すだけではなくINFOやDEBUG、WARNING、ERROR、CRITICALといった「重要度のレベル」を添えてログを出力することができます。 また、どの程度の…

Pythonでハイフンやマイナスなど類似文字の正規化

類似文字の文字コード 類似文字問題 ハイフンとダッシュのように、別の文字ではあるが、見た目が全く同じ文字というものが存在しています。以下がその例です。 # ハイフンに見える文字と、その文字コード - 0x2d ‑ 0x2011 ‒ 0x2012 – 0x2013 - 0xff0d ─ 0x2…

ターミナルに色がつかなくなった時の対処法

ターミナルに色がつかなくなった… ターミナルの文字に色を付ける設定は、通常、~/.bashrcの以下の行に書かれています。 以下の例は、AWS EC2のUbuntu18.04の~/.bashrcからの抜粋しました。 # uncomment for a colored prompt, if the terminal has the capab…

Docker初心者が最低限抑えておくべき10のコマンド

Docker Dockerのチュートリアル Dockerそのものの解説は以下の資料が非常にわかりやすかったです。 Dockerライフサイクルの基礎 地雷を踏み抜けろ! from Masahito Zembutsu www.slideshare.net qiita.com (adsbygoogle = window.adsbygoogle || []).push({}…

M2DetをGoogle Colaboratoryで動かしてみた

最強の物体検出器M2Detを動かしてみた M2Detとは 2019年4月現在、最強の物体検出器と呼ばれているモデルです。2017〜2018年頃にSOTAだったYOLOやSSDを引き離し高い精度を叩き出しています。 多段階特徴ピラミッドネットワーク(MLFPN)と呼ばれる方法を提案…

Koma Hirokazu 's Hacklog ―― Copyright © 2018 Koma Hirokazu