プログラミング

【python3】はてなブログへ記事と画像を投稿するスクリプトを書いてみた

弊社のはてなブログ移行を記念に、python3で記事本文と画像の投稿スクリプトを書いてみました 記事目安...10分 投稿スクリプトについて Post_hatena.py "PostHatena"クラス "PostHatenaPhoto"クラス execution.py main() upload_text() upload_images() 使い…

Python の例外を別の例外として投げるときの話

はじめに こんにちは。技術4課の保田(ほだ)です。 iOS14 へのアップデートをしたらかなり雰囲気が変わってビックリしています。 というわけで(?)今日は Python のお話です。 要約 raise 文には from が使えるぞ 本題 main 関数から呼び出されるある関数…

DynamoDBでエクスポートしたCSVをインポートする方法

こんにちは、技術4課のアインです。 今回は、AWSマネジメントコンソールを使ってDynamoDBからエクスポートしたCSVをインポートするPythonコマンドラインインタフェースを紹介したいと思います。 背景 皆さん、サーバーレス開発はしていますか? 開発する時の…

Rails + React のプロジェクトに Jest + Enzyme を導入してReactコンポーネントを単体テストする

Reactを利用しているRails プロジェクトにJestとEnzymeを導入して Reactコンポーネントのテストを書くことができたので導入手順をメモします。 当プロジェクトの環境は導入時点でRails5.2系で、webpackerとsprocketsが共存している状態でした。 Jestとは jes…

初めてのTerraform

こんにちは。技術4課を福島です。 先日、同じ課のメンバーからTerraformに関するお話をしてもらったので、 その内容をブログにまとめたいと思います。 IaCとは まず、Terraformのお話をする前にInfrastructure as Code(以下、IaC)についてです。 IaCとは…

MarkLogicをAWSにデプロイしてみた

はじめに こんにちは。SRE2課の福島です。 先日、以前から持っていたAlexaに追加でSwitchBotハブミニを買い、 リビングの電気を声でオン、オフできるようにしました。便利ですね~。 今回は、MarkLogicをAWSにデプロイする方法をブログにまとめたいと思いま…

[2020/07/21 Update] AWS CodeBuild のビルド環境にログインできるようになりました

掲題の通り、 2020/07/21 のアップデートによって実行中の CodeBuild のビルド環境に入れるようになりました。 AWS CodeBuild now supports accessing Build Environments with AWS Session Manager AWS CodeBuild - View a running build in Session Manage…

【10分で】ほぼコマンドなし!VSCode×Docker×ペアプロしよう【開発体験向上】

こんにちは。ローカル環境のパッケージ管理は美しくできていますか? 残念ながら私はできていません。 あれは入社1年目、いろんなブログから引っ張ってきたインストール系コマンドをよくわからないまま実行した結果・・・(お察しください) それはさておき ロ…

【Ruby】正規表現の\sはタブや改行にもマッチする

先日正規表現でスタックしてまい、正規表現やエスケープシークエンスについて調べていたのですが、その途中で気づいたことがあったのでブログにしてみます。 タイトルの通りなのですが、なんと正規表現の\s はスペースだけではなくタブや改行にもマッチして…

Connect と Lambda を組み合わせるときに注意すべき点いくつか

こんにちは。技術4課の保田(ほだ)です。 みなさん好きな野菜は何ですか?私はピーマンが好きです。小さいころから好きで小学生の卒業制作でピーマンを擬人化したキャラクターの絵を描いたぐらい好きです。色も良いですよね。鮮やかさで言えば超新星爆発と…

CodeBuildでSlackへ株価をお知らせ

こんにちは 弊社は2019/03/13東証マザーズへ上場しました。 社員の中には、自社が市場でどう思われてるか気になる人もいたりするもんです。 というわけで、Slackへその日の株価(始値/高値/安値/終値)をお知らせしています。 構成 平日19時前にビルドを実行…

CloudTrail のログを Lambda から Athena を使って解析してみる

こんにちは。ポインコと暮らしている高橋です。 こどもの日は兄がAmazonで購入した室内用こいのぼりを揚げてくれました。 AthenaにCloudTrailのログを取り込む、というのは以前当社blogで紹介済みでした。 紹介時の2016年12月時点では、クエリを実行してClou…

『テスト駆動開発』をPythonで写経するにあたって 演算子のオーバーロードとハッシュテーブル について調べた

こんにちは。 完全リモートワークもそろそろ3ヶ月目に入って、運動不足が深刻になってきた丸山です。 今回は超有名な技術書『テスト駆動開発』をPythonで写経しながら学んでいく途中でわからなかったこと、調べたことなどを記事にまとめてみました。 知識と…

