HANDAI JK Engineering Blog

HANDAI JKの技術ブログです

暇すぎる? そんな時こそProgateでしょ!

こんにちは、HANDAI JKの杉森です! 大学に行く必要もなくなってしまい、課外活動もろくにできないので、半分ニート状態になってます笑 せっかく阪大に合格したはいいものの、今は登校できない状態だと思います。そんな新入生の中には何もすることがない人もいるかもしれないので、今回はおすすめのサイト「Progate」を紹介します! (企業案件でもなんでもないです笑)

Progateとは

『Progateはオンラインプログラミング学習サービスです。「初心者から、創れる人を生み出す」ことが、私たちの理念です。プログラミング初心者のハードルを出来る限り取り払うこと、そして本当に創れるようになるレベルの高い学習を提供することを目指しています。』

prog-8.com

このサイトでは、自分のパソコンに開発環境が整ってなくても、簡単に始められて、様々なプログラミング言語を学習できます! 無料で始められるので、気軽に始めることができます!

f:id:handaijk:20200409232516p:plain
前はかっこいい感じだったけど、路線変更したのかな?

なんでおすすめなのか

プログラミングを始める時に意外と面倒で詰まったりする点は開発環境を整えることにあると思います ! これで詰まると、せっかくその先が面白いのに、それを体験することなく、断念してしまうことになります。パソコンやプログラミングに慣れてくると、開発環境をとりあえず用意することはできるようになってきます。しかし、何も分からないけど始めようと思ったときには、あまりにもハードルが高い! しかし、Progateなら最初から環境が整っているので、こちらで用意することは何もありません! (めちゃくちゃ重要) また、課題をこなしながら学ぶことができるので、何からすればいいのかという疑問を抱かずに始めることができます! やっぱり書かないと楽しくないですからね!

何から始めたらいいの?

学べる言語は色々あります! でも、どれから学ぶべきか分からない人も多いと思います! 全くプログラミングをしたことがない人は、一番左上にある「HTML&CSS」をやってみるのがいいかなと思います! 自分でコードを書くとすぐに反映されるため、作る楽しさをすぐに感じることができるという点が始めるにはもってこいだと思います! また、普段自分たちが見ているWebサイトの裏側を作ることになるので、 そこから色々と興味が広がると思うからです! やっぱり楽しくないと続かないですからね!

f:id:handaijk:20200409232648p:plain
いっぱいありますね!

最後に

今回は、短めです! 長々と読まずに、いますぐ始めて欲しいです! 家にいる時間が長い、何かすることがないなら、今こそが最大のチャンスです! ぜひ新しい世界への扉を開いてください!

おまけ

登録後に無料でできる「HTML&CSS」コースの初級編の一番最後のセクションを途中コードを消した状態から始めた動画を挙げておきます! (長くなったので4倍速に編集済みです笑) 実際にはそれまでのセクションで書いてきたコードが残っているので、安心してください! 右上のプレビューを見ていると、サイトが出来上がっていく様子が見れるので、そちらを見ながらこんなふうに書いていくのかとイメージできたら嬉しいです! (一部コピペで省略してます。書き間違いとか終始焦ってる様子になってますので、ご了承ください! )

LINEで会議は効率が悪い!

こんにちは、HANDAI JKの杉森です! 最近はコロナウイルスの影響により、サークルなどの団体活動やイベント実施が自粛状態にあるので、家で過ごすことが多いです。しかし、サークルオリエンテーションなどの準備のために遠隔で会議や作業をしています! いわゆるテレワークというやつですね! LINEでやってるという人もいると思います!でも、使いづらいとか効率が悪いと思ったことはありませんか? 今日は団体で今後のイベントのための準備に使ってるおすすめのツールを紹介します!紹介したいツールの種類は、

  • チャットツール
  • タスク管理ツール
  • ドキュメント共有ツール

です! 是非参考にしてほしいです!

LINEで会議はなぜ効率が悪いのか

