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

【Hive】beeline実行時のオプションについて

beelineでHQLを実行する際のオプション指定方法について記載します。 coin-look.pages.dev --hiveconf Hiveの設置をオプションで指定可能です。 $ beeline -u 'jdbc:hive2://xxx.co.jp:10000/default;...' --hiveconf hive.execution.engine=tez --hiveconf …

【React.js】makeStylesのスタイル指定方法

React.js(Next.js)で実装する際にmakeStylesの利用方法を調べたので、忘れないようにメモ。 気になるものがあったら、順次追記していきます。 coin-look.pages.dev first-child 特に迷うことは無い。 const useStyles = makeStyles({ root: { '& div:first…

【HiveQL】pyhiveとPrestoでテーブル操作

beelineで実行していたクエリをpyhive + Prestoで再実装した際に書き方が違う部分があった為、備忘メモ。 coin-look.pages.dev LOCATIONを指定してテーブル作成 元のクエリはこちら。 CREATE EXTERNAL TABLE <テーブル名> (<カラム名> <型>, ...) ROW FORMAT…

【Node.js】npmパッケージの脆弱性対応

CIで脆弱性チェックがエラーとなり、npm audit以外の方法で応急処置をしたのでメモ。 修正後は要動作確認。 coin-look.pages.dev npm audit まずは npm audit 等で検出されたパッケージのレポジトリを調べ、必要であれば package.json のバージョンを修正後…

【Python】urllibでプロキシ設定

urllibで社内のプロキシサーバーを経由して外部接続という処理を実装しました。 外部接続先のAPIでBasic認証が必要で、少し詰まったのでメモ。 requestsモジュールだと、プロキシ設定 + 接続先でBasic認証が上手く動かなかった為、urllibモジュールを使用し…

【Kubernetes】IngressのURL Rewrite設定

Ingressのpath設定でリクエストを振り分ける際にURLのrewriteを行ったのでメモ。 設定がコントローラーにより異なるようです。 (function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a; b[a]=b[a]||function(){arguments.currentScript=c.currentScript ||c.s…

【Python】smtplibでメール送信

Pythonでメール通知の実装メモ。 ホスト名などは適宜変更してください。 実装 ライブラリは不要です。 # -*- coding: utf-8 -*- import getpass import platform import smtplib from datetime import datetime from email.mime.text import MIMEText from e…

【Kubernetes】kubectl の便利コマンド

使わなくなると忘れそうなので、kubectlコマンドをメモ。 alias k=kubectl 実行済の想定です。 随時、追加します。 入門ならこの一冊 Docker/Kubernetes実践コンテナ開発入門 [ 山田明憲 ]価格: 3718 円楽天で詳細を見る トークン取得 $ (k describe secret…

【Python】FastAPIのディレクトリ構成

クラウドソーシングでFastAPIの実装を行う機会があったので、調べた事などをメモ。 作成したソースコードはGit Hubに上げてあります。 ドキュメント 公式ドキュメントは分かりやすく書かれていた印象です。 fastapi.tiangolo.com ディレクトリ構成 公式ドキ…

【Python】pyhive で Presto 接続

PyHiveでPresto接続方法のメモ。 認証方法はプロダクト毎に違うと思いますので、適宜変更。 この辺りを見れば実装方法が分かると思います。 github.com インストール $ pip3 install pyhive[presto]==0.6.4 実装 # -*- coding: utf-8 -*- import base64 from…

【Kubernetes】Job・CronJobの設定方法

Job・CronJobの実装方法をメモ。 kubernetes環境上で実行するjobは並列起動してもエラーとならない様な設計にすると良いそうです。 後はdockerイメージ更新はタグをベースに行う事により、imagePullPolicy: IfNotPresentで更新の必要がない時はpullをskipさ…

【Kubernetes】PODの安全な起動・終了について

KubernetesのPODを安全に起動・終了する方法をメモ。 アプリケーションのGraceful shutdownは言語によって異なる為、都度実装する事になります。 (function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a; b[a]=b[a]||function(){arguments.currentScript=c.cu…

【curl】通信時間の計測

curlのオプションで通信時にかかる時間の計測ができます。 どの時間帯が長引いているか等で、不具合の原因切り分けができるかもしれません。 manページ curl.se コマンド $ curl -w "\ntime_namelookup: %{time_namelookup}\ntime_connect: %{time_connect}\…

【Python】Sanicでoracle接続

pythonでoracle接続を実装したのでメモ。 非同期処理用のフレームワークsanicを使用しました。 ドキュメント sanic Python v3.7~が必要です。 v3.6は2021年末にサポートが終了するので、バージョンアップを検討した方が良いと思います。 sanic.readthedocs.i…

【shell】便利コマンド

忘れそうなので、業務で実装したバッチ処理などで利用したshellコマンドのメモ。 随時、追加して行きます。 現在日時からの加減算 # 1時間後 $ echo $(date "+%Y%m%d %H%M%S" -d '1 hour') # 1時間前 $ echo $(date "+%Y%m%d %H%M%S" -d '1 hour ago') ファ…

【Kubernetes】サイドカー方式でOAtuh2-proxyの認証処理を追加する

kubernetes上でのOAuth2 proxyコンテナの利用方法をメモ。 nginxの使い方について詳しく知りたい方は、この本がお勧めです。 手元にあれば、実装時にいちいち検索しなくて済むかもしれません。 (function(b,c,f,g,a,d,e){b.MoshimoAffiliateObject=a; b[a]=b…

【Kubernetes】kustomizeで環境毎のマニフェストを作成

kubernetesで環境毎の設定管理にkustomizeを使用したのでメモ。 ingressのannotationsにスラッシュが含まれていた為、patchesJson6902のプロパティ指定はどうやるのだろうと思ったのですが、エスケープに「~1」を用いる事で解決しました。 ⬇️ これからkubern…

【Node.js】Expressからcassandraにアクセスする

Node.jsとExpressでAPIを実装した際にcassandraに接続したので、やり方をメモ。 Markdown 記法に変えたので、若干書体が変わっています。 ⬇️ 分かりやすい良書です お金のこと何もわからないままフリーランスになっちゃいましたが税金で損しない方法を教えて…

【Python】DataStax Python Driverでcassandraにアクセスする

Pythonでcassandraの登録処理や取得処理を実装したのでメモ。 DataStaxのpython driverを使用しています。 テーブル設計なども行ったのですがパーテションキー=nodeという概念で、1pk=1nodeに多くても100レコード以内が望ましいそうです。 一意なID等なら問…

【Python】PyWebHdfsでHDFSを操作する

PythonでHDFSにファイルアップロードする処理を実装したのでメモ。 単純な処理ならcurlで十分なのですが、色々やりたい時は便利そうです。 事前にKerberos認証済みの想定です。 ⬇️ まだ読めてないです データウェブハウスツールキット―Web+データウェアハウ…

【Python】PyHiveでHiveQL

業務でPyHiveを使用したのでメモ。(忘れる自信しかない ) 環境によっては認証周りが変わりそうです。 ⬇️ クリーンアーキテクチャの事が分かりやすく書かれていて、お勧めです Clean Architecture 達人に学ぶソフトウェアの構造と設計 (アスキードワンゴ) …

【Python】boto3でS3のファイルをSSE-C暗号化

音声ファイルをS3に格納する際にSSE-C方式で暗号化したので備忘録。 botoの語源はアマゾンカワイルカだとか coin-look.pages.dev 公式 boto3.amazonaws.com 環境 Pythonのバージョンは3.7。 3.6は2021年末にサポートが切れるようです。 pip3 install boto3==…

【Python】mod_wsgi + Vue.js の連携

mod_wsgiでFlaskとVue.jsを連携させたので、備忘録として残しておきます。 あまり無いかもしれませんが、何かしらの理由でサーバーを1つに纏めたい場合に使えるかも 実際はkubernetes環境で実行するなどの事情もあり、分かりやすいように書き換えている為、…

【Java】OAuth 1.0 の認可処理について

JavaでOAuth 1.0を使用して認可処理を実装する機会があったのですがシグネチャの生成に少し手間取ったので、備忘録として残しておきます。 ユーザーからのリクエストがGadgetサーバーを経由してクライアントサーバーに転送され、更にAPIサーバーにリクエスト…