ひろこま Hack Log

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

【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)と呼ばれる方法を提案…

Google Driveから巨大ファイルをダウンロードするコマンド

サイズの大きなファイルのダウンロードには確認画面がある 機械学習モデルや、動画ファイルなどサイズの大きなファイルを、他人のGoogle Driveからダウンロードしようとしたとき、上のような確認画面に遷移します。ダウンロードボタンをクリックすれば普通に…

EC2インスタンス変更後にPostgreSQLやRailsが動かない時の対処法

AWS EC2変更後にPostgreSQLが動かない…? EC2インスタンスの変更方法 インスタンスが起動中であれば、まず停止します。 その後、「アクション」→「インスタンスの設定」→「インスタンスタイプの変更」をクリックすればOK。簡単すぎてびっくりします。 変更が…

illust2vecを使って類似イラストを検索する

類似画像検索 1. illust2vecとは 東北大学の齋藤真樹氏と東京大学の松井勇佑氏によって提案された「イラストの意味をベクトル化する」手法。 単語の意味をベクトル化するword2vecというものがありますが、それのイラスト版です。 ベクトル化することで、以下…

PythonでFlatten

PythonでFlatten Flattenとは 「入れ子になっているリスト」を「入れ子になっていないリスト」にすることです。 こんな感じです。 [1,[2,3]] → [1,2,3] [1,[2,[3]]] → [1,2,3] [1,[2,{'foo': 3}]] → [1,2,{'foo':3}] [1,[2,'foo']] → [1,2,'foo'] PythonでFl…

pythonで色付きのprintをする方法

色付きの出力をしよう ここでは、pythonで色付きの出力をする方法をご紹介します。 (adsbygoogle = window.adsbygoogle || []).push({}); 以下のような色付きprint関数cprintを作りました。 class PrintColor: END = '\033[0m' BLACK = '\033[30m' RED = '\0…

文字とUTF-8, UTF-16, SJIS, EUCの相互変換【Python】

UTF-8をはじめとする各種文字コードと実際の文字を相互変換する方法について説明します。 文字コードの対応表はこちらのサイトを参考にしました。なお、UTF-16はUTF-16ビッグエンディアンを表しています。 ash.jp (adsbygoogle = window.adsbygoogle || []).…

Pythonのリストでキューを実現する方法

画像出典:https://1000ya.isis.ne.jp/1532.html 単純な方法(appendとpop) Pythonのリストを使ってキューを実現するにはどうすれば良いでしょうか? 単純な方法として、リストのappendとpopを使う方法が考えられます。 append(x)でリストの末尾にxを追加、…

【数学パズル】末尾に同じ数が777個連続する階乗は存在するか

画像提供:https://human-illustration.com/01-emotion-picture/043-free-silhouette.html 先日、いろんな数の階乗について調べていて「とある面白い性質」に気づいたので数学の問題にしてみました。難易度的には高校数学ですが、中学生でも鋭い子なら解ける…

Watson APIで{"code":401, "error": "Unauthorized"}

Watson APIで{"code":401, "error": "Unauthorized"} エラー内容 2019年1月27日現在、Watson APIで次のようにHTTPリクエストを投げたら401エラーが返ってきます。 curl -X POST --form "images_file=@xxxx.jpg" "https://gateway.watsonplatform.net/visual-…

Watson APIでcurl: (7) Failed to connect to gateway-a.watsonplatform.net port 443: Operation timed out

Watson APIでcurl: (7) Failed to connect to gateway-a.watsonplatform.net port 443: Operation timed out エラー内容 2019年1月27日現在、Watson APIで次のようにHTTPリクエストを投げたら443エラーが返ってきます。 curl -X POST --form "images_file=@x…

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