ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
§¢§Ö§ã§á§à§Ü§à§Û§ß§í§Û §Ü§à§Õ
    @SergeyMoiseev
§° §ã§Ö§Ò§Ö


? §¥§Ö§Ó§Ö§Ý§à§á§Ö§â §ã 1998 §Ô§à§Õ§Ñ.
? §±§Ú§ã§Ñ§Ý §Ú§ß§Õ§å§ã§ä§â§Ú§Ñ§Ý§î§ß§í§Ö §ã§Ú§ã§ä§Ö§Þ§í §ß§Ñ PHP.
? §´§Ö§á§Ö§â§î §ß§Ñ RoR.
§¬§Ñ§Ü §à§á§â§Ö§Õ§Ö§Ý§Ú§ä§î
        §ß§Ö§à§æ§Ú§ä§Ñ?

? §´§à§Ý§ã§ä§í§Ö §Ü§à§ß§ä§â§à§Ý§Ý§Ö§â§í
? §¢§Ö§ã§á§à§Ü§à§Û§ã§ä§Ó§à
? §¨§Ö§Ý§Ñ§ß§Ú§Ö ¡°§â§Ñ§Ò§à§ä§Ñ§ä§î¡± §ã §á§â§Ö§Õ§Ö§Ý§î§ß§í§Þ§Ú
  §å§ã§Ý§à§Ó§Ú§ñ§Þ§Ú
§³§Ñ§Þ§í§Û §á§â§à§ã§ä§à§Û
   §ã§á§à§ã§à§Ò?
  def   foobar
    x   = self.bar
    x   = nil if x == 0
    y   = foo

    return x || y
  end
Return

? §³§Ñ§Þ§í§Û §ß§Ö§à§é§Ö§Ó§Ú§Õ§ß§í§Û §à§á§Ö§â§Ñ§ä§à§â §Õ§Ý§ñ
  §ß§à§Ó§Ú§é§Ü§à§Ó
? §¶§å§ß§Ü§è§Ú§ñ §Ö§Ô§à §ß§Ñ§Ú§Ò§à§Ý§Ö§Ö §à§ä§Ý§Ú§é§Ñ§Ö§ä§ã§ñ §à§ä
  §ä§Ñ§Ü§à§Ó§à§Û §Ó §Õ§â§å§Ô§Ú§ç §ñ§Ù§í§Ü§Ñ§ç
return §Õ§Ý§ñ ?ow-control
    def foobar
      if foo?
        if bar?
           #do something
           return 42
        else
           #do something
        end
      else
        #do something
      end
    end
if || unless
           if !params[:query].blank?




if !something                  unless something
unless?

? §¬§Ñ§Ü §ß§Ú §ã§ä§â§Ñ§ß§ß§à, §ï§ä§à §Ö§Õ§Ú§ß§ã§ä§Ó§Ö§ß§ß§à§Ö §Õ§Ý§ñ
  §é§Ö§Ô§à §à§ß §ß§å§Ø§Ö§ß.
? §¹§Ú§ä§Ñ§ä§î §Ý§à§Ô§Ú§Ü§å §à§Ò§ì§Ö§Õ§Ú§ß§Ö§ß§ß§å§ð and/or §á§â§Ú
  §ï§ä§à§Þ §á§â§Ú§Þ§Ö§ß§ñ§ñ §Ü §ß§Ö§Û ! §ã§Ý§à§Ø§ß§à.
? §µ §ß§Ö§Ô§à §ß§Ö§ä elsunless (§ß§Ö§Ý§î§Ù§ñ §ã§Ü§Ñ§Ù§Ñ§ä§î, §é§ä§à
  §ï§ä§à §Þ§Ú§ß§å§ã).
If/else vs. unless
def possible_parents
  if self.new_record?
    Category.first_level
  else
    Category.first_level.where('id != ?', self.id)
  end
end

                                 vs.

   scope :not_given, lambda{|id| where('id != ?', id)}

   def possible_parents
     Category.first_level
     Category.first_level.not_given(self.id) unless self.new_record?
   end
§£§Ú§Õ§í §Ò§Ö§ã§á§à§Ü§à§Û§ã§ä§Ó§Ñ

? §¢§à§ñ§Ù§ß§î §á§à§Ý§î§Ù§à§Ó§Ñ§ä§Ö§Ý§ñ (§Ô§Ý§å§á§à§Ô§à §Ú§Ý§Ú
  §Ù§Ý§à§ß§Ñ§Þ§Ö§â§ñ§ß§ß§à§Ô§à).
? §¢§à§ñ§Ù§ß§î §á§â§Ö§Õ§Ö§Ý§î§ß§í§ç §å§ã§Ý§à§Ó§Ú§Û.
? §¢§à§ñ§Ù§ß§î §ñ§Ù§í§Ü§Ñ. §¯§Ö§Õ§à§ã§ä§Ñ§ä§à§Ü §Ó§â§Ö§Þ§Ö§ß§Ú §Õ§Ý§ñ
  §ï§Ü§ã§á§Ö§â§Ú§Þ§Ö§ß§ä§à§Ó.
? §ª§Ý§Ý§ð§Ù§Ú§ñ §Ü§à§ß§ä§â§à§Ý§ñ.
§¢§à§ñ§Ù§ß§î §á§à§Ý§î§Ù§à§Ó§Ñ§ä§Ö§Ý§ñ
          §¬§à§Õ §Ú§Ù §Ü§à§ß§ä§â§à§Ý§Ý§Ö§â§Ñ §Ó §Ñ§Õ§Þ§Ú§ß§Ü§Ö
@role = Role.find params[:id]
redirect_to role_index_path and return unless @role


  §±§â§à§Ô§â§Ñ§Þ§Þ§Ú§ã§ä §Ò§à§Ú§ä§ã§ñ §ß§Ö§á§â§Ñ§Ó§Ú§Ý§î§ß§à§Ô§à §á§Ñ§â§Ñ§Þ§Ö§ä§â§Ñ.
 §±§â§Ú §ï§ä§à§Þ §à§ß §Ù§Ñ§Ò§í§Ó§Ñ§Ö§ä §à §ä§à§Þ, §é§ä§à ?nd §Ó§í§Ò§â§Ñ§ã§í§Ó§Ñ§Ö§ä
                   exception.
§¢§à§ñ§Ù§ß§î §á§â§Ö§Õ§Ö§Ý§î§ß§í§ç
             §å§ã§Ý§à§Ó§Ú§Û
session[:foo] = params[:foo].blank? ? nil :
params[:foo].to_i


                         VS.

session[:foo] = params[:foo] ? params[:foo] : nil
§¢§à§ñ§Ù§ß§î §ñ§Ù§í§Ü§Ñ
scope :with_state, lambda {|state| where('state = ?',
state.to_s)}
scope :ready_for_start, with_state(:foo)
scope :ready_for_close, where('state IN(?)',
[:foo, :bar])


     ¡°§¡ §Ó§Õ§â§å§Ô §à§ß §ß§Ö §á§â§Ú§Ó§Ö§Õ§Ö§ä §ã§Ú§Þ§Ó§à§Ý §Ü §ã§ä§â§à§Ü§Ö?¡±