LINEで会議の効率が悪いって感じるときってこんなときだと思うんです!

  • 作業の分担が進まないとき
  • 他人の作業の進捗がわからないとき
  • そもそも会議で出た内容が把握しきれない、見落としてしまうとき

心当たりある人もいると思います! これらの問題を解決するためにこれから使ってるツールを紹介します!

おすすめしたいツールを使ってほしい人

このツールを紹介して使ってほしい人はこんな感じです! 主に、自分たちと境遇が似ている人向きかなと思っています!

  • 出来る限り、あるいは全て無料で便利なツールを使いたい人
  • 中・小規模でプロジェクトを管理したい人
  • 1つの団体で複数のプロジェクトを並行で進めている人

チャットツール

チャットツールは、いろんなものがありますが、おすすめしたいのがSlackです! 色々便利な機能があり、この後に説明するツールとも相性がいいからです!

Slackとは

Slackとは、テキストや画像などを投稿・閲覧できるチャットツールのことです! これだけ見ると、LINEと何が違うのかとなりますが、画像をみていただけると全然違うものだと分かります! f:id:handaijk:20200315213641p:plain 特に人気がある理由はこのインターフェイスになります!ではなぜおすすめしたいのか? 当然理由があります!

チャンネルを複数作ることができる

Slackでは、団体のメンバー全員が参加するワークスペースというものを作り、その中にチャンネルと呼ばれるものを複数作ることができます!LINEでそれぞれを例えるとこんな感じです!

LINE Slack
全体グループ ワークスペース
プロジェクトごとのグループ チャンネル

当然LINEのように個人でメッセージのやりとりもできます! チャンネルも誰でも参加できるパブリックチャンネルと紹介された人しか参加できないプライベートチャンネルと設定して作れるので、使用用途に応じて作ることができます!これでプロジェクトごとにやりとりがしやすくなりますね!

f:id:handaijk:20200315213704p:plain

外部ツールとの連携がしやすい

Slackをおすすめしたい理由は、外部ツールとの連携がしやすいからです! 特にこの後紹介するツールとは相性がすごくいいです!僕がわかる中で連携できるツールはこんな感じです!(太文字のものは団体でも使用しているです)

これ以外にも多くのアプリやツールと連携ができ、Slackを見れば全てわかるというほど管理ができるので、とてもおすすめです!

プロジェクト管理ツール

プロジェクトを管理するツールも様々あり、うちの団体でも以前はAzure DevOpsというツールを使っていましたが、運営側の人数が増えたことにより、無料範囲内だと人数オーバーになるため、Trelloに移行しました!

Trelloとは

Trelloとはタスク管理ツールになりますが、UIが特徴的で、付箋を作って貼り替えるようにタスクの状態を変化させたりできます!

f:id:handaijk:20200315213023p:plain
使用画面の一例(一部内容は伏せています)

画面はこんな感じになっています! 全体の画面がボードと呼ばれるものであり、これにリストを登録し、それにカードを作成していき、管理していきます! ボードをプロジェクト単位に準備し、カードにタスクを書いて登録して使うのが良いと思います! うちの団体の場合、リストは、

  • New (新しくできたタスクで誰にも割り当てられていないもの)
  • Approved (人に割り当てたタスク)
  • Committed (割り当てられたタスクのうち、作業し始めたもの)
  • Done (完了したタスク)

となっています! リストは当然自由に使うことができるので、是非活用してみてください!しかも、カードには、

  • メンバーの割り当て
  • ラベル
  • チェックリストの設定
  • 期限の設定

などの機能があるので、より詳しくタスク管理ができます!

TrelloはSlackと連携可能

先ほどもあったように、TrelloはSlackと連携することができます! 連携することにより、ボードが変更されるごとに、その内容がSlackのチャンネルに投稿されます! これにより、Trelloを開かなくても、誰がどの作業をしたのかが分かります! 連携のやり方は簡単で調べるとすぐ出てきます!

