Pull to refresh
18
0
Send message
Вот статья про софт и ОС для марсохода и параллели с подходами в Erlang

jlouisramblings.blogspot.com/2012/08/getting-25-megalines-of-code-to-behave.html

тут сборник рекомендаций написания C кода для NASA

lars-lab.jpl.nasa.gov/JPL_Coding_Standard_C.pdf
Сила Ruby в данном случае в блоках и в метапрограммировании в целом.

Вот так выглядит DSL Chef:

package "erlang"

deploy "/home/ourcoolproject" do
  repository "https://git.example.com/repo..git"
  revision "production"
  user "site"
  enable_submodules false
  migrate true
  migration_command "rake db:migrate"
  # Giving a string for environment sets RAILS_ENV, MERB_ENV, RACK_ENV
  environment "production"
  action :deploy
  restart_command "touch tmp/restart.txt"
  before_migrate do
    # release_path is the path to the timestamp dir 
    # for the current release
    current_release = release_path
     
    # Create a local variable for the node so we'll have access to
    # the attributes
    deploy_node = node
 
    # A local variable with the deploy resource.
    deploy_resource = new_resource
 
    python do
      cwd current_release
      user "myappuser"
      code<<-PYCODE
        # Woah, callbacks in python!
        # ...
        # current_release, deploy_node, and deploy_resource are all available
        # within the deploy hook now.
      PYCODE
    end
  end
end

А вот так DSL RSpec:

describe Git do
  COMMIT = "45435ffdf5"

  describe :describe do
    mock(Git).shell("git describe #{COMMIT}") { "cool!"}
    Git.describe(COMMIT).should be "cool!"
  end
end



Частично объясняет devopsanywhere.blogspot.com/2011/09/how-ruby-is-beating-python-in-battle.html
Поставил плюс топику за напоминание о прекрасной «Трассе 60».
От себя могу порекомендовать сайты:
1) www.careercup.com/page — Можно фильтровать вопросы по позиции и компаниями. Выглядит страшновато, но много полезного.

2) www.geeksforgeeks.org/ — задачки разбиты по категориям, так же есть список обновляющихся вопросов на собеседованиях, как и пункт 1 — www.geeksforgeeks.org/forum/view/company-interview

3) Книга от авторов первого сайта — «Cracking the Coding Interview: 150 Programming Questions and Solutions». Ставлю ее рядом с Programming Interviews Exposed.

4) www.glassdoor.com/ — кандидаты выкладывают свои впечатления и вопросы на собеседованиях. Менее техническое чем 1 и 2.
У Джона Роббинса в книжке Debugging Applications for Microsoft Windows несколько глав посвящены WinDBG. Эту книжку кстати бесплатно раздавали некоторое время назад как часть «Боекомплекта разработчика». Так что, если хорошо поискать, можно найти pdf на русском (не распознанный, а оригинальный).

Ещё есть на CodeProject неплохой для старта WinDbg Tutorial. Но лучше конечно Джона Роббинса почитать.
UFO landed and left these words here
И еще забыл один линк: tryruby.org/
Для взрослых есть более интересные вещи:
railsforzombies.org/
rubymonk.com/
UFO landed and left these words here
UFO landed and left these words here
уже лучше, только зачем reversed? есть же [::-1]
UFO landed and left these words here
UFO landed and left these words here
>>Но так делать не следует. Каждая команда watir-а к элементам dom-дерева — это лишний запрос к браузеру.

конечно, он будет тормозить, попробуйте такое

require «rubygems»
require «firewatir»

ff = FireWatir::Firefox.new
ff.goto(«www.travelocity.com/Hotels»)

t_now = Time.now
t_tomorrow=t_now + (60 * 60 * 24)

ff.text_field(:id,«HO_to»).set(«New York, NY, USA»)
ff.text_field(:id,«HO_fromdate»).set(t_now.strftime("%m/%d/%Y"))
ff.text_field(:id,«HO_todate»).set(t_tomorrow.strftime("%m/%d/%Y"))
ff.form(:name,«formHO»).submit

do_f=true
while do_f do
ff.wait_until{ff.div(:id,«resultsList»).div(:class,«module»).exists?}

puts «page: #{ff.div(:id,'resultcontrol-top').strong(:text,/\d+/).text}»

ff.div(:id,«resultsList»).divs.each do |t|
next if (t.class_name != «module»)
name=t.h2(:class,'property-name').links[2].text
price=t.h3(:class,'price')
price=price.span(:class,'newprice') if price.span(:class,'newprice').exist?
puts "#{name} -> #{price.text}"
end

if (ff.link(:class,'gwt-Anchor next').exist?)
ff.link(:class,'gwt-Anchor next').click
else
do_f=false
end

end

Information

Rating
Does not participate
Registered
Activity