pandazx's blog

Hadoop, データ分析など雑多な技術ブログ

メルカリ CRE Server Side Tech Talk vol.2に行ってきた

mercari.connpass.com に行ってきた。以下はメモ CREチームの紹介 CREとは、お客様からの信頼性向上を目指すエンジニア 元々はCXIで、カスタマーセンターCSのサポートがメインだった これをメルカリのユーザーにまで対象を広げた メルカリの商品監視を支える…

「アプリケーションエンジニアのためのApache Spark入門」出版記念セミナーに行ってきた

connpass.com に行ってきた。以下はメモ Apache Spark入門書籍の紹介 理論よりも使い方に重きを置いた入門書 サンプルのプログラミング言語はPython データ分析基盤に使われるOSS紹介 データ収集はfluentd, kafka データ蓄積はhdfs, cassandra ストリーム処…

サイバーエージェントの機械学習祭りに行ってきた

www.wantedly.com に行ってきた。以下はメモ。 推薦アルゴリズムの今までとこれから スピーカー:サイバーエージェント 内藤 遥 推薦アルゴリズムの種類 協調フィルタリング データがないと機能しない コンテンツベース データがなくても大丈夫。商品の特徴…

cronで実行したシェルから呼ばれるRubyスクリプトの標準出力が出力されない

test.sh #!/bin/sh ruby test.rb echo done test.rb puts 'hoge' 上記スクリプトがあった場合に、以下のようにcronを設定しても、test.sh のdoneしかtest.logには出力されない。 0 * * * * cd /home/user/tools; sh test.sh >> ./test.log cronで実行される…

NEDO AI ベンチャーコンテスト採択企業5社の開発責任者が語る開発の最前線に行ってきた

【エンジニア向けイベント】人工知能の未来を語る ~ NEDO AI ベンチャーコンテスト採択企業5社の開発責任者が語る開発の最前線 ~https://techplay.jp/event/658548 ■1社目 Hmcomm音声認識をやっている。音のプラットホームがライセンスビジネスで、その上…

シェルで二重起動防止