f:id:handaijk:20200315213138p:plain
連携後にカードを動かすと、Slackにこんな感じで反映されます!

ドキュメント共有ツール

ドキュメント共有ツールですが、これはGoogle Driveで十分です! 先ほどもあったように、Slackとも連携できる上、多くの人がGoogleのアカウントを持っていると思うので、わざわざアカウントを作る必要がありません! うちの団体の場合、団体用のアカウントを1つ作り、その中にイベントの概要やスライドなどを保存しています! また、個人のアカウントと共有できるように設定しているので、個人のアカウントでも団体のアカウント内のドキュメントを編集できます! 共有できるようにするには、

  1. 共有したいフォルダを右クリック
  2. 共有を押す
  3. 下の画面のように出てくるので、
  4. リンクを知っている人と編集可とし、リンクをコピーし、そのリンクを教える、または名前やメールアドレスを入力する

これでフォルダの共有できます! Google Drive内のドキュメントは、共有している人が同時にアクセスし、そのドキュメントを編集することができるので、離れたところでも同時に情報を共有し、資料の作成ができます! 便利な時代ですね!

終わりに

紹介したツールの機能は全て無料で使えるものです! どれも便利なもので、テレワークだけでなく、普段から使えるツールになっています! 家で出れなくてもできることはあるので、是非有効活用してみてください! もし他に便利なツールがあれば、教えていただけると嬉しいです!

プログラミングをやる = 情報系の人?

こんにちは!新しくHANDAI JKの運営に入りました 化田(けた)です!初対面の人からはめちゃくちゃ変わった苗字やな〜と言われることが多いのですが実際にはなんと, 全国に20人しかいないらしいです、、(笑)。ぜひぜひこの機会に覚えていただけたら嬉しいです!よろしくお願いします🙌

 

まずは自分の経歴をざっくりと載せておきます!

小学校〜中学校... 学校にレアル・マドリードの服を着てくるほどのサッカー少年

高校... サッカーから離れバスケに転向、バスケ引退後音楽がやりたくなり受験中に

           ピアノを習い始める。最近の最先端であるITに触れてみたいと思い大阪大学

           基礎工学部情報科学科を志すことに。

大学...  情報系を勉強するかたわらアカペラにはまりアカペラサークルに入る。

           現在も入っていて卒業するまで続ける予定です(笑)

 

このように自分はもともとアプリやゲーム, ウェブサイトなどを作ったことがなく, 大学生活を始めるまでプログラミングに一度も触れたことのない人間でした!

 

今回は自分のバイト先の話なども含めて現在の社会と大学でのプログラミング事情について話していこうと思います!

自分のバイトでの仕事について

現在 自分はTECH::EXPERTと呼ばれるプログラミング教室でメンター(講師)としてお仕事をしています!

 https://tech-camp.in/assets/expert/job_change/firstview_sp-e3ae15775babffd6b2306fdbad1b2282.png

「TECH::EXPERT 〜10週間で人生が変わるNo.1エンジニア養成プログラム〜」https://tech-camp.in/expert/?gclid=Cj0KCQiAv8PyBRDMARIsAFo4wK2MnJVLIS9zKCFedsipynizj96-YZ6Co-8MgG7ctFGuDuNSOezy4qUaApvREALw_wcB#

 

TECH::EXPERTではプログラミングに一切触れたことのない方がわずか10週間でウェブサービス構築まで行い, エンジニアとして転職活動まで支援するサービスを行なっています。僕はここでインターン生として, 大学で得た情報系の知識を活かしながら受講者のプログラミング学習の後押しをしています。

 

僕は, ここでのバイトを通して大きく考え方が変わった部分があります。今まではプログラミングについては次の考え方を持っていました。

「プログラミングができる = 数学ができる, 論理的思考力がある」

「プログラミングは難しい, 独学でなかなかできるものではない」

 

