Monthly Archives: April 2013

Database Default PartionTable 파티션 테이블

테이블을  나눠서 부하를 줄이는 기술(논리적,물리적 모두)

참고자료들

http://www.oracleclub.com/lecture/1906

http://blog.daum.net/warmfeel/82

 

 

개선 개발방안…

파티션 테이블도 일종의 분산처리 기술로 볼 수 있다.

클러스터로 구성해서 특정규칙(첫글자,날짜)등으로 분류하여 각기 다른 디비에 데이터를 넣어 처리하는 방식으로 처리할 수도 있을 것 같다.

여기저기서 데이터를 조회하는 경우에는 성능향상이 없을 수 있지만…. 과부하는 막을 수 있고… 특정상황에 부하를 처리할 수 있다.

pgpool 등과 같은 디비 클러스터 소스도 이런식으로 데이터를 처리하지않을까 싶다.

Java Testing Framework Junit 이것만 알면 끝

일단 이거 참고
이클립스에 이 부분 기본 설정 후
http://memo.polypia.net/archives/557

public static workTest{
  @Before
  public void before1(){
  }

  @After
  public void after1(){
  }

  @Test
  public void test1(){
    Web web = new Web();
    //이런게 있다고 치고....
    x = web.getX();
    //3이 나오면 성공
    assertThat(x, is(3));
  }

  @Test(expected=JDBCException.class)
  public void test2() throws Exception{
    //JDBC익셉션이 발생하는 그코드
  }
}

assertThat(x, is(3));
assertThat(x, is(not(3)));
assertThat(responseString, either(containString)););
assertThat(list, hasItem("3"));

대강 이정도면 다됨
@Rule이라는건 필요할 때가되면

 

스프링 설정

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(
		locations = {
				"classpath:spring-context.xml"
		}
)

 

리눅스LInux/Unis 디렉토리Directory 용량Volume 확인

df(disk free)
리눅스에 연결된 디스크의 남은 용량 확인

df [Option] [FileSystem | File]

df -k : KiloByte 단위로 현재 남은 용량을 보여줌
df -m : MegaBype 단위로 남은 용량을 보여줌
df -h : 알아서 보여줌
df . : 현재 디렉토리가 포함된 파티션의 남은 용량을 보여줌

du
특정 디렉토리의 하부 디렉토리 용량 확인

du [Option] [Files]

du -a : 현재 디렉토리의 모든 파일 용량
du -s : 총 사용량을 보여줌
du -h : 알아서 보여줌
du -k : KiloByte 단위로 보여줌
du -s * : 한 단계 서브 디렉토리의 용량을 보여줌

메서드 선언 호출 방법

 

def sqrt(a)
  x = a*a
  return x
end

def add1(a,b)
  return a+b
end

def add2(a,b=10)
  return a+b
end

def showName1()
  puts "showName1"
end

def showName2
  puts "showName2"
end

puts sqrt(3)
puts add1(3,5)
puts add2(5)
puts add2(5,3)
showName1
showName2()

블럭인수, 가변길이 인수 전달

def meta(&b)
  b.call()
end

def metb(a, *b)
  print a, "\t", b
end

meta{print "블럭인수"}
metb(2, 3)
metb(3,5,6,3,5,3,65,3)

변수 스코프

num = 1

def showNums()
  num = 10
  puts num
end

showNums()
puts num

$gnum = 10

def showNums2()
  gnum = 10
  print gnum, "  ", $gnum, "\n"
end

showNums2()

alias showNums3 showNums2
showNums3()

alias $gnum2 $gnum
puts $gnum2

 

루비Ruby 반복문Loop statement

for문

for i in 1..10
  for j in 1..i
    print "*"
  end
  puts ""
end

a = [1,2,3,4,5]

for i in a
  print i,"  ", a[i], "\n"
end

until문

num = 100
until num < 10 do
  num-=1
  puts num
end

while문

num = 1
while num < 10 do
  num+=1
  puts num
end

next, redo, break, retry

for i in 1..100
  if i % 2 == 0 then
    print i
    next
  end
  if i > 80 then
    break
  end
end

for i in 1..100
  if i % 2 == 0 then
    print i
    i=101
    redo
  end
end

for i in 1..100
  if i % 10 == 0 then
    print i
    retry
  end
end

루비Ruby 제어문control statement

if elsif else 구문
조건이 맞을 경우 실행
elif나 else if 가 아니고 어설프게 elsif이다

score = 10
if score > 100 then
  print "점수는 빵점에서 100점까지입니"
elsif score > 90 then
  print score, "점 수 합격입니다"
elsif score > 60 then
  print score, "점, 겨우 합격입니다"
else
  print "불합격"
end

unless
조건이 틀릴 경우 실행

score = 10
unless score > 60 then
  print "불합격"
else
  print "합격"
end

case
케이스에 맞는 경우 실행
숫자범위와 무자열비교 모두 가능

score = 10
case score
when 0...60 then
  print "불합격"
when 60...90 then
  print "그냥 합격"
when 90..100 then
  print "우수 합격"
else
  print "0부터 100까지의 숫자를 입력하세요"
end
dep = "회계부"
case dep
when "경리부" then
  print "불합격"
when "기획부" then
  print "그냥 합격"
when "사업부" then
  print "우수 합격"
else
  print "이 부서는 안됩니"
end

ㅇㅇ