This curriculum is a list of topics and learning resources for new makandra developers. If you haven't joined us yet, it offers you a glimpse of what you will learn!
We also offer an 8 month paid trainee program (German website) for junior developers that are looking to start a professional career in web development.
The first lesson is Ruby basics.
Ruby is the programming language we use almost exclusively.
if
, each
, case
, break
…def
, return
raise
def self.method
vs. def method
)include
There is no single place to look up documentation for our stack. Google is your friend here.
This card includes some hints where you can find API documentation. You probably want to drag a few of those links to your bookmarks toolbar. This will help in the upcoming exercises.
A good Ruby documentation is rubydocs.org.
The homepage of rubydocs.org is a little confusing. Here are docs for Ruby 2.2.2.
If you want to have docs for various Ruby/Rails versions try [de…
git is our version control system.
git
.git init
)git commit
)git log
)git diff
)git checkout
, git checkout -b
, git merge
)git stash
git clone
git push
git fetch
git pull
tig
bundle install
and bundle update
?bundle exec
do, why is it necessary?Gemfile.lock
do?Rails is our web framework.
ActiveRecord
)
has_one
, has_many
, has_many :through
ERB
SQL is the language used to talk to a database.
SELECT
WHERE
ORDER
INNER JOIN
, LEFT JOIN
GROUP BY
LIMIT
UPDATE
INSERT
and INSERT ... SELECT
DELETE
EXPLAIN
color
, font-size
…)margin
, padding
and the box modelfloat
position: absolute
and position: relative
JavaScript is a scripting language supported by all browsers. Browsers don't speak Ruby, so if we want to implement client-side logic that runs in the browser, we use JavaScript.
console.log
to…Read the following chapters from The Pragmatic Programmer (in our library):
Read the following chapters from Clean Code (in our library):
Also read:
Learn to read and write Haml.
Hints:
to_a
(don't let it happen by accident)@variable ||= computation
patternmemoized
gem@variable ||=
pattern.memoized
gem.What are the advantages of the memoized
gem over the @variable ||=
syntax?
When your code does not behave as expected, you can use a debugger statement ("breakpoint") at any point in your code. This statement will open a REPL ("console") that you can use to inspect the current state of the program and move the control flow ahead manually.
Use debugging tools to find the exact line in the code where your expectation does not match the actual behavior. Since we use open source for everything, we can always find that line. When you ask a colleague for help, they will be able to help you better when you have a…
Work through the following chapters from the Rails 5 edition of Everyday Rails Testing with RSpec (in our library), if you haven't read them yet.
Also read throu…
We are dealing with hundreds of tasks for dozens of projects every week. We need to be organized or we will drown in chaos.
The ressources below help.
Read the book (it's in our li…
rake
deploy
and `deploy:migratio…