PRESSMAN*Tech(プレスマンテック)

東日本橋の制作・開発会社 プレスマンのスタッフブログ

カテゴリー:プログラミング

PuppeteerをLambdaで使う前段階、serverless-chrome/lambdaのnpmインストールでハマったときの解決法

Node.js初心者の自分が以下の先輩の記事を読み、「Puppeteer on Lambdaをやってみたい!」と思って試したところ、Lambdaにデプロイする前にハマったので解決法を紹介します。

Puppeteer on LambdaでWebページのキャプチャを撮る

前提

  • Node.jsとnpmがインストールされている
  • Node.jsのバージョンはv8.10.0である

下記のコマンドでバージョンをチェックします。

$ node -v add
v8.10.0

ディレクトリ構成がわからない

自分はNode.jsのプロジェクトを作成するのが初めてだったので、ディレクトリ構成がわかりませんでした。まずはPuppeteer用のディレクトリを作成し、その中で下記の2ファイルを作りましょう。

├── .npmrc
└── package.json

プロジェクトごとに.npmrcを設定するのがベターです。.npmrcとpackage.jsonの内容は後述します。

続きを読む

フロントエンドの処理を高速化!

問題提起

受託案件でフロントエンドの処理が遅いことでリファクタリングが必要になりました。

解決方針

まずチームで考えた結果、フロント側に描画する前に
ajax通信を使ってDBから取得したデータを処理するロジックに問題があるのではないか、というものでした。

が、自分的に描画部分に問題があるんじゃないかと思い、
ロジックを修正する前に描画部分の処理に着目しました。
js、jQuery構文で処理を高速化する書き方があるんじゃないかと考えたからです。
続きを読む

Puppeteer on LambdaでWebページのキャプチャを撮る

Puppeteer on Lambda

AWS Lambdaで遂にNode v8.10を使用できるようになりました。
これでPuppeteerが使える!と意気揚々としていたのですが、いつの間にか必須要件がv6.4.0以上となっていました。以前はv7.10以上必須と書かれていたはずですが・・・

いきなり出鼻を挫かれましたが、気を取り直していきます。

はじめに:Puppeteerとは

Google謹製のGoogleChromeを自動操作するライブラリです。Nodeで動作します。
「このサイトにアクセスして、このボタンをクリックして・・・」といった操作を自動で行うことができます。雑に言うとExcelのマクロみたいなものです。
Chrome59で実装されたヘッドレスモードに合わせる形でプロジェクトが立ち上がり、主にWebアプリの自動化テストの分野で注目されています。
似たプロジェクトにPhantomJSChromelessがあります。

続きを読む

Slackに溜まり続けたファイルをLambdaでサクッと消してみる

はじめに

こんにちは。CTOの穴原です。 弊社では1年半くらい前からSlackを導入し、使用しています。 おかげでリモートワークをする方も増え、働き方も多用になってきました。
(特にママさんワーカーが増えました!)

Slackをフリープランで使用していると、ストレージ容量制限を超えて怒られてしまいます。 最近アップロードしたファイル以外は一括削除したい + 継続的に削除が走るようにしたい、ということで、SlackAPI × Lambdaで実装してみました。

Slack API を使ってみる

まずは、Slack APIを使ってみます。

今回はfiles.listでファイルの一覧を取得し、files.deleteで対象のファイルを削除する、という流れでやってみようと思います。 (APIの使い方はここ

Slack APIのメソッドの引数はtokenがRequiredになっているので、取得しておきましょう。*1 (tokenの取得はここから)

Lambda

Lambdaで関数を作成します。 SlackのBluePrintも用意されているのですが、それほど難しくないので、今回は一から作成しました。

Nodeのコードはこんな感じ。

続きを読む

ノー残業デーに蛍の光をMacから自動で流して『帰ろうコール』

ひと月前から弊社では毎週水曜日を『ノー残業デー』に設定しました。

『ノー残業デー』を設定するのは簡単ですが、実際に運用するのはなかなか大変です。

帰るのを促すためにMacを使って蛍の光を自動的に流して、『帰ろうコール』もするようにしてみました。

ノー残業デーに蛍の光を流して帰ろうコールをする

gulpで複数のファイルコピーを同期的に行う

gulp
javascriptのアプリをデプロイするときにgulpとwebpackを使っていますが、実は、gulpって同期したい処理が結構多いです。
同期処理は、コールバックしまくったりw、promiseつかったり、aa,coなんかのライブラリつかったり色々やり方ありますが、generator使って自力で書いてみるとこんな感じかなと。
qiitaに書いてみました。
gulpで複数のファイルコピーを同期的に行う

【WordPress】カスタムタクソノミーを自作してカスタム投稿タイプに適用させてみる

今回はWordPressでカスタムタクソノミーを自作して、カスタム投稿タイプに適用させる。という作業を自作してみました。

 

カスタムタクソノミーの自作方法

【WordPress】カスタム投稿タイプをコード書いて自作する

プラグインを使わずに、function.phpに直接コードを書いてカスタム投稿タイプを作成する方法です。

カスタム投稿タイプを自作する

【WordPress】テンプレート階層の呼び出し順序を利用して固定ページで自作テンプレートを呼び出す

テンプレートの適用方法は色々あるのですが、テンプレート階層を利用して自作テンプレートを呼び出すことがあったので、やり方をメモ。

テンプレート階層を利用して固定ページで自作テンプレートを呼び出す

【WordPress】RSS配信内容のカスタマイズ

WordPressが吐き出すRSSの内容を変更して出力する必要があり、方法を調べました。

内容はQiitaに投稿してあります。

wordpress標準のRSSをカスタマイズして出力する

▲ 先頭へ戻る