CloudFront+S3環境でLambda@Edgeを用いてHTTPセキュリティヘッダーを付与する方法

HTTPセキュリティヘッダーとは 「HTTPセキュリティヘッダー」とは、Webブラウザでのセキュリティ対策のために使用されるHTTPヘッダーです。 Webブラウザがセキュリティヘッダーの設定内容に従って動作することで、クロスサイトスクリプティング(XSS)やクリッ…

VSCode の Remote - SSH 機能を使って EC2 上で開発する

こんにちは、技術1課の加藤です。 みなさんエディタは何を使っていますか。 ぼくは入社以来ずっとVimを使っていたんですが、先日ついに同僚に勧められてVSCodeを導入しました。 これがね、便利。ほんと。 というわけで今日は、VSCode布教活動の一環として、V…

Amazon API Gateway + AWS Lambda でのレスポンス形式

はじめに こんにちは、技術一課の山中です。 冬は好きではないですが、夏は嫌いです。 さて、 Amazon API Gateway + AWS Lambda で REST API を構築することは多々あるとおもいますが、 Lambda プロキシ統合をセットアップした際に、 AWS Lambda からどのよ…

Railsを動かして理解するDBコネクションプール

データベースの文脈でコネクションプールという用語は昔から聞くのですが、私はあまり理解できていませんでした。 アプリケーションサーバの代表的な実装の一つであるRuby on Railsで実験し、理解を深めてみました。 検証環境の構築 今回は1台のEC2インスタ…

Ruby on Rails 6をAmazon Linux 2で動かす

Amazon Linux 2 に Ruby on Rails 6 の環境を構築してみました。 軽い気持ちでやったのですが、想像以上にハマりどころが多かったです。 今回の構築方針は以下の通りです。 rbenvなどのRuby環境の管理ツールは使わない 関連ツール類は、なるべくAWSのリポジ…

オブジェクト指向設計実践ガイドを読んだので基本部分をPythonでも書いてみた

オブジェクト指向設計実践ガイド is https://www.amazon.co.jp/dp/477418361X その名の通りオブジェクト指向の原則に沿った設計を実践しながら学ぶという内容です。 私は今年の3月からCloud Automatorを開発するサービス開発課に配属になりましたが、これま…

Lambda のタイムゾーンを環境変数TZで指定してはいけないっていう話

技術1課の加藤です。 今回はプログラムを書いたことがある人なら誰もが一度は悩む「タイムゾーン 」のお話。 Lambda の環境変数 TZ は使っちゃいけないよ。 プログラムのタイムゾーンをどう統一するのか問題 時刻を扱うプログラムを書くとき、避けて通れない…

【Python3入門】boto3を使ってPython3とAWSに触れてみよう!【60分】

こんにちは、CI部の柿﨑と申します。 私はサーバーワークスに入社して3週間ほどですが、とても馴染みやすく、毎日リラックスした状態で過ごせております。 このような環境で仕事ができることに感謝感激です! そんなわけで、今回はブログ初投稿というところ…

【Backlog】課題のステータスを更新するスクリプト(Python)【API】

こんにちは。技術二課の伊藤Kです。 サーバーワークスでは、プロジェクト管理ツールとして「Backlog」を使っています。 タスク管理、ファイル共有もできるプロジェクト管理ツールBacklog 今回はこのBacklogの「課題」のステータスを、複数課題一挙に更新でき…

LambdaでPHPが動いた! PHP Layer For AWS Lambdaを使って、kokexaの画像を動的にランダム表示 #reInvent #kokexa #lambda #php

こんにちは、サーバーワークスのこけしの人、坂本(@t_sakam)です。 re:Invent 2018のキーノートでLambdaの「Custom Runtimes」と「Layers」が発表されました。これにより、AWS公式での言語サポートではありませんが、パートナーの「Stackery」が公開してい…

【30分IoT】Raspberry PiとSlackを連携させて温湿度を記録しよう

MSP課の平(@mana_cat)です。 今回は、夏休み企画としてお手持ちのRaspberry Pi Zero活用術を紹介します。たった30分で温湿度をセンサーを使えるようになり、Slackに投稿できるお手軽IoTをご紹介します。 準備するもの まずは、必要なセンサーとパーツを準備…

LT大会発表資料を公開!『ZAPPAで超えろSERVERLESSの壁』『バトミントンの話 ~基礎編~』『仕事と家庭を両立する ための時短テク』 『Enjoy the difference』

