INNOBASE技術ブログ

技術的なことエンジニア的なこと制作的なこと全般

botでgitリポジトリをS3にアップロードする

S3にアップロードしたコンテンツをwebサイトとして公開する機能、 静的HPをwebサーバーの管理をせずに安心して便利ですね S3へのアップロードユーティリティーソフト、かなり出てきていますがそこそこ手間がかかる気がします。botでアップロードできればとて…

botでgitリポジトリをFTPアップロードする

以前の記事でFTPしかアップロード手段のないwebsiteをGit管理する方法を紹介しました。 FTPでアップロードしているレンタルサーバ上のWEBページをgit管理する方法 - INNOBASE技術ブログしかしこの方法だと、websiteの更新にサーバーサイドでコマンドを実行す…

Dropbox x sambaでファイル共有を幸せに

Dropboxチームのアカウントに納品される納品物、自分のアカウントに同期させるには自分のアカウントの容量が… そんな時は社内サーバーにDropboxデーモンとsambaを仕込めば解決です! 個々のHDDの容量も消費せず、マウントでもしておけばそれほどストレスなく…

【chatops】 サーバー上で簡単なcommandを実行するbotのサンプル

chatops便利ですね! 多人数開発を行うにあたって、共通環境でのオペレーションを同時多重に行う事故を防いだり デザイナーやアプリエンジニアなどサーバーサイドの専門知識をもたないメンバーによる 安全なサーバー上でのオペレーションを実現できたりと弊…

S3ディレクトリ内のファイル全てにワンライナーでヘッダーを追加する(s3cmd & awk編)