自分は大学で情報系を専攻していることもあり, 大学1回生からプログラミング言語を勉強し始めたのですが, 大学でいきなりプログラミング言語であるC言語(情報系の人が習う言語としては一番基本的, だけど難しい...)の学習が始まり, 当時プログラミングなんてやったことのない自分にとってはわけのわからない言葉(コンパイル??リンカ??Linux??)が行き交っていました。本当に専門用語がいちいち多いんですね(笑)その時はプログラミングって覚えることも大量にありどう動いているかもイマイチわからないしこんなにハードルが高いものなのか...と実感させられました。現在は3回生になりアプリなどが簡単に作れるようになりましたがそこまでの道のりはそう容易ではありませんでした。 

 

その中で今バイトをしているこのプログラミング教室の存在を友人から知り, 実際にお仕事をさせていただくことになりました。僕はそこで数々の衝撃を受けることになったのです、、、

 

その1 情報系を専攻している人が全然いない、、、!

ここで初めて勤務をする際, TECH::EXPERTの社員さん(自分と同じくプログラミングのメンターをしている)やバイト仲間とお話をする機会が多くありました。その時に経歴など色々聞かせてもらったのですが、, バイト仲間が専攻している学部は経済学部, 外国語, 文学, 経営... など専攻分野のバラエティが豊富で, 情報系の学部の人がほとんどいなかったのです!!(流石に何人かは情報系の人がいらっしゃいましたがそれでも数える程しかいません!)

社員さんにも色々お話を聞いたのですが, 元々はデザイナー, 営業職, 警察官, 日本語の先生など, エンジニアとして活動されている方はほとんどいらっしゃいませんでした!さらに入社して2ヶ月(プログラミングはもちろんやったことない)で受講生にプログラミングの指導をする方もいらっしゃいました!

 

その2 プログラミングを初めてまもない間にアプリを自分で作れるように、、!

ここでのプログラミング教室のカリキュラムに沿って学習を行うと,  プログラミングを一切やったことのない方でもわずか2週間でTwitterのようなアプリが作れるようになるのです!!

https://assets.st-note.com/production/uploads/images/8170412/rectangle_large_type_2_9b0e0142b057de38db2a49b9e909f26d.jpg?fit=bounds&format=jpeg&quality=45&width=960

初めてコードを見る方からすればチンプンカンプンかもしれませんが, その方でも2週間もすれば写真のようなアプリが簡単に作れるようになるのです、、!(これ以上詳しく貼り付けると怒られそうなのでもっと詳しく見てみたい方は僕に行ってください笑)また, 先ほど自分が大学生活の時に学んだ専門的な用語を一切使わずとも作れるようになります!

 

ここでの自分の経験を通して僕は, プログラミングに対して次のような考えを持つようになりました。

「プログラミングは興味があれば誰にでもできる」

「自分で1からアプリを簡単に作れるようになる」

「数学が苦手な人でもできるようになる」・・・

 

このようにプログラミングでのものづくりの価値観が現代では変化しつつあります。

 

一方, 大学では, 情報分野, とくにプログラミングに関して

プログラミング=情報系...ということは理系??数学??男多い??

みたいなイメージがはびこっている感じがします。

おわりに 

日本は学問分野において, まるで血液型のように「文系」か「理系」かというレッテルを張ってしまいます。そのためにプログラミングをやることがあたかも理系っぽくハードルが高そうなイメージがでるんですね、、!

 

ここまで読んでくれた皆さんにはもうお分かりになると思いますが, 文系であろうが数学が苦手であろうがどんな方でもアプリを簡単に作れるようになります!!!

 

この記事を読んで少しでもプログラミングに興味を持ったなら, ぜひぜひHANDAI JKがサークルオリエンテーション, まちかね祭で開催するイベントに参加してみてください!!多くの方にイベントに来てもらえるのを楽しみにしています〜! 

阪大合格おめでとうございます!

こんにちは、HANDAI JKの杉森です! とうとうこの日が訪れましたね! 時間の速さを感じてしまいます!

合格おめでとうございます!

