Ruby

Ruby

Application and Data / Languages & Frameworks / Languages
CTO at La Cupula Music SL·
Shared insights
at

Our command and event buses uses stomp as protocol, over RabbitMQ in development, and Amazon MQ in production.

Currently bus communicates Ruby and PHP based clients.

READ MORE
2 upvotes·1 comment·115.8K views
Pedro Arnal Puente
Pedro Arnal Puente
·
November 16th 2021 at 9:38PM

We have phased out Amazon MQ and RabbitMQ.

·
Reply
Software Engineer ·

When I switched to Visual Studio Code 12 months ago from PhpStorm I was in love, it was great. However after using VS Code for a year, I see myself switching back and forth between WebStorm and VS Code. The VS Code plugins are great however I notice Prettier, auto importing of components and linking to the definitions often break, and I have to restart VS Code multiple times a week and sometimes a day.

We use Ruby here so I do like that Visual Studio Code highlights that for me out of the box, with WebStorm I'd need to probably also install RubyMine and have 2 IDE's going at the same time.

Should I stick with Visual Studio Code, or switch to something else? #help

READ MORE
Johnny Bell's Stack Decision | StackShare (stackshare.io)
13 upvotes·610.6K views
Replies (15)
Recommends
RubyMine

If you're working with both Ruby and JavaScript, buy RubyMine and shut down the other two. It's much better for Ruby than Visual Studio Code is. It can also do everything WebStorm does, if you install the plugins you need from JetBrains, and they all work together nicely.

READ MORE
13 upvotes·165.1K views
Software Developer ·
Recommends
RubyMine

If you install RubyMine, you shouldn't need WebStorm, as all the functionality of WebStorm appears to be included in RubyMine. (See here: https://softwareengineering.stackexchange.com/a/132950).

I've used PhpStorm for several years and have never needed to open (or even download) WebStorm for anything front-end or JavaScript related.

READ MORE
11 upvotes·1 comment·165.1K views
Johnny Bell
Johnny Bell
·
August 16th 2019 at 3:15AM

Marc, I was using PhpStorm for like 7 years when I was in magento and a PHP backend and I never needed WebStorm either as it had all the same features... you are convincing me to switch to RubyMine... Hmmmmmm 🤔

·
Reply
View all (15)
Shared insights
at

I'm working as one of the engineering leads in RunaHR. As our platform is a Saas, we thought It'd be good to have an API (We chose Ruby and Rails for this) and a SPA (built with React and Redux ) connected. We started the SPA with Create React App since It's pretty easy to start.

We use Jest as the testing framework and react-testing-library to test React components. In Rails we make tests using RSpec.

Our main database is PostgreSQL, but we also use MongoDB to store some type of data. We started to use Redis  for cache and other time sensitive operations.

We have a couple of extra projects: One is an Employee app built with React Native and the other is an internal back office dashboard built with Next.js for the client and Python in the backend side.

Since we have different frontend apps we have found useful to have Bit to document visual components and utils in JavaScript.

READ MORE
21 upvotes·1.8M views
Independent Contractor at Self Employed·

I've heard that I have the ability to write well, at times. When it flows, it flows. I decided to start blogging in 2013 on Blogger. I started a company and joined BizPark with the Microsoft Azure allotment. I created a WordPress blog and did a migration at some point. A lot happened in the time after that migration but I stopped coding and changed cities during tumultuous times that taught me many lessons concerning mental health and productivity. I eventually graduated from BizSpark and outgrew the credit allotment. That killed the WordPress blog.

I blogged about writing again on the existing Blogger blog but it didn't feel right. I looked at a few options where I wouldn't have to worry about hosting cost indefinitely and Jekyll stood out with GitHub Pages. The Importer was fairly straightforward for the existing blog posts.

Todo * Set up redirects for all posts on blogger. The URI format is different so a complete redirect wouldn't work. Although, there may be something in Jekyll that could manage the redirects. I did notice the old URLs were stored in the front matter. I'm working on a command-line Ruby gem for the current plan. * I did find some of the lost WordPress posts on archive.org that I downloaded with the waybackmachinedownloader. I think I might write an importer for that. * I still have a few Disqus comment threads to map

READ MORE
I’m moving to Jekyll | The Code Room (dalevross.com)
22 upvotes·1 comment·1.2M views
Dean Lofts
Dean Lofts
·
January 26th 2020 at 12:30PM

Writing and publishing articles is pretty much technology agnostic now with the right configuration. I'm looking at setting up a pipeline that will publish to every platform I like from markdown that I write on whatever device I feel like writing on. It is still fun to play around with different platforms though, I can't deny that :).

·
Reply
Lead Architect at Fresha·

