Ruby Meditation #19 in Kiev

Sat, November 25, 2017, 11:00 AM – 6:00 PM EET Hub 4.0, Yaroslavskyi lane 1/3, Kyiv, Ukraine
23 November

Join next Ruby Meditation #19 on November, 25th! Become a part of Ruby Community.

Take your new knowledge, useful practice, and joy. Organizers are waiting for speakers from Toptal and it's mean interesting topics and discussion. Join and get information about hard and soft skills in ruby-development. Starting at 11:00 and finishing at 18:00 with the coffee-breaks and a tasty lunch.

Agenda

  • 11:00 Registration and Welcome coffee 
  • 11:30 How freelancing and remote work is changing the world - Ines Avdic-Zekic
  • 12:15 Coffee break
  • 12:30 Monads in Ruby - Victor Zagorodny
  • 13:15 Lunch
  • 14:15 # UDD Kick Off - Marek Piasecki
  • 15:00 Coffee break
  • 15:15 Microservice communication with RabbitMQ - Tetiana Chupyra
  • 16:00 Coffee break
  • 16:15 A toolbelt of seasoned bug hunter - Damir Zekic
  • 17:00 Coffee break
  • 17:15 Lightning Talk

Speakers

There will be interesting talks of skilled coders at Ruby Meditation.

Ines Avdic-Zekic

Topic: “How freelancing and remote work is changing the world

Ines Avdic-Zekic
Ines Avdic-Zekic

How to gently break into freelancing (with Ruby on Rails) and take control of your life and career.
 

Ines Avdic-Zekic

Ines Avdic-Zekic travels the world, looking for top 3% freelance talent, whom she makes feel at home while working with Toptal. She also trainer/teacher. She started teaching very early in her career, but moved to curriculum design/creation and eventually completely changed her interest to technology and Technical recruitment. She a member of Toptal’s Speakers Network. 

Victor Zagorodny 

Topic: “Monads in Ruby

Victor Zagorodny
Victor Zagorodny

Monads are mentioned more and more often in various talks, and discussions, but mostly about pure functional languages and... JavaScript. We are going to take a closer look on what monads are, in what typical use-cases they can be applied to make our code elegant and our life simpler. Also we’re going to review the current state of monads support in Ruby community and put our two cents in this.

I am a Senior Ruby developer and a tech lead @ Sloboda Studio, write mostly in Ruby, have passion for Haskell and pure functional programming in general.
 

Victor Zagorodny

Marek Piasecki

Topic: “# UDD - kicking of Understanding Driven Development

Marek Piasecki
Marek Piasecki

This presentation will be a natural continuation of Odessian # Hype Review. Thanks to your questions and feedback I’ll try to give some answers. I do believe deep understanding is a key thing in development. It’s kind of obvious. But we go further and further with reducing scope of our specializations.  We’re learning how to use tools and methodologies instead of learn in the first place how to program.
 

Marek Piasecki

Damir Zekic

Topic: "A Toolbelt of a Seasoned Bug Hunter"

Damir Zekic
Damir Zekic

Loud bugs are easy to spot and easier to fix. But there are subtle bugs that work over time and only in specific environments. Finding and fixing them is often a frustrating process. This talk will cover a debugging odyssey through which we will explore and evaluate various tools that can be used for better understanding what is happening in any application.
 

Damir Zekic

Sixteen years ago Damir started developing web applications with PHP, but switched to C#/ASP.NET (he tries not to remember those few projects he was forced to implement with VB.NET) until he saw the radiant shine of Ruby. Developing web apps for the majority of his career as a software developer, he’s proficient with both back-end and front-end work, but recently started to focus on the back-end more. Enthusiastic about functional programming. He is also a part of Speakers Network in Toptal.

Tetiana Chupyra

Topic: "Microservice communication with RabbitMQ"

Tetiana Chupyra
Tetiana Chupyra

Microservice applications are useful only if they work in cooperation. So an adequately chosen type of inter-service communication is golden. In this talk, I want to speak about building lightweight microservice messaging with a usage of RabbitMQ. Why it’s better than standard JSON over HTTP? When it should be used and when should not? How to integrate RabbitMQ in Ruby application? I have some thoughts and answers that I want to share with you all.
 

Tetiana Chupyra

Organizers do appreciate a willingness to learn, thus, students receive 50% discount by promo code ‘student’. Please send your student ID’s scan to make your registration faster.
If you are on maternity leave with a small baby (0-3 years) you can get a special discount for a ticket with promo code ‘GrowWithYourKid’. Please take kid’s birth certificate with you to confirm the status.

Get your ticket here

 

DateTime, Timestamp, Time and Date in Rails

Learn about key differenece between DateTime, Timestamp, Time and Date in Rails
31 October

The difference between different date/time formats in ActiveRecord have little to do with Rails and everything to do with whatever database you're using.

Using MySQL as an example (if for no other reason because it's most popular), you have DATEDATETIMETIME and TIMESTAMP column data types; just as you have CHARVARCHARFLOATand INTEGER.

So, main differences: DATE only stores a date, TIME only stores a time of day, while DATETIME stores both.

The difference between DATETIME and TIMESTAMP is a bit more subtle: DATETIME is formatted as YYYY-MM-DD HH:MM:SS. Valid ranges go from the year 1000 to the year 9999 and everything in between. While TIMESTAMP looks similar when you fetch it from the database, it's really a just a front for a unix timestamp. Its valid range goes from 1970 to 2038. The difference here, aside from the various built-in functions within the database engine, is storage space. Because DATETIMEstores every digit in the year, month day, hour, minute and second, it uses up a total of 8 bytes. As TIMESTAMP only stores the number of seconds since 1970-01-01, it uses 4 bytes.

You can read more about the differences between time formats in MySQL here.

In the end, it comes down to what you need your date/time column to do. Do you need to store dates and times before 1970 or after 2038? Use DATETIME. Do you need to worry about database size and you're within that timerange? Use TIMESTAMP. Do you only need to store a date? Use DATE. Do you only need to store a time? Use TIME.

Having said all of this, Rails actually makes some of these decisions for you. Both :timestamp and :datetime will default to DATETIME, while :date and :time corresponds to DATE and TIME, respectively.