以下では、cronから実行すると常に二重起動と判定されてしまう。 OLDEST=$(pgrep -fo $0) if [ $$ != $OLDEST ]; then echo "[ERROR] 二重起動を検知したため、$0 の実行を中止します。" exit fi そのため、以下のようにする。 OLDEST=$(pgrep -fo $0) if [ …

Team AI Meetup #1に行ってきた

スライド写真は後でUP mercari.connpass.com アジェンダ 「What can image recognition & machine learning do for Mercari?」 by 山口 拓真 「メルカリにおける機械学習システム基盤について」 by @Hmj_kd Q&A What can image recognition & machine learni…

VBAで多次元配列を多次元辞書(連想配列)に変換

VBA

入力データが多次元配列でコメントと日付が入ったデータとする。 これを変換して、辞書のデータ構造が年→月→日→辞書(リスト風)→辞書というデータに変換する。 辞書(リスト風)はキーを0,1,2,3というようにして辞書を登録することを意味する。 VBAの設定と…

DynamoDBストリームをLambdaで読み込むと24時間前から開始される

DynamoDBストリームを読み込んでLambdaで処理する実装を行った際に勘違いしたことがあるので、メモ。 DynamoDBにはストリームという更新情報をストリームで流す機能があり、 更新発生をトリガにLambdaで処理することが可能。 ストリーム機能を有効にした際に…

csvをparquetに変換

Drillで変換する方法 CSV ファイルを Parquet ファイルに変換してクエリを高速化 - nagix Drill in 10 Minutes - Apache Drill CASE WHENの書き方 Error while creating Parquet table from CSV using Apache Drill - Stack Overflow

python2で実行スクリプト名の判定

以下のようにしておけば、sample.py が他のスクリプトから呼ばれた時に main()を実行することを避けられる。 # sample.py import sys def calc(val): x = val + 1 def main(): calc(1) if sys.argsv[0] == __file__: main() これにより、前に作ったスクリプ…

VirtualboxでCentOS7を使う時にインターネットにつながらない

/etc/sysconfig/network-scripts/ifcfg-enp0s3 を開いて、ONBOOTをyesにする。 再起動でつながるようになる。

VirtualboxでRHELを使う時に共有フォルダが使えない

CUI環境を想定。 GuestAdditionsをインストールすればいいのだが、エラーが発生する場合がある。 GuestAdditionsのCDイメージを挿入した後 # Guest Additions CDをマウント mkdir /mnt/cdrom mount -o ro /dev/cdrom /mnt/cdrom # 必要なソフトウェアをイン…

lsした時のフォントカラーの変更

lsした時にディレクトリの色が濃い青で見づらい場合があるので、色を変更する。 まず、デフォルト色の設定ファイルをコピー cp /etc/DIR_COLORS ~/.dir_colors DIRと書いてある行を以下のように変更すると、緑で表示されるようになる。リンクのディレクトリ…

Office365 Outlookで他人のスケジュール表示を高速化

以下で指摘されている問題で、「共有フォルダーをダウンロード」設定をオフにする方法を説明する。 他のユーザーの予定表を表示するのが遅い – Outlook Support Team Blog JAPAN Outlookで、ファイル→情報タブのアカウント設定→メールタブの変更→詳細設定ボ…

GitHub上でブランチ・コミット間の差分を表示

git

時々、特定ブランチ・コミット間の差分を見たい場合がある。 画面からリンクを辿る方法は不明だが、以下の規則で対象リポジトリにアクセスすると、差分を表示できるページにアクセスできる。 https://github.com/{user_name}/{repository_name}/compare アク…

AWS SDKサンプルプログラム(Python2)

Get S3 bucket list # coding:utf-8 from boto3.session import Session import os session = Session( aws_access_key_id = os.environ['access_key'], aws_secret_access_key = os.environ['secret_access_key'], region_name = 'ap-northeast-1', ) s3 = …

VPC内のLambdaから外部サービスにアクセスする方法

AWS

VPC内のEC2やRedshiftなどにアクセスするためにLambdaをVPC内に作成して実行すると、 今度は逆に外部のインターネットやS3, Kinesisなどにアクセス出来なくなる。 その場合の対応方法はAWSの公式ドキュメントに書いてある。 Configuring a Lambda Function t…

EC2にNATサーバ構築

本文 AmazonからはNAT Gatewayというマネージドサービスが提供されているが、お金が少しかかる。 そこで自前で用意する方法を説明する。 OS:Amazon Linux NATサーバの設定 NATサーバを構築するEC2インスタンスはパブリックIPがあり、外につながっているとす…

AMIイメージから作成したEC2にSSHで接続できない

EC2

それまでパスワード認証でsshでログインしていたEC2があったとする。 そのAMIイメージを作成して、別途、EC2を作成するが、sshでログインできず、「Permission Denied」となる。EC2作成時にはキーペアをなしに設定している。 解決方法 キーペアをありにして…

AWS SDK for Ruby V2でS3にアクセスするサンプルプログラム

AWS SDKをインストール gem install aws-sdk サンプルプログラム # coding: utf-8 # # AWS SDKを用いて、S3にアクセスするサンプルプログラム # require 'aws-sdk' # Config AWS_REGION = "ap-northeast-1" AWS_ACCESS_KEY = "xxx" AWS_SECRET_ACCESS_KEY = …

機械学習の用語

評価指標 MAE=Mean Absolute Error(平均絶対誤差) RMSE=Root Mean Square Error(2乗平均平方根誤差)

OpenStreetMapサーバの構築 Ubuntu 14.04

OpenStreetMapサーバはKai Krueger氏がUbuntu14.04向けにパッケージングしてくれているので、 これを利用すると構築が簡単。以下の方法が参考になる。 OpenStreetMapサーバを自作する(Install OpenStreetMap on AWS EC2/Ubuntu14.04) | Developers.IO 以下…

VBoxGuestAdditions.iso の UUID エラー

他からコピーしてきたvboxファイルをVirtualBoxで「追加」で起動しようとすると、 Cannot register the DVD image… であったり、UUID のエラーメッセージが表示されることがある。 この場合、「新規」に作成し、ストレージにコピーしてきたvmdkファイルを指…

cuDNNのバージョン確認

cudaのインストールディレクトリが /usr/local/cuda と仮定する。その場合、以下に書いてある。 /usr/local/cuda/include/cudnn.h のCUDNN_MAJOR, CUDNN_MINOR, CUDNN_PATCHLEVEL /usr/local/cuda/lib64/libcudnn.so.x.x.x x.x.xがバージョン

Ubuntu14.04でメニューが表示されなくなった

再起動してログインしたら、急にメニューバーやランチャーが表示されず、 デスクトップ上のフォルダやファイルのアイコンだけ表示される状態になり、 ターミナルも起動できなくて困った。(Ctrl + Alt + Tでも起動できず。。。) ググると、色々とやりようは…

Bluetooth対応ケーブルありイヤホンTT-BH16

通勤時に使うBluetooth対応イヤホンを検討していたが、AirPodsなどのケーブルなしは見送り、 安価なケーブルありイヤホンを購入した。 知人の口コミ情報を元に、タオトロニクスのTT-BH16(約3000円)に決定。 TaoTronics Bluetooth 4.1 スポーツイヤホン マ…

Rubyの2次元ハッシュの定義

本当にタダのメモ hash = Hash.new{|h,k| h[k] = {} } # 以下のように値を代入できる hash["a"]["b"] = 1 # 上記とは別に、以下のように、存在しなければ、都度、ハッシュを定義してもよい # if文でチェックする必要がないので、シンプルに書ける hash["a"] …

エンジニアとして世界の最前線で働く選択肢、を読んで

シリコンバレーで働く日本人エンジニアの就活事情に興味があったので。 エンジニアとして世界の最前線で働く選択肢 ?渡米・面接・転職・キャリアアップ・レイオフ対策までの実践ガイド作者: 竜盛博出版社/メーカー: 技術評論社発売日: 2015/10/08メディア: K…

psycopg2.OperationalError: asynchronous connection attempt underway

pythonで並列処理 - pandazx's blog というブログを以前、書いたが、 並列処理の中でPostgreSQLにSELECTを投げる処理をした時に以下のエラーが発生した。 psycopg2.OperationalError: asynchronous connection attempt underway このエラーは並列処理前にDB…