When you think about test automation, it’s crucial to make it everyone’s responsibility (not just QA Engineers'). We started with Selenium and Java, but with our platform revolving around Ruby, Elixir and JavaScript, QA Engineers were left alone to automate tests. Cypress was the answer, as we could switch to JS and simply involve more people from day one. There's a downside too, as it meant testing on Chrome only, but that was "good enough" for us + if really needed we can always cover some specific cases in a different way.

READ MORE
28 upvotes·1 comment·1.7M views
Anand Muley
Anand Muley
·
January 23rd 2020 at 5:23AM

Tech Stacks are going to evolve and be replaced. We will have to keep up with it. Never heard a Developer asking for such a responsibility shift to QA to fix a bug. I have spent some time in an Organization and a Project where test automation responsibility was bestowed upon Developers. It turned out that we did not need any automation QA skilled person we ended up replacing them with Manual QA skilled person. Lets not push our responsibilities to others. There is a reason for keeping a Developer and QA team separate. So that the quality checks are not compromised.

·
Reply
Needs advice
on
JavaJavaRubyRuby
and
RustRust

Do I choose Rust over Ruby or Java?

Want to try some lower level, highly efficient language. Should I choose Rust over Ruby? I have Java experience and some experience with Ruby.

READ MORE
2 upvotes·148.8K views
Replies (1)
Recommends
Rust

Ruby is not in a spectrum of "highly efficient" languages. It's interpreted, pretty slow and not concurrent. Java is very good for like 99% of cases, and it's much faster to work with than Rust. But, if you really want to be "close to the metal", Rust is your language of choice. It does not have garbage collector. Memory safety is guaranteed by the language itself. This is great, but the cost of that is pretty steep learning curve. But it's still a lot of fun when you get a grip of it.

READ MORE
6 upvotes·781 views
Needs advice
on
JavaScriptJavaScript
and
RubyRuby

I'm new to development, and I've been studying JavaScript and Ruby concurrently, but I'm to a point now where I should really be focusing my effort into learning one language. I'd like a solid foundation and understanding, so that I can move forward with confidence. Everywhere I go, I keep hearing that RoR is a dying breed. However, I really have enjoyed Ruby and Rails...a LOT. Its approachable, fun, and readability is great. I just don't want to set myself up for failure by saddling myself in with a stack that will take me nowhere. What is your opinion on the future of RoR and would it be foolish for me to invest too much time in learning it over others?

READ MORE
9 upvotes·95K views
Replies (6)
Principal Software Engineer at Tophatter·
Recommends
Ruby

Ruby on Rails is far from being dead. In fact, this is a very popular choice in early-stage startups, given how fast and easily it allows them to launch their product and iterate on it.

Even at more mature companies, you'll still find a ton of opportunities. Not for internal tools or legacy codebases, but for actual production workloads: web apps, APIs, etc...

Some may tell you that Ruby doesn't scale, but is it really Ruby that doesn't scale, or the code they wrote?

Languages have trends. Sometimes, recruiters will try to take you one way or another to meet their own agenda. Don't always listen to what you hear. Long live Ruby! Long live Rails!

READ MORE
We Asked the Industry: "Is Ruby on Rails Dead?" | Netguru Blog on Ruby (netguru.com)
8 upvotes·1 comment·69.5K views
Matt Williams
Matt Williams
·
October 15th 2020 at 9:37PM

Thank you so much for the advice!

·
Reply
Recommends
Ruby

You can’t directly compare RnR and Javascript, since the first is a framework (Ruby would be the language), and Javascript is a language. RnR even uses quite an amount of Javascript. I think that Ruby, and Rails, are design by improving on previous languages, and shifting the perspective from speed to readability and general developer friendliness. Opposed to that, Javascript did not have any design goals at all, and seems to be repeating the errors of all language designs that existed before. “Knowing Javascript” would not be a selling point to me when hiring someone, there should be mentioned specific javascript frameworks. And I’d always try to find someone who has experience in multiple languages. So my advice is to to learn RnR first, you get a head start, Javascript will just come along with it. And you can distinct yourself from other people that claim web development knowledge because they have done one javascript tutorial :-)

READ MORE
5 upvotes·1 comment·69.2K views
Matt Williams
Matt Williams
·
October 15th 2020 at 9:37PM

Thank you so much for the advice!

·
Reply
View all (6)
Software Developer at Nouveta·
Needs advice
on
PumaPuma
and
UnicornUnicorn

I have an integration service that pulls data from third party systems saves it and returns it to the user of the service. We can pull large data sets with the service and response JSON can go up to 5MB with gzip compression. I currently use Rails 6 and Ruby 2.7.2 and Puma web server. Slow clients tend to prevent other users from accessing the system. Am considering a switch to Unicorn.

READ MORE
4 upvotes·10.3K views
Replies (1)
Recommends
Puma

Consider trying to use puma workers first. puma -w basically. That will launch multiple puma processes to manage the requests, like unicorn, but also run threads within those processes. You can turn the number of workers and number of threads to find the right memory footprint / request per second balance.

READ MORE
3 upvotes·6.4K views
Needs advice
on
NeovimNeovim
and
VimVim

For a Visual Studio Code/Atom developer that works mostly with Node.js/TypeScript/Ruby/Go and wants to get rid of graphic-text-editors-IDE-like at once, which one is worthy of investing time to pick up?

