CakePHPで学ぶ継続的インテグレーションhttp://www.amazon.co.jp/dp/4844336789/を題材に、継続的インテグレーションの概要〜環境構築方法の解説〜実際の開発の流れを解説します。
参加される方は、ハンズオン当日までに以下の事前準備をお願いします。
ハンズオンの前に、以下の環境をご確認ください。ハンズオン会場にはネットワーク環境の提供はないので、当日ダウンロードなどは難しいです。
var request = require('request'); | |
var Slack = require('slack-node'); | |
module.exports = function (context, myTimer) { | |
var timeStamp = new Date().toISOString(); | |
if(myTimer.isPastDue) | |
{ | |
context.log('JavaScript is running late!'); | |
} |
{ | |
"$schema": "https://schema.management.azure.com/schemas/2015-01-01/deploymentTemplate.json#", | |
"contentVersion": "1.0.0.0", | |
"parameters": { | |
"newStorageAccountName": { | |
"type": "string", | |
"metadata": { | |
"description": "Unique DNS Name for the Storage Account where the Virtual Machine's disks will be placed." | |
} | |
}, |
{ | |
"$schema": "http://schemas.management.azure.com/schemas/2015-01-01-preview/deploymentTemplate.json#", | |
"contentVersion": "1.0.0.0", | |
"parameters": { | |
"appName": { | |
"type": "string", | |
"metadata": { | |
"description": "The name of the function app that you wish to create." | |
} | |
}, |
let url = "https://api.example.com/foo" | |
let paramaters = ["foo": "bar"] | |
let encoding = makeCustomEncoding() | |
Alamofire.request(.GET, url, parameters: parameters, encoding: encoding) | |
.... |
func makeCustomEncoding() -> ParameterEncoding { | |
return ParameterEncoding.Custom { requestConvertible, parameters in | |
func escape(string: String) -> String { | |
// MEMO: /, ? もエンコードされるようにオリジナルのコードに追加指定している | |
// see https://github.com/Alamofire/Alamofire/blob/master/Source/ParameterEncoding.swift#L220 | |
// | |
let generalDelimitersToEncode = ":#[]@/?" // does not include "?" or "/" due to RFC 3986 - Section 3.4 | |
let subDelimitersToEncode = "!$&'()*+,;=" | |
let allowedCharacterSet = NSCharacterSet.URLQueryAllowedCharacterSet().mutableCopy() as! NSMutableCharacterSet |
<?php | |
namespace App\Model\Entity; | |
use Cake\ORM\Entity; | |
/** | |
* Article Entity. | |
* | |
* @SWG\Definition( | |
* definition="Article", |
CakePHPで学ぶ継続的インテグレーションhttp://www.amazon.co.jp/dp/4844336789/を題材に、継続的インテグレーションの概要〜環境構築方法の解説〜実際の開発の流れを解説します。
参加される方は、ハンズオン当日までに以下の事前準備をお願いします。
ハンズオンの前に、以下の環境をご確認ください。ハンズオン会場にはネットワーク環境の提供はないので、当日ダウンロードなどは難しいです。
# -*- mode: ruby -*- | |
# vi: set ft=ruby : | |
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing! | |
VAGRANTFILE_API_VERSION = "2" | |
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| | |
if Vagrant.has_plugin?("vagrant-cachier") | |
config.cache.scope = :box | |
end |
# 概要 | |
* トータル4時間。 | |
* 完成形はgithubで公開 | |
* 手順は[stypi_](https://code.stypi.com/kaz29/php_ci_book_handson/code)でリアルタイムに共有 | |
* boxファイルはUSBで配布 | |
* 事前にVagrant/VirtualBoxのインストールまではすませおいてもらう | |
* 念のためUSBには、Win/Macのインストーラを入れておく | |
# メニュー |