aws コマンドラインインターフェース編は他で見かけたのですが、s3cmdしか環境に載せていなかったのでs3cmdでコマンドをくんできました。 cache-control など一括で追加したいときなどにどうぞ (記事にする程でもなかったのですが自分用メモの意味合いが強い…

ProxyPass と RewriteRule を同時に使用する場合の適応順番について Apache2.2

概要 Apache2.2上で ProxyPass (mod_proxy) と RewriteRule (mod_rewrite) が入り乱れた時どのように動作するかまとめる。 そもそも RewriteRule だけで書きなおしたほうがスッキリしますが、本番環境などすでに歴史的経緯で混ざってしまった状況で影響範囲…

大量のwordファイルをtxtファイルに変換するマクロ

概要 うっかり納品形式指定し忘れたり 原稿がword (*.docx)で納品されたけどscriptで一括登録したいからtxtファイルに変換したい。 そんなシーンに遭遇する人ゼロではないでしょう。 word にはtxt保存機能があるので一つ一つ開いて保存しなおしても良いので…

WEB製作における職種名と担当作業のまとめ

WEB製作において職種名で呼ばれている人が、実際にどんな作業を担当しているのか、新人向けに資料をまとめてみたのでこれをご紹介 乱暴にまとめた表 この記事の前提 この記事は筆者の主観によるものです。 筆者の経験 (2001年〜2015年現在) での話ですが、日…

FuelPHP (oil) でファイル指定でユニットテストを行う方法 + oilのメモ

結論:oilでファイル指定でユニットテストを行う方法 php oil test --file=fuel/app/tests/********.php↑このコマンドでファイル指定のユニットテストが実行できます。 結論を見つけるまでの過程 読み飛ばし可…oilのhelpのみかたとか実態の場所とかのメモで…

GitLab:There isn't anything to merge. branchA and branchB are the same. と出て merge requestできなかった時の対応

ある日GitLabでmerge requestができなくなった。 …2度めです。 一度目の話はこちら GitLabの merge requestで502が出て対処した話 - INNOBASE技術ブログ メッセージを見ると There isn't anything to merge. branchA and branchB are the same. いやいやいや…

javascript⇔PHPの暗号と復号(下)

前回の記事でCryptoJSを利用して、javascriptでデータを暗号化し、phpで複合化する方法を紹介しましたが、今回は引き続き、phpでの暗号とjsでの復号を紹介します。改めて、以下の前提で実装します。バックエンド ・PHP 5.4 ・mcrypt利用フロントエンド ・Jav…

cordovaで携帯の電話機能とメーラーを呼び出す

まずは、必要となるプラグインを追加します。 cordova plugin add org.apache.cordova.inappbrowsercordovaのプラグインを追加した後、対応プラットフォームを追加し直さないと、 プラグインが効かないので、気をつけてください。 cordova platform remove i…

スケールアウトの基礎的な考え方

WEBアプリケーションをスケールアウトする、あるいは大規模サービスを構築するときに、どう考えてサーバーを増やしてゆくかをまとめてみました。 この記事はインターン向けに社内Confluenceに書いていた基礎知識ドキュメントをどうせなら一般公開しようとい…

javascript⇔PHPの暗号と復号(上)

ハイブリッドアプリとAPIサーバ間で通信を行う際、データを暗号化する必要がある場合、アプリ側の暗号復号処理はjavascriptで実装しないと行けません。javascript暗号化ライブラリについて少し調べたところ、個人的にお勧めできるのは以下二つです。 CryptoJ…

GitLab: Read Onlyのgit アクセスを実現するDeploy Keyが便利!

Deploy Script、GitLabアカウントやSSH鍵はどうしよう? deploy専用のRead Only権限のアカウント・SSH鍵を用意するのも一手ですが、そのためにアカウントを用意するのもなんかモヤモヤ。 Deploy Keyを使えば解決! GitLabではProjectにRead Onlyでアクセス可…

tomcatが暴走してresponseを返さなくなった時に自動で再起動するscript

メモリがあふれたりとか、コードに問題があったりとかTomcatが暴走してresponseを返さなくなる事、まあ稀にありますね そうならないようにリファクタリングを行うべきではありますが、それでも暴走してしまったときように暴走を検知自動で再起動するscriptを…

yeoman + gruntで、cordova + ionicアプリの開発環境を構築

以前の記事でcordova+ionicの環境構築を紹介させて頂きましたが、ionicコマンドで非常に簡単でプロジェクトを作成できます。ただし、ionicコマンドよりフロントエンジニアが馴染みのあるyeomanとgruntで構築できたら、もっと嬉しいでしょうか早速、構築手順…

AWS SDK for PHPで感動的に簡単にS3を利用できたのでSampleを公開する

WEBサーバー分散環境のユーザーアップロードコンテンツの保存先にS3を選択しました。 感動的に簡単に利用できたのでSampleを公開します。 S3アクセスライブラリSample mr51/aws_s3_sample mr51/aws_s3_sample · GitHubざっくり基本的な以下の機能をカバー S3…

10分で作るcordova + ionicのHello World

今回自社アプリ開発で、cordova + ionicを使ってハイブリッドアプリを開発することになりましたので、開発環境構築からhello world作成までの手順を簡単に纏めました。まずは、Cordvaの開発環境設定をする1. Xcodeのインストール(ios開発環境) 以下のURLに…

GitLabの merge requestで502が出て対処した話

重いなと思っていたらある日 merge request を投げたところ502エラーが出ました。 普段から重かったこともあり前の記事 GitLabのお引っ越し(サーバー移行) - INNOBASE技術ブログ で 取り上げたとおり、サーバーに詰め込みすぎでメモリ不足だと信じて疑わな…

GitLabのお引っ越し(サーバー移行)

プロローグ redmineとconfluenceとgitlabを同じサーバーで動かしていたら… メモリたんなくなったらしくmerge requestできんくなったねん(´・ω・`) ということでgitlabのお引越しです。 公式ドキュメントを読む 今更だがrequirements 確認 GitLab.org / GitL…

ハイブリッドアプリ開発におけるチャットの作り方を考える

■ ハイブリッドアプリ開発とはHTML5・Javascript・CSSなどのWEB技術を活用して、モバイルアプリを開発する手法です。CordovaなどのAPIを利用すると、ネイティブ機能も呼び出すことができますが、基本的にはHTML5とJavascriptで実装します。では、HTML5とJava…

userテーブルはマスターテーブル?DBのTABLEをいくつかの種別に分ける目的について

新規WEBシステムのデータベース設計を軽く眺めていたところ、不思議な定義を見つけました。 user テーブルがマスターテーブルの扱いになっています。 設計者に聞いてみると「業務系システムではユーザーテーブルはマスタですよ?」とのこと 業務系ではそれも…

10分で作るTitaniumのHelloWorld

一つの言語で、iOSとandroid両方のアプリを開発できるように、 いろんなオープンソースのソリューションを検討中なので、 titaniumでHelloWorldを作ってみました。 ■ 事前準備 今回は、mac osxで開発環境を構築します。 ・java runtime設定 Titanium Studio…

FTPでアップロードしているレンタルサーバ上のWEBページをgit管理する方法

FTPアップロードで気軽にWEBページを公開できるレンタルサーバー最近は安価で自由なVPSが幅を利かせていますが、安定稼働性やメンテナンスコストの低さから会社のHPなど静的なコンテンツの多いWEBページではまだまだ利用する機会が多いのではないでしょうか…

INNOBASE技術ブログ始めました!

はじめまして、INNOBASEの鈴木 晃一です。 弊社の取り組みを発信すべく技術ブログを立ち上げました。しばらくは別ブログで書いていたものの移植となりますが、今後以下のようなコンテンツを配信してゆく予定です。 配信予定コンテンツ インターン生とゼロか…