メモ帳

やったこととかちまちまと書く 需要のない記事を生成している

Meteorでチャットシステム構築

Meteorでチャットシステムを構築してみた

client.js

import { Meteor } from 'meteor/meteor'
import { Mongo } from 'meteor/mongo'

Messages = new Mongo.Collection('messages');

Template.Chat.helpers({
  messages: Messages.find({},{sort:{date:-1}})
});

Template.Chat.events({
  'submit #talk': event => {
    event.preventDefault();
    if(event.target.mes.value != "") {
      Messages.insert({
        username: event.target.name.value,
        mes_text: event.target.mes.value
      },err => {
        if(err) {
          console.log(err);
        } else {
          event.target.mes.value = "";
          console.log("add");
        }
      })
    }
  }
});

server.js

import { Meteor } from 'meteor/meteor';
import { Mongo } from 'meteor/mongo';

Messages = new Mongo.Collection('messages');

Meteor.startup(() => {
});

main.html

<head>
    <title>Chat</title>
</head>
<body>
    
</body>

<template name="Chat">
    <h1>チャット</h1> 
    <form id="talk">
        <p>名前:<input type="text" name="name"></p>
        <p>メッセージ:<input type="text" name="mes"></p>
        <input type="submit" value="送信">
    </form>
    {{#each messages}}
        <div>
            <p>{{username}} : {{mes_text}}</p>
        </div>
    {{/each}}
</template>

client用とserver用のscriptを分けた場合、別々に宣言する必要があるらしい。client側だけで宣言したらserver側には保存されないっぽい。同じファイルに記述した場合、一番上にでも宣言しておけば問題はなさそう。

参考

qiita.com
tech-sketch.jp
Introducing Meteor API Docs | Meteor API Docs
一週間以上前に書いたコードなのでmeteorのどこのドキュメント見たかわからなくなった・・・・
DBの使い方とtemplateの使い方を把握していたらすぐ理解できると思う。

高専カンファレンスin茨香祭 二日目

一日目
kwnktks0515.hatenablog.com

高専カンファレンスin茨香祭 - 高専カンファレンス Wiki

実行委員の皆様お疲れ様でした。


二日目は一日目と違い学生や一般客が多かった*1。一日目の内容は一般的なLTだったが、二日目の内容は多種多様なジャンルのLTだったので同じイベントなのかと思ったりもした。NITIbC-LTを見てくれた人がLTをやってくれたので自分で決めた目標を達成できた。半分ぐらいの人が初めてLTを見聞きした人だったと思うがあそこまで形にできたのはすごいなと感心。
初めて司会を担当したが、二日間もやると司会力がついて、多少のアドリブにも対応出来るようになった。語彙力がないのでキビキビ話すことはできなかったが。

僕はオープンソースに貢献して世界を救おうって話をした。発表前滑らないか緊張して挙動不審になったり、早口でやったら発表時間2分も余ったりしたがなんとかできた。
雑な計算で正しい数字*2ではないのだが、受けが良くてよかった。あとタイトル詐欺。みんなオープンソースに貢献しようね。


少し遅れてしまったがとりあえず一日目書いたなら二日目も書くべきだろうって思って書いた。
イベント中毒なので積極的にイベントに関わっていきたい。あとNITIbC-LTもやるので応援してほしい。
次のカンファはどこでやるのだろうか。

*1:DentooLTが開催されてたらしい

*2:Androidなんか特に

高専カンファレンスin茨香祭 一日目

ブログ更新記録を途切らせたくなかったので無理やり駄文を生成した。

高専カンファレンスin茨香祭 - 高専カンファレンス Wiki

実行委員長やって見た感想

最初人が来るかオープニングしっかりできるか不安だったけど、結構なんとかなったと思う。

人に関してはカンファ目当ての人ばっかりだった。原因としては、お祭りを楽しみに来た人たちが真面目っぽそうな場所には入りずらかったのかなと思った。(最初ってスライド発表って真面目な感じしない?)実際に真面目なのかどうかは置いておいて。ぶっちゃけ、みんなが楽しめるコンテンツなんて出せないと思うので対策しようがないのかもしれない。

カンファもグダッた、これは準備不足が原因だと思う。(どっかの誰かが音信不通になってたからだろう)二日目は一日目にでた問題を解決できるものはしっかりして少しでもいいものにしていきたい。
オープニングもグダグダだったが後ろに発表者がいい感じに引き締めてくれて助かった。いつもグダグダになってしまうのは僕の真面目さが足りないのだろうか・・・、もしかしたらユニークさが足りないのかもしれない。語彙力は明らかに足りないからスラスラ話せないのも原因かな。

来た人も現役学生ってよりは社会人、OBの方がたくさん来てくれてたのでもうちょっと現役学生が来て欲しいなって思った。あと教職員方も。マーケティング能力が問われてそう。正直高専カンファレンスってブランドに頼りすぎているのかもしれない。

なんだかんだ、イベントの運営は途中が辛くても最終的には楽しいのでまたやりたいって思ってしまうしこれは完全に中毒なんだろう。人間、時には脳筋化することも重要だと思います。

二日目もあるが今日で終わりみたいな雰囲気があって辛いがこれから頑張ってスライドを仕上げようと思う。