今日は大阪大学の合格発表日ですね! 合格者のみなさん、合格おめでとうございます! これから始まる大学生活に胸躍らせてる人も多いと思います!阪大での大学生活を大いに楽しんでください! 改めて合格おめでとうございます!

HANDAI JKとは

このブログを見にきてくださったということで、HANDAI JKとはどういった団体なのかを紹介したいと思います! HANDAI JKとは、IT系に興味のある学生を中心とする技術コミュニティです! イベントを主催したり、企業と協賛したりなど、阪大生がより興味を持ち、自らの力を面白いと思うものに発揮して欲しいと考えて活動しています!過去のブログにそれぞれがやってことなどを記事にしてくれているので、ぜひ見てみてください!

f:id:handaijk:20190715215541j:plainf:id:handaijk:20190704111736j:plain

今後の活動について

今後の活動についてです!すでに確定しているスケジュールは以下のようになります!

サークルオリエンテーション (4/11)

4/11(土)に大阪大学豊中キャンパスでサークルオリエンテーションが行われます!(コロナウイルスの都合上、実施については現在話し合い中とのこと) HANDAI JKは今回、初めてサークルオリエンテーションに展示いたします! 展示場所は全学教育講義棟C303です! 交流イベントを行う予定で、以下の時間帯に大学情報などについてプレゼンを行います!それ以外の時間は交流会となるので、ぜひ同級生や先輩と色々話をしてください! 来ていただいた方には入場特典を用意しています! 登録フォームはこちらになります!(https://docs.google.com/forms/d/1OvUpHY8yEKMpCFb3WzVJrpumdl4vkyz5bDHwuLVF694)

タイムスケジュール

  • 10:30~10:45
  • 11:30~11:45
  • 12:30~12:45
  • 13:30~13:45
  • 14:30~14:45

LT大会 4月下旬

他のブログ記事(https://handai-jk.hatenablog.jp/entry/2019/07/15/220605)でも書いてありますが、HANDAI JKでは、Lightning Talkという短い形式のプレゼンを行うLT大会を主催しています! 今年も4月下旬に行う予定です!詳しい内容は近日中に発表予定ですので、ぜひ参加してください!

f:id:handaijk:20190612100705j:plain
去年4月開催時の様子です

いちょう祭(5/2・3)

5/2・3には、大阪大学豊中キャンパスにて、いちょう祭が開催されます!(https://ichosai.com/) 今回、HANDAI JKは全学教育講義棟C307にて初出展となります! 展示内容は、「周遊型脱出ゲーム」です! 現在、鋭意作成中となります! 技術コミュニティとして、大きなことをするつもりですので、この企画を面白いと感じていただいた方には、ぜひ手伝っていただきたいと思っています! 気になる方はぜひDM(@handai_jk)に連絡してください!

最後に

ここまで読んでいただき、ありがとうございました! 今後も様々な活動を行っていく予定なので、ぜひ遊びに来てください!

f:id:handaijk:20200309010938p:plainf:id:handaijk:20200309010959p:plain

面接の日程やり取りが多いから作ってみた希望日程の自動生成ツール

お久しぶりです。HANDAI JKの原口です。 皆さんはインターンや就活などで企業の方とやりとりをしたことはありますか? インターンや就活などでは面接や面談が設定されることがほとんどだと思いますが、その途中で次のようなやりとりをよくします。

面接について、ご希望の日程の候補をいくつか教えてください

僕は、その度にカレンダーを見ながら空いてる日程を返信していました。正直そこまで面倒で時間のかかる作業ではないのですが、決して少なくない数のこのやりとりをしていく中で、簡単に返信を用意できないか考えるようになりました。

作った物

そこで、Vue.jsの復習がてらこんなものを作ってみました。 URL→https://desired-schedule-generator.netlify.com/ f:id:handaijk:20200303181533p:plain

こんな感じで、日にちと時間帯を指定すると、文字列が自動で生成されます。時間帯を空欄にすると終日になります。

f:id:handaijk:20200303181904p:plain

文字列をクリックするとクリップボードにコピーされます。

課題

想定した動作をするようにはなったのですが、以下の課題があります。

  • 重複したコードがたくさんあって、コーディングが汚い
  • スマホ表示に対応してない

これは自分だけのあるあるなのかもしれませんが、Webで調べて他のコード参考にしながらコーディングすると、目先のバグ修正に集中してしまって、とりあえず動けばいいコードを書きがちなんですよね。もちろん、いきなり自分の意図した動作をする綺麗なコードをかけるとは思ってないのですが、少なくともネストをなるべく浅くするとか、重複したコードはその度に共通化するとか、綺麗なコードを書く意識は趣味製作であったとしても必須だなあと、自分のコードを見て思いました。

今後も色々と作っていきます、改善要望等あればなんでもご連絡ください!

こゆみ物語 - 暦物語のパロディアプリ

こゆみ物語 - 暦物語のパロディアプリ

こんにちは。赤沢です。 本日は私が(storyboardを使って)初めてiOSアプリを作成した話をしようと思います。

暦物語

暦物語というアプリをご存知でしょうか。 西尾維新の書いたファンタジー小説化物語』をはじめとした『物語』シリーズの公式日めくりカレンダーアプリで、2016年1月1日から12月31日まで稼働していました。 アプリ自体はApp StoreにもGoogle Play Storeにも残っているので今でもインストールは可能ですが、サービスは終了しているため入れても何もできませんね。

アプリを起動するとカレンダーの表紙が表示されます。 そしてこの画面を日めくりカレンダーの要領でめくると、今日の分のページが表示されます。

日によってイラストと言葉は変化します。

月ごとに一覧にして表示することもできます。

めくった日にのみスタンプが押されるシステムなのでめくり忘れるともうその日のスタンプを入手することができず、後から見返すこともできません。 コレクター精神が刺激されますね。

色んなキャラクターの名言、名場面をみることができるこのアプリが僕は大好きで毎日欠かさずめくっていたのですが、このアプリはたった1年間でサービスが終了してしまいました。 これはどうしたもんかと思い、自分で同じようなアプリ「こゆみ物語」を作ってみることにしました。

こゆみ物語

成果物は僕のgithubに公開してあります。 最低限の機能しか実装していないので本家の暦物語と比較すると大分ちゃちなものになっていますが許してください。 一番めんどくさかったのは、366日分の名言とイラストを集めることですね。 その部分(DatesInfo.json)は公開しておりませんので、自分で使いたい人はREADMEを読みながら頑張って作ってください。 物語シリーズから探してきても良かったんですけど、何となく偉人や有名人の名言を集めて作ってみました。

f:id:handaijk:20200220160437p:plain

利点

本家には無い利点として、人のtweetを表示できるというものがあります。 tweetの場合はそのツイートが行われた日付も合わせて表示することができます。 までも結局自分で設定しているだけなんですけどね。 (これのせいで個人的な内容が結構含まれてしまってDatesInfo.jsonを公開できなかったわけなんですけど。)

まとめ

自作アプリの紹介でした。 storyboardを使ったアプリの開発をしたことがなく、やってみるのにちょうどいいサイズのタスクだと思って実装してみました。 全てSwiftの基本に則って制作されており、特に新しい技術を使っているわけではありません。 興味ある人はダウンロードしてみてください。 以上です。

TRAINSを使ってみる

皆さんこんにちは。HANDAI JKの赤沢と申します。

本日は機械学習管理ツール、TRAINSを使ってみるお話をさせていただこうと思います。技術系の話に寄っています。 TRAINS自体も開発途上であり多分すぐに仕様などが変わると思うので、その時々で良い感じにやってください。このページの更新もしてくれるとなおgood…

TRANSとは

ディープラーニングなどの機械学習の研究や実験をやっている人なら分かるかと思いますが、学習を回すときのデータやログ、ハイパーパラメータの値、結果などのかんりっていうのが、実験が進むにつれてどんどん複雑になってぐちゃぐちゃになってくちゃくちゃになってしまうものです。 TRAINはそれら機械学習で煩雑になりがちな部分を簡単に管理、共有できるOSS(オープンソースソフトウェア)です。 allegro.aiという会社が開発中で、現在(2020/02/07)β版となっています。

allegro.ai : 2016年設立で、多数の企業から投資を受けており現在の資金は$11M(11億)くらいらしいです。 本社はイスラエルのRamat Genにあって、主にディープラーニングやコンピュータビジョンに関するライフサイクル管理プラットフォームの開発を行っています 。

できること、魅力

  • 実験結果、ログの保存共有、バージョンコントロール
    • lossやaccuracy
    • ハイパーパラメータ、画像、グラフ、使用パッケージ
    • AWSGCP、Azureなどのクラウドサービスへのアップロード
    • gitのリポジトリ、コミットID、差分も記録
  • 手軽に使える
    • pipでインストールしてプログラムに二行追加するだけです。

(注)対応しているライブラリでしか使えないみたいです(TensorFlow、Pytorch、Keras、Scikit-learn)。 - 自前のserverを使う時もdockerを使用するのでとても楽チン。

実験結果の管理から解放!

使い方

TRAINSはpythonのパッケージとして提供されておりpipからインストール可能です。

pip install trains

コードを書き足すのは二行だけで、これだけでほぼ全ての記録を取ってくれます。 また、残しておきたい変数などは別途追記すれば記録できます。

from trains import Task
task = Task.init(project_name=`examples`, task_name='absl example')

実行するとコンソールにURLが出力されるのでそこに飛んでください。

すると結果が表示されます。 ハイパーパラメータやモデルの情報なども見れます。 図は対応しているライブラリで出力すればOKです(Matplotlib & Seaborn)。

データ保存期間

上記のようにプログラムに二行足しただけだと、trainsのデモサーバーに保存されるようになっています。 そしてこのでもサーバーは毎日24時にリセットされてしまうみたいです。 なので本格的に運用するにはtrains-serverをインストールして自前でサーバーを立ち上げ、そこにデータを保存していってください。

trains-serverの使い方

基本的にtrains-serverのREADME、installation通りに行えばいけます。

  • dockerを使用します。
  • ログイン処理も簡単。(ですが、パスワードをymlファイルにベタ書きしなければならないので、ここに関しては怪しすぎますね。笑) サーバーのセットアップが完了したら、trains に飛んで、README、Configration Your Own Trains Serverの通りに行ってください。

  • trains initコマンドで、セットアップ時にserverのIPとポートを入力 or マニュアルで作業(~/.trains.conf)することになります。これをしなかったらデモサーバーで運用されます。

これで完了です。TRAINSのコードを追記したプログラムで実行してください。

LinuxMacOS Xで使用可能なdockerイメージは予め準備されています。 Windowsの場合は、VMで動かすLinuxの上でdockerを動かすことが推奨されています。

実際にやったコマンド(作業記録)

私が実際に動かしたときのコマンドを記録しておきます。

192.168.*.*(dockerインストール済みのLinuxリモートサーバー) にサーバーを立てました。

コマンドの意味はわかると思うので細かい説明は省略します。

docker pull allegroai/trains
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo rm -R /opt/trains/  (<-コンフリクトが起きてなければ不要)
sudo mkdir -p /opt/trains/data/elastic
sudo mkdir -p /opt/trains/data/mongo/db
sudo mkdir -p /opt/trains/data/mongo/configdb
sudo mkdir -p /opt/trains/logs
sudo mkdir -p /opt/trains/config
sudo mkdir -p /opt/trains/data/fileserver
sudo chown -R 1000:1000 /opt/trains
git clone https://github.com/allegroai/trains-server.git
cd trains-server
/usr/local/bin/docker-compose -f docker-compose.yml up

そしてサーバーが立ち上がり、ローカルから192.168..:8080を見に行くと正常動作が確認できました。