web-technical-blog

web開発に関する技術メモ

VSCode拡張機能のMarkdown PDF生成について

Etc

ヘッダー情報を削除する方法 拡張機能のライブラリは以下 https://marketplace.visualstudio.com/items?itemName=yzane.markdown-pdf 設定手順 [ファイル] → [Preferences] → [設定] [設定の検索]から「pdf」を選択する markdown-pdf.displayHeaderFooter:fa…

SREについて

SRE

SREをはじめるには 近年、何かと話題に上がるSRE(Site Reliability Engineering) しかし「自分たちのチーム・組織に関係する話なのかよく分からない」「具体的に何をやればいいのか?」といった感想を持つ方が多い 参考文献 英語版は、オンラインで無料で公…

pythonでのフォーマットや型変換について

pythonのフォーマット関数について dict型であれば、以下のようにしてフォーマットできる 変数「dict」をfor分などで使いまわす場合は、del関数で削除しないとデータがおかしくなるので注意 # ディクショナリ dict = {"name": "John", "age": 20} # アンパッ…

VSCでJupyterが使用できるということで試してみた

動作環境 windows10 設定したこと python3.6のパスを通した(環境変数) vscの拡張機能に以下を追加 Jupyter Python VS Code Jupyter Notebook Preview python -m pip install jupyter python -m pip install matplotlib #%% import matplotlib.pyplot as plt …

(Python)並行処理と並列処理について