I'm a total n00b on the subject, but I've read good things about Neovim's Lua support, and I wonder what would be the VIM response/approach for it?

READ MORE
8 upvotes·179.5K views
Replies (6)
Recommends
Neovim
Vim

Neovim can basically do everything Vim can with one major advantage - the number of contributors to the code base is just so much wider (Vim is ~100% maintained only by B. Mooleanaar). Whatever you learn for Neovim you can also apply to Vim and vice versa. And of course there is the never ending Vim vs Emacs controversy - but better not get into that war.

READ MORE
10 upvotes·1 comment·93.9K views
David Milosevic
David Milosevic
·
January 13th 2021 at 7:06AM

For web development definitely NeoVim. It supports more plugins, especially themes. Vim is more for scripting and server related stuff, it is more raw. NeoVim is literally described by it's name..

·
Reply

Actually, the biggest advantage with Neovim (as a VS user) is that you can embed REAL Neovim as the editor UI, rather than using a "Vim emulation", you're using actual NVIM, embedded in VS!

"asvetliakov.vscode-neovim" is the extension you are looking for:

  1. Install the 'vscode-neovim; extension (https://marketplace.visualstudio.com/items?itemName=asvetliakov.vscode-neovim)
  2. Install Neovim version 0.5+ nightly
  3. Start winning.

(You can install neovim-nightly separately for just vscode, I usually build and install it to /opt/nvim - it's enough enough to do - let me know if you need help).

Works wonderfully. It might not work out of the box if you have some 100K epic nvim initialization file, but the plugin documents a workaround for having an embedding/VS specific configuration.

READ MORE
6 upvotes·91.8K views
View all (6)
Needs advice
on
DjangoDjangoLaravelLaravel
and
RailsRails

Which is better of Laravel, Rails and Django for creating great products quickly?

Which is better for creating open source apps that others might want to contribute to?

I want a mature tool for creating web apps that qualifies for:

  • Quick prototyping
  • Easy to get to production level for backend
  • Maintainable and buildable by one person alone
  • Enforces conformity, so others can easily read and contribute to the code, making successfully open sourcing possible
  • Works well with React
  • Has a mature and fairly stable ecosystem for the basics (auth, storage, db, image handling, backups, change history, etc.
  • Has an ecosystem that will still be alive in 10 years, responding to changes.

I would have to learn Ruby, Python or PHP for each, so that factors in too.

I'm proficient in React and Node.js, but I feel the node backend ecosystem is too immature with a million different ways to do everything, and too many decisions to make, too much wiring to get everything to work together, and too many packages that end up not being supported a few months down the line.

Which would you choose for me to learn?

READ MORE
12 upvotes·120.1K views
Replies (5)
Meam Software Engineering Group·
Recommends
Django
Rails

Comparing them end-to-end, Rails comes the most productive in my opinion. But there are bolder parameters you may consider. i.e. no one switches from Django to Rails to improve productivity and vice versa (probably from Laravel to one of those two).

  • The language's productivity also matters, which both Ruby and Python are better for that.

  • There is a philosophical difference between #Django and #Rails :

  • Django supports the "Explicit over Implicit" idea, making it easier for newcomers to understand what's going on. This idea also has downsides. This allows beginners to start working with Django without even learning Django and best practices and defer learning by using references like Stackoverflow.com, which is not a good idea because you potentially don't know things that you don't know! Also, you may find many different project styles.

  • On the other hand, Rails support the "Convention over configuration" and Scaffolding idea. It's easier for a Rails developer to be added to a new project or just review a random Rails project. Everything has a default and also it has some downsides as well. e.g. As a beginner, everything feels like magic in Rails, and you don't understand what is going on and how Rails understand while you didn't "explicitly" say what do you want sometimes.

Conclusion: Rails and Django are more productive and you can build projects on your own quickly (many giant startups launched this way!).

Node.JS isn't immature, also sometimes shows better performance comparing the mentioned alternatives. But if you suffer from "a million different ways to do everything" and "many decisions to make", Take Ruby on Rails for sure.

P.S: for learning RoR I suggest the book/video from Michael Hartl.

READ MORE
7 upvotes·118.6K views
Recommends
Django

I picked Django because we use it at work. But honestly, if you don't know any of them, I would look at the jobs around where you live and learn the one that either has the most jobs posted or if you can look at the trends the one that is growing the number of jobs the most.

All three would satisfy your needs and all three are good choices. Dotnet core would also be a good choice, again if there are jobs in your area for said technologies. If you literally don't care about this for employment, learn them all and just do it in alphabetical order :)

Note: I think you are wrong about Node being too immature - there are also MOSTLY standards for everything you want to do on the backend that have not changed for many years.

READ MORE
5 upvotes·1 comment·119.7K views
Andrew Kornilov
Andrew Kornilov
·
July 28th 2021 at 5:56PM

> you are wrong about Node being too immature

and in course of few years you will end up with tons of broken/outdated dependencies, but with the critical vulnerabilities

·
Reply
View all (5)