投稿記事

無料プランの記事 (12)

nzws (ねじわさ) 2018/12/16 21:16

開発日誌: Creating.Social - コード公開したりした

月に2~3記事くらい書くのが目標です...

とか言っておきながら先月は1記事しか書けませんでした。ごめんなさい...

という訳でまたまたCreating.Socialの進捗です。Creating.Socialって何ぞって方はとりあえずここらへんとか見ていただければ...

ソースコードを公開した

まだまだ開発中のものですが、一応一番外側ぐらいは出来上がった感じですのでWIP状態でGitHubに公開しました。ロゴ制作やアイデアなどで協力してくれている友達がいますが、基本的に開発は私一人しかいないので制作効率はめちゃくちゃ遅いです。
https://github.com/RadTechnology/Creating.Social
A Open-Source knowledge community for the creators ってそれっぽいサブタイトルだけど一瞬で思いついた物です(殴

Composerを入れてAWS SDKについて勉強した

今回、メディアサーバーとしてGSまたはWasabiを使う予定なのですが、どちらとも互換性があり、ドキュメントも充実したAWS SDKを導入しました。(なおAWSを使う予定は無い)

多分GSは独自のライブラリがありそっちを使った方が細かな制御ができるかもしれませんが、今回のCreating.Socialではそこまで必要としていないので特に問題はありませんでした。

後、AWS SDKを導入する際にやっと composer initしました。実はComposerをちゃんと使うのが初めてなので恐る恐る進めている感じです...


まとめ & 超どうでもいい事

そんなこんなでちょっとずつ開発を進めています。年内にリリースできるかは微妙になってきてしまいましたが...自分なりのペースで頑張っていこうと思います!

あと超どうでもいい私事なのですが、PayPayブームの時にMacbook Airのカスタマイズモデルを購入しました。全額キャッシュバックは当たりませんでした。残念。

MBAはビックカメラで購入したのですが、店員さん曰く、「いつもは二週間くらいで納品できるけど、カスタマイズモデルの注文が多すぎて読めない」だそうです。いつ届くのやら...
(クリスマスあたり~年末に東京に行くのでそれまでに届いて欲しさあるけどまぁこの状況だと届きませんよね~...)

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

nzws (ねじわさ) 2018/11/18 22:27

開発日誌: Creating.Social

11月に入ってからまだ一度も記事書いてない!!という事に気付き、急遽開発中のCreating.Socialについて書こうと思います。(´・ω・`)
月に2~3記事くらい書くのが目標です...

Creating.Socialとは?

プロフィールにも書いてあるのですが、テーマは「クリエイターのための情報共有サイト」です。プログラマーの人とかには馴染み深いQiitaやdev.toのカテゴリを増やした版といった感じです。
(ちなみにオープンソース化する予定です)

元々、これを思いついたのが、とある友達が「イラストレーターとかが使うQiitaみたいなのあったら面白くない?」と言っていたのがきっかけです。
そして、半年以上も前に(2017年の最後くらい?)企画したまま放棄してたのを、最近になって形にしていってる感じです。

ただ、これだけだと他の人がもしかしたら既に作ってるかもしれないので、更にプラスして、Creating.Social GroupAppというのも考えていたりします。(これはマジで企画段階なので詳細は後々...)

進捗どうですか?

ここ最近はこれに絞って開発しているので割と進んでいます。
アカウントシステムあたりは基本部分が完成していて後は二段階認証...とか細かい部分だったり、記事投稿の基本的な部分も完成しているため、後大きな所と言うとコメントホームトレンド表示といったあたりでしょうか。

今少し悩んでいる事

悩んでいる事は色々あるのですが、特にActivityPubに対応させるか否か悩んでたりします。(ActivityPubはMastodon民は多分分かりますが、簡単な解釈とすれば別のActivityPub対応Webサービスなどと交互にフォローしあって文章、記事などを共有する規格?です、多分)

ActivityPubと言えば、MastodonPleromaMisskeyなど、SNSが使う規格なイメージがありますが、実はこういったサービスでも使われている(らしいです)

これについて何か意見あれば Mastodon: @y@knzk.meTwitter: @neziri_wasabi までメンションくださるととても嬉しいです...

最後にフォロワー限定でいくつかスクショ載せておきます。

フォロワー以上限定無料

開発日誌などを作成します!

無料

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

nzws (ねじわさ) 2018/10/28 01:44

雑記: メールをDiscordに転送したい!

友達とやっているグループ Rad Technology では、 contact[at]radtech.work のような共有メールアドレスを作成しています。(メールサーバにはXREAを使用しています)

XREAはメール転送に一つメールアドレスを指定できるのですが、2つ以上には指定できません。
そこで、一つのメールアドレスに飛ばした後、何かしらの方法で飛ばそうと思いました。

(失敗) XREA→Gmail→IFTTT→WebHook→Discord

これは最終的に失敗した方法です。
IFTTTはGmailからメールデータの取得やWebHookによるIFTTTが公式に対応していないサービスへのやり取りにも対応しているのでこれだ!と思いました。

IFTTT(イフト)とは「レシピ」と呼ばれる個人作成もしくは公に共有しているプロフィールを使って数あるWebサービス(Facebook、Evernote、Weather、Dropboxなど)同士で連携することができるWebサービスである。
https://ja.wikipedia.org/wiki/IFTTT より引用

手順は省きますが、レシピを作成してテストすると、メール本文が1行のものを送信すると正常に見れました。しかし、複数行になると見れません。
IFTTTのログを見ると、WebHookで400エラーが出ていました。
多分改行文字のせいで上手くいかなかったのだと思います。
色々考えましたが最終的にIFTTTを使用するのは諦めました...

(成功) XREA→Gmail→Google Apps Script→Discord

Gmailの設定

まず、Gmailで区別用のラベルを作成します。ここでは「to_radtech」としました。
また、自動メール振り分けで、送信したいドメインを設定しておきます。

Gmail側の設定は完了です。

Discordの設定

次に、Discord側でWebHookを作成します。
権限のあるDiscordサーバでメール閲覧用のチャンネルを用意し、チャンネル編集 → WebhooksからWebHookを作成します。
まあ名前とかは適当に設定しておいてください。
ここのWEBHOOK URLを次で使用しますのでコピーしておいてください。

GASの設定

次に、GAS(Google Apps Script)で、コードを叩いていきます。

GASについてこのブログを参考にさせて頂きました。
https://chaika.hatenablog.com/entry/2016/04/15/172404

こんな感じに作りました。
gist.github.com/yuzulabo/828e86e2a34179c90578bc87ab4a125e
(2018/10/28 13:37 不具合修正しました)

注意する点としては、username(ユーザ名になる部分)は2~32文字、content(本文)は1~2000文字(だった気がする)なので、きちんとチェックしてあげないとたまに失敗します。

ここにラベル名とWebHookのURLを入れて、トリガーを設定してあげれば完成です。

やってみる

適当にメールを送信してみます。

こんな感じで受信できました。

まとめ

これを作るよりも記事を書くほうが大変でした。そして開発日誌よりも雑記の方が長い謎。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

nzws (ねじわさ) 2018/10/27 20:44

KnzkLive: 「Mastodonに投稿しない」コメントが面倒だった話

KnzkLiveについてはこちらを御覧ください。
https://ci-en.net/creator/2092/article/23720

最初に、KnzkLiveのコメントの仕組みについて

KnzkLiveは、Mastodonのハッシュタグタイムライン「#knzklive_(配信ID)」を取得し、
またコメント投稿も自動的にハッシュタグを付けているだけので、
コメントに見せかけたただの簡易Mastodonクライアントのような仕組みでした。
そのためコメント部分の実装はすぐに終えることができていました。

また、Mastodonのハッシュタグを使用する事で、KnzkLiveにログインできない他インスタンスのアカウントからもコメントする事が可能です。

この仕様による問題

しかし、この仕様だと配信に興味のないフォロワーのHTLを汚してしまうという問題があり、色々なユーザーや神崎に改善できないかというお話を頂いていました。

そもそも、ツイキャスやニコ生など、大体の配信サイトでは独自のコメントシステムで独自のデータベースを構築している為、特に問題なくコメントできます。
KnzkLiveでもそういった実装をすればいいじゃん、と言われてもKnzkLiveは特殊なので単純にそういった仕様にするわけにもいかないのです。

最初にも書いたように、KnzkLiveはKnzkLiveにログインできない他インスタンスのアカウントからもコメントする事ができます。これは、Mastodonのハッシュタグを使用しているからできるものであり、例えば他配信サイトのように完全に分離してしまうとこれが出来なくなってしまいます。

ツイキャスはTwitterに投稿する/しない選べるじゃん

という事も伺った事がありますが、(これはあくまで私の考えですが)ツイキャスのコメントは完全に独自DBから読み込んでいて、投稿時にTwitter投稿を選ぶ事でコメントのついでにTwitterに投稿するといった一方通行の仕様だと思います。
KnzkLiveでは、投稿するだけでなくハッシュタグの投稿を拾っていかないといけない双方向の仕様なのでそう簡単な問題でもありませんでした...

最終的に実装した仕様

最終的に、Mastodonのハッシュタグは使用したまま、Mastodonに投稿したくないコメント用に別で独自コメントシステムを作成し、クライアントが両方の投稿を混ぜ合わせるという最強に意味不明な仕様になりました。
私の謎落書きです。

独自のコメントシステムは、基本的にPHPで処理し、受信のみsocket.ioを使用しています。

まとめ

とまあ、割と大変でしたが、無事実装する事ができました。
しかし、現状の問題としては、PCとAndroidは正常に閲覧できるのに、iOSは時刻処理が上手く行っていないのか、時系列がぐちゃぐちゃになっているので、これも直していきたいです。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

nzws (ねじわさ) 2018/10/08 00:10

開発日誌: KnzkLive

KnzkLiveという、「広告なし, 配信時間無制限の生配信コミュニティ!」がテーマの生放送サービスをベータで公開しました。 https://live.knzk.me/

Knzk(神崎おにいさん)を知らない方はこちらとか見ていただければ
ちなみに私がメインでいるSNSはKnzk.meです

技術自体はデータベース等メインの処理をPHP、配信サーバはNodeJSでNode-Media-Serverというのを改造して使用しています。

それぞれオープンソースで公開しています。
https://github.com/KnzkDev/KnzkLive
https://github.com/KnzkDev/KnzkLive-Publish-Server

10月7日に行った記念配信の様子はこんな感じです。(あいにくSSを撮り忘れて神崎のを借りました)

サーバはメイン処理が自宅サーバ、配信サーバがGCPといった感じに分けていて、どのくらいの負荷が来るのか分からずそれなりにハイスペックなのを作成したものの、実際はそこまで大丈夫でした。(この配信では20~30人ぐらい同時視聴がありました)

なお自宅サーバはあった物を使用して、GCPも無料枠で構築したので実際自宅サーバの電気代程度しかかかりませんでした(が、今後も続けるとなるとGCPをどうしようか)

最初は配信がプツプツしてまともに使えないんじゃないだろうか、とか色々考えてしまいましたが、今回やってみるとかなり快適で、スマホから見ても遅延が~5秒ほどでできていて安心しました。

KnzkLiveは今後も続けるそうなので、沢山頂いた要望を実装してもっと使いやすく、面白く楽しい生配信サービスにしていきたいです。
色々な人に来ていただけてとても楽しかったです!!ありがとうございました!!

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

1 2 3

限定特典から探す

記事のタグから探す

月別アーカイブ

記事を検索