_broody means pick a framework for building the type of app your want and the search out a tutorial on building a sample app. E.g. in the web app (non single-page app world), you could use rails and the with a little googling you might find michael hartll's free tutorial. He builds out an entire app (actually two) and teaches you the basics of getting setup up and performing Create, Read, Update, Delete, Index operations on data. Which is a lot of what most simple web apps do. After learning that you an the re-build the tutorial app to fit what you want do or whatever your business domain is. Rails is just one example. You can find similar resources for Swift if you are looking at iOS apps or Ember/Angular/JS-Framework. If a tutorial is any good it will give you the lay of the land and teach you the basics of framework. Then you re-apply the concepts you learned to build your app. From there you can start doing and learning more complicated stuff.
> What jobs hire people skilled in ruby?
Mostly web development jobs using Ruby on Rails at smaller companies/startups.
> What is ruby mostly used for in the real world to make?
Ruby can be used to create anything, but is mostly used for websites and sysadmin tasks.
> Also, how is ruby on rails related to ruby (and what can you make with that)?
Ruby on Rails is related to ruby because it is a web framework built with ruby. It helps you organize and build your website quickly by using ruby code.
If you're interested in learning Ruby on Rails I'd recommend starting with learning the syntax of ruby, or you may end up lost with the "magic" that Ruby on Rails does :).
For an intro to Ruby check out: http://tryruby.org/
For an intro to Rails check out the screencasts at: http://rubyonrails.org/screencasts
Hope that helps :)
Ruby on Rails is a very popular server side web application framework. That alone accounts for quite a lot of the popularity of Ruby in the web industry. Basically its a big packaged library of things that are incredibly useful for a large variety of web applications. There's other frameworks you could use instead, but mostly they do the same sort of things in the same sort of ways.
There's a couple things that are in this ballpark out there already, the most prominent one I know of is probably Suspenders:
https://github.com/thoughtbot/suspenders
Also, Heroku recently announced a new app.json manifest format which will let you do cool things like:
{ "name": "Ruby on Rails", "addons": ["heroku-postgresql:hobby-dev","postgres"expeditedssl:single", "papertrail"], "description": "A template for getting started with the popular Ruby framework.", "website": "http://rubyonrails.org", "success_url": "/welcome", "env": { "RAILS_ENV": "production", "COOKIE_SECRET": { "description": "This gets generated", "generator": "secret" }, "SETUP_BY": { "description": "Who initiated this setup", "value": "" } }, "scripts": { "postdeploy": "bundle exec rake db:migrate" } }
Which will do all the setup for your when you push your deploy.
I own both railsbricks.net and railsbricks.com. Notice the "s" between "l" and "b" (yeah... spelling can be tough). I chose to use the .net to highlight the free and open-source nature of the tool. The name RailsBricks is derived from the web framework known as Ruby on Rails as it is bricks for a Rails app.
Thanks for the laugh, though.
So the existance of the ruby/rails websites:
Doesn't indicate to you that rails has a very good track record of running in a high-volume, production environment?
I'm guessing you are referring to twitter when you are talking about ruby's apparently poor track record. But like all extremely large volume sites (like facebook and twitter), a lot of customization and optimisation needs to be done in order for it to be effective. These large sites are breaking new grounds for performance, and nothing will work out of the box for them. For example, facebook wrote a php compiler to make it faster. Twitter rewrote one of their performance bottlenecks in scala. This doesn't prove that ruby or php are unsuitable for large websites.
EDIT: Reading your other comments it seems that you though the only major site on the internet using ruby was twitter. Please do a little research before you make such inaccurate claims.
> Not many browsers (in the grand scheme of things) support Ruby on Rails
What kind of browser support issues do you run into? Rails is a back-end framework (views spit out basic enough HTML) so I'm surprised.
> When asking for help on a specific topic, it takes too long for people to get back to us
Did you try #rubyonrails on freenode, or other resources listed here?
> We are still debating whether we want a single web page that is dynamic or want separate pages for login/the list/filters/user profiles/etc. Would you guys want everything to be on one page and utilize popups for input and profile editing, or would you rather have multiple web pages to bounce between. The former would be more concise, but the latter may be more organized.
Do whatever lets you actually build it.
Making it an SPA is going to be substantially more work unless you guys have a lot of front-end experience. If you're green on front-end JS, you're going to likely find yourselves having to pick up some framework (Angular, React, whatever is hot this minute) and then experience the "fun" of JS ecosystem churn.
If you need a centralized source of information that changes over time(e.g. a high score list, user-to-user interactions, loading new "levels", or in app purchases), you will probably want to run an external web service. Java Struts would be fine if you want to stick to Java, but you have to double check what is available on your server. But most web applications don't benefit from any performance advantages Java may offer especially when it sounds like all you need is a thin API wrapping a database. Personally, I don't find Java to be a pleasant language, so I will use any chance I get to code in just about anything else. I prefer Django (Python) for my backend needs, but you 'll probably get something running quicker with Ruby on Rails.
On the other hand, if your game is completely self-contained, you can just use the SQLite that ships with Android.
The advice that I kept hearing all over Reddit was to go to /r/learnprogramming.
I use these websites to learn most of my stuff:
But I'm sure there are easier ways.
I'd recommend Ruby on Rails - it's a rapid web development framework which honours good development practices. Also, you don't have to be an expert in Ruby to start learning and there are tons of great tutorials and screencasts over the internet.
I have only ever deployed a rails toy app to heroku which is dead simple, but try this page as a starting point: http://rubyonrails.org/deploy. I would also recommend signing up for a few of the paid code school courses, they'll teach you a lot about rails.
> http://rubyonrails.org/documentation > http://guides.rubyonrails.org/
These do not actually document all conventions. They do not even document all of the conventions one comes across in basic usage.
> Also, you can just buy a book!!!
Thanks, but I like my documentation up-to-date.
> What were you trying to use Rails for?
Making web applications, which I believe is the usual use for web application frameworks.
> I'm on a Windows machine, so Jekyll won't work, no matter how great of a solution it is
Good news for you! Windows has WSL which can run Bash on Ubuntu on Windows! Been using it for RoR development. Make sure you visit the subreddit to get started.
if you want to do backend webdev, i'd recommend picking up ruby. take the codecademy ruby course to familiarize yourself with the syntax and some of the conventions, then use sinatra to get a little web app going.
once you've familiarized yourself with all the pain points that come from doing a vanilla ruby project, look at rails.
whatever you do, resist the temptation to "just use php."
The #rubyonrails IRC channel is usually quite active. More info here http://rubyonrails.org/community/ There's also the #ruby channel for discussing Ruby itself, and I've heard people mention #friendly-coders for general/friendly code discussions. You may also want to search www.meetup.com for any local Ruby/Rails groups in your area.
> Software Developers Applications have a 4.2% chance of being automated
No we don't. The chance is much much higher. it's just not visible as traditional robuts turking jerbs, so people won't hear about it.
Fact is, thanks to all the software tools out there now, projects that would have taken whole teams months to do, can be done by one guy in a week if he leverages everything else properly.
FFS, I personally have automated myself out of parts of my own job at times. But when it happens like this people see it for what it is: I made a robot do part of my job for me, and my job got easier. Or I did more and got a raise. The robot didn't steal my job. Even if it did, I'd just climb up the abstraction hierarchy and work on something more interesting anyway.
Robots are taking software engineer jobs at an enormous pace, and they look like this. But nobody cares because turns out, history's right (at least in software): this just gives us more and better work to do
Over the last 3 years I've personally been involved in teaching a few hundred people how to code. Here's a general answer to your general question. :)
Pick problems, projects, exercises, puzzles, etc. that are similar to things you already understand but contain a few concepts, techniques, tools, or whatever that are less familiar to you.
For example, if you know how to build a basic photo gallery using the Sinatra web framework then building the same photo gallery using Rails is a great way to learn Rails. Think of it like an experiment: you'll learn the most from the experiment when you're able to control every variable but one.
Spend enough time working that you "feel the burn" but not so much that you're exasperated. Most beginners spend too much time working on inconsequential things.
Get feedback on your work. Getting feedback early and often is the easiest way to prevent yourself from spinning in circles.
Incorporate that feedback into your work, paying special attention to the feedback you didn't expect — that's where the gaps in your knowledge are.
Well, most likely you'll have to do both but I'd say start with Rails if you already know Ruby. As for applying Korean and English, I'm not sure. I am fluent at Spanish and English and rarely apply that into webdev. Sometimes you make a site in Spanish, sometimes in English.
Something to note though is that comments and code should always be in english, for easy sharing and stuff :)
i would start with the front-end. just use html, css, javascript and jquery to start building out how you want the page to look. then you can move on to pulling data from the apis to display: http://api.jquery.com/jquery.getjson/
that will introduce you to ajax calls which you can also use to get the csv results. you don't need to add anything to deal with the json results as javascript knows how to handle that already. you'll need to use some custom code to parse the csv results or use some framework like http://papaparse.com/
you should be able to do all of that by just editing local html files and opening them in your browser to test.
after that, you'll need to figure out a bunch of stuff in regard to the server-side code. you'll most likely want to install apache and either mysql or postgresql. then maybe get started with ruby on rails or something http://rubyonrails.org/
i imagine just figuring out the front end stuff and accessing the apis and parsing results is going to take you more than a week though. so, you probably don't need to worry about the rest yet.
The two on this page are recommended in an official kind of way and up to date. The rails 4 way is another option for a general book on modern rails.
> Microsoft
If you're on Windows, you're gonna have a bad time. The vast majority of devs who use ruby are on *nix variants. It can be done though, look to jRuby for best results.
You can probably learn some general ruby and rails concepts, but if I were you I'd opt for more current learning material. As kerricklong says the current version of ruby is 1.9.2 (http://rubyonrails.org/) and the current version of rails is 3.2 (http://rubyonrails.org/) Some good books are: The Well-grounded Rubyist, Programming Ruby, The RailsWay or Agile Development with Rails. More advanced books: Eloquent Ruby and Metaprogramming Ruby. Finally check out http://rubyonrails.org/documentation. That page has links to API documentation, rails guides, etc.
What language are you coming from? I ask because there may be a book that helps to bridge the knowledge of that language over to ruby.
Good luck.
Ignoring Python for a moment: a web framework is a set of tools and a 'way of doing things' that takes a lot of the pain out of building a web site or a web application. Suppose you wanted to code your own blog from scratch (e.g. have it handle blog post submissions, comments etc.); a web framework would be the perfect tool for the job as it will make your job a lot easier by hiding a lot of the complexity and technicalities, resulting in simpler code and less work overall. In other words, they let you better concentrate on the high-level design of your web application rather than worrying about things like authentication, raw database access and generating HTML.
Django, Bottle and Flask are examples of such frameworks which happen to be written in Python. There are other web frameworks designed around other languages, such as Ruby on Rails and CakePHP.
Different frameworks provide different toolsets. Django is a fairly substantial framework which is a lot more structured and includes more 'helpers' than a micro framework like Bottle. For example, Django comes with a nice administration module out of the box which is very useful for managing the data/models in your database. Bottle is more flexible compared to Django, but it makes you do more low level work.
If you want to be in demand, and get paid well, learn Rails. I work as a consultant and the demand for skilled rails devs is extremely high right now, and will be for the foreseeable future. Plus, it's fun.
Sinatra is a simple framework for making basic websites (based on the frontend model). It's probably best suited for smaller websites, I do however like using it for anything. Rails is a bigger MVC framework which is a bit more popular (but also a lot bigger and slower since its pretty huge). Rack is a modular webserver interface used to interface between a bunch of ruby web frameworks (like sinatra and rails) and various application servers like unicorn, mongrel and thin.
You can read about Sinatra and Rails. Rack.
There is a lot of information out there! I recommend watching screencasts and just try to create some projects. :-)
I like using sinatra because it's usually quicker than Rails and my applications aren't that big anyway.
As for benchmarks:
That entirely depends on what your application does and how well it's cached. Most of my applications are heavily cached so 99% of requests never hit the application servers, allowing high reqs/s.
Ruby on Rails is easy to get started with and you get results fast. It's built around a Model View Controller pattern, with models being abstracted database tables, views being modified html. In my experience it's kind of mysterious at first. A lot of functionality is built into the platform, and it often feels like you pass control to the system and things happen by magic. As you work with it more you get more familiar with how it's all working, get used to it, and make use of it.
I'll just leave this here: http://rubyonrails.org/applications
There are more than a handful of multi-million dollar web companies powering their high scale applications on Rails. That's just one framework of hundreds.
There are just as many successful companies built on Django, ASP.NET, and any of the dozens of PHP frameworks.
I could take all your arguments and turn them around on you. I'm going to assume you're writing your web applications in C with a custom built webserver and datastore since you clearly believe generic tools are for chumps.
If you really think that a well architected, peer reviewed, thoroughly unit-tested MVC framework with a strong community behind it is only worth a "few hours of work", you're clearly beyond convincing otherwise.
The first principle of Rails is "optimize for developer happiness", and developer is the happiest when he/she can complete any given task with the least amount of effort (without the employers knowing, of course) . At the end of the day, we developers are paid for the use of what we produce, not what we actually did.
Maybe, maybe not. I'd guess that a lot of frameworks spend a lot of time optimizing functions, and if you're going to replicate that functionality, your replication might be slower, might be faster. Check out The Rails Doctrine. Number one is "Convention over Configuration", which is true here. Your project should be easier to maintain if you use a framework, your problems will have been solved before, you can skip a lot of development time. A perfect custom solution for any project with complexity will run faster than one created with a framework, but the framework application can be developed in a fraction of the time, will probably have less problems, and will be easier to maintain.
> What are some project that would be good to do with Ruby?
Ruby on Rails is the most well known.
However, take a look through the Ruby Quiz for inspiration.
There is a "Ruby way" actually, and it is described pretty well in the Rails doctrine. Whether you agree or disagree, or whether you abide by it, is entirely up to you. Ruby doesn't care. Which is arguably bad for beginner programmers.
Decide where to start. Ruby on Rails has a pretty low barrier of entry.
If you want to learn web apps but don't know enough to ask more than, "where do I get started?", then Rails is as good a choice as any.
Perhaps JS-Git? Don't ask me how to incorporate that into a webpage, however—I think javascript is a tool of the devil and only use it when absolutely necessary.
If you're interested in building web-apps and the like, I recommend looking into Rails, instead of trying to build something from scratch.
Websites? You likely want to learn Ruby on Rails: rubyonrails.org. For Ruby itself, start at: www.ruby-lang.org. The Documentation page has links to tutorials, etc.
Guess it would depend on what your skills are. Do you know Ruby? Have you ever played around with Rails or Sinatra? Do you want an all in one solution? Maybe take a look at Meteor, it's pretty amazing if you're into JavaScript.
That being said, the one programming language that can do it all, Python. I'm still on the fence between going full steam with JavaScript or Python, so I guess whichever suits you best.
The problem I have with this Code of Conduct is its vagueness. They say vague law is bad law. For example, examples of breaking this Code of Conduct on this page http://rubyonrails.org/conduct/ :
According to CODE_OF_CONDUCT.md in Rails 5 beta, the history of how this code was adopted can be found here:
https://github.com/rails/rails.github.com/commits/master/conduct/index.html
but it doesn't really tell you anything. There's no history of a discussion.
No need to apologize! This seems to be a pretty rare error. I couldn't find anything like this on Google, StackExchange or Reddit.
I used the installer provided at http://rubyonrails.org/download/. Installed Ruby, and then followed the steps to install Rails.
Ruby -v:
ruby 2.2.3p173 (2015-08-18 revision 51636) [x64-mingw32]
About the video: what would you like me to record?
thanks so much. I'm not totally sure the counters aren't working. I'll try again.
Don't recall if I said this but I'm making a rails web site for browsing google images and creating cards using the images. The missing piece right now is the ability to actually play with the cards. I'm hoping it won't be too difficult to automatically translate a card's attributes table to XMage logic. I wonder if Cockatrice would be easier.
SJWs need to be held to account for their denial of socioeconomic class as a vector of marginalization. What this commenter points out can be summed up as "class war, not race war".
Note the absense of class on this Code of Conduct that was recently lobbied for by Ruby on Rails SJWs:
http://rubyonrails.org/conduct/
Is the absence of class in mainstream SJW analysis accidental? My guess is no. It makes SJWism appealing to the ruling class which increases the odd that, in the long-term, SJWs can successfully lobby for their mechanisms to be implemented by the state.
Not entirely sure where you are in the process or what you're trying to do, but the rails guides are a great resource:
http://guides.rubyonrails.org/getting_started.html
and here's a link to guide the ruby and rails install process:
Logic less template languages (curly braces in languages like Liquid ) and static site generators are great but not for apps with dynamic and user generated content. You'd have to be building a tool for a specific kind of app like Shopify did for online stores.
I'd reccomend learning a frame work like Ruby on Rails. Once you get your head around the MVC structure it is really simple to get started. For example, in Rails creating an app with a PostgreSQL database is as simple as as:
rails new myapp --database=postgresql rake db:setup rails server
Boom. Navigate to localhost:3000 and there's your app.
Thanks! It was quite a number of hours over the last couple months. I'm currently using the Ruby on Rails framework, which has done a lot of heavy lifting for me and I think should scale well in the long-run.
Rails is great! Check out /r/rails...
It's been getting more and more popular over the past few years. It has great community support, most importantly through rubygems (which you can basically drop in to your project).
I probably should have used an image of Ruby's humble creator Matz or Aaron (tenderlove) Patterson (yes, that is his Rails core-team profile image). :)
There was a presentation, I think by DHH, showing how you could develop a blog engine in a very short amount of time. It used to be here I guess: http://rubyonrails.org/screencasts (maybe the last one here).
I would look in to using a framework to build that kind of site
I'm a CSS\HTML\jQuery guy myself, and I've found that both CI\RoR are relatively easy to wrap my head around and get the basics of a data driven site up and running.
Go through this guide.
Have fun.
Edit: For more see this
> Ruby hasn't been used for anything important for some definition of "important"
FTFY. For some definitions of "important", however, Ruby has been used. A quick google search led me to this: http://rubyonrails.org/applications