並行・並列 並行は英語でConcurrent、並列はParallelと表現される 並行と並列は別ものである by RobPike 並行(Concurrent) 複数のスレッドを使って処理を走らせる スレッドは共有のメモリ領域を利用する 同時にいつくかの質の異なることを扱う 並列(Paral…

Go並行処理について

Go 並行処理についてよくまとめてされていた記事 https://qiita.com/suin/items/82ecb6f63ff4104d4f5d

VagrantのGuest GuestAdditionsについて

共有フォルダを作成したいときに、 「Guest Additions Version」と「VirtualBox Version」が違うとエラーが発生する 環境 VirtualBox Guest Addition:version 5.1.26 VirtualBox:5.2.12 vagrant-vbguestのインストール(コマンドプロンプトで作業する) >vagra…

vagrantのshared folderのmountに失敗してしまった場合

VirtualBoxでディレクトリ共有を行うために使っているVirtualboxGuestAdditionというツールのバージョンが, ホストとゲストでずれているとこのような問題がおこるらしい $ vagrant plugin install vagrant-vbguest $ vagrant vbguest https://qiita.com/ak-y…

pythonでS3にgzip形式でPUTする

PythonでS3にgzip形式でPUTする際は以下のようにすればいける。 Python 2.7.5 import boto3 from boto3.session import Session buff = '111,222,333' # output csv session = Session(aws_access_key_id=your_access_key_id, aws_secret_access_key=your_se…

Lambdaの呼び出し元について

LambdaFunctionには2つの呼び出し元がある ストリームベース ストリームベースではない 1.ストリームベース Kinesis Stream DynamoDB Stream 2.上記以外はストリームベースではない呼び出し ストリームベースではないイベントソースからの呼び出しは2種類が…

Gitのコミットメッセージの書き方

Git

Gitへコミットする際にあまり意識しなかったので勉強になった。 qiita.com ▼基本規則 1行目:変更内容の要約(タイトル、概要) 2行目 :空行 3行目以降:変更した理由(内容、詳細) ▼スリーライン派(コミットベース派) [fix]削除フラグが更新されない不具…

DeNAのデータ分析基盤

logmi.jp Hadoopクラスタの運用は大変そうです。。 アナリスト側にYAML定義を理解してもらうのが大変なのは分かる。。 App -> LogGateway LogGatewayで認証したサービスのログを受け取る Log Fluentd DB SnapShot オンプレの場合はApache Sqoopというもので…

Software Design(7月号)のDevOpsの掲載

「DevOps」とは Dev(Development:開発) Ops(Operation:運用/保守) をくっつけた造語 開発担当と運用/保守担当が密に情報共有し、共通の目的に向けて互いの理解を深め リリースサイクルの短縮 システムの安定稼働 ひいてはビジネスへの貢献をするために継続的…

Twitterのタイムラインのスクレイピング

はじめに (twitter-past-crawler)を使用して、ある特定のハッシュタグから情報を取得し、取得した内容からタグクラウドを作成した https://github.com/keitakurita/twitter-past-crawler TwitterAPIの仕様 TwitterAPIは1週間より前のツイートは取得できない…

Lambdaの開発をローカル環境でする方法

mac環境でlambdaをローカル環境で開発する方法 python-lambda-local 以下をインストールすると可能になる https://github.com/HDE/python-lambda-local 実行コマンド python-lambda-local -l venv/lib/ -f lambda_handler main.py event.json event.json lam…

CloudWatchでLambdaのエラー内容を確認するコマンド

Lambdaでエラーした内容は以下のコマンドで確認できる ### awslogsコマンド awslogs get /aws/lambda/lambda-function -S --timestamp --start=1d --profile=xxx -f=ERROR

python3.6でpycryptoをインストールする際にはまったのでメモ...

windows環境はエラーします。mac環境はエラーはしない。。 python3.6にpycryptoをインストールするとエラーになる時の解消法 $ pip install pycrypto 上記コマンドをインストールしようとするとエラーが... ビルドツールのインストールが必要 「Visual Studi…

digdag runコマンドを実行する際のメモ

digdag runコマンドを実行する際の注意点をメモ。 digdag/embulkでのディレクトリ構成は以下のような感じで。 $ tree . ├── config │ ├── dev.yml │ ├── load_table_list.txt │ └── prod.yml ├── scripts │ ├── commons │ │ ├── _input_aurora.yml.liquid │ …

Lambda関数でS3をトリガーに設定する際に気を付けるポイント

Lambda関数を実行している際に、 なぜかaws-cliでs3にファイルをアップロードするとLambdaが発火せずにはまった内容。 原因はイベントタイプ設定で、イベントタイプで「PUT」を設定していたのが問題であった。 GUIからファイルをアップロードする際は、 マル…

LambdaでS3のイベントトリガーを設定しようとした場合にエラーする場合

LambdaでS3のイベントトリガーを設定しようとした場合に 以下のエラーが出る場合は、S3のプロパティのEventを確認して削除する Configuration is ambiguously defined. Cannot have overlapping suffixes in two rules if the prefixes are overlapping for …

lambdaをローカル環境で開発する方法(mac)

python-lambda-localをインストールする https://github.com/HDE/python-lambda-local 実行コマンド python-lambda-local -l venv/lib/ -f lambda_handler main.py event.json event.json lambdaでテストする際のテスト呼び出しコードを記入する AWSサービス…

コマンドプロンプト(windows10)でlinuxコマンドを使用できるようにする

Etc

「Gow」というツールをインストール https://github.com/downloads/bmatzelle/gow/Gow-0.7.0.exe 「clink」というツールをインストール https://github.com/mridgers/clink/releases/download/0.4.9/clink_0.4.9_setup.exe 参考URL https://qiita.com/mizuki…

virtualboxの共有フォルダの設定について

# ls -l /media drwxrwx--- 1 root vboxsf 0 12月 11 17:09 2016 sf_vbox_share このままだと権限がないので、 rootかvboxsfグループのユーザーしかアクセスできないため、 既存ユーザーをvboxsfグループに追加しておく。有効にするため一度再起動したら、 …

digdagServerの構築メモ

Centos7にdigdagサーバーを構築した際のメモ 久しぶりに自分のローカルPCにCentos7でサーバーを構築しようとしたが、 vagrant up しようとするとエラーが発生。。 下記組み合わせだとvagrant upがエラーする virtual box:バージョン 5.2.6 r120293 (Qt5.6.2)…

Go言語でJSONのデコード処理を検証してみた

go

GOでJSONをデコードする際の方法 色々検証してみた https://github.com/masahiro-yoshitachi/json-parse GoでJSONを処理する最も一般的な方法 Goの標準ライブラリには、JSONを扱うためのパッケージ(encoding/json)が含まれていて エンコード(構造体から文字…

Amazon S3に保存されているバケット毎のオブジェクト容量、オブジェクト数を知る方法は大きく分けて下記の2つの方法がある

aws

CloudWatchのメトリクスであるS3ストレージメトリクスのBucketSizeBytes、NumberOfObjectsを参照する AWS CLIでS3のバケット配下のオブジェクトに対して再帰的に容量と数を集計する。 CloudWatchのメトリクスは自動的に集計してくれるというメリットの一方で…

AWS SAMを利用してGolangなLambdaをデプロイする

AWS CLIでデプロイ(Windows環境) $ GOOS=linux go build -o main $ zip deployment.zip main $ aws lambda create-function \ --region us-west-2 \ --function-name HelloFunction \ --zip-file fileb://./deployment.zip \ --runtime go1.x \ --tracing-co…

Docker compose

npmコマンドが使用できる必要あり docker-composeコマンドが使用できる必要あり docker-compose.ymlファイルとは docker-compose.ymlファイルは以下のようにyaml形式でDockerコンテナに関する起動オプション(buildオプションも含まれることもある)を記述した…

Docker Hubのオフィシャルイメージを使ったLAMP環境(Apache+PHP+MySQL)

PHP+Apacheのイメージをつかってみる $ docker rund -d php:5.6-apache PHP+ApacheのイメージをDocker Hubから取得し、コンテナを起動 $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE php 5.6-apache 61a89dae852c 3 weeks ago 378MB 取得したイメー…

DockerでPHP7.0 + Apacheの環境を構築する

PHP7.0 + Apacheを起動する docker run -d -p 80:80 --name php70-apache php:7.0-apacheでイメージからコンテナを立ち上げる(ローカルにimageがない場合はDocker Hubから取得してくれる) -pオプションでポートを80番でフォワード $ docker run -d -p 80:80 …