サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
アメリカ大統領選
carefree-se.hatenablog.com
最近少しAWSに触れる機会が減ってしまっているため、久々にAWSネタです。 AWS SAM(サーバレスアプリケーションモデル)とは AWS上でサーバーレスアプリケーションを構築するために使用することができるオープンソースフレームワークです。 提供してくれること AWS SAMテンプレートを使用したサーバレスアプリケーションの構築 ローカル上でのテスト、デバッグ サーバレスアプリケーションのデプロイ インストール(Macの場合) Dockerがインストールされていることが前提(ローカル上でのテストでDockerを内部で利用しているため) $ brew upgrade $ brew tap aws/tap $ brew install aws-sam-cli CLIツールの概要 init AWS SAMテンプレートを利用したサーバレスアプリケーションの初期化 $ sam init --runt
年末にかけて、自分のMacの環境をアップデートしたり、整理したりしてたので、その備忘録です。 発生していたエラー 2018-01-02 16:49:48.272 JST [51799] FATAL: database files are incompatible with server 2018-01-02 16:49:48.272 JST [51799] DETAIL: The data directory was initialized by PostgreSQL version 9.6, which is not compatible with this version 10.1. dataディレクトリのバージョンが9.6だと怒られて、PostgreSQLサーバが起動してない状態でした。 対応した内容 9.6のデータディレクトリを退避 mv /usr/local/var/postgr
この記事はAmazon Web Services Advent Calendar 2017 24日目の記事です。 Amazon Athana概要 Amazon Athanaとは、S3のデータをSQLを利用して簡単に分析可能なサービスで、実行したクエリに対してのみ料金が発生します。 サーバレスで、EMR等立ち上げる必要なく、S3のデータを分析出来ます。 Amazon Athena – Amazon S3上のデータに対話的にSQLクエリを | Amazon Web Services ブログ データ形式 primitive_type TINYINT SMALLINT INT BIGINT BOOLEAN DOUBLE STRING TIMESTAMP DECIMAL DATE VARCHAR array_type ARRAY < data_type > map_type MAP < primit
この記事はPython Advent Calendar その2の20日目の記事です。 PythonでメインでSQLAlchemyを使用しているのですが、せっかくORMを使用しているのに、生SQLばかり書いているのも良くないので、そろそろ真面目に慣れたいなと思って、使い方〜クエリの操作まで記述しました。 sqlalchemyの基礎 データベースへ接続(pymysqlを使用) sqlalchemyモジュールのcreate_engineメソッドを利用する from sqlalchemy import create_engine username = 'username' password = 'password' host = 'localhost' dbname = 'database' engine = create_engine('mysql+pymysql://{username}:{p
今回使用するGemはこちら elasticsearch | RubyGems.org | your community gem host 前回の記事を参考に、基本的な操作をRubyからやってみました carefree-se.hatenablog.com インストール gem install $ gem install elasticsearch Gemfile gem 'elasticsearch' 未リリースverを使用する場合 gem 'elasticsearch', git: 'git://github.com/elasticsearch/elasticsearch-ruby.git' Clientの利用 require 'elasticsearch' # userとpasswordを指定する場合は、hostsのオプションに指定する client = Elasticsearch::C
最近Pythonをよく使用するのですが、言語によっては日付操作は非常に面倒(特にJSとかは…)なことがあり、Pythonではどうするのか、いろいろ調べてみました。 標準で利用可能なモジュール time : 時刻に関する関数を提供 datetime : 日付や時間データの操作する関数を提供 calendar : カレンダーに関する関数を提供 locale : ロケール関連 import time from datetime import datetime # 本日の時刻 now = datetime.today() # datetime.datetime(2017, 5, 21, 12, 42, 28, 403222) now = datetime.now() # datetime.datetime(2017, 5, 21, 12, 42, 41, 546079) # 年 print(now
それは、pryを実行しようとした時でした... エラーメッセージが出力され、pryが起動できず、いろいろ調べて対応したので、その時の対応を残しておきます。 環境 Ruby 2.3.1 Mac OSX Sierra 10.12.2 rbenv ruby-build エラーメッセージ Sorry, you can't use byebug without Readline. To solve this, you need to rebuild Ruby with Readline support. If using Ubuntu, try `sudo apt-get install libreadline-dev` and then reinstall your Ruby. Ubuntuだったら、libreadline-devをインストールしろっていってるっぽい readline $ brew
最近あんまり触っていなかったので、久々にPythonをやろうと思ったときにいろいろ忘れてたり、新しく知ったりしたこともあったので、Pythonやるときに参考になりそうな情報をまとめました (但し、今回はデータ分析系のライブラリ関連は除いています) Pythonの言語仕様や基本等 概要 — Python 3.5.2 ドキュメントdocs.python.jp qiita.com www.python-izm.com 2系と3系の違い postd.cc qiita.com コーディング規約 はじめに — pep8-ja 1.0 ドキュメント ドキュメント生成 azunobu.hatenablog.com ドックストリング """ 3重ダブルクォートを使用して記載する。 ドックストリングに記述したテキストは関数やクラスオブジェクトの__doc__に保存される def hello(): """Out
最近フロントエンド開発からちょっと離れている間に、React.JSやAngular2、ES2015等々、変化の早いJS各界にちょっとでも遅れを取り戻せれたらと、思う今日このごろですw まずはES2015(ES6)からやっていこうと思います ES6について 公式 公式発表は2015年6月で、既に現時点でES2016がリリースされているようです。 主な仕様 class定義が可能 import/export命令によるコードのモジュール化に対応 関数構文の改善(引数のデフォルト値、 可変長引数、 アロー関数など) let/const命令によるブロックスコープの導入 for...of命令による値の列挙 イテレーター/ジェネレーターによる列挙可能なオブジェクトの操作 Promise、 コレクション(Map/Set)、 Proxyなどの組み込みオブジェクトを追加 String, Number, Arra
ここ1年くらいRubyメインで開発することが多いのですが、ここいらでこれいれとくと開発が捗るGemを紹介したいと思います。 対象Ruby version > 2.1 対象Rails version 5.0.0.1 >= 4.2 Gemfile まずはよく使うGemを記述したGemfileを紹介します。 group :development, :test do gem 'byebug', platform: :mri gem 'rspec', '~> 3.5' gem 'rspec-rails', '~> 3.5', '>= 3.5.1' gem 'simplecov', '~> 0.12' gem 'test-queue', '~> 0.2' gem 'database_cleaner', '~> 1.5', '>= 1.5.3' gem 'factory_girl', '~> 4.7'
アプリケーション開発でエラーの管理は特に重要で、あるエラーに対しては、エラーコードxxxの用に管理していくことが多いかなと思いますが、JavaとかだったらExceptionを継承して独自の例外クラスを作ったりしたんだけど、Rubyだとどうしたら良いかなと考え、作成してみました。 要求 例外補足時にエラーコード + メッセージを渡したい loggerのERROR出力にもエラーコードを出力したい ログをJson形式で出力したい(おまけ) Sample # coding: utf-8 require 'logger' require 'json' ENV["TZ"] = "Asia/Tokyo" ## # 自作logger class class MyLogger < Logger def debug(progname = nil, method_name = nil, msg) super(p
Rails5のbeta2が公開されて、1ヶ月近く経とうとしています。 Rails5の新機能の一つAPI modeをさくっとやってみて、どんな感じになるのか見てみたいと思い、やってみました。 API modeについて json出力のみに特化した、コンパクトなFWを提供してくれる機能 www.atmarkit.co.jp Install $ gem install rails -v 5.0.0.beta2 --pre $ gem list | grep rails rails (5.0.0.beta2) rails-deprecated_sanitizer (1.0.3) rails-dom-testing (1.0.7) rails-html-sanitizer (1.0.3) sprockets-rails (3.0.1) railsアプリ作成 $ rails new backend --
本日行われたDevelopers.IO 2016に参加してきました! 会場はSAPJapanで行われ、雨の中ではありましたが、半蔵門駅直通ということもあり、たくさんの方々が集ったイベントとなりました。 ステッカーとか配布物(一部) 自分がゲットしたり、配られていたものです 特に手提げバッグに関しては、Mac Book Pro 13インチがぴったり入り持ち運びに便利でしたね 今回Developers.IOのイベントは初でしたが、その中で自分が参加したのは、 スマホアプリデザインの心得 iOS x Android 並行開発についてのトピック 実務で使うAWS Lambda IoTのビジネスをデバイス・ゲートウェイから見てみる ~この1年でどんなアップデートがあったのか?~ と、スマホアプリ開発 x 2、AWSのサービス x 1、IoT x 1という割合です。 さすがに、サーバサイドエンジニアと
ちょっと自前で暗号化、復号化出来るgemライブラリが欲しかったので、OpenSSLを利用し、暗号化したデータをYAML or JSONで保存できるような形式で作ったので、簡単に仕様をまとめておきます。 confidential_info_manager | RubyGems.org | your community gem host 経緯 現在アサインしているプロジェクトでRailsを使用しているのだが、いくらGithubのプライベートリポジトリを使用しているとはいえ、パスワードやAPIKeyなどの管理があまりにも雑すぎるので、それを何とかしようと思い、数十ある物を全て環境変数に入れるのもいいのだが、何でもかんでも環境変数頼りだと、また管理が雑になりそうな気がしたので、暗号機器のパスフレーズのみを環境変数で管理して、それ以外を暗号化し、YAMLへ保存、YAMLデータを復号化して使用できれば
現時点ではAWSで新たにNAT Gatewayが用意されており、簡単にNAT構成が建てられますが、VPNに課金されるので、自前で復讐も兼ねてNATインスタンスを作成する工程を忘れないように記載しておきます。 docs.aws.amazon.com 料金 - Amazon VPC | AWS Public Subnetの構築 1. VPCの作成 サービス > VPC > VPCの作成 項目 設定値 説明 ネームタグ my-vpc 分かりやすい名前を設定 CIDRブロック 10.0.0.0/16 VPCのアドレス範囲を設定(例で10.0.0.0/16を設定し以下これに沿って説明) テナンシー デフォルト シングルテナントの専用ハードウェアのVPCでインスタンスを実行できる 2. Public Subnetの作成 サブネット > サブネットの作成 項目 設定値 説明 ネームタグ public-s
最近プロビジョニングにchefよりansibleを使うことが多くなってきて、その都度コピペもあんまりよろしくないので、ベストプラクティスにそった雛形を自動生成するスクリプトを作成しました。 github.com 環境 serverspec (>= 2.17) ansible (>= 2.0.0) python (~> 2.7) 使い方 usage: ansible-init [-h] -p PLAYBOOK_NAME [-b BOX_NAME] [-i IP_ADDR] [-m MEMORY] [-c CPU] オプション optional arguments: -h, --help show this help message and exit -p PLAYBOOK_NAME, --playbook_name PLAYBOOK_NAME playbook name -b BOX_NAM
現在制作中のGemパッケージ[store_api]のGooglePlay版が一旦フェーズ1完了ということで、最新verをrubygemsにアップしました。 概要 GooglePlay Storeからデータを収集 収集出来るデータは2015-05-19現在、下記の通り ランキング アプリ詳細 検索 デベロッパーアプリ Installation Add this line to your application's Gemfile: gem 'store_api' And then execute: $ bundle Or install it yourself as: $ gem install store_api Usage require 'store_api' GooglePlay app details apps = StoreApi::GooglePlay::Apps::Detai
今回は、最近の、というよりは前職のスタートアップベンチャーで行っていた開発の進め方を振り返って、当たり障りない範囲で紹介しようかなとおもいます。 その上でうちではこうだよ、こっちの方が効率よくない? とうい意見がありましたら教えていただけると嬉しいです! 環境の切り分け 開発環境 開発作業を進めるための環境。ローカルで行う場合もあり。 テスト環境 CIツールを利用してテストを行うための環境。テストデータも最小構成。 ステージング環境 本番環境と同じ構成で構築。データに関してだけ本番の一部分のみを利用することも。 本番環境 本番環境。全てのテストにクリアし、公開しても問題ない環境。 進捗管理 RedmineやPivotaltrackerといった各種ツールを利用。 各Gitのプロジェクト単位で管理し、まずは大分類となるタスクを洗い出し、(親チケット) そのタスクにはどんな作業や手順が含まれるか
Railsアプリの設定時、bundle installして必要ライブラリがインストールされているのにも関わらず、"Could not find [gem name] in any of the sources"とエラーが出て、genarate等が出来なくてハマりそうになった。。。 いろいろググって見たので、同じ症状に悩ませられている人への助けになればと 調査 この症状は他にもいろいろ出ているようで、いくつか対応策になるのかと調べてみた。 Ruby - bundle install すると Could not find xxx in any of the sources と怒られる場合の対処法 - Qiita Ruby - Could not find XXXX in any of the sources エラーの修正方法 - Qiita rakeコマンドが通らずに壮絶にハマった件 - 東京
Dockerfileもある程度かけてきて、次のステップとしてちゃんとイメージが構成されているのか、をテストする方法を実際に構築したDockerfileを用いて記載したいと思います。 Dockerfile まずはDockerfileに構築したい環境を記述していきます。 下記のDockerfileはCentOSにserverspecとansibleの環境を構築したサンプルです。 そのうちwerckerのイメージで使えるか試そうかと構築したものです。 FROM centos:6 MAINTAINER hogehoge RUN yum update -y # install dependency RUN yum install -y git tar gcc openssl-devel epel-release \ libyaml-devel readline-devel zlib-devel \
AnsibleやChefといった、プロビジョニングツールを用いてサーバ環境を構築したので、次はServerspecを使ってちゃんとインストールされているか等、テストをしないとなということで、Serverspecの紹介です。 Serverspecとは サーバ向けのテストフレームワークで、Rubyで実装されており、Rubyのテストフレームワーク「RSpec」の書き方でテストが書ける。 しかし、Serverspecの真の目的は、インフラストラクチャコードのリファクタリング支援すること。 インストール *Rubyが既にインストールされていることが前提 $ gem install serverspec or Gemfile gem 'serverspec' $ bundle install 初期設定 $ serverspec-init Select OS type: 1) UN*X 2) Windo
去年あたりから急激にDockerが騒がれてますな〜と ここいらで本気で慣れておきたいところなので、Dockerコマンド〜Dockerfileの作成をまとめてみました。 Dockerとは Docker Inc. がオープンソースで開発しているコンテナ型仮想化技術、ソフトウェア。 各コンテナは独立した環境になっており、その中でアプリケーションをパッケージング、デプロイ、実行することができる。 また、このコンテナは簡単に再利用することが出来、コンテナを複数起動することにより容易にアプリケーションサーバを複数実行することが可能。 Dockerfileに設定を記述していきコンテナを構成していく。GO言語で記述できる。 コンテナとは 一つのホスト上で複数の隔離されたLinuxシステム(コンテナ)を走らせる、OSレベルの仮想化ソフトウェア。 VMに比べ、消費リソースが少い、起動が早い、オーバヘッドが少い
ansibleのplaybook練習用でrails(rbenvインストール) + nginx + postgresqlの環境を構築してた。 ansibleはyaml形式で書けるので、これからプロビジョニングツールを始めようという人にはオススメです。 環境 ruby 2.2.1 rbenv unicorn rails 4.x nginx postgresql 手順 ansible外での準備作業 Railsアプリの準備 + unicornの設定 以下ansible作業 postgresqlのインストール postgresqlユーザ作成 ruby環境依存パッケージのインストール rbenv + ruby-buildのインストール Railsアプリのチェックアウト bundle install rake db:create && rake db:migrate unicorn起動 nginxインス
自分は基本iTerm + vimで開発することが多いけれど、Atomも最近いいなと思い、これを機にAtomに乗り換えようかなと Atomについて Atom はGitHub が提供しているWindows、Mac OSX、Linuxなどで使えるChromium ベースの無料テキストエディタ。 2014年〜 勢いを増しているエディタ。 プラグイン拡張型 atom.io コマンドパレット 起動方法 cmd + shift + p プラグインの数によるとは思うが、部分マッチの割には高速に検索可能 アプリケーション操作 key binding event action cmd + o Application: Open 新規ウィンドウでプロジェクトを開く cmd + shift + w Window: Close 現在のウィンドウを閉じる cmd + shift + o Application: Ad
このページを最初にブックマークしてみませんか?
『carefree-se.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く