こんにちは、LT大会運営委員の鎌田(瑞)です。お気づきでしょうか、実はLT司会は4週間おきにローテーションしていることを。残念ながら私の番は当分先なのです。 LT大会の概要 サーバーワークスでは、毎週金曜日にLT大会を開催しています。 配信の模様は、こ…

AWS Lambdaの開発をローカルで行う

法人営業課でOJT中の鎌田です。近頃アイスブレイクの鉄板は「身近にあるけど気にしたことがないもの」だとおもっています。例えば、弊社は毎年社員旅行に行っていますが、そもそものきっかけはなんだったのだろう、とか。 さて、AWSでよく行う作業のうち面倒…

Sublime TextをPython開発に使いやすいようにカスタマイズ

こんにちは、技術一課でOJT中の鎌田です。先週、国際航空宇宙展に行ってきました。水曜から金曜までは関係者限定で、土曜からは一般公開されたのですが、対ミサイル防衛装置にかなりの人だかりができていました。 さて、私は普段、メモを取るにも簡単なシェ…

プログラム初心者がAWS Lambda(Python)でハマった7個のこと

私の所属している、"クラウドインテグレーション部技術1課"では、毎日5分程度の朝会というのをやっているのですが、ファシリテータをみんな忘れるので、適当に選出するbotを作成しました。SlackのIncoming Webhookを用いて、メンバーをシャッフルしメンショ…

【3分で読める!】サーバレスアーキテクチャって何?エンジニアが憧れるクラウドを活かしたシステムのご紹介

こんにちは。高橋です。技術1課に所属し、楽しい日々を送っています。 さて今回は、たまに聞くけどよく分からない「サーバレスアーキテクチャ」のご紹介をします。

Box Content APIとAWS Lambdaで議事録ファイル自動生成

技術2課の白鳥です。 ついに AWS Summit Tokyo が始まり、本エンジニアブログも関連記事で賑わっています。一方、実は Box World Tour 2016 Tokyo も近づいてきていますので、この記事ではあえてBoxの話をします。 はじめに サーバーワークスでは、業務で使…

Grafanaでかっけぇダッシュボード作るよ!(構築・設定編)

iPad Air 3(かな?)が楽しみな竹永です。洗濯機はまだ無い。 このところElasticsearchとかKibanaとかばっかり触っていましたが たまには別のツールを触るのも良いと思うのです。 と、いうことで可視化ツールの Grafana を触ってみます。 Grafanaってなに? 可…

Parallel image processing for fluid mechanics with AWS Lambda

日本語の記事はこちら In this article, I'll construct a system with AWS Lambda to enable parallel image processing. The processing algorithm is based on Particle image velocimetry (PIV) which is one of the measurement technique utilized in …

AWS Lambdaによる流体画像処理の並列化

Click here to read in English 2015年4月入社の白鳥です。 私は、サーバーワークスに入社する前は、流体力学という分野の研究をしていました。流体力学は、水などの液体や空気などの気体(まとめて流体という)が、どのように流れるかを研究する分野です。…

Symfony2 on Heroku

開発部の新坂です。 Herokuでは、Ruby on RailsやJavaが正式にサポートされています。(PaaSに関する参考記事) PHPは動かないの?どうなの?という声が当然にあるのですが、Buldpackを使うことで(正式サポートではないものの)PHPも動作します。 小さなア…

RubyMineを使ってみた

こんにちは、何故か営業部に所属している、サービス開発チームのhiroです。 サーバーワークスでは情報発信力を鍛えるべく、全員参加で社内Lighting Talk大会を<br /> 毎週金曜の夕方に行っています。公開していますので、興味のある方はご覧下さい。 <span class="Apple-converted-space">&nbsp;</span>

CloudFrontとElastiCacheとMVC

みなさん、こんにちは。 開発部の小田切です。 今回は、CloudFrontとElastiCacheを使用したときのMVCフレームワークとのキャッシュの関係について、書かせて頂きます。 AWSでキャッシュというと、CloudFrontとElastiCacheがキャッシュの機能を備えています。…

Rackと遊ぶ

プログラマの新井です。 今回は皆大好き「Rack」を触ってみたいと思います。 Rackとは -- Rack: a Ruby WebServer Interface 簡単に言うと「Webサーバの差異を吸収し、統一的なAPIを提供するインターフェース」です。 WebサーバにはApache,WEBrick,Mongrelな…

node.jsからDynamoDB(Tokyo-Region)を使う

