Skip to content

Instantly share code, notes, and snippets.

View noriyukitakei's full-sized avatar

Noriyuki TAKEI noriyukitakei

View GitHub Profile
@noriyukitakei
noriyukitakei / O365Agent.java
Created October 3, 2018 03:22
クラウドデザインパターンを実践してみたシリーズ 〜 Scheduler Agent Supervisorパターン〜【O365Agent.java】
package com.sios;
import java.io.IOException;
import java.net.URISyntaxException;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.security.InvalidKeyException;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
@noriyukitakei
noriyukitakei / index.js
Last active October 3, 2018 00:21
クラウドデザインパターンを実践してみたシリーズ 〜 Scheduler Agent Supervisorパターン〜【rollbackTask】
// MySQLのモジュールを読み込む
const mysql = require('mysql2');
// ファイルを読み込むためのモジュールを読み込む
const fs = require('fs');
module.exports = function (context, myTimer) {
var timeStamp = new Date().toISOString();
if(myTimer.isPastDue)
@noriyukitakei
noriyukitakei / index.js
Last active October 3, 2018 00:17
クラウドデザインパターンを実践してみたシリーズ 〜 Scheduler Agent Supervisorパターン〜【retryTask】
// MySQLのモジュールを読み込む
const mysql = require('mysql2');
// ファイルを読み込むためのモジュールを読み込む
const fs = require('fs');
module.exports = function (context, myTimer) {
var timeStamp = new Date().toISOString();
if(myTimer.isPastDue)
@noriyukitakei
noriyukitakei / index.js
Last active October 2, 2018 23:39
クラウドデザインパターンを実践してみたシリーズ 〜 Scheduler Agent Supervisorパターン〜【retrieveResponseMessage】
// MySQLのモジュールを読み込む
const mysql = require('mysql2');
// ファイルを読み込むためのモジュールを読み込む
const fs = require('fs');
module.exports = function (context, myQueueItem) {
context.log('JavaScript queue trigger function processed work item:', myQueueItem);
// MySQLに接続するための情報を環境変数から取得する。
@noriyukitakei
noriyukitakei / index.js
Last active October 2, 2018 23:26
クラウドデザインパターンを実践してみたシリーズ 〜 Scheduler Agent Supervisorパターン〜【pushRequestMessage】
// MySQLのモジュールを読み込む
const mysql = require('mysql2');
// ファイルを読み込むためのモジュールを読み込む
const fs = require('fs');
module.exports = function (context, myTimer) {
var timeStamp = new Date().toISOString();
if(myTimer.isPastDue)
@noriyukitakei
noriyukitakei / pipeline.groovy
Last active September 23, 2018 14:12
コンテナ時代のDevOps 〜Azure Web Apps for Containers + Docker + Jenkins + SeleniumでイマドキのCI/CDをやってみる [理論編]〜 pipeline.groovy
pipeline {
agent any
tools {
// Jenkinsの設定画面でインストールしたMavenの名前を入力する
maven 'M3'
}
// 環境変数を設定する。
environment {
// テストを実施したいアプリケーションのURLを環境変数に設定する。
HELLOWORLD_URL = '[Hello WorldアプリケーションのURL]'
@noriyukitakei
noriyukitakei / E2ETest.java
Last active September 23, 2018 13:53
コンテナ時代のDevOps 〜Azure Web Apps for Containers + Docker + Jenkins + SeleniumでイマドキのCI/CDをやってみる [理論編]〜 E2ETest.java
package com.sios.test;
import static org.junit.Assert.*;
import org.junit.Test;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
@noriyukitakei
noriyukitakei / policy.xml
Last active September 12, 2023 06:44
【多分わかりやすいサーバーレスアーキテクチャ入門 〜 「Azure Functions」を使って、クラウドネイティブなLINE風チャットアプリを作ろう!!】 〜 API Managementのポリシー
<policies>
<inbound>
<!-- CORSの設定を行う。AngularからAzure FunctionsのAPIをコールするために必要な設定。-->
<cors allow-credentials="true">
<allowed-origins>
<origin>[Azure App ServiceのURL]</origin>
</allowed-origins>
<allowed-methods>
<method>*</method>
</allowed-methods>
@noriyukitakei
noriyukitakei / chat.component.ts
Last active September 6, 2018 13:14
【多分わかりやすいサーバーレスアーキテクチャ入門 〜 「Azure Functions」を使って、クラウドネイティブなLINE風チャットアプリを作ろう!!】 〜 chat.component.ts
import { Component,ElementRef, ViewChild } from '@angular/core';
import { Http,Headers } from '@angular/http';
@Component({
selector: 'app-root',
templateUrl: './chat.component.html',
})
export class ChatComponent {
@ViewChild('scrollMe') private myScrollContainer: ElementRef;
@noriyukitakei
noriyukitakei / index.js
Created September 6, 2018 10:07
【多分わかりやすいサーバーレスアーキテクチャ入門 〜 「Azure Functions」を使って、クラウドネイティブなLINE風チャットアプリを作ろう!! 〜 】getMessageList
module.exports = function (context, req) {
// このオブジェクトの中にCosmos DBに対して、
// クエリ「SELECT * FROM c order by c.pubDate asc」を発行した結果が入ります。
var documents = context.bindings.inputDocument;
// 先程CosmosDBから取得したJOSNをHTTPレスポンスとして返します。
context.res = {
status: 202,
headers: {