ひろこま Hack Log

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

AWS LambdaでMeCabを動かす(Lambda Layer使用版)

AWS Lambda 参考サイト こちらの記事を参考にさせていただきました。 AWS Lambda でMeCabを動かす (2018年9月時点) - Qiita 大前提 Lambdaで外部のライブラリを利用する場合、そのライブラリをLambda関数と一緒にZipで固めてアップロードしなくてはならない…

nokogiriが嫌いになった話 An error occurred while installing nokogiri...

嫌いにならないでと言われた nokogiriのインストールで頻繁に起こるいつものエラー An error occurred while installing nokogiri (1.10.10), and Bundler cannot continue. Make sure that `gem install nokogiri -v '1.10.10' --source 'http://rubygems.o…

MySQLで新しくデータベースとユーザを作成する方法

MySQLで新しくデータベースとユーザを作成する方法 忘れがちなので自分用メモ… サーバとクライアント両方インストール MySQLサーバとクライアントが入って場合は以下のコマンドでインストール(OSはUbuntu想定)。 sudo apt install mysql-server mysql-clie…

AWS Application Load BalancerでHTTPをHTTPSにリダイレクトする方法

AWS Application Load BalancerでHTTPをHTTPSにリダイレクトする方法 この記事ではAWS Application Load BalancerでHTTPをHTTPSにリダイレクトする方法を解説します。 AWSで使えるロードバランサーの種類 AWSで使えるロードバランサは3種類あります。 Applic…

独自ドメインのメールアドレスをSendGrid経由で送信

独自ドメインのメールアドレスをSendGrid経由で送信 この記事では、独自ドメインのメールアドレスをSendGrid経由で送信できるようにするためのGmail側とSendGrid側の設定方法をご紹介します。 目次 01. SendGridとは 02. SMTPの設定 03. SenderAuthenticatio…

Symfonyで $form->isValid() のエラー内容を表示したい

isValid() のエラー内容を表示したい" style="width: 70%;">Symfonyで $form->isValid() のエラー内容を表示したい Symfonyとは SymfonyとはWeb アプリケーションの開発のためのPHPフレームワークです。日本国内では主にEC-CUBEというeコマースCMSのフレーム…

VirtualBox上のファイルをMacのFinderで開く (Samba使用)

VirtualBox上のファイルをMacのFinderで開く (Samba使用) Sambaとは SambaとはLinux上にファイルサーバ機能を提供するツールです。この記事では、Virtual Box上にインストールしたLinuxにSambaでファイルサーバを構築し、ホストOSであるMacのFinderでファイ…

重複が起こらないようにランダムのIDを採番 [Python, Ruby]

重複が起こらないようにランダムのIDを採番 [Python, Ruby] IDをランダムにすると嬉しいこと 何かのシステムを作っていて、ユーザIDや商品IDなどをランダムにしたいことが結構ある。理由は大きく2つある。 IDが小さいとなんかダサい たとえば、あなたの作っ…

EC-CUBE4をAWSのUbuntu18.04上で独自ドメインで動かす

ECCUBE4をAWSのUbuntu18.04上で独自ドメインで動かす 目次 はじめに 01. 独自ドメインの取得/設定 02. ECCUBE4側の設定 03. Apache側の設定 はじめに この記事ではEC-CUBE4をAWSのUbuntu18.04上で独自ドメインで動かす方法を紹介します。なお、動作検証を行…

【解決】FlutterでAndroidStudioのオートインデントがずれる件

Flutter Flutter開発時にAndroidStudioのオートインデントがずれる 最近Flutterを触り始めたのですが、Android Studioでコードを打ってるとインデントが勝手にずれることがありあます。Android Studioではファイル保存時に改行やインデントを見やすく整形し…

EC-CUBE4のEntity拡張時にエラー [Semantical Error] The annotation *** does not exist, or could not be auto-loaded.

EC-CUBE 4.0.1 以下のようなエラーが発生 以下のEC-CUBE4.0開発者ドキュメントに従ってEntityを拡張しようとしたところ、エラーが発生しました。 https://doc4.ec-cube.net/customize_entity .This resource fork intentionally left blank ��tuseddate#PSܾ�…

【Python】 存在しないkeyでdictにアクセスしたときNoneを返すようにする

【Python】 存在しないkeyでdictにアクセスしたときNoneを返すようにする getメソッドを使おう dictionary型のオブジェクトに対して、存在するkeyでアクセスしたときはそのvalueを返却してくれ、存在しないkeyでアクセスしたときはNoneを返してくれる関数で…

pythonで改行コード「^M」を除去する方法

^Mを削除する方法 「^M」を普通の改行に置換したい場合は some_text.replace('\r', '\n') 「^M」を空文字''に置換したい場合は some_text.replace('\r', '') (adsbygoogle = window.adsbygoogle || []).push({});

EC-CUBE4の立ち上げ〜AWSにデプロイするまで

EC-CUBE 4.0.1 前提 この記事ではEC-CUBE4を立ち上げ、AWSのEC2にデプロイするまでの手順を紹介します。筆者の動作環境は以下の通りです。筆者はMacの上にVirtualBoxでUbuntuを立てて開発していますが、記事の内容自体はWindowsの方でも通じると思います。 …

EC-CUBE4.0.1でエラー「There are no registered paths for namespace "Twig".」

EC-CUBE 4.0.1 EC-CUBEでデプロイ時にエラーが発生 EC-CUBEをAWS EC2で運用する時のデプロイ手順はこちらを参照してください。 今回、ローカルPCで開発したEC-CUBE製のECサイトを gitリポジトリにPushし、AWSの本番用サーバでPullするという方法でデプロイし…

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サービスを公共施設、拠点避難所、観光スポットなどに配備し、誰でも無料でインターネットに接続できる…

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