こんにちは!4月に入社したばかりのAWSチームの新人こと年寄りザビオです! Dynamoが東京にきて、マイスターシリーズでも取り上げられましたが皆さん使ってますか? Dynamo宮崎バージョン node.jsからDynamoを操作するクライアントを見つけましたのでご紹介…

Amazon SNSをAWS SDK for Rubyから利用する

プログラマの新井です。 障害が起きた際にメールなどで通知するのもよいですが、折角なので通知用のサービスを活用してみましょう。 また、自動で通知することを考えるとAPI利用は当然ですね。 というわけで、今回は AWS SDK for Ruby を使用して Amazon SNS…

WindowsにRuby on Railsをインストールする 第1回 Ruby1.9のインストールを再び

こんにちは、プログラマの牧田です。ご無沙汰しておりました。前回の記事から1年以上経過してしまった為、第1回目から再度行なっていきたいと思います。 この記事は、Windows XPにRuby1.9.2-p290とRails3.2とAptana Studio3をインストールする手順となります…

CloudとNetBeansのSweetな関係

初めまして、開発メンバーのhiroです。 本日はCloudとNetBeansのSweetな関係について 書きたいと思います。 ここ数年JavaでWebアプリを作っていましたが、久しぶりに PHPでWebアプリを作っています。 AWSを使って開発していますが、Cloudを使っていない時代…

WindowsにRuby on Railsをインストールする (1)Ruby1.9のインストール

こんにちは、プログラマの牧田です。 Windows XPにRuby1.9とRails3をインストールする手順についての記事となります。 普段ご利用のマシンがWindowsでも、ローカルで手軽にRailsアプリの開発が行えるようになります。 また、Railsの開発において私が、使い勝…

JasmineによるJavaScriptのテスト その4

こんにちは、プログラマのおぐらです。毎度おなじみ流浪のJasmineチュートリアルをお送りします。 前回のJasmineによるJavaScriptのテスト その3では、beforeEachとafterEachによる「テストの事前準備と後始末」について解説しました。今回は実際にテストを…

JasmineによるJavaScriptのテスト その3

こんにちは、プログラマのおぐらです。 前回のJasmineによるJavaScriptのテスト その2から1週間ほど空いてしまいましたが、今回もJasmineのチュートリアルをお送りします。 テストの事前準備と後始末 他のテスティングフレームワークと同様に、Jasmineにもテ…

今年もAdvent Calendarの時期になりました

はじめに<br /> ----<br /> こんにちは、プログラマのあさくらです。<br /> 今日は技術系Advent Calendarについて小ネタを投稿させて頂きます。 Advent Calendarとは<br /> ----<br /> もともとは、イエスの降誕祭を待ち望み、12月1日からクリスマスまでの1日1つカードの窓をあけていくカー…

JasmineによるJavaScriptのテスト その2

JasmineによるJavaScriptのテスト その2 前回のJasmineによるJavaScriptのテスト その1に引き続き、今回もJasmineのチュートリアルになります。今回は、JavaScriptの組み込みクラスであるArrayを対象に、簡単なテストの作成と実行を行います。 基本的なテス…

JasmineによるJavaScriptのテスト その1

JasmineによるJavaScriptのテスト その1 こんにちは、プログラマのおぐらです。 弊社のクラウドマネージメントサービス Cloudworksでは、JavaScriptのテストにJasmineというフレームワークを利用しています。Jasmine自体はとてもよく出来ていて便利なソフト…

ice_cubeでスケジュールの計算

プログラマのおぐらです。 このところとんでもなく暑い日ばかりですが、みなさんいかがお過ごしでしょうか。こう暑い日が続くと、プログラミングしている間だけでも涼しさを感じられるような工夫が欲しいですね。 というわけで、今回はice_cubeという涼しげ…

symfony+MongoDBでNoSQLはじめの一歩 〜MongoDBインストール〜

はじめに はじめまして。開発部エンジニアのあさくらです。 主にPHP、symfonyを使ったシステム開発を担当させていただいています。 好きな開発環境は、Mac、GNU Emacs。 好きな仮面ライダーは龍騎、カブト、Wです。 技術的なTipsやチュートリアル、開発手法…

ruby+html+javascriptでデスクトップアプリケーション開発

こんにちわ、技術ブログ担当の川口です。 今回はちょっと変化球で勝負、ということでRuby+HTML+JavaScriptで デスクトップアプリケーションが簡単に作れる「bowline」ライブラリを 紹介してみたいと思います。 bowlineは「titanium(クロスプラットフォーム環…