scope :with_states, lambda {|s| where("state in
(#{s.map{|e| "'#{e.to_s}'"}.join(',')})")}
§ª§Ý§Ý§ð§Ù§Ú§ñ §Ü§à§ß§ä§â§à§Ý§ñ
def self.find_for_facebook_oauth(access_token,
signed_in_resource=nil)
  data = access_token['extra']['user_hash']
  if user = User.find_by_email(data["email"])
    user
  else # Create a user with a stub password.
    user = User.create do |record|
      record.email = data['email']
      record.password = Devise.friendly_token[0,20]
      record.registration_source = 1
      record.skip_confirmation!
    end
  end
end
§°§ã§Ý§Ö§á§Ý§Ö§ß§Ú§Ö
          §Ò§Ö§ã§á§à§Ü§à§Û§ã§ä§Ó§à§Þ

def self.to_rtf(codes)
  buffer = ""
  codes.each {|code| buffer << code.value << "n"}
  buffer
end
§°§ã§Ý§Ö§á§Ý§Ö§ß§Ú§Ö
            §Ò§Ö§ã§á§à§Ü§à§Û§ã§ä§Ó§à§Þ 2
def self.to_rtf(codes)
  codes.inject("") {|code, buffer| buffer << code.value << "n"}
end



                    §¿§ä§à §Ò§í§Ý §â§Ö§æ§Ñ§Ü§ä§à§â§Ú§ß§Ô
§°§ã§Ý§Ö§á§Ý§Ö§ß§Ú§Ö
   §Ò§Ö§ã§á§à§Ü§à§Û§ã§ä§Ó§à§Þ 3
   def self.to_rtf(codes)
     codes.map(&:value).join("n")
   end

§¡ §ï§ä§à §ä§à, §é§ä§à §ß§Ñ §ã§Ñ§Þ§à§Þ §Õ§Ö§Ý§Ö §Ò§í§Ý§à §ß§å§Ø§ß§à.
§©§ß§Ñ§Û §ã§Ó§à§Ú
              §Ú§ß§ã§ä§â§å§Þ§Ö§ß§ä§í
before_filter :guests_only!

def guests_only!
  redirect_to root_url and return if user_signed_in?
end

                 §©§Ñ§é§Ö§Þ §ä§å§ä return?
§²§Ñ§Ù§Ô§Ñ§Õ§Ü§Ñ
? §±§â§à§Ô§â§Ñ§Þ§Þ§Ú§ã§ä §ß§Ö §Ù§ß§Ñ§Ö§ä, §Ü§Ñ§Ü §â§Ñ§Ò§à§ä§Ñ§Ö§ä
  before_?lter.
? §°§ß §Ò§Ö§ã§á§à§Ü§à§Ú§ä§ã§ñ, §é§ä§à §Ü§à§Õ §Ü§à§ß§ä§â§à§Ý§Ý§Ö§â§Ñ
  §Ò§å§Õ§Ö§ä §Ó§í§á§à§Ý§ß§ñ§ä§î§ã§ñ §á§à§ã§Ý§Ö §â§Ö§Õ§Ú§â§Ö§Ü§ä§Ñ §Ó
  §æ§Ú§Ý§î§ä§â§Ö.
? §°§ä §ã§Ó§à§Ö§Ô§à §Ò§Ö§ã§á§à§Ü§à§Û§ã§ä§Ó§Ñ §à§ß §Ù§Ñ§Ò§í§Ó§Ñ§Ö§ä §Ü§Ñ§Ü
  §à §ä§à§Þ, §é§ä§à §ß§å§Ø§ß§à §Ó§à§Ù§Ó§â§Ñ§ë§Ñ§ä§î false, §ä§Ñ§Ü §Ú §à
  §ä§à§Þ, §é§ä§à §á§à§ã§Ý§Ö §â§Ö§Õ§Ú§â§Ö§Ü§ä§Ñ §ï§ä§à §å§Ø§Ö §Ý§Ú§ê§ß§Ö§Ö.
§¢§à§Ý§Ö§Ö §á§â§à§ã§ä§à§Ö
       §à§Ò§ì§ñ§ã§ß§Ö§ß§Ú§Ö

? §¬§à§Õ §Ò§í§Ý §á§Ö§â§Ö§ß§Ö§ã§Ö§ß §Ó §æ§Ú§Ý§î§ä§â §Ú§Ù §ï§Ü§ê§Ö§ß§Ñ.
? §±§â§à§Ô§â§Ñ§Þ§Þ§Ú§ã§ä§å §á§â§à§ã§ä§à §ß§Ö §ç§à§é§Ö§ä§ã§ñ §Ö§Ô§à
  §á§Ö§â§Ö§á§Ú§ã§í§Ó§Ñ§ä§î, §á§à§ä§à§Þ§å §Ü§Ñ§Ü §Ü§Ñ§Ø§Ö§ä§ã§ñ, §é§ä§à
  §ï§ä§à§ä §Ó§à§Ù§Ó§â§Ñ§ä §ß§å§Ø§Ö§ß (§Ó§à§Ù§Ó§â§Ñ§ë§Ñ§Ö§Þ§ã§ñ §Ü
  §Ú§ã§ç§à§Õ§ß§à§Þ§å §à§Ò§ì§ñ§ã§ß§Ö§ß§Ú§ð).
Metaprogramming to
          the recsue
if permission.can?
  can permission.action.to_sym, subject
else
  cannot permission.action.to_sym, subject
end


                    vs.
     method = permission.can? ? :can : :cannot
     send method, permission.action.to_sym, subject
§³§á§à§ã§à§Ò§í §Ò§à§â§î§Ò§í


? §©§ß§Ñ§ß§Ú§Ö §ñ§Ù§í§Ü§Ñ
? §¬§â§Ú§ä§Ú§é§Ö§ã§Ü§Ú§Û §Ó§Ù§Ô§Ý§ñ§Õ §ß§Ñ §ã§Ó§à§Û §Ü§à§Õ
? Let it fail (hoptoad §Ó §á§à§Þ§à§ë§î)

More Related Content

Viewers also liked (20)

?? ?????? ?????? ????
?? ?????? ?????? ?????? ?????? ?????? ????
?? ?????? ?????? ????
Dina Zaghdad
?
Trabajo de photo filtre n? 2Trabajo de photo filtre n? 2
Trabajo de photo filtre n? 2
Jorge Mu?iz
?
El inicio de la independencia-1El inicio de la independencia-1
El inicio de la independencia-1
pefo
?
Picnic for 24contest2 @ Cookpad
Picnic for 24contest2 @ CookpadPicnic for 24contest2 @ Cookpad
Picnic for 24contest2 @ Cookpad
R. Ayakix
?
TIM KHO? V?I D?U OLIVE TINH KHI?T - VUI TR? KH?E.COM
TIM KHO? V?I D?U OLIVE TINH KHI?T - VUI TR? KH?E.COMTIM KHO? V?I D?U OLIVE TINH KHI?T - VUI TR? KH?E.COM
TIM KHO? V?I D?U OLIVE TINH KHI?T - VUI TR? KH?E.COM
vunangluong
?
±«²õ²¹½UœgÖ¸±ê0518
±«²õ²¹½UœgÖ¸±ê0518±«²õ²¹½UœgÖ¸±ê0518
±«²õ²¹½UœgÖ¸±ê0518
Hiroyuki Kita
?
ÖйúÍøÉÏÁãÊÛÉ̳ÇÆ·ÅÆ50Ç¿
ÖйúÍøÉÏÁãÊÛÉ̳ÇÆ·ÅÆ50Ç¿ÖйúÍøÉÏÁãÊÛÉ̳ÇÆ·ÅÆ50Ç¿
ÖйúÍøÉÏÁãÊÛÉ̳ÇÆ·ÅÆ50Ç¿
Mingbao Ying
?
Cirsoc 105Cirsoc 105
Cirsoc 105
juampi186
?
Termodinamika2
Termodinamika2Termodinamika2
Termodinamika2
rossanty
?
Praia AbrigoPraia Abrigo
Praia Abrigo
Marco Coghi
?
Rinnovo automatico
Rinnovo automaticoRinnovo automatico
Rinnovo automatico
Register.it
?
»ªÈÇ¡·Ê±´ú·çÔÆÐÂÊéÍƽéÀñ
»ªÈÇ¡·Ê±´ú·çÔÆÐÂÊéÍƽéÀñ»ªÈÇ¡·Ê±´ú·çÔÆÐÂÊéÍƽéÀñ
»ªÈÇ¡·Ê±´ú·çÔÆÐÂÊéÍƽéÀñ
pkkjohor
?
Power derivades 2
Power derivades 2Power derivades 2
Power derivades 2
adepares
?
§è§Ñ§ç§Ú§Þ §ä§Ö§ã§ä§ï
§è§Ñ§ç§Ú§Þ §ä§Ö§ã§ä§ï§è§Ñ§ç§Ú§Þ §ä§Ö§ã§ä§ï
§è§Ñ§ç§Ú§Þ §ä§Ö§ã§ä§ï
Dash Oogii
?
LifeLife
Life
Marco Coghi
?
ín¹ú¤ÎÉç»áµÄÆó˜I¤«¤éѧ¤Ö ¹ÍÓÃé_°k¤Î¤¢¤ê·½
ín¹ú¤ÎÉç»áµÄÆó˜I¤«¤éѧ¤Ö¹ÍÓÃé_°k¤Î¤¢¤ê·½ín¹ú¤ÎÉç»áµÄÆó˜I¤«¤éѧ¤Ö¹ÍÓÃé_°k¤Î¤¢¤ê·½
ín¹ú¤ÎÉç»áµÄÆó˜I¤«¤éѧ¤Ö ¹ÍÓÃé_°k¤Î¤¢¤ê·½
Takuji Hiroishi
?
?? ?????? ?????? ????
?? ?????? ?????? ?????? ?????? ?????? ????
?? ?????? ?????? ????
Dina Zaghdad
?
Trabajo de photo filtre n? 2Trabajo de photo filtre n? 2
Trabajo de photo filtre n? 2
Jorge Mu?iz
?
El inicio de la independencia-1El inicio de la independencia-1
El inicio de la independencia-1
pefo
?
Picnic for 24contest2 @ Cookpad
Picnic for 24contest2 @ CookpadPicnic for 24contest2 @ Cookpad
Picnic for 24contest2 @ Cookpad
R. Ayakix
?
TIM KHO? V?I D?U OLIVE TINH KHI?T - VUI TR? KH?E.COM
TIM KHO? V?I D?U OLIVE TINH KHI?T - VUI TR? KH?E.COMTIM KHO? V?I D?U OLIVE TINH KHI?T - VUI TR? KH?E.COM
TIM KHO? V?I D?U OLIVE TINH KHI?T - VUI TR? KH?E.COM
vunangluong
?
±«²õ²¹½UœgÖ¸±ê0518
±«²õ²¹½UœgÖ¸±ê0518±«²õ²¹½UœgÖ¸±ê0518
±«²õ²¹½UœgÖ¸±ê0518
Hiroyuki Kita
?
ÖйúÍøÉÏÁãÊÛÉ̳ÇÆ·ÅÆ50Ç¿
ÖйúÍøÉÏÁãÊÛÉ̳ÇÆ·ÅÆ50Ç¿ÖйúÍøÉÏÁãÊÛÉ̳ÇÆ·ÅÆ50Ç¿
ÖйúÍøÉÏÁãÊÛÉ̳ÇÆ·ÅÆ50Ç¿
Mingbao Ying
?
Cirsoc 105Cirsoc 105
Cirsoc 105
juampi186
?
Termodinamika2
Termodinamika2Termodinamika2
Termodinamika2
rossanty
?
Praia AbrigoPraia Abrigo
Praia Abrigo
Marco Coghi
?
»ªÈÇ¡·Ê±´ú·çÔÆÐÂÊéÍƽéÀñ
»ªÈÇ¡·Ê±´ú·çÔÆÐÂÊéÍƽéÀñ»ªÈÇ¡·Ê±´ú·çÔÆÐÂÊéÍƽéÀñ
»ªÈÇ¡·Ê±´ú·çÔÆÐÂÊéÍƽéÀñ
pkkjohor
?
Power derivades 2
Power derivades 2Power derivades 2
Power derivades 2
adepares
?
§è§Ñ§ç§Ú§Þ §ä§Ö§ã§ä§ï
§è§Ñ§ç§Ú§Þ §ä§Ö§ã§ä§ï§è§Ñ§ç§Ú§Þ §ä§Ö§ã§ä§ï
§è§Ñ§ç§Ú§Þ §ä§Ö§ã§ä§ï
Dash Oogii
?
ín¹ú¤ÎÉç»áµÄÆó˜I¤«¤éѧ¤Ö ¹ÍÓÃé_°k¤Î¤¢¤ê·½
ín¹ú¤ÎÉç»áµÄÆó˜I¤«¤éѧ¤Ö¹ÍÓÃé_°k¤Î¤¢¤ê·½ín¹ú¤ÎÉç»áµÄÆó˜I¤«¤éѧ¤Ö¹ÍÓÃé_°k¤Î¤¢¤ê·½
ín¹ú¤ÎÉç»áµÄÆó˜I¤«¤éѧ¤Ö ¹ÍÓÃé_°k¤Î¤¢¤ê·½
Takuji Hiroishi
?

Similar to Worried code (20)

Alexander Dymo - IT Jam 2009 - Ruby: Beaty Or The Beast
Alexander Dymo - IT Jam 2009 - Ruby: Beaty Or The BeastAlexander Dymo - IT Jam 2009 - Ruby: Beaty Or The Beast
Alexander Dymo - IT Jam 2009 - Ruby: Beaty Or The Beast
Alexander Dymo
?
About Python
About PythonAbout Python
About Python
Yury Yurevich
?
Enter: legacy code
Enter: legacy codeEnter: legacy code
Enter: legacy code
Kamil Samigullin
?
§±§â§à§Ô§â§Ñ§Þ§Þ§Ú§â§à§Ó§Ñ§ß§Ú§Ö §Ü§Ñ§Ü §ã§á§à§ã§à§Ò §Ó§í§â§Ñ§Ø§Ö§ß§Ú§ñ §Þ§í§ã§Ý§Ö§Û.
§±§â§à§Ô§â§Ñ§Þ§Þ§Ú§â§à§Ó§Ñ§ß§Ú§Ö §Ü§Ñ§Ü §ã§á§à§ã§à§Ò §Ó§í§â§Ñ§Ø§Ö§ß§Ú§ñ §Þ§í§ã§Ý§Ö§Û. §±§â§à§Ô§â§Ñ§Þ§Þ§Ú§â§à§Ó§Ñ§ß§Ú§Ö §Ü§Ñ§Ü §ã§á§à§ã§à§Ò §Ó§í§â§Ñ§Ø§Ö§ß§Ú§ñ §Þ§í§ã§Ý§Ö§Û.
§±§â§à§Ô§â§Ñ§Þ§Þ§Ú§â§à§Ó§Ñ§ß§Ú§Ö §Ü§Ñ§Ü §ã§á§à§ã§à§Ò §Ó§í§â§Ñ§Ø§Ö§ß§Ú§ñ §Þ§í§ã§Ý§Ö§Û.
Levon Avakyan
?
Alexander Dymo - IT-§Ü§Ý§å§Ò §¯§Ú§Ü§à§Ý§Ñ§Ö§Ó§Ñ - April 2011 - Ruby: Beaty and the Beast
Alexander Dymo - IT-§Ü§Ý§å§Ò §¯§Ú§Ü§à§Ý§Ñ§Ö§Ó§Ñ - April 2011 - Ruby: Beaty and the BeastAlexander Dymo - IT-§Ü§Ý§å§Ò §¯§Ú§Ü§à§Ý§Ñ§Ö§Ó§Ñ - April 2011 - Ruby: Beaty and the Beast
Alexander Dymo - IT-§Ü§Ý§å§Ò §¯§Ú§Ü§à§Ý§Ñ§Ö§Ó§Ñ - April 2011 - Ruby: Beaty and the Beast
Alexander Dymo
?
§´§Ö§à§â§Ú§Ú §Ú §á§â§Ñ§Ü§ä§Ú§Ü§Ú §æ§å§ß§Ü§è§Ú§à§ß§Ñ§Ý§î§ß§à§Ô§à §á§â§à§Ô§â§Ñ§Þ§Þ§Ú§â§à§Ó§Ñ§ß§Ú§ñ.
§´§Ö§à§â§Ú§Ú §Ú §á§â§Ñ§Ü§ä§Ú§Ü§Ú §æ§å§ß§Ü§è§Ú§à§ß§Ñ§Ý§î§ß§à§Ô§à §á§â§à§Ô§â§Ñ§Þ§Þ§Ú§â§à§Ó§Ñ§ß§Ú§ñ.§´§Ö§à§â§Ú§Ú §Ú §á§â§Ñ§Ü§ä§Ú§Ü§Ú §æ§å§ß§Ü§è§Ú§à§ß§Ñ§Ý§î§ß§à§Ô§à §á§â§à§Ô§â§Ñ§Þ§Þ§Ú§â§à§Ó§Ñ§ß§Ú§ñ.
§´§Ö§à§â§Ú§Ú §Ú §á§â§Ñ§Ü§ä§Ú§Ü§Ú §æ§å§ß§Ü§è§Ú§à§ß§Ñ§Ý§î§ß§à§Ô§à §á§â§à§Ô§â§Ñ§Þ§Þ§Ú§â§à§Ó§Ñ§ß§Ú§ñ.
Dev2Dev
?
§´§Ö§à§â§Ú§Ú §Ú §á§â§Ñ§Ü§ä§Ú§Ü§Ú §æ§å§ß§è§Ú§à§ß§Ñ§Ý§î§ß§à§Ô§à §á§â§à§Ô§â§Ñ§Þ§Þ§Ú§â§à§Ó§Ñ§ß§Ú§ñ - GDG D2D
§´§Ö§à§â§Ú§Ú §Ú §á§â§Ñ§Ü§ä§Ú§Ü§Ú §æ§å§ß§è§Ú§à§ß§Ñ§Ý§î§ß§à§Ô§à §á§â§à§Ô§â§Ñ§Þ§Þ§Ú§â§à§Ó§Ñ§ß§Ú§ñ - GDG D2D§´§Ö§à§â§Ú§Ú §Ú §á§â§Ñ§Ü§ä§Ú§Ü§Ú §æ§å§ß§è§Ú§à§ß§Ñ§Ý§î§ß§à§Ô§à §á§â§à§Ô§â§Ñ§Þ§Þ§Ú§â§à§Ó§Ñ§ß§Ú§ñ - GDG D2D
§´§Ö§à§â§Ú§Ú §Ú §á§â§Ñ§Ü§ä§Ú§Ü§Ú §æ§å§ß§è§Ú§à§ß§Ñ§Ý§î§ß§à§Ô§à §á§â§à§Ô§â§Ñ§Þ§Þ§Ú§â§à§Ó§Ñ§ß§Ú§ñ - GDG D2D
0xffAA
?
Grail - CodeFest'2015
Grail - CodeFest'2015Grail - CodeFest'2015
Grail - CodeFest'2015
Igor Khrol
?
Grail: §ê§Ñ§Ô§Ú §Õ§Ý§ñ §Ó§Ñ§ê§Ú§ç Python-§ä§Ö§ã§ä§à§Ó
Grail: §ê§Ñ§Ô§Ú §Õ§Ý§ñ §Ó§Ñ§ê§Ú§ç Python-§ä§Ö§ã§ä§à§ÓGrail: §ê§Ñ§Ô§Ú §Õ§Ý§ñ §Ó§Ñ§ê§Ú§ç Python-§ä§Ö§ã§ä§à§Ó
Grail: §ê§Ñ§Ô§Ú §Õ§Ý§ñ §Ó§Ñ§ê§Ú§ç Python-§ä§Ö§ã§ä§à§Ó
CodeFest
?
§±§Ñ§Ó§Ö§Ý §±§Ñ§Ó§Ý§à§Ó - Scala §Õ§Ý§ñ §á§â§à§æ§Ö§ã§ã§Ú§à§ß§Ñ§Ý§à§Ó - Joker 2013
§±§Ñ§Ó§Ö§Ý §±§Ñ§Ó§Ý§à§Ó - Scala §Õ§Ý§ñ §á§â§à§æ§Ö§ã§ã§Ú§à§ß§Ñ§Ý§à§Ó - Joker 2013§±§Ñ§Ó§Ö§Ý §±§Ñ§Ó§Ý§à§Ó - Scala §Õ§Ý§ñ §á§â§à§æ§Ö§ã§ã§Ú§à§ß§Ñ§Ý§à§Ó - Joker 2013
§±§Ñ§Ó§Ö§Ý §±§Ñ§Ó§Ý§à§Ó - Scala §Õ§Ý§ñ §á§â§à§æ§Ö§ã§ã§Ú§à§ß§Ñ§Ý§à§Ó - Joker 2013
ScalaNsk
?
Algorithms and programming lecture in ru
Algorithms and programming lecture in ruAlgorithms and programming lecture in ru
Algorithms and programming lecture in ru
ssuser0562f1
?
§¡§Ý§Ô§à§â§Ú§ä§Þ§Ú§Ù§Ñ§è§Ú§ñ §Ú §á§â§à§Ô§â§Ñ§Þ§Þ§Ú§â§à§Ó§Ñ§ß§Ú§Ö §³/§³++
§¡§Ý§Ô§à§â§Ú§ä§Þ§Ú§Ù§Ñ§è§Ú§ñ §Ú  §á§â§à§Ô§â§Ñ§Þ§Þ§Ú§â§à§Ó§Ñ§ß§Ú§Ö §³/§³++§¡§Ý§Ô§à§â§Ú§ä§Þ§Ú§Ù§Ñ§è§Ú§ñ §Ú  §á§â§à§Ô§â§Ñ§Þ§Þ§Ú§â§à§Ó§Ñ§ß§Ú§Ö §³/§³++
§¡§Ý§Ô§à§â§Ú§ä§Þ§Ú§Ù§Ñ§è§Ú§ñ §Ú §á§â§à§Ô§â§Ñ§Þ§Þ§Ú§â§à§Ó§Ñ§ß§Ú§Ö §³/§³++
ssuser0562f1
?
§¥§Ö§Þ§à§ß§Ú§Ù§Ú§â§à§Ó§Ñ§ß§ß§í§Û PHP - before it was cool
§¥§Ö§Þ§à§ß§Ú§Ù§Ú§â§à§Ó§Ñ§ß§ß§í§Û PHP - before it was cool§¥§Ö§Þ§à§ß§Ú§Ù§Ú§â§à§Ó§Ñ§ß§ß§í§Û PHP - before it was cool
§¥§Ö§Þ§à§ß§Ú§Ù§Ú§â§à§Ó§Ñ§ß§ß§í§Û PHP - before it was cool
Andrey Tokarchuk
?
functional patterns - dotnetconf'11
functional patterns - dotnetconf'11functional patterns - dotnetconf'11
functional patterns - dotnetconf'11
0xffAA
?
§¡§ß§Õ§â§Ö§Û §¬§Ñ§â§á§à§Ó, §±§â§Ú§Ó§Ñ§ä§ß§í§Ö §Ò§Ñ§Û§Ü§Ú §à§ä §â§Ñ§Ù§â§Ñ§Ò§à§ä§é§Ú§Ü§à§Ó §Ñ§ß§Ñ§Ý§Ú§Ù§Ñ§ä§à§â§Ñ §Ü§à§Õ§Ñ
§¡§ß§Õ§â§Ö§Û §¬§Ñ§â§á§à§Ó, §±§â§Ú§Ó§Ñ§ä§ß§í§Ö §Ò§Ñ§Û§Ü§Ú §à§ä §â§Ñ§Ù§â§Ñ§Ò§à§ä§é§Ú§Ü§à§Ó §Ñ§ß§Ñ§Ý§Ú§Ù§Ñ§ä§à§â§Ñ §Ü§à§Õ§Ñ§¡§ß§Õ§â§Ö§Û §¬§Ñ§â§á§à§Ó, §±§â§Ú§Ó§Ñ§ä§ß§í§Ö §Ò§Ñ§Û§Ü§Ú §à§ä §â§Ñ§Ù§â§Ñ§Ò§à§ä§é§Ú§Ü§à§Ó §Ñ§ß§Ñ§Ý§Ú§Ù§Ñ§ä§à§â§Ñ §Ü§à§Õ§Ñ
§¡§ß§Õ§â§Ö§Û §¬§Ñ§â§á§à§Ó, §±§â§Ú§Ó§Ñ§ä§ß§í§Ö §Ò§Ñ§Û§Ü§Ú §à§ä §â§Ñ§Ù§â§Ñ§Ò§à§ä§é§Ú§Ü§à§Ó §Ñ§ß§Ñ§Ý§Ú§Ù§Ñ§ä§à§â§Ñ §Ü§à§Õ§Ñ
Sergey Platonov
?
§­§Ö§Ü§è§Ú§ñ 1. §¯§Ñ§é§Ñ§Ý§à.
§­§Ö§Ü§è§Ú§ñ 1. §¯§Ñ§é§Ñ§Ý§à.§­§Ö§Ü§è§Ú§ñ 1. §¯§Ñ§é§Ñ§Ý§à.
§­§Ö§Ü§è§Ú§ñ 1. §¯§Ñ§é§Ñ§Ý§à.
Roman Brovko
?
50 §à§ä§ä§Ö§ß§Ü§à§Ó §Ü§â§Ñ§ã§ß§à§Ô§à
50 §à§ä§ä§Ö§ß§Ü§à§Ó §Ü§â§Ñ§ã§ß§à§Ô§à50 §à§ä§ä§Ö§ß§Ü§à§Ó §Ü§â§Ñ§ã§ß§à§Ô§à
50 §à§ä§ä§Ö§ß§Ü§à§Ó §Ü§â§Ñ§ã§ß§à§Ô§à
§³§Ö§â§Ô§Ö§Û §¡§Ý§Ö§Ü§ã§Ñ§ß§Õ§â§à§Ó§Ú§é
?
2015-03-07 03 §³§Ö§â§Ô§Ö§Ú? §¡§Ý§Ö§Ü§ã§Ñ§ß§Õ§â§à§Ó§Ú§é. 50 §à§ä§ä§Ö§ß§Ü§à§Ó §Ü§â§Ñ§ã§ß§à§Ô§à
2015-03-07 03 §³§Ö§â§Ô§Ö§Ú? §¡§Ý§Ö§Ü§ã§Ñ§ß§Õ§â§à§Ó§Ú§é. 50 §à§ä§ä§Ö§ß§Ü§à§Ó §Ü§â§Ñ§ã§ß§à§Ô§à2015-03-07 03 §³§Ö§â§Ô§Ö§Ú? §¡§Ý§Ö§Ü§ã§Ñ§ß§Õ§â§à§Ó§Ú§é. 50 §à§ä§ä§Ö§ß§Ü§à§Ó §Ü§â§Ñ§ã§ß§à§Ô§à
2015-03-07 03 §³§Ö§â§Ô§Ö§Ú? §¡§Ý§Ö§Ü§ã§Ñ§ß§Õ§â§à§Ó§Ú§é. 50 §à§ä§ä§Ö§ß§Ü§à§Ó §Ü§â§Ñ§ã§ß§à§Ô§à
§°§Þ§ã§Ü§Ú§Ö §ª§´-§ã§å§Ò§Ò§à§ä§ß§Ú§Ü§Ú
?
§­§Ö§Ü§è§Ú§ñ 6. §¬§Ý§Ñ§ã§ã§í 1.
§­§Ö§Ü§è§Ú§ñ 6. §¬§Ý§Ñ§ã§ã§í 1.§­§Ö§Ü§è§Ú§ñ 6. §¬§Ý§Ñ§ã§ã§í 1.
§­§Ö§Ü§è§Ú§ñ 6. §¬§Ý§Ñ§ã§ã§í 1.
Roman Brovko
?
Alexander Dymo - IT Jam 2009 - Ruby: Beaty Or The Beast
Alexander Dymo - IT Jam 2009 - Ruby: Beaty Or The BeastAlexander Dymo - IT Jam 2009 - Ruby: Beaty Or The Beast
Alexander Dymo - IT Jam 2009 - Ruby: Beaty Or The Beast
Alexander Dymo
?
§±§â§à§Ô§â§Ñ§Þ§Þ§Ú§â§à§Ó§Ñ§ß§Ú§Ö §Ü§Ñ§Ü §ã§á§à§ã§à§Ò §Ó§í§â§Ñ§Ø§Ö§ß§Ú§ñ §Þ§í§ã§Ý§Ö§Û.
§±§â§à§Ô§â§Ñ§Þ§Þ§Ú§â§à§Ó§Ñ§ß§Ú§Ö §Ü§Ñ§Ü §ã§á§à§ã§à§Ò §Ó§í§â§Ñ§Ø§Ö§ß§Ú§ñ §Þ§í§ã§Ý§Ö§Û. §±§â§à§Ô§â§Ñ§Þ§Þ§Ú§â§à§Ó§Ñ§ß§Ú§Ö §Ü§Ñ§Ü §ã§á§à§ã§à§Ò §Ó§í§â§Ñ§Ø§Ö§ß§Ú§ñ §Þ§í§ã§Ý§Ö§Û.
§±§â§à§Ô§â§Ñ§Þ§Þ§Ú§â§à§Ó§Ñ§ß§Ú§Ö §Ü§Ñ§Ü §ã§á§à§ã§à§Ò §Ó§í§â§Ñ§Ø§Ö§ß§Ú§ñ §Þ§í§ã§Ý§Ö§Û.
Levon Avakyan
?
Alexander Dymo - IT-§Ü§Ý§å§Ò §¯§Ú§Ü§à§Ý§Ñ§Ö§Ó§Ñ - April 2011 - Ruby: Beaty and the Beast
Alexander Dymo - IT-§Ü§Ý§å§Ò §¯§Ú§Ü§à§Ý§Ñ§Ö§Ó§Ñ - April 2011 - Ruby: Beaty and the BeastAlexander Dymo - IT-§Ü§Ý§å§Ò §¯§Ú§Ü§à§Ý§Ñ§Ö§Ó§Ñ - April 2011 - Ruby: Beaty and the Beast
Alexander Dymo - IT-§Ü§Ý§å§Ò §¯§Ú§Ü§à§Ý§Ñ§Ö§Ó§Ñ - April 2011 - Ruby: Beaty and the Beast
Alexander Dymo
?
§´§Ö§à§â§Ú§Ú §Ú §á§â§Ñ§Ü§ä§Ú§Ü§Ú §æ§å§ß§Ü§è§Ú§à§ß§Ñ§Ý§î§ß§à§Ô§à §á§â§à§Ô§â§Ñ§Þ§Þ§Ú§â§à§Ó§Ñ§ß§Ú§ñ.
§´§Ö§à§â§Ú§Ú §Ú §á§â§Ñ§Ü§ä§Ú§Ü§Ú §æ§å§ß§Ü§è§Ú§à§ß§Ñ§Ý§î§ß§à§Ô§à §á§â§à§Ô§â§Ñ§Þ§Þ§Ú§â§à§Ó§Ñ§ß§Ú§ñ.§´§Ö§à§â§Ú§Ú §Ú §á§â§Ñ§Ü§ä§Ú§Ü§Ú §æ§å§ß§Ü§è§Ú§à§ß§Ñ§Ý§î§ß§à§Ô§à §á§â§à§Ô§â§Ñ§Þ§Þ§Ú§â§à§Ó§Ñ§ß§Ú§ñ.
§´§Ö§à§â§Ú§Ú §Ú §á§â§Ñ§Ü§ä§Ú§Ü§Ú §æ§å§ß§Ü§è§Ú§à§ß§Ñ§Ý§î§ß§à§Ô§à §á§â§à§Ô§â§Ñ§Þ§Þ§Ú§â§à§Ó§Ñ§ß§Ú§ñ.
Dev2Dev
?
§´§Ö§à§â§Ú§Ú §Ú §á§â§Ñ§Ü§ä§Ú§Ü§Ú §æ§å§ß§è§Ú§à§ß§Ñ§Ý§î§ß§à§Ô§à §á§â§à§Ô§â§Ñ§Þ§Þ§Ú§â§à§Ó§Ñ§ß§Ú§ñ - GDG D2D
§´§Ö§à§â§Ú§Ú §Ú §á§â§Ñ§Ü§ä§Ú§Ü§Ú §æ§å§ß§è§Ú§à§ß§Ñ§Ý§î§ß§à§Ô§à §á§â§à§Ô§â§Ñ§Þ§Þ§Ú§â§à§Ó§Ñ§ß§Ú§ñ - GDG D2D§´§Ö§à§â§Ú§Ú §Ú §á§â§Ñ§Ü§ä§Ú§Ü§Ú §æ§å§ß§è§Ú§à§ß§Ñ§Ý§î§ß§à§Ô§à §á§â§à§Ô§â§Ñ§Þ§Þ§Ú§â§à§Ó§Ñ§ß§Ú§ñ - GDG D2D
§´§Ö§à§â§Ú§Ú §Ú §á§â§Ñ§Ü§ä§Ú§Ü§Ú §æ§å§ß§è§Ú§à§ß§Ñ§Ý§î§ß§à§Ô§à §á§â§à§Ô§â§Ñ§Þ§Þ§Ú§â§à§Ó§Ñ§ß§Ú§ñ - GDG D2D
0xffAA
?
Grail - CodeFest'2015
Grail - CodeFest'2015Grail - CodeFest'2015
Grail - CodeFest'2015
Igor Khrol
?
Grail: §ê§Ñ§Ô§Ú §Õ§Ý§ñ §Ó§Ñ§ê§Ú§ç Python-§ä§Ö§ã§ä§à§Ó
Grail: §ê§Ñ§Ô§Ú §Õ§Ý§ñ §Ó§Ñ§ê§Ú§ç Python-§ä§Ö§ã§ä§à§ÓGrail: §ê§Ñ§Ô§Ú §Õ§Ý§ñ §Ó§Ñ§ê§Ú§ç Python-§ä§Ö§ã§ä§à§Ó
Grail: §ê§Ñ§Ô§Ú §Õ§Ý§ñ §Ó§Ñ§ê§Ú§ç Python-§ä§Ö§ã§ä§à§Ó
CodeFest
?
§±§Ñ§Ó§Ö§Ý §±§Ñ§Ó§Ý§à§Ó - Scala §Õ§Ý§ñ §á§â§à§æ§Ö§ã§ã§Ú§à§ß§Ñ§Ý§à§Ó - Joker 2013
§±§Ñ§Ó§Ö§Ý §±§Ñ§Ó§Ý§à§Ó - Scala §Õ§Ý§ñ §á§â§à§æ§Ö§ã§ã§Ú§à§ß§Ñ§Ý§à§Ó - Joker 2013§±§Ñ§Ó§Ö§Ý §±§Ñ§Ó§Ý§à§Ó - Scala §Õ§Ý§ñ §á§â§à§æ§Ö§ã§ã§Ú§à§ß§Ñ§Ý§à§Ó - Joker 2013
§±§Ñ§Ó§Ö§Ý §±§Ñ§Ó§Ý§à§Ó - Scala §Õ§Ý§ñ §á§â§à§æ§Ö§ã§ã§Ú§à§ß§Ñ§Ý§à§Ó - Joker 2013
ScalaNsk
?
Algorithms and programming lecture in ru
Algorithms and programming lecture in ruAlgorithms and programming lecture in ru
Algorithms and programming lecture in ru
ssuser0562f1
?
§¡§Ý§Ô§à§â§Ú§ä§Þ§Ú§Ù§Ñ§è§Ú§ñ §Ú §á§â§à§Ô§â§Ñ§Þ§Þ§Ú§â§à§Ó§Ñ§ß§Ú§Ö §³/§³++
§¡§Ý§Ô§à§â§Ú§ä§Þ§Ú§Ù§Ñ§è§Ú§ñ §Ú  §á§â§à§Ô§â§Ñ§Þ§Þ§Ú§â§à§Ó§Ñ§ß§Ú§Ö §³/§³++§¡§Ý§Ô§à§â§Ú§ä§Þ§Ú§Ù§Ñ§è§Ú§ñ §Ú  §á§â§à§Ô§â§Ñ§Þ§Þ§Ú§â§à§Ó§Ñ§ß§Ú§Ö §³/§³++
§¡§Ý§Ô§à§â§Ú§ä§Þ§Ú§Ù§Ñ§è§Ú§ñ §Ú §á§â§à§Ô§â§Ñ§Þ§Þ§Ú§â§à§Ó§Ñ§ß§Ú§Ö §³/§³++
ssuser0562f1
?
§¥§Ö§Þ§à§ß§Ú§Ù§Ú§â§à§Ó§Ñ§ß§ß§í§Û PHP - before it was cool
§¥§Ö§Þ§à§ß§Ú§Ù§Ú§â§à§Ó§Ñ§ß§ß§í§Û PHP - before it was cool§¥§Ö§Þ§à§ß§Ú§Ù§Ú§â§à§Ó§Ñ§ß§ß§í§Û PHP - before it was cool
§¥§Ö§Þ§à§ß§Ú§Ù§Ú§â§à§Ó§Ñ§ß§ß§í§Û PHP - before it was cool
Andrey Tokarchuk
?
functional patterns - dotnetconf'11
functional patterns - dotnetconf'11functional patterns - dotnetconf'11
functional patterns - dotnetconf'11
0xffAA
?
§¡§ß§Õ§â§Ö§Û §¬§Ñ§â§á§à§Ó, §±§â§Ú§Ó§Ñ§ä§ß§í§Ö §Ò§Ñ§Û§Ü§Ú §à§ä §â§Ñ§Ù§â§Ñ§Ò§à§ä§é§Ú§Ü§à§Ó §Ñ§ß§Ñ§Ý§Ú§Ù§Ñ§ä§à§â§Ñ §Ü§à§Õ§Ñ
§¡§ß§Õ§â§Ö§Û §¬§Ñ§â§á§à§Ó, §±§â§Ú§Ó§Ñ§ä§ß§í§Ö §Ò§Ñ§Û§Ü§Ú §à§ä §â§Ñ§Ù§â§Ñ§Ò§à§ä§é§Ú§Ü§à§Ó §Ñ§ß§Ñ§Ý§Ú§Ù§Ñ§ä§à§â§Ñ §Ü§à§Õ§Ñ§¡§ß§Õ§â§Ö§Û §¬§Ñ§â§á§à§Ó, §±§â§Ú§Ó§Ñ§ä§ß§í§Ö §Ò§Ñ§Û§Ü§Ú §à§ä §â§Ñ§Ù§â§Ñ§Ò§à§ä§é§Ú§Ü§à§Ó §Ñ§ß§Ñ§Ý§Ú§Ù§Ñ§ä§à§â§Ñ §Ü§à§Õ§Ñ
§¡§ß§Õ§â§Ö§Û §¬§Ñ§â§á§à§Ó, §±§â§Ú§Ó§Ñ§ä§ß§í§Ö §Ò§Ñ§Û§Ü§Ú §à§ä §â§Ñ§Ù§â§Ñ§Ò§à§ä§é§Ú§Ü§à§Ó §Ñ§ß§Ñ§Ý§Ú§Ù§Ñ§ä§à§â§Ñ §Ü§à§Õ§Ñ
Sergey Platonov
?
§­§Ö§Ü§è§Ú§ñ 1. §¯§Ñ§é§Ñ§Ý§à.
§­§Ö§Ü§è§Ú§ñ 1. §¯§Ñ§é§Ñ§Ý§à.§­§Ö§Ü§è§Ú§ñ 1. §¯§Ñ§é§Ñ§Ý§à.
§­§Ö§Ü§è§Ú§ñ 1. §¯§Ñ§é§Ñ§Ý§à.
Roman Brovko
?
2015-03-07 03 §³§Ö§â§Ô§Ö§Ú? §¡§Ý§Ö§Ü§ã§Ñ§ß§Õ§â§à§Ó§Ú§é. 50 §à§ä§ä§Ö§ß§Ü§à§Ó §Ü§â§Ñ§ã§ß§à§Ô§à
2015-03-07 03 §³§Ö§â§Ô§Ö§Ú? §¡§Ý§Ö§Ü§ã§Ñ§ß§Õ§â§à§Ó§Ú§é. 50 §à§ä§ä§Ö§ß§Ü§à§Ó §Ü§â§Ñ§ã§ß§à§Ô§à2015-03-07 03 §³§Ö§â§Ô§Ö§Ú? §¡§Ý§Ö§Ü§ã§Ñ§ß§Õ§â§à§Ó§Ú§é. 50 §à§ä§ä§Ö§ß§Ü§à§Ó §Ü§â§Ñ§ã§ß§à§Ô§à
2015-03-07 03 §³§Ö§â§Ô§Ö§Ú? §¡§Ý§Ö§Ü§ã§Ñ§ß§Õ§â§à§Ó§Ú§é. 50 §à§ä§ä§Ö§ß§Ü§à§Ó §Ü§â§Ñ§ã§ß§à§Ô§à
§°§Þ§ã§Ü§Ú§Ö §ª§´-§ã§å§Ò§Ò§à§ä§ß§Ú§Ü§Ú
?
§­§Ö§Ü§è§Ú§ñ 6. §¬§Ý§Ñ§ã§ã§í 1.
§­§Ö§Ü§è§Ú§ñ 6. §¬§Ý§Ñ§ã§ã§í 1.§­§Ö§Ü§è§Ú§ñ 6. §¬§Ý§Ñ§ã§ã§í 1.
§­§Ö§Ü§è§Ú§ñ 6. §¬§Ý§Ñ§ã§ã§í 1.
Roman Brovko
?

Worried code

  • 2. §° §ã§Ö§Ò§Ö ? §¥§Ö§Ó§Ö§Ý§à§á§Ö§â §ã 1998 §Ô§à§Õ§Ñ. ? §±§Ú§ã§Ñ§Ý §Ú§ß§Õ§å§ã§ä§â§Ú§Ñ§Ý§î§ß§í§Ö §ã§Ú§ã§ä§Ö§Þ§í §ß§Ñ PHP. ? §´§Ö§á§Ö§â§î §ß§Ñ RoR.
  • 3. §¬§Ñ§Ü §à§á§â§Ö§Õ§Ö§Ý§Ú§ä§î §ß§Ö§à§æ§Ú§ä§Ñ? ? §´§à§Ý§ã§ä§í§Ö §Ü§à§ß§ä§â§à§Ý§Ý§Ö§â§í ? §¢§Ö§ã§á§à§Ü§à§Û§ã§ä§Ó§à ? §¨§Ö§Ý§Ñ§ß§Ú§Ö ¡°§â§Ñ§Ò§à§ä§Ñ§ä§î¡± §ã §á§â§Ö§Õ§Ö§Ý§î§ß§í§Þ§Ú §å§ã§Ý§à§Ó§Ú§ñ§Þ§Ú
  • 4. §³§Ñ§Þ§í§Û §á§â§à§ã§ä§à§Û §ã§á§à§ã§à§Ò? def foobar x = self.bar x = nil if x == 0 y = foo return x || y end
  • 5. Return ? §³§Ñ§Þ§í§Û §ß§Ö§à§é§Ö§Ó§Ú§Õ§ß§í§Û §à§á§Ö§â§Ñ§ä§à§â §Õ§Ý§ñ §ß§à§Ó§Ú§é§Ü§à§Ó ? §¶§å§ß§Ü§è§Ú§ñ §Ö§Ô§à §ß§Ñ§Ú§Ò§à§Ý§Ö§Ö §à§ä§Ý§Ú§é§Ñ§Ö§ä§ã§ñ §à§ä §ä§Ñ§Ü§à§Ó§à§Û §Ó §Õ§â§å§Ô§Ú§ç §ñ§Ù§í§Ü§Ñ§ç
  • 6. return §Õ§Ý§ñ ?ow-control def foobar if foo? if bar? #do something return 42 else #do something end else #do something end end
  • 7. if || unless if !params[:query].blank? if !something unless something
  • 8. unless? ? §¬§Ñ§Ü §ß§Ú §ã§ä§â§Ñ§ß§ß§à, §ï§ä§à §Ö§Õ§Ú§ß§ã§ä§Ó§Ö§ß§ß§à§Ö §Õ§Ý§ñ §é§Ö§Ô§à §à§ß §ß§å§Ø§Ö§ß. ? §¹§Ú§ä§Ñ§ä§î §Ý§à§Ô§Ú§Ü§å §à§Ò§ì§Ö§Õ§Ú§ß§Ö§ß§ß§å§ð and/or §á§â§Ú §ï§ä§à§Þ §á§â§Ú§Þ§Ö§ß§ñ§ñ §Ü §ß§Ö§Û ! §ã§Ý§à§Ø§ß§à. ? §µ §ß§Ö§Ô§à §ß§Ö§ä elsunless (§ß§Ö§Ý§î§Ù§ñ §ã§Ü§Ñ§Ù§Ñ§ä§î, §é§ä§à §ï§ä§à §Þ§Ú§ß§å§ã).
  • 9. If/else vs. unless def possible_parents if self.new_record? Category.first_level else Category.first_level.where('id != ?', self.id) end end vs. scope :not_given, lambda{|id| where('id != ?', id)} def possible_parents Category.first_level Category.first_level.not_given(self.id) unless self.new_record? end
  • 10. §£§Ú§Õ§í §Ò§Ö§ã§á§à§Ü§à§Û§ã§ä§Ó§Ñ ? §¢§à§ñ§Ù§ß§î §á§à§Ý§î§Ù§à§Ó§Ñ§ä§Ö§Ý§ñ (§Ô§Ý§å§á§à§Ô§à §Ú§Ý§Ú §Ù§Ý§à§ß§Ñ§Þ§Ö§â§ñ§ß§ß§à§Ô§à). ? §¢§à§ñ§Ù§ß§î §á§â§Ö§Õ§Ö§Ý§î§ß§í§ç §å§ã§Ý§à§Ó§Ú§Û. ? §¢§à§ñ§Ù§ß§î §ñ§Ù§í§Ü§Ñ. §¯§Ö§Õ§à§ã§ä§Ñ§ä§à§Ü §Ó§â§Ö§Þ§Ö§ß§Ú §Õ§Ý§ñ §ï§Ü§ã§á§Ö§â§Ú§Þ§Ö§ß§ä§à§Ó. ? §ª§Ý§Ý§ð§Ù§Ú§ñ §Ü§à§ß§ä§â§à§Ý§ñ.
  • 11. §¢§à§ñ§Ù§ß§î §á§à§Ý§î§Ù§à§Ó§Ñ§ä§Ö§Ý§ñ §¬§à§Õ §Ú§Ù §Ü§à§ß§ä§â§à§Ý§Ý§Ö§â§Ñ §Ó §Ñ§Õ§Þ§Ú§ß§Ü§Ö @role = Role.find params[:id] redirect_to role_index_path and return unless @role §±§â§à§Ô§â§Ñ§Þ§Þ§Ú§ã§ä §Ò§à§Ú§ä§ã§ñ §ß§Ö§á§â§Ñ§Ó§Ú§Ý§î§ß§à§Ô§à §á§Ñ§â§Ñ§Þ§Ö§ä§â§Ñ. §±§â§Ú §ï§ä§à§Þ §à§ß §Ù§Ñ§Ò§í§Ó§Ñ§Ö§ä §à §ä§à§Þ, §é§ä§à ?nd §Ó§í§Ò§â§Ñ§ã§í§Ó§Ñ§Ö§ä exception.
  • 12. §¢§à§ñ§Ù§ß§î §á§â§Ö§Õ§Ö§Ý§î§ß§í§ç §å§ã§Ý§à§Ó§Ú§Û session[:foo] = params[:foo].blank? ? nil : params[:foo].to_i VS. session[:foo] = params[:foo] ? params[:foo] : nil
  • 13. §¢§à§ñ§Ù§ß§î §ñ§Ù§í§Ü§Ñ scope :with_state, lambda {|state| where('state = ?', state.to_s)} scope :ready_for_start, with_state(:foo) scope :ready_for_close, where('state IN(?)', [:foo, :bar]) ¡°§¡ §Ó§Õ§â§å§Ô §à§ß §ß§Ö §á§â§Ú§Ó§Ö§Õ§Ö§ä §ã§Ú§Þ§Ó§à§Ý §Ü §ã§ä§â§à§Ü§Ö?¡± scope :with_states, lambda {|s| where("state in (#{s.map{|e| "'#{e.to_s}'"}.join(',')})")}
  • 14. §ª§Ý§Ý§ð§Ù§Ú§ñ §Ü§à§ß§ä§â§à§Ý§ñ def self.find_for_facebook_oauth(access_token, signed_in_resource=nil) data = access_token['extra']['user_hash'] if user = User.find_by_email(data["email"]) user else # Create a user with a stub password. user = User.create do |record| record.email = data['email'] record.password = Devise.friendly_token[0,20] record.registration_source = 1 record.skip_confirmation! end end end
  • 15. §°§ã§Ý§Ö§á§Ý§Ö§ß§Ú§Ö §Ò§Ö§ã§á§à§Ü§à§Û§ã§ä§Ó§à§Þ def self.to_rtf(codes) buffer = "" codes.each {|code| buffer << code.value << "n"} buffer end
  • 16. §°§ã§Ý§Ö§á§Ý§Ö§ß§Ú§Ö §Ò§Ö§ã§á§à§Ü§à§Û§ã§ä§Ó§à§Þ 2 def self.to_rtf(codes) codes.inject("") {|code, buffer| buffer << code.value << "n"} end §¿§ä§à §Ò§í§Ý §â§Ö§æ§Ñ§Ü§ä§à§â§Ú§ß§Ô
  • 17. §°§ã§Ý§Ö§á§Ý§Ö§ß§Ú§Ö §Ò§Ö§ã§á§à§Ü§à§Û§ã§ä§Ó§à§Þ 3 def self.to_rtf(codes) codes.map(&:value).join("n") end §¡ §ï§ä§à §ä§à, §é§ä§à §ß§Ñ §ã§Ñ§Þ§à§Þ §Õ§Ö§Ý§Ö §Ò§í§Ý§à §ß§å§Ø§ß§à.
  • 18. §©§ß§Ñ§Û §ã§Ó§à§Ú §Ú§ß§ã§ä§â§å§Þ§Ö§ß§ä§í before_filter :guests_only! def guests_only! redirect_to root_url and return if user_signed_in? end §©§Ñ§é§Ö§Þ §ä§å§ä return?
  • 19. §²§Ñ§Ù§Ô§Ñ§Õ§Ü§Ñ ? §±§â§à§Ô§â§Ñ§Þ§Þ§Ú§ã§ä §ß§Ö §Ù§ß§Ñ§Ö§ä, §Ü§Ñ§Ü §â§Ñ§Ò§à§ä§Ñ§Ö§ä before_?lter. ? §°§ß §Ò§Ö§ã§á§à§Ü§à§Ú§ä§ã§ñ, §é§ä§à §Ü§à§Õ §Ü§à§ß§ä§â§à§Ý§Ý§Ö§â§Ñ §Ò§å§Õ§Ö§ä §Ó§í§á§à§Ý§ß§ñ§ä§î§ã§ñ §á§à§ã§Ý§Ö §â§Ö§Õ§Ú§â§Ö§Ü§ä§Ñ §Ó §æ§Ú§Ý§î§ä§â§Ö. ? §°§ä §ã§Ó§à§Ö§Ô§à §Ò§Ö§ã§á§à§Ü§à§Û§ã§ä§Ó§Ñ §à§ß §Ù§Ñ§Ò§í§Ó§Ñ§Ö§ä §Ü§Ñ§Ü §à §ä§à§Þ, §é§ä§à §ß§å§Ø§ß§à §Ó§à§Ù§Ó§â§Ñ§ë§Ñ§ä§î false, §ä§Ñ§Ü §Ú §à §ä§à§Þ, §é§ä§à §á§à§ã§Ý§Ö §â§Ö§Õ§Ú§â§Ö§Ü§ä§Ñ §ï§ä§à §å§Ø§Ö §Ý§Ú§ê§ß§Ö§Ö.
  • 20. §¢§à§Ý§Ö§Ö §á§â§à§ã§ä§à§Ö §à§Ò§ì§ñ§ã§ß§Ö§ß§Ú§Ö ? §¬§à§Õ §Ò§í§Ý §á§Ö§â§Ö§ß§Ö§ã§Ö§ß §Ó §æ§Ú§Ý§î§ä§â §Ú§Ù §ï§Ü§ê§Ö§ß§Ñ. ? §±§â§à§Ô§â§Ñ§Þ§Þ§Ú§ã§ä§å §á§â§à§ã§ä§à §ß§Ö §ç§à§é§Ö§ä§ã§ñ §Ö§Ô§à §á§Ö§â§Ö§á§Ú§ã§í§Ó§Ñ§ä§î, §á§à§ä§à§Þ§å §Ü§Ñ§Ü §Ü§Ñ§Ø§Ö§ä§ã§ñ, §é§ä§à §ï§ä§à§ä §Ó§à§Ù§Ó§â§Ñ§ä §ß§å§Ø§Ö§ß (§Ó§à§Ù§Ó§â§Ñ§ë§Ñ§Ö§Þ§ã§ñ §Ü §Ú§ã§ç§à§Õ§ß§à§Þ§å §à§Ò§ì§ñ§ã§ß§Ö§ß§Ú§ð).
  • 21. Metaprogramming to the recsue if permission.can? can permission.action.to_sym, subject else cannot permission.action.to_sym, subject end vs. method = permission.can? ? :can : :cannot send method, permission.action.to_sym, subject
  • 22. §³§á§à§ã§à§Ò§í §Ò§à§â§î§Ò§í ? §©§ß§Ñ§ß§Ú§Ö §ñ§Ù§í§Ü§Ñ ? §¬§â§Ú§ä§Ú§é§Ö§ã§Ü§Ú§Û §Ó§Ù§Ô§Ý§ñ§Õ §ß§Ñ §ã§Ó§à§Û §Ü§à§Õ ? Let it fail (hoptoad §Ó §á§à§Þ§à§ë§î)

Editor's Notes