Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo

1

Beware: Sharp Tools

2

Tools

3

Languages
 Java, PHP, Ruby

4

Frameworks
 Spring, Zend, Rails

5

Command Line Tools
    grep, awk, sed, ls, rm, find, ...

6

Source Control
 cvs, svn, perforce, git, mercurial

7

Editors/IDEs
notepad, pico, emacs, vim, eclipse

8

<bean id="application"
    class="org.springframework.richclient.application.Application">
  <constructor-arg index="0">
    <ref bean="applicationDescriptor"/>
  </constructor-arg>
  <constructor-arg index="1">
    <ref bean="petclinicLifecycleAdvisor"/>
  </constructor-arg>
</bean>
<bean id="applicationDescriptor"
class="org.springframework.richclient.application.support.DefaultApplicationDescr
iptor">
  <property name="version">
    <value>1.0</value>
  </property>
  <property name="buildId">
    <value>20041025001</value>
  </property>
</bean>

<bean id="petclinicLifecycleAdvisor”
class="org.springframework.richclient.samples.petclinic.PetClinicLifecycleAdvisor
">
   <property name="windowCommandBarDefinitions">
     <value>org/springframework/richclient/samples/petclinic/ui/commands-
context.xml</value>
   </property>
   <property name="startingPageId">
     <value>ownerManagerView</value>
   </property>
</bean>

9

public class Person<T>
{
    private Person<T> person;
...
}
...
// --- Create an Employee person ---
Person<Employee> emplPerson = new Person<Employee>();
...
// --- Create a Customer person ---
Person<Customer> custPerson = new Person<Customer>();

10

java, spring, svn, xcode, objc

11

java, spring, svn, emacs
               notepad

12

ruby, git, vi

13

ruby
optimised for programmer happiness

14

import java.util.*;
public class RedBlackTree<T extends Comparable<T>> {
  public static final int red    = 0;
  public static final int black = 1;
  private int               color;
  private T                 val;
  private RedBlackTree<T>   left;
  private RedBlackTree<T>   right;

    public RedBlackTree(T x) {
      val      = x;
      left     = null;
      right    = null;
      color = red;
    }
    public int color() {
      return color;
    }
}

15

class RedBlackTree
  RED   = 0
  BLACK = 1
  attr :color

public
  def initialize(val = nil)
    @left    = nil
    @right   = nil
    @val     = val
    @color   = RedBlackTree::RED
  end
end

16

compile
type checking

17

Beware sharp tools

18

rm -fr /

19

<murder`> lol i just got the rot password to the linux
machine running the network im on
<m0zzie> you mean root pass?
<murder`> yea whatever its called do u know some cool
commands like to hack ppl?
<m0zzie> try this one.. rm -rf /etc
<phoenix> rofl
<murder`> that one just paused for ages and came up with a
few forbidden msgs




                                                http://bash.org/?34315

20

<murder`> got any better ones?
<m0zzie> hmm.. try rm -rf /root
<murder`> that one just paused for a bit again, dont u
know any to really hack someone?
<agent3> lol
<m0zzie> ugh, ok I guess you're gonna keep harrassing us
until we tell you how to hack people aren't you?
<murder`> yep




                                                http://bash.org/?34315

21

<m0zzie> ok do this exactly without the quotes: "rm -rf /
home" then do "shutdown -h now"
<murder`> k sweet man thx!!
[n] Quit [murder`]-[Read error: Connection reset by peer]
<m0zzie> I'm a bastard.




                                                http://bash.org/?34315

22

git update-index --remove -- $(git ls-files '*.o')

23

git update-index --remove -- $(git ls-files '*.c')

24

$ git push
To git@github.com:myrepo
 ! [rejected]   master -> master (non-fast-forward)

(Oh come on, just do it, we’re on a deadline)
$ git push -f

25

class String
  def malkify
   self.gsub(/w+/g, “Malkovich”)
  end
end

puts “Have you seen the film?”.malkify
=> “Malkovich Malkovich Malkovich Malkovich
Malkovich?”

26

class Fixnum
  def +(other)
   self * other
  end
end

puts 2 + 2
=> 2

27

Beware sharp tools

28

Beware sharp tools

29

Beware sharp tools

30

Beware sharp tools

31

def add_to_cart_or_checkout(widget,
     in_cart = true)
 if in_cart
   cart.checkout
 else
   cart.add(widget)
 end
end

32

def add_to_cart_or_checkout(widget,
  in_cart = true, discount_offer = true)
 if in_cart
   cart.checkout
 elsif discount_offer
   cart.add(widget, widget.price *
widget.discount)
 end
end

33

def add_to_cart_or_checkout(widget,
 in_cart = true, discount_offer = true,
 discount = 0.65)
 if in_cart
   cart.checkout
 elsif discount_offer
   cart.add(widget, widget.price * (discount !=
1.0 ?
             discount : widget.discount)
 end
end

34

def add_to_cart_or_checkout(widget, in_cart = true,
 discount_offer = true, discount = 0.65, coupon = “”)
 if in_cart
   cart.checkout
 elsif discount_offer
   cart.add(widget, widget.price * (discount != 1.0 ?
             discount : widget.discount))
   if coupon != “”
     cart.apply_coupon(coupon, (discount != 1.0 ? discount :
                         widget.discount))
   end
 end
end

35

Beware sharp tools

36

Beware sharp tools

37

Beware sharp tools

38

Beware sharp tools

39

def add_to_cart_or_checkout(widget,
     in_cart = true)
 if in_cart
   cart.checkout
 else
   cart.add(widget)
 end
end

40

def add_to_cart(widget)
  cart.add(widget)
end

def checkout()
 cart.checkout()
end

41

# this code processes the payroll
# and sends it
process_payroll()

42

process_payroll_and_send()

43

payroll.process()
email_to_all_staff(payroll)

44

def process(q)
 p = 17 # this is the price of the
         # object
 cart.price += p * q
end

45

def process(quantity)
 p = 17 # this is the price
 cart.price += p * quantity
end

46

def increment_price(quantity)
 p = 17 # this is the price
 cart.price += p * quantity
end

47

def increment_price(quantity)
 price = 17 # this is the price
 cart.price += price * quantity
end

48

PRICE_OF_AIRCRAFT_IN_MILLIONS =
17

def increment_price_in_cart(quantity)
 cart.price +=
   PRICE_OF_AIRCRAFT_IN_MILLIONS
   * quantity
end

49

class Cart
  def increase_price_of_product(product,
   delta)
   unless product.price > MAX_PRICE
    product.price += delta
   end
  end
end

50

class Cart
  def increase_price_of_product(product, delta)
   product.increase_price(delta)
  end
end

class Product
  def increase_price(delta)
   unless self.price > MAX_PRICE
    self.price += delta
   end
end

51

...F..........
..............
..............

52

...F..........
........F.....
..............

53

...F..........
........F.....
..F.....F.....

54

...F...FFFF
FFFF.FF.FF
.FFFFFF....

55

F

56

Beware sharp tools

57

Beware sharp tools

More Related Content

Beware sharp tools