Code for Niigataã®ã¤ãã³ãããã£ãã®ã§åå ãã¦ãã¾ããã
8/1-8/2に「真夏のハッカソン!」( #C4NGT )を開催します!! | Code for Niigata
åå¤ã«çªçºçã«åå ã決ãããã 家åºã®é½åã«ããã2æ¥éæ§æã®1æ¥ç®ã®ã¿ã®åå ã¨ãªãã¾ããããããã
åºå ¥ãèªç±ã§ãã®ã§ããé½åã®è¯ãæéã®ã¿ã®åå ã§ãå ¨ãåé¡ããã¾ãã
ã¨æ¸ãã¦ãã£ãã®ã§ãå®å ¨ã«éµåã¿ã«ãã¦ã13æãã18æã¾ã§ã¨ããä¸éå端ãªæéã ãããæãã§ãããï¼èªåãä¸çªå端ãã¨æã£ãããå¤æ¹ã«1æéã ããã @kasacchiful ï¾ï¾ï½²ï½¾ï¾ã®ã»ããå端ã ã£ãã®ã§ã¡ãã£ã¨å®å¿ããï¼
è²ã ã¨éå¤ã«ææ³ãæ¸ãã¦ãããã¨æãã¾ãã
ä¼å ´ã«ã¤ãã¦
ä»åã®ã¤ãã³ãã¯ãæ¨å¹´ã®ç§ã«ãªã¼ãã³ãããçä¸æ¡ãã©ã¤ã¯ã¨ããã·ã§ã¢ã¹ãã¼ã¹ï¼ã³ã¯ã¼ãã³ã°ã¹ãã¼ã¹ï¼ï¼ã§è¡ãªããã¾ãããç¥ãããã¥ã¦ã«åå¨ã¯ç¥ã£ã¦ããã®ã§ãããè¡ãã®ã¯ä»åãåãã¦ã§ãã
ææ³ã¨ãã¦ã¯ããã£ã¡ãé°å²æ°ã®ããå¤æ°å®¶ã§ããã*1
ãã®ã¸ãã«ã¤ãã¦ã¯ã id:kedamatti ãããããæãã«ç´¹ä»ãã¦ããã¦ãã¾ãã
å¨è¾ºã®ãåºã§å£²ã£ã¦ããã½ããã¯ãªã¼ã ã¨ãã·ã¥ã¼ã¯ãªã¼ã ãç¾å³ããã£ãã®ã§ãæ©ä¼ãããã°ã¾ãè¡ããããªãã¨ããæãã§ãã
å 容ã«ã¤ãã¦
ç§ã¯æ¼ããã®åå ã ã£ãã®ã§ãã ãã ãã¦ã¾ããããæããããæ¹ã ã¯ãã¡ãããã¼ããæã£ã¦ä½ããã¦ãã¿ããã§ãã
- 2æ¥ç®ãã¼ãã«åããã¦ãããã½ã³ã¬ã¼ãã¼ãä½ã
- æ°æ½çå ã®ITåå¼·ä¼ã®ç´¹ä»ããITåå¼·ä¼ã«ã¬ã³ãã¼çãªãã¨ããããããµã¤ããä½ã
ãã®è¾ºã§ãããããã«ã½ã³ã¨ããããã¯ãå£ä½ã®æ´»åã¨ãã¦ã®éçºã®ããã¯ãªãã¤ãã³ãã¿ãããªæãã«ãªã£ã¦ã¾ãããç§ã¯ã©ã¡ãã«ãå±ãããæ°æ½ã©ã¼ã¡ã³ããã«2015ã¢ããªç¨ãµã¼ãã¼ã®ããã®ãåå¼·ããã¦ãã¾ããã
ã¡ãªã¿ã«ããã½ã³ã£ã¦ãããªã®ã
ä½è«ã§ããã2æ¥ç®ã¯æ°æ½å¸å ã®ããã½ã³ãæ¢ãã«è¡ãã¿ããã§ãã
ãã¨ã¯ãããã»ããã¼ã2æ¬ããã¾ããã
- jQueryã«ã¤ãã¦
- ãµã¤ãã¦ãº Kinotoneã«ã¤ãã¦
軽ãææ³ãæ¸ãã¾ãã
jQueryã«ã¤ãã¦
jQueryã®ææ³ãã²ããã並ã¹ã¦ãããã¤ã§ãããåç»ã«ãããã¢ããã£ããããªã®ã§ãããæ©æãã©ãã«ã«ããè¦ããæ®å¿µã
ç¶²ç¾ æ§ã¯é«ãã£ãã®ã§ãããæ£ç´ãããªãæ¬ã¨ãå ¬å¼ããã¥ã¡ã³ãèªããçãªå 容ã§ãããåéã10åã®1ã«ãã¦ãããã®ã§ããã£ã¨ãã³ãºãªã³çãªè¦ç´ ãããã¨ãããªãã¨æãã¾ããã
ãã³ãºãªã³ãæ¥ããã®ã ã¨æã£ã¦ã話ãèããªããæå ã®Atomã§jQuery+TypeScriptç°å¢ãä½ã£ã¦ãã身ã¨ãã¦ã¯ãã¡ãã£ã¨å¯ããã£ãã»ã»ã»ã
ããã¹ã©ã¤ãã®ä¸ã« @vvakame ãããåºã¦ããã®ã¯ç¬ã£ããè¬æ¼è ã®æ¹ãng-japanã«è¡ã£ãã¨ãã«ä¸ç·ã«åçæ®ã£ã¦ããã£ãããã§ãã
Kintoneã«ã¤ãã¦
- 表æ§é ãä½ææ¸ã¿ã®Excelãã¢ãããã¼ãããã¨ããã¼ã¿ãã¼ã¹ãªã¢ããªã±ã¼ã·ã§ã³ãã§ããã
- 顧客ã«ã¨ã£ã¦ã©ããã価å¤ã«ãªãã®ã
- ä½ãæã«ã¨ã£ã¦ã©ããã価å¤ãããã®ã
ã¨ãã£ããã¨ãã話ããã¦ãããã¾ããããã³ãã¬ã³ã¸ã£ã¼ã¨ããã¨ã´ã¡ã³ã¸ã§ãªã¹ãæ´»åããã¦ããæ¹ã ã£ãã®ã§ãå®åãè¸ã¾ããå ·ä½çãªå 容ã§ããã
ãå°æ¹ã®ä¸å°ä¼æ¥ãæå¾ ãã¦ããã·ã¹ãã ä½ãã¨ããã®ã¯ãã¡ããã¨è¦ç©ãã£ã¦ã¿ãã¨ãæå¾ ããã¦ããéé¡ã¨ï¼ã±ã¿éããã¨ããããããããã¨ãã«ããã¾ãè¤éã§ã¯ãªãã·ã¹ãã ã§ããã°ãKintone製ã®ã·ã¹ãã ã«ãããã¨ã§ãæå¾ éãã®äºç®ã§å®ç¾ã§ãããã¨ãå¤ããã¨ãã話ã¯æè¿èº«ã«è¦ãããã£ãã®ã§ãå¼·ãé¢å¿ãæã¡ã¾ããã
åå è ãããæ´»çºã«è³ªåãåºã¦ãããä»ã®äººã®é¢å¿ã®å¼·ãã伺ãã¾ãããååºã®é ã¯ãã³ãã¢ç³»ãµã¼ãã¹ã ã¨æã£ã¦æ¬é ãã¦ããã§ãããã©ãããçµæ§å®ç¨çãªãã®ã«ãªã£ã¦ããããã§ãã
ç§ãä¸çªé¢å¿ãæã£ãç¨éã¯ããExcelã§è¡¨ãä½ã£ã¦ã¢ãããã¼ãããã¨ãWebä¸ã«ãã®å 容ã®ãã¼ã¿ãã¼ã¹ãã§ãã¦ãããã«Web APIã¾ã§ç¨æããããã¨ããç¹å¾´ã§ããã¾ããWeb APIã¨ãã£ã¦ããã¼ã¿ã®ç¹è£½ãã¨ã«ã¾ã¨ã¾ã£ãã¨ã³ããã¤ã³ããã§ããã¨ããããããã®ã§ã¯ãªãã®ã§ãããã¢ãã¤ã«ãã¼ã ã§ãããã¿ã¤ãéçºããã¦ããã¨ãã«ã¡ãã£ã¨ãããµã¼ãã¼ãç¨æããã«ã¯ããããããããªãã¨æã£ã次第ã§ãã
ä¼ç¤¾ã§Kintoneã®ã¹ã¿ã³ãã¼ããã©ã³ã1ã¢ã«ã¦ã³ããããã¨ã£ã¦ãããªãããªã1å¥ç´ã§1000ã¢ããªä½ããã¿ããã ããã¬ã³ã¬ã³ä½¿ã£ã¦ã¿ããã
ç§ã®æ¬æ¥ã®ææ
ä»å¹´ãããæ°æ½ã©ã¼ã¡ã³ããã«ã¢ããªã«å ¥åããé£ã¹æ©ããã¼ã¿ãWebä¸ã«ç½®ãã¦ã©ã³ãã³ã°ãã¼ã¸ã¨ãä½ããããªã¨ãæã£ã¦ããã¾ãã¦ãWeb APIãµã¼ãã¼ä½ããªãããªã¼ã¨ãã試è¡ã®ä¸ç°ã¨ãã¦ãAWSã®Lambda + API Gateway + DynamoDBã§Web APIä½ã£ã¦ã¿ããçãªãã¨ããã£ã¦ãã¾ããã
åèã¨ããã丸ãã¯ãªããã®ã¯ã以ä¸ã®è¨äºã§ãã
ã¡ãã£ã¨æéå ã«ããã¾ããªãã¦ã家ã«å¸°ã£ã¦ããããã°ããåãçµãã§ãããã§ãããããããããã£ã½ããã®ãä¸ã¤ã§ãã¾ãããnode.jsã³ã¼ãã ãã¯å¾®å¦ã«ãã¾ãçä¼¼ã§ããªãã£ãã®ã§ãblueprintãæ¹è¯ããå½¢ã§ãªãã¨ãä¹ãåãã¾ããã
var doc = require('dynamodb-doc'); var dynamo = new doc.DynamoDB(); exports.handler = function(event, context) { var params = { TableName: "Test", Key: { id: event.id, category: "admin" } }; dynamo.getItem(params, context.done); };
id:mizukisonoko çã¨ã®å¤§ããªéãã¯ãDynamoDBã¸ã®ã¢ã¯ã»ã¹ã«ä½¿ã£ã¦ããã©ã¤ãã©ãªã§ãããã¡ãã¯require('aws-sdk')
ã§ãããããã¡ãã¯require('dynamodb-doc')
ã§ãããDynamoDBã®æä½ã«ç¹åããã©ã¤ãã©ãªã®ããã§ãã
ããããã¾ã§ãªãã¨ãªãAWSã¥ããã®Web APIä½æã®æ¹æ³ãåãã£ã¦ããã®ã§ãä»å¾ã¾ããã°ããå¼ã£ã¦ã¿ããã¨æãã¾ãã
ãã®ãã¡ããã®è¾ºã®åãçµã¿ãC4Nã§çºè¡¨ããããªãã
ã©ã£ã¨ã¯ããã
*1:å ååºãããã®ã§ãå¤ãæ°å®¶ãã§ã¯ãªãã®ã ããã©ã