Matz will explain how to design the future from lessons he learned from the history of Ruby development. By following his steps you will also be able to create the future!
Day 1
10:00 am
10:05 am
Opening
10:05 am
10:45 am
Dockerize Rails Best Practice / Rails 容器化最佳實踐
Cindy Liu
zh
Cindy Liu
Dockerize Rails Best Practice / Rails 容器化最佳實踐
In recent years, Container technology has gradually became the mainstream choice of development and deployment. In the DevOps plan of 5xRuby software development, we have designed the best practice for packaging images with GitLab CI. In this speech, I will share how we containerize a Rails application and make a container image with the size of 100MB for Production Ready.
近年來容器技術逐漸成為主流的開發、部署選擇,五倍紅寶石軟體開發在 DevOps 的計畫中,我們也設計了一套結合 GitLab CI 所優化的容器打包最佳實踐,這場演講會跟大家分享我們如何針對 Rails 專案進行容器化,並且製作出約 100MB 的 Production Ready 容器鏡像。
10:45 am
10:50 am
Break
10:50 am
11:30 am
Event Driven Concurrency using the Ruby Fiber Scheduler
Samuel Williams
en
Samuel Williams
Event Driven Concurrency using the Ruby Fiber Scheduler
Event driven concurrency is a feature of many modern programming languages, but until recently was difficult to use with Rub y. Ru by 3 includes a new fiber scheduler interface which allows us to hook into non-blocking operations and execute them concurrently, however robust implementations of this interface are not yet widely available. We will discuss the implementation of the Async fiber scheduler, how it works and how it can be used to build highly scalable applications.
11:30 am
11:35 am
Break
11:35 am
12:15 pm
Sanbao GO, A Free Traffic Violation Reporting System that Concerns Privacy / 三寶 GO - 不收費、不收個資、不告人的交通違規檢舉系統
大兜
zh
大兜
Sanbao GO, A Free Traffic Violation Reporting System that Concerns Privacy / 三寶 GO - 不收費、不收個資、不告人的交通違規檢舉系統
Sanbao GO is a PWA powered by Ruby on Rails and React. We create it since 2019 because of the disappointment to the system made by the government and non-government.
This session would cover a brief introduction of the problem and current situation of the government’s reporting system, and the implementation details of Sanbao GO including email processing using Action Mailbox.
https://www.sanbao.icu/
三寶 GO 是因筆者多年來對政府和民間檢舉系統的失望而產生的作品,是一個 PWA,技術基礎使用了 Ruby on Rails 和 React,由兩人團隊(大兜、強力蕉)自 2019 以來淬鍊而成。
本議程將介紹政府檢舉系統的現況與問題,並介紹三寶 GO 在實作過程中遇到困難,包括信件編碼問題與 Rails ActionMailer 的使用。
https://www.sanbao.icu/
12:15 pm
13:30 pm
Lunch Break
13:30 pm
14:10 pm
Rina: Chatbot Game Engine for Real-life Adventure Games & Case Study / Rina: 聊天機器人體驗型遊戲引擎 & 實際案例分享
Albert Song
Tim Wei
en
Albert Song
Tim Wei
Rina: Chatbot Game Engine for Real-life Adventure Games & Case Study / Rina: 聊天機器人體驗型遊戲引擎 & 實際案例分享
Rina is a chatbot game engine developed for CYBERSEC 2021 playground booth adventure game "1337 Operation". Related report
We will release the source code for this project under MIT license alongside this talk.
In the game "1337 Operation", the player is an FBI agent investigating a major ransomware attack. Though intelligence gathering & analysis, the player will identify the related hacking group, and the location of the suspect.
At the finale, the player and other FBI agents will storm the residence of the suspect, using a micro bomb to break open the door and arrest the suspect.
The whole process is captured by cameras, a fictional news clip would be automatically sent to the player as a souvenir.
We've included various easter egg in the game. The player could check his/her process at the progress monitor on our booth, and compete with other players.
In this talk, we will introduce various feature of Rina, e.g., context-aware dialogue, achievements, rankings, message speed adjustments and async external service integration.
We will discuss our design and implementation. Using "1337 Operation" as our modal case, we will introduce how each feature could be utilized.
Besides Rina, we will also share our experience on composing the story of the game, making interactive props, and how we connect physical devices with the game.
We hope after our talk, you can also make your own real-life adventure game driven by chatbot, with ease."
From Ruby To Python, From Game Designer To Software Developer / 從 Ruby 寫到 Python,遊戲設計師到工程師的職場生存術
Jimmy Wu
zh
Jimmy Wu
From Ruby To Python, From Game Designer To Software Developer / 從 Ruby 寫到 Python,遊戲設計師到工程師的職場生存術
Review: Learning Ruby and Ruby On Rails for a career change from a game designer to becoming a software developer. Using Python In order to fulfill the needs of the client and develop b2b EDI System. The talk is for the beginners of learning to code or just start to code recently as a job
回顧從學習 Ruby 和 Ruby On Rails 開始轉職,以遊戲設計師的經歷踏入軟體開發者的世界。再因應工作需求轉換語言到 Python 開發企業級電子交換系統的心路歷程分享。 此次分享適合想踏入程式開發或剛踏入不久的你。
Day 2
10:00 am
10:40 am
Intro of Ruby CGI programming, Rack and Puma / 用 Python 來執行 Ruby 的我,與撿到的 Puma 和 Rack
Meng-Ying Tsai
zh
Meng-Ying Tsai
Intro of Ruby CGI programming, Rack and Puma / 用 Python 來執行 Ruby 的我,與撿到的 Puma 和 Rack
The Rails beginners might curious: "What is rack in ruby? What is puma in ruby?"
In this talk, I would like to clear up the confusion.
In addition I am going to show how to run Ruby CGI script with python, to explain how are the hostname, path passed into the CGI program.
Ruby in the Classroom: Going off the Rails with Roda and Sequel
Soumya Ray
en
Soumya Ray
Ruby in the Classroom: Going off the Rails with Roda and Sequel
11:25 am
11:30 am
Break
11:30 am
12:30 pm
面對快速高漲的高階工程師人才需求,技術社群可以做的事 / Panel Discussion: The Developer Community vs. the Short Supply of Senior Developers
鄧慕凡
范聖佑
Caesar Chi
蘇芃翰
zh
鄧慕凡
范聖佑
Caesar Chi
蘇芃翰
面對快速高漲的高階工程師人才需求,技術社群可以做的事 / Panel Discussion: The Developer Community vs. the Short Supply of Senior Developers
In recent years, Taiwan has attracted a lot of global companies due to political and economical reasons. We have also seen a surge of oversea entrepreneurs setting base here since the pandemic. This trend has put senior developers in high demand but short supply. Ruby Taiwan invites leaders of the PHP, Javascript and Java communities, who are also business owners themselves, to talk about how we as the developer community should face these challenges.
Making Multi-platform Tool With mruby / 用 mruby 來寫跨平台工具
John Lin
zh
John Lin
Making Multi-platform Tool With mruby / 用 mruby 來寫跨平台工具
Deployment is one of the biggest issue when developing tools with Ruby. Due to the interpreter nature of Ruby, we need to bundle interpreter and all dependencies with our code when deploying. It's troublesome to deploy tons of stuffs. Is there a better way to deploy?
This talk will introduce mruby, a Ruby that's designed to be embedded into other programs. And show how to write multi-platform single binary tool with mruby.
difficulty: easy
expected audience: people who interested in mruby. people who want to write multi-platform tools."
Ruby High Concurrent Programming in 2021 / 2021 年 Ruby 高並行程式指北
Delton Ding
zh
Delton Ding
Ruby High Concurrent Programming in 2021 / 2021 年 Ruby 高並行程式指北
- The Sufficient and Necessary Conditions in High Concurrency Program
- The History of Ruby Async Programming
- Ruby 3 Fiber Scheduler
- Ruby 3 Ractors
- When Could We Benefit from Async Programs
- How to Upgrade Your Ruby Program
Talk the "tricks" of programming skill with the LINE Bot and the crawl / 以 LINE BOT 和爬蟲聊寫程式技巧中的「巧」
蒼時弦也
zh
蒼時弦也
Talk the "tricks" of programming skill with the LINE Bot and the crawl / 以 LINE BOT 和爬蟲聊寫程式技巧中的「巧」
When I write some code, I usually think about "can I do it better?" since my over 10 years of programming life. I use Ruby to write a simple LINE Bot with many Ruby language features to help me to find new movies as I need. Therefore I think about how can we use the "tricks" to let others feel the programming is very "simple" after we learned the programming skills.
Let me show the programming tricks to you, it is not easy for everyone and needs a lot of practice and programming language knowledge, but it is not the reason to stop us.
接觸程式已經超過十年,每一次的在撰寫的時候都會思考「可以更好嗎?」前陣子因為需要快速知道最近有什麼電影可以看,因此用 Ruby 寫了一個很簡單的 LINE Bot 來輔助,而裡面運用了很多 Ruby 的語言特性。當我們掌握技巧中的「技能」部分就能夠順利寫出可以運作的程式,但是又該如何「巧妙」的應用語言的特性來實作,進而寫出讓人感到「原來可以這麼簡單」的程式。
雖然這不是可以簡單做到的事情,並且需要熟悉自己常用語言的特性跟大量的練習,不過還是讓我們來看看在寫