앤덜스 하윌즈벅 인터넷 사이트는 전부 앤더스 헤즐스버그라고...
왜왜왜왜왜.
믓튼 다시 다시 C#을 잡게 되었다.
항상 하는 거지만 창시자들에 대한 경외심를 먼저 형성할 것.
-자바에 비해 심플한 언어는 아니지만 뭐... 이젠 또 '빠'가 되어야지.
http://www.youtube.com/watch?v=nCVNpwXijVQ
http://www.youtube.com/watch?v=KzSY9WQXjzg
http://www.youtube.com/watch?v=s0_mvBU5HL4
http://www.youtube.com/watch?v=WmfYrpThqEc
http://www.youtube.com/watch?v=OdU6GxYDrZ4
2012년 3월 30일 금요일
test] CSharp.cs
using System;
class NameCard
{
private string[] names;
public NameCard(int i)
{
names = new string[i];
}
public string this[int index]
{
get
{
if(names[index] == null)
return "Nothing in here.";
else
return names[index];
}
set
{
if(value == null)
Console.WriteLine("Can't store Index value");
else
names[index] = value;
}
}
}
class MainApp
{
public static void Main()
{
const int max = 5;
NameCard my = new NameCard(max);
my[0] = "kim";
my[1] = "ha";
my[2] = "yang";
my[3] = "bae";
my[4] = "shin";
for(int i =0; i<max; i++)
Console.WriteLine(my[i]);
}
}
class NameCard
{
private string[] names;
public NameCard(int i)
{
names = new string[i];
}
public string this[int index]
{
get
{
if(names[index] == null)
return "Nothing in here.";
else
return names[index];
}
set
{
if(value == null)
Console.WriteLine("Can't store Index value");
else
names[index] = value;
}
}
}
class MainApp
{
public static void Main()
{
const int max = 5;
NameCard my = new NameCard(max);
my[0] = "kim";
my[1] = "ha";
my[2] = "yang";
my[3] = "bae";
my[4] = "shin";
for(int i =0; i<max; i++)
Console.WriteLine(my[i]);
}
}
CSharp] CS] java 와 다른 것들.
new랑 base
base는 super와 비슷.
struct 여전히 존재
partial로 클레스 분할 가능
abstract나 virtual 을 override 가능하도록 ... 예약어 3개.
자바는 abstract면 무조건 재정의 해야 하는데 반함.
sealed 는 final과 같은 듯.
boxing unboxing은 casting과 비슷.
? 연산자 = System.Nullable< >
NULL 타입도 있음.
메소드의 파라미터를 param으로 다수개 받을 수 있고 out으로 여러개 return 가능.
결국 리턴하지 않고 해당 포인터를 가져와서 값을 바꾸는 것로 보임.
foreach
internal과 protected internal 생김
base는 super와 비슷.
struct 여전히 존재
partial로 클레스 분할 가능
abstract나 virtual 을 override 가능하도록 ... 예약어 3개.
자바는 abstract면 무조건 재정의 해야 하는데 반함.
sealed 는 final과 같은 듯.
boxing unboxing은 casting과 비슷.
? 연산자 = System.Nullable< >
NULL 타입도 있음.
메소드의 파라미터를 param으로 다수개 받을 수 있고 out으로 여러개 return 가능.
결국 리턴하지 않고 해당 포인터를 가져와서 값을 바꾸는 것로 보임.
foreach
internal과 protected internal 생김
news] 구멍난 양말 신던 구두쇠 전직 교장 기부
입력 : 2012.03.30 03:04 | 수정 : 2012.03.30 08:57
자린고비 전직 교장 선생님, 해외여행·외식 한번 않고 56년간 모은 돈 장학금으로…
부인은 갑자기 쓰러져 뇌사 "우리부부 공동명의로 기부하려 했는데…"
"우리가 같이 좋은 일 하는 거야. 당신도 알고 있지?"
27일 경기도 김포의 A병원 중환자실. 장재은(81)씨가 산소호흡기를 끼고 누워 있는 부인 최현숙(80)씨 귀에 대고 속삭였다. 최씨는 아무런 움직임이 없었다. 장씨는 때때로 감정이 복받쳐 눈물이 흐르자 낡은 점퍼 주머니에서 손수건을 꺼내 눈가를 훔쳤다.
장씨는 지난 21일 평소 다니던 인천 강화군의 홍의교회를 찾아 "우리부부 공동명의로 5억원을 장학금으로 기부하겠다"고 했다. 큰 병이 없던 부인이 기도(氣道)에 음식이 걸려 갑작스레 뇌사 상태에 빠진 지 사흘째 되던 날이었다. 25일에는 장씨와, 서울에 사는 아들(54)·딸(48)이 참석한 가운데 교회에서 장학기금 봉헌식이 열렸다. 평소 장씨 부부의 돈 씀씀이를 잘 알고 있던 마을 주민들 사이에선 '5억원 기부' 소식이 화제가 됐다.
27일 경기도 김포의 A병원 중환자실. 장재은(81)씨가 산소호흡기를 끼고 누워 있는 부인 최현숙(80)씨 귀에 대고 속삭였다. 최씨는 아무런 움직임이 없었다. 장씨는 때때로 감정이 복받쳐 눈물이 흐르자 낡은 점퍼 주머니에서 손수건을 꺼내 눈가를 훔쳤다.
장씨는 지난 21일 평소 다니던 인천 강화군의 홍의교회를 찾아 "우리부부 공동명의로 5억원을 장학금으로 기부하겠다"고 했다. 큰 병이 없던 부인이 기도(氣道)에 음식이 걸려 갑작스레 뇌사 상태에 빠진 지 사흘째 되던 날이었다. 25일에는 장씨와, 서울에 사는 아들(54)·딸(48)이 참석한 가운데 교회에서 장학기금 봉헌식이 열렸다. 평소 장씨 부부의 돈 씀씀이를 잘 알고 있던 마을 주민들 사이에선 '5억원 기부' 소식이 화제가 됐다.
- 지난 26일 학생 장학금으로 5억원을 기부한 장재은씨가 뇌사 상태에 빠져 경기 김포의 한 병원 병상에 누워 있는 아내 최현숙씨를 바라보고 있다. /김용국 기자 young@chosun.com
구두쇠로 소문난 장씨지만 30년 전쯤부터 '근검절약하며 살아도 재산은 좋은 데 써야겠다'는 생각을 해왔다. 1981년 교감으로 있던 강화 송해초등학교에 TV가 없기에 당시 한 대 20만원짜리 TV 10대를 사서 기부했다. 낭비라면 질색하던 부인도 학교에 기부한다고 하니 흔쾌히 따랐다. 그 일을 계기로 장씨는 '가장 좋은 일은 장학사업'이라는 생각을 굳혔다. "그냥 건물 한 채 올리면 그걸로 끝이지만, 아이들에게 지원하면 오랫동안 장학금의 의미와 효과가 지속된다"고 믿었다.
장씨는 올 초에는 연말에 재산 중 일부인 5억원을 장학금으로 기부하기로 마음먹고 기금 운영 방식도 정해뒀다. 매년 강화 지역 5개 고등학교 학생 5명에게 각 100만원씩, 자기 모교(母校)인 송해초등학교 학생 1명에게 20만원과 도서구입비를 지원하기로 했다. 소문이 퍼질까봐 부인에게도 연말이 다 되어 말하려고 했다. 그런데 아내가 갑자기 쓰러져 사경을 헤매게 되자 기부 계획을 앞당긴 것이다. 자영업을 하는 아들과 딸도 아버지의 결정에 반대하지 않았다. 장씨는 "집사람이 숨이 붙어 있는 동안 우리 둘의 이름으로 기부하고 싶었다. 우리 둘이 근검절약해서 모은 돈이니까…"라고 말했다.
- "한 푼도 안 쓰고 어떻게 사시느냐" 질문 하자… 함양=강인범 기자
2012년 3월 29일 목요일
[book] IT 패러다임을 바꾸는 새로운 컴퓨팅 환경의 도래 클라우드 컴퓨팅 바이블
바이블이 맞다. 평소 읽던 서적과는 어투가 거리감이 있으니까...
번역서에 의역이 많이 들어가서 자기꺼로 소화되서 나오는 걸 바라는 건 무릴지 모르겠으나
29000원이라는 가격은 번역의 질에 어울리지 않는다.
블로그를 통해서 얻는 자료가 훨씬 질이 있지만 클라우드 자료를 모아놓았다는 점에서
클라우드의 길을 찾는데 도움이 될 것 같다.
사실 내가 읽고 한마디로 클라우드 서비스를 정의 하자면.
비용 때문에 어쩔 수 없이 쓸 수 밖에 없는 내가 직접 관리 못하는 서버가 딱 맞는 표현인 것 같다.
서버 기술이 쉬운게 아닌데 추상화가 많이 되어서 내가 서버 기술을 모르더라도 쓸 수 있으니까 좋긴 한데...
나같은 경우 서버 구축과 서버쪽 프로그래밍이 가능하고 도움을 좀 받아 저렴하게 만들수도 있는데 굳이 이용해야 하는지 의문도 든다. 괜히 내 자료도 다른 사람한테 뺏기는 것 같고.
뭐.. 그래도 대세를 따라야지 ㅠㅠ
나중에 서비스 뻑났을 때 손해배상 청구하기는 좋겠다.
번역서에 의역이 많이 들어가서 자기꺼로 소화되서 나오는 걸 바라는 건 무릴지 모르겠으나
29000원이라는 가격은 번역의 질에 어울리지 않는다.
블로그를 통해서 얻는 자료가 훨씬 질이 있지만 클라우드 자료를 모아놓았다는 점에서
클라우드의 길을 찾는데 도움이 될 것 같다.
사실 내가 읽고 한마디로 클라우드 서비스를 정의 하자면.
비용 때문에 어쩔 수 없이 쓸 수 밖에 없는 내가 직접 관리 못하는 서버가 딱 맞는 표현인 것 같다.
서버 기술이 쉬운게 아닌데 추상화가 많이 되어서 내가 서버 기술을 모르더라도 쓸 수 있으니까 좋긴 한데...
나같은 경우 서버 구축과 서버쪽 프로그래밍이 가능하고 도움을 좀 받아 저렴하게 만들수도 있는데 굳이 이용해야 하는지 의문도 든다. 괜히 내 자료도 다른 사람한테 뺏기는 것 같고.
뭐.. 그래도 대세를 따라야지 ㅠㅠ
나중에 서비스 뻑났을 때 손해배상 청구하기는 좋겠다.
2012년 3월 28일 수요일
2012년 3월 27일 화요일
win8] UAC 기능 끄기
User Account Control 기능 끄기.
모든 프로그램을 관리자 권한으로 실행 하기.
http://social.technet.microsoft.com/Forums/en-US/winserversecurity/thread/0aeac9d8-3591-4294-b13e-825705b27730/
요기 있삼.
regedit해서 Ctrl+F 누르고 EnableLUA 찾으면 됨. 왜 UAC아 아니고 LUA일까...
찾아서 0 으로 바꿔주면 오른쪽 트레이 쪽에서 컴터 다시 키라고 알림창이 하나 뜬다.
재부팅 해주면 끝.
뭐야 근데 메트로 앱 실행이 안되넹.
모든 프로그램을 관리자 권한으로 실행 하기.
http://social.technet.microsoft.com/Forums/en-US/winserversecurity/thread/0aeac9d8-3591-4294-b13e-825705b27730/
요기 있삼.
regedit해서 Ctrl+F 누르고 EnableLUA 찾으면 됨. 왜 UAC아 아니고 LUA일까...
찾아서 0 으로 바꿔주면 오른쪽 트레이 쪽에서 컴터 다시 키라고 알림창이 하나 뜬다.
재부팅 해주면 끝.
뭐야 근데 메트로 앱 실행이 안되넹.
2012년 3월 26일 월요일
2012년 3월 25일 일요일
net] TTL 이란
TTL : Time to Live
객체 생존 시간 정도?
nslookup
하고
set type = mx
로 해서 찾으면
메일 서버 관련 정보가 나온다.
mx = mail exchange
P.S IIS 5.0과 IIS 6.0은 20%의 성능차이가 난단다.
linux] 메일 서버 상태 확인
간단히 메일서버 상태 확인
telnet 127.0.0.1 25
helo
mail from :test@test.com
rcpt to :user@hha.com
subject : 제목
data
.
.
.
.
1. open 상대방메일서버 아이피 25#
- 상대방 메일서버 접속
2. HELO 자기도메인명
3. MAIL FROM: <보낸는사람 메일계정>
4. RCPT TO: <받는사람 메일계정>
5. DATA
6. 메일내용 입력
7. Enter(\r\n).Enter(\r\n)
- 메일내용이 끝났다고 메일서버에게 알려주는 것
8. QUIT
- smtp 트랜젝션 종료 알림
9. 텔넷 종료
net] spf 레코드
SPF 레코드란 DNS 서버에서 SMTP 서버가 정확한지 알아보는 것이다.
포털 사이트 정책도 많이 바뀌어서 IP 등록을 해두지 않으면 sendmail로 포털 사이트로는
메일을 보낼 수가 없게 되었다.
스팸 때문이여.
스팸은 메일 릴레이다.
릴레이는 아무나 보낼 수 있다는 것인데
메일 서버를 운영하는 운영자가 메일 릴레이가 되게 해두면
필히~ 스팸 서버가 되어 마구 스팸을 뿌리게 된다.
winsvr] 윈도우에서 인증기가 설치되어 있으면 컴퓨터 이름 변경이 안된다.
- 윈도우에서 인증기가 설치되어 있으면 컴퓨터 이름 변경이 안된다.
- 인증서는 대칭키와 비대치키가 있는데
뭔지는 모르지만 PKI(개인키 공개키)는 비 대칭키란다.
일반적으로 쓰는게 그건가 부지.
윈도우 2000서버에서 SRV 레코드가 안 올라올때는 내렸다가 다시 올리란다.(AD구성할때)
AD 구성
dcpromo -> 테스트하고 -> DNS 체크하고(동적 업데이트 허용) -> 네트워크 정보(TCP/IP고급)에서 DNS 설정
net stop nestlogon & net start netlogon
하면 된다.
-------------
Tip : cmd에서 net share는 공유폴더를 본다.
linux] rm으로 지운 파일 복구
rm 으로 지운 파일을 복구 하는 방법도 있다.
debugfs
open /dev/hda1 (에꺼 지웠으면)
해서
lsdel
하면 지운 목록이 나온다.
dump <inode번호> /home/살릴파일명
하면 된다.
고
한다.
난 안된다.
vb] vb로 작성했던 진열대 경로 찾기.
MartBoard(ox + 3, oy).Status = 42
flagIsNotEmpty = False
End If
'*************
'알고리즘 부분
'*************
'다음 경로가 비어 있는 경우 flag 세팅(가장 가까운 곳으로 뻗어 나간다)
'같은 경우 아래로
If PassageBoard(oPassage + 1).top = 0 And PassageBoard(oPassage + 1).bottom = 0 Then
flagIsNotEmptyNextPassage = False '플래그 세팅 해주고
If flagStart Then
If PassageBoard(oPassage).top >= (DisplayStandY \ 2) Then
flag1Next = False
Else: flag1Next = True
End If
End If
If Not flagStart Then
If PassageBoard(oPassage).bottom >= (DisplayStandY \ 2) Then
flag1Next = False
Else: flag1Next = True
End If
End If
End If
'다음 경로가 비어있지 않고 지금 통로도 비어있지 않는 경우
If flagIsNotEmptyNextPassage And flagIsNotEmpty Then
If flagStart Then
o1 = PassageBoard(oPassage).top + PassageBoard(oPassage + 1).bottom - 1
o2 = 2 * (DisplayStandY - 2) - PassageBoard(oPassage + 1).top - PassageBoard(oPassage + 1).top
Else
o1 = PassageBoard(oPassage).bottom + PassageBoard(oPassage + 1).bottom - 1
o2 = 2 * (DisplayStandY - 2) - PassageBoard(oPassage + 1).bottom - PassageBoard(oPassage + 1).top
End If
End If
test3.Caption = test3.Caption & vbCr & oPassage & "통로 " & o1 & " " & o2
'***********
'그리기 부분
'***********
'#############
'통로 시작이 올라가는 부분.
If flagStart And flagIsNotEmpty Then
'꺽고
MartBoard(ox, oy).Status = 41
'올려준다.
For oy = oy - 1 To PassageBoard(oPassage).top Step -1
MartBoard(ox, oy).Status = 13
Next oy
' MartBoard(ox, oy).Status = 32
oy = oy + 1
'다음이 내려가면
If Not flag1Next Then
MartBoard(ox + 1, oy).Status = 43
For oy = oy + 1 To DisplayStandY - 2
MartBoard(ox + 1, oy).Status = 13
Next oy
End If
'다음이 올라가면
If flag1Next Then
MartBoard(ox + 1, oy).Status = 41
For oy = oy - 1 To 0 Step -1
MartBoard(ox + 1, oy).Status = 13
Next oy
oy = oy + 1
End If
End If
'통로 시작이 내려가는 부분.
If Not flagStart And flagIsNotEmpty Then
'꺽고
MartBoard(ox, oy).Status = 43
'내려준다.
For oy = oy + 1 To PassageBoard(oPassage).bottom
MartBoard(ox, oy).Status = 13
Next oy
oy = oy - 1
'다음이 내려가면(위에꺼랑 같은데 밖으로 뺄수 있을지 고민 TODO )
If Not flag1Next Then
MartBoard(ox + 1, oy).Status = 43
For oy = oy To DisplayStandY - 2
MartBoard(ox + 1, oy).Status = 13
Next oy
End If
'다음이 올라가면
If flag1Next Then
MartBoard(ox + 1, oy).Status = 41
For oy = oy To 0 Step -1
MartBoard(ox + 1, oy).Status = 13
Next oy
oy = oy + 1
End If
End If
MartBoard(ox + 1, oy).Status = 42
MartBoard(ox + 2, oy).Status = 42
MartBoard(ox + 3, oy).Status = 42
ox = ox + 4
' TODO
Next oPassage
displayStand_Paint
End Sub
'##############
'폼 로드
'##############
Private Sub Form_Load()
first_defind
first_method
End Sub
'##############
'처음 시작 묶음
'##############
Private Sub first_method()
Dim i, j, k As Integer
Dim c As Integer
Dim StatusCount As Integer
Dim NumCount As Integer
'displaystand 지움
displayStand.Cls
'카트판 데이터 메모리 할당
ReDim MartBoard(0 To DisplayStandX - 1, _
0 To DisplayStandY - 1)
'수평 수직 숫자 데이터 메모리 할당
ReDim GameNumH(0 To DisplayStandY - 1)
ReDim GameNumV(0 To DisplayStandX - 1)
'진열대 크기 초기화
displayStand.Width = DisplayStandX * TileSizeX + 2 * 2
displayStand.Height = DisplayStandY * TileSizeY + 2 * 2
'통로 정보 초기화
ReDim PassageBoard(0 To Passage - 1)
path_setting
displayStand_Paint
End Sub
'################
'새작업 버튼 클릭
'################
Private Sub cmdChangeDisp_Click()
Form_Load
cmdRandomSetting.Enabled = True
cmdReturn1.Enabled = True
cmdTraversal.Enabled = True
End Sub
'##############
'랜덤 세팅 설정
'##############
Private Sub cmdRandomSetting_Click()
Dim i, j, k As Integer
Dim c As Integer
Dim StatusCount As Integer
Dim NumCount As Integer
For i = 0 To DisplayStandY - 1
For j = 0 To DisplayStandX - 1
If Int(Rnd() * 1.1) = 0 Then c = 0 Else c = 1
MartBoard(j, i).Status = c
MartBoard(j, i).Disp = 0
Next j
Next i
passageSetting
path_setting
'displayStand.Refresh
'picBoard.Refresh
displayStand_Paint
'cmdRandomSetting.Enabled = False
End Sub
'#############
'Return policy
'#############
Private Sub cmdReturn1_Click()
'Dim MartBoard_copy() As TBoard
'MartBoard_copy() = MartBoard()
path_setting
passageSetting
displayStand_Paint
Dim i, j, k As Integer
Dim x, y As Integer
x = 1
For i = 0 To (DisplayStandX - 1)
If MartBoard(i, DisplayStandY - 2).Status = 0 Or MartBoard(i, DisplayStandY - 2).Status = 1 Then
MartBoard(i, DisplayStandY - 1).Status = 42
End If
Next i
For i = 0 To Passage - 1
If PassageBoard(i).isEmpty Then
MartBoard(x, DisplayStandY - 1).Status = 42
MartBoard(x + 1, DisplayStandY - 1).Status = 42
Else
MartBoard(x, DisplayStandY - 1).Status = 41
MartBoard(x + 1, DisplayStandY - 1).Status = 12
MartBoard(x, PassageBoard(i).top).Status = 32
MartBoard(x + 1, PassageBoard(i).top).Status = 43
For j = DisplayStandY - 2 To PassageBoard(i).top + 1 Step -1
MartBoard(x, j).Status = 13
MartBoard(x + 1, j).Status = 13
Next j
End If
x = x + 4
Next i
displayStand_Paint
'MartBoard() = MartBoard_copy()
' cmdRandomSetting.Enabled = False
' cmdReturn1.Enabled = False
' cmdTraversal.Enabled = False
End Sub
'################
'Traversal policy
'################
Private Sub cmdTraversal_Click()
path_setting
passageSetting
displayStand_Paint
Dim i As Integer, j, k As Integer
Dim x, y As Integer
Dim isBottom, isNeedChange As Boolean
Dim passageNum As Integer
Dim test1, test2
isBottom = True
isNeedChange = False
passageNum = 0
x = 1
isBottom = True
For i = 0 To Passage - 1
If PassageBoard(i).isEmpty Then
If isBottom Then
MartBoard(x - 1, DisplayStandY - 1).Status = 42
MartBoard(x, DisplayStandY - 1).Status = 42
MartBoard(x + 1, DisplayStandY - 1).Status = 42
MartBoard(x + 2, DisplayStandY - 1).Status = 42
Else
MartBoard(x - 1, 0).Status = 42
MartBoard(x, 0).Status = 42
MartBoard(x + 1, 0).Status = 42
MartBoard(x + 2, 0).Status = 42
End If
Else
If isBottom Then
MartBoard(x - 1, DisplayStandY - 1).Status = 42
MartBoard(x, DisplayStandY - 1).Status = 41
MartBoard(x + 1, 0).Status = 42
MartBoard(x + 2, 0).Status = 42
MartBoard(x, 0).Status = 32
For j = DisplayStandY - 2 To 1 Step -1
MartBoard(x, j).Status = 13
Next j
Else
MartBoard(x - 1, 0).Status = 42
MartBoard(x, DisplayStandY - 1).Status = 12
MartBoard(x + 1, DisplayStandY - 1).Status = 42
MartBoard(x + 2, DisplayStandY - 1).Status = 42
MartBoard(x, 0).Status = 43
For j = DisplayStandY - 2 To 1 Step -1
MartBoard(x, j).Status = 13
Next j
End If
isBottom = Not isBottom
End If
x = x + 4
Next i
'*************************************************
'변경된 스펙:위에서 끝나는 경우 아래쪽으로 내린다.
' 지우고 다시 그리기
'
'*************************************************
Dim f1, f2, k2
If MartBoard(DisplayStandX - 1, 0).Status = 42 Then
For i = 0 To DisplayStandX - 1
If MartBoard(i, 0).Status = 32 Then
j = i
End If
Next i
'j 지우는 곳의 마지막 X좌표를 가지고 있다.
'지워보세~
For k = DisplayStandX - 1 To j Step -1
MartBoard(k, 0).Status = 2
Next k
'양쪽에 물건 검사
For f1 = DisplayStandY - 1 To 1 Step -1
If MartBoard(j - 1, f1).Status = 1 Or MartBoard(j + 2, f1).Status = 1 Then
f2 = f1
End If
Next f1
'f2 지우는 곳의 마지막 y 좌표를 가지고 있다.
'지워보세~
For k2 = 0 To f2 - 1
MartBoard(j, k2).Status = 2
Next k2
'다시 그려보세~
MartBoard(j, k2).Status = 32
MartBoard(j + 1, k2).Status = 43
For i = k2 + 1 To DisplayStandY - 1
MartBoard(j + 1, i).Status = 13
Next i
For i = j + 1 To DisplayStandX - 1
MartBoard(i, DisplayStandY - 1).Status = 42
Next i
MartBoard(j + 1, DisplayStandY - 1).Status = 12
End If '* 스펙 변경 IF문
displayStand_Paint
' cmdRandomSetting.Enabled = False
' cmdReturn1.Enabled = False
' cmdTraversal.Enabled = False
End Sub
'############################
'일반 좌표를 통로 좌표로 변환
'1000 까지 인식(아직 사용 안함).
'############################
Private Function convertToPassage(num As Integer)
Dim i, j, k As Integer
j = 1
k = 1
For i = 1 To 1000 Step 4
If num = i Or num = i + 1 Then
k = j
End If
j = j + 1
Next i
convertToPassage = k
End Function
'################################
'진열대 마운스 다운 이벤트 핸들러
'################################
Private Sub displayStand_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim IconNum As Integer
'커서를 타일 좌표로 변환
curX = x \ TileSizeX
curY = y \ TileSizeY
'범위를 벗어나면 종료
If curX < 0 Or curX >= DisplayStandX Or _
curY < 0 Or curY >= DisplayStandY Then Exit Sub
If MartBoard(curX, curY).Status = 2 Then Exit Sub
Select Case Button
Case 1: '좌측버튼
If MartBoard(curX, curY).Status = 0 Then
IconNum = 1
Else
IconNum = 0
End If
End Select
setIcon curX, curY, IconNum
End Sub
'#############
'진열대 그리기
'#############
Private Sub displayStand_Paint()
Dim i, j As Integer
For i = 0 To DisplayStandY - 1
For j = 0 To DisplayStandX - 1
If MartBoard(j, i).Status = 0 Then
displayStand.PaintPicture imgIcon, j * TileSizeX, i * TileSizeY, _
TileSizeX, TileSizeY, 0, MartBoard(j, i).Disp * TileSizeY, _
TileSizeX, TileSizeY
ElseIf MartBoard(j, i).Status = 1 Then
displayStand.PaintPicture imgIconChecked, j * TileSizeX, i * TileSizeY, _
TileSizeX, TileSizeY, 0, MartBoard(j, i).Disp * TileSizeY, _
TileSizeX, TileSizeY
ElseIf MartBoard(j, i).Status = 2 Then
displayStand.PaintPicture imgIconPath, j * TileSizeX, i * TileSizeY, _
TileSizeX, TileSizeY, 0, MartBoard(j, i).Disp * TileSizeY, _
TileSizeX, TileSizeY
ElseIf MartBoard(j, i).Status = 43 Then
displayStand.PaintPicture imgIconLeftToDown, j * TileSizeX, i * TileSizeY, _
TileSizeX, TileSizeY, 0, MartBoard(j, i).Disp * TileSizeY, _
TileSizeX, TileSizeY
ElseIf MartBoard(j, i).Status = 42 Then
displayStand.PaintPicture imgIconFlat, j * TileSizeX, i * TileSizeY, _
TileSizeX, TileSizeY, 0, MartBoard(j, i).Disp * TileSizeY, _
TileSizeX, TileSizeY
ElseIf MartBoard(j, i).Status = 41 Then
displayStand.PaintPicture imgIconLeftToUp, j * TileSizeX, i * TileSizeY, _
TileSizeX, TileSizeY, 0, MartBoard(j, i).Disp * TileSizeY, _
TileSizeX, TileSizeY
ElseIf MartBoard(j, i).Status = 32 Then
displayStand.PaintPicture imgIconDownToRight, j * TileSizeX, i * TileSizeY, _
TileSizeX, TileSizeY, 0, MartBoard(j, i).Disp * TileSizeY, _
TileSizeX, TileSizeY
ElseIf MartBoard(j, i).Status = 12 Then
displayStand.PaintPicture imgIconUpToRight, j * TileSizeX, i * TileSizeY, _
TileSizeX, TileSizeY, 0, MartBoard(j, i).Disp * TileSizeY, _
TileSizeX, TileSizeY
ElseIf MartBoard(j, i).Status = 13 Then
displayStand.PaintPicture imgIconVertical, j * TileSizeX, i * TileSizeY, _
TileSizeX, TileSizeY, 0, MartBoard(j, i).Disp * TileSizeY, _
TileSizeX, TileSizeY
End If
Next j
Next i
End Sub
'################
'진열대 경로 세팅
'- empty_path -
'################
Private Sub path_setting()
Dim i, j, k As Integer
'경로 끝나는 부분의 X좌표
k = 2
'첫줄, 마지막줄 세팅
For i = 0 To DisplayStandX - 1
MartBoard(i, 0).Status = 2
MartBoard(i, DisplayStandY - 1).Status = 2
Next i
'진열대 사이 세팅
For i = 1 To DisplayStandX - 1
For j = 0 To DisplayStandY - 1
MartBoard(i, j).Status = 2
Next j
If i = k Then
k = k + 4
i = i + 2
End If
Next i
End Sub
'###########
'아이콘 세팅
'###########
Private Sub setIcon(x As Integer, y As Integer, IconNum As Integer)
MartBoard(x, y).Status = IconNum
If MartBoard(x, y).Status = 0 Then
displayStand.PaintPicture imgIcon, x * TileSizeX, y * TileSizeY, _
TileSizeX, TileSizeY, 0, MartBoard(x, y).Disp * TileSizeY, _
TileSizeX, TileSizeY
Else
displayStand.PaintPicture imgIconChecked, x * TileSizeX, y * TileSizeY, _
TileSizeX, TileSizeY, 0, MartBoard(x, y).Disp * TileSizeY, _
TileSizeX, TileSizeY
End If
End Sub
'#################
'passage 정보 세팅
'-----------------
'진열대 좌/우 정보를 읽어서 통로의 정보를 세팅한다.
Private Sub passageSetting()
Dim a, b, c As Integer
Dim i, j As Integer
Dim top, bottom As Integer
b = 0
c = b + 3
top = 0
bottom = 0
'top 정보 세팅
For a = 0 To Passage - 1
For i = (DisplayStandY - 2) To 1 Step -1
If MartBoard(b, i).Status = 1 Then top = i
If MartBoard(c, i).Status = 1 Then top = i
Next i
If top = 0 Then
PassageBoard(a).top = top
PassageBoard(a).isEmpty = True
Else
PassageBoard(a).top = top
PassageBoard(a).isEmpty = False
End If
top = 0
b = b + 4
c = b + 3
Next a
'bottom 정보 세팅
b = 0
c = b + 3
For a = 0 To Passage - 1
For i = 1 To (DisplayStandY - 2) Step 1
If MartBoard(b, i).Status = 1 Then bottom = i
If MartBoard(c, i).Status = 1 Then bottom = i
Next i
If PassageBoard(a).isEmpty = False Then
PassageBoard(a).bottom = bottom
Else: PassageBoard(a).bottom = 0
End If
bottom = 0
b = b + 4
c = b + 3
Next a
'TODO: 디버깅 코드
Text1.Text = " "
For a = 0 To Passage - 1
Text1.Text = Text1.Text & " " & PassageBoard(a).top
Next a
For a = 0 To Passage - 1
Text1.Text = Text1.Text & " " & PassageBoard(a).bottom
Next a
End Sub
flagIsNotEmpty = False
End If
'*************
'알고리즘 부분
'*************
'다음 경로가 비어 있는 경우 flag 세팅(가장 가까운 곳으로 뻗어 나간다)
'같은 경우 아래로
If PassageBoard(oPassage + 1).top = 0 And PassageBoard(oPassage + 1).bottom = 0 Then
flagIsNotEmptyNextPassage = False '플래그 세팅 해주고
If flagStart Then
If PassageBoard(oPassage).top >= (DisplayStandY \ 2) Then
flag1Next = False
Else: flag1Next = True
End If
End If
If Not flagStart Then
If PassageBoard(oPassage).bottom >= (DisplayStandY \ 2) Then
flag1Next = False
Else: flag1Next = True
End If
End If
End If
'다음 경로가 비어있지 않고 지금 통로도 비어있지 않는 경우
If flagIsNotEmptyNextPassage And flagIsNotEmpty Then
If flagStart Then
o1 = PassageBoard(oPassage).top + PassageBoard(oPassage + 1).bottom - 1
o2 = 2 * (DisplayStandY - 2) - PassageBoard(oPassage + 1).top - PassageBoard(oPassage + 1).top
Else
o1 = PassageBoard(oPassage).bottom + PassageBoard(oPassage + 1).bottom - 1
o2 = 2 * (DisplayStandY - 2) - PassageBoard(oPassage + 1).bottom - PassageBoard(oPassage + 1).top
End If
End If
test3.Caption = test3.Caption & vbCr & oPassage & "통로 " & o1 & " " & o2
'***********
'그리기 부분
'***********
'#############
'통로 시작이 올라가는 부분.
If flagStart And flagIsNotEmpty Then
'꺽고
MartBoard(ox, oy).Status = 41
'올려준다.
For oy = oy - 1 To PassageBoard(oPassage).top Step -1
MartBoard(ox, oy).Status = 13
Next oy
' MartBoard(ox, oy).Status = 32
oy = oy + 1
'다음이 내려가면
If Not flag1Next Then
MartBoard(ox + 1, oy).Status = 43
For oy = oy + 1 To DisplayStandY - 2
MartBoard(ox + 1, oy).Status = 13
Next oy
End If
'다음이 올라가면
If flag1Next Then
MartBoard(ox + 1, oy).Status = 41
For oy = oy - 1 To 0 Step -1
MartBoard(ox + 1, oy).Status = 13
Next oy
oy = oy + 1
End If
End If
'통로 시작이 내려가는 부분.
If Not flagStart And flagIsNotEmpty Then
'꺽고
MartBoard(ox, oy).Status = 43
'내려준다.
For oy = oy + 1 To PassageBoard(oPassage).bottom
MartBoard(ox, oy).Status = 13
Next oy
oy = oy - 1
'다음이 내려가면(위에꺼랑 같은데 밖으로 뺄수 있을지 고민 TODO )
If Not flag1Next Then
MartBoard(ox + 1, oy).Status = 43
For oy = oy To DisplayStandY - 2
MartBoard(ox + 1, oy).Status = 13
Next oy
End If
'다음이 올라가면
If flag1Next Then
MartBoard(ox + 1, oy).Status = 41
For oy = oy To 0 Step -1
MartBoard(ox + 1, oy).Status = 13
Next oy
oy = oy + 1
End If
End If
MartBoard(ox + 1, oy).Status = 42
MartBoard(ox + 2, oy).Status = 42
MartBoard(ox + 3, oy).Status = 42
ox = ox + 4
' TODO
Next oPassage
displayStand_Paint
End Sub
'##############
'폼 로드
'##############
Private Sub Form_Load()
first_defind
first_method
End Sub
'##############
'처음 시작 묶음
'##############
Private Sub first_method()
Dim i, j, k As Integer
Dim c As Integer
Dim StatusCount As Integer
Dim NumCount As Integer
'displaystand 지움
displayStand.Cls
'카트판 데이터 메모리 할당
ReDim MartBoard(0 To DisplayStandX - 1, _
0 To DisplayStandY - 1)
'수평 수직 숫자 데이터 메모리 할당
ReDim GameNumH(0 To DisplayStandY - 1)
ReDim GameNumV(0 To DisplayStandX - 1)
'진열대 크기 초기화
displayStand.Width = DisplayStandX * TileSizeX + 2 * 2
displayStand.Height = DisplayStandY * TileSizeY + 2 * 2
'통로 정보 초기화
ReDim PassageBoard(0 To Passage - 1)
path_setting
displayStand_Paint
End Sub
'################
'새작업 버튼 클릭
'################
Private Sub cmdChangeDisp_Click()
Form_Load
cmdRandomSetting.Enabled = True
cmdReturn1.Enabled = True
cmdTraversal.Enabled = True
End Sub
'##############
'랜덤 세팅 설정
'##############
Private Sub cmdRandomSetting_Click()
Dim i, j, k As Integer
Dim c As Integer
Dim StatusCount As Integer
Dim NumCount As Integer
For i = 0 To DisplayStandY - 1
For j = 0 To DisplayStandX - 1
If Int(Rnd() * 1.1) = 0 Then c = 0 Else c = 1
MartBoard(j, i).Status = c
MartBoard(j, i).Disp = 0
Next j
Next i
passageSetting
path_setting
'displayStand.Refresh
'picBoard.Refresh
displayStand_Paint
'cmdRandomSetting.Enabled = False
End Sub
'#############
'Return policy
'#############
Private Sub cmdReturn1_Click()
'Dim MartBoard_copy() As TBoard
'MartBoard_copy() = MartBoard()
path_setting
passageSetting
displayStand_Paint
Dim i, j, k As Integer
Dim x, y As Integer
x = 1
For i = 0 To (DisplayStandX - 1)
If MartBoard(i, DisplayStandY - 2).Status = 0 Or MartBoard(i, DisplayStandY - 2).Status = 1 Then
MartBoard(i, DisplayStandY - 1).Status = 42
End If
Next i
For i = 0 To Passage - 1
If PassageBoard(i).isEmpty Then
MartBoard(x, DisplayStandY - 1).Status = 42
MartBoard(x + 1, DisplayStandY - 1).Status = 42
Else
MartBoard(x, DisplayStandY - 1).Status = 41
MartBoard(x + 1, DisplayStandY - 1).Status = 12
MartBoard(x, PassageBoard(i).top).Status = 32
MartBoard(x + 1, PassageBoard(i).top).Status = 43
For j = DisplayStandY - 2 To PassageBoard(i).top + 1 Step -1
MartBoard(x, j).Status = 13
MartBoard(x + 1, j).Status = 13
Next j
End If
x = x + 4
Next i
displayStand_Paint
'MartBoard() = MartBoard_copy()
' cmdRandomSetting.Enabled = False
' cmdReturn1.Enabled = False
' cmdTraversal.Enabled = False
End Sub
'################
'Traversal policy
'################
Private Sub cmdTraversal_Click()
path_setting
passageSetting
displayStand_Paint
Dim i As Integer, j, k As Integer
Dim x, y As Integer
Dim isBottom, isNeedChange As Boolean
Dim passageNum As Integer
Dim test1, test2
isBottom = True
isNeedChange = False
passageNum = 0
x = 1
isBottom = True
For i = 0 To Passage - 1
If PassageBoard(i).isEmpty Then
If isBottom Then
MartBoard(x - 1, DisplayStandY - 1).Status = 42
MartBoard(x, DisplayStandY - 1).Status = 42
MartBoard(x + 1, DisplayStandY - 1).Status = 42
MartBoard(x + 2, DisplayStandY - 1).Status = 42
Else
MartBoard(x - 1, 0).Status = 42
MartBoard(x, 0).Status = 42
MartBoard(x + 1, 0).Status = 42
MartBoard(x + 2, 0).Status = 42
End If
Else
If isBottom Then
MartBoard(x - 1, DisplayStandY - 1).Status = 42
MartBoard(x, DisplayStandY - 1).Status = 41
MartBoard(x + 1, 0).Status = 42
MartBoard(x + 2, 0).Status = 42
MartBoard(x, 0).Status = 32
For j = DisplayStandY - 2 To 1 Step -1
MartBoard(x, j).Status = 13
Next j
Else
MartBoard(x - 1, 0).Status = 42
MartBoard(x, DisplayStandY - 1).Status = 12
MartBoard(x + 1, DisplayStandY - 1).Status = 42
MartBoard(x + 2, DisplayStandY - 1).Status = 42
MartBoard(x, 0).Status = 43
For j = DisplayStandY - 2 To 1 Step -1
MartBoard(x, j).Status = 13
Next j
End If
isBottom = Not isBottom
End If
x = x + 4
Next i
'*************************************************
'변경된 스펙:위에서 끝나는 경우 아래쪽으로 내린다.
' 지우고 다시 그리기
'
'*************************************************
Dim f1, f2, k2
If MartBoard(DisplayStandX - 1, 0).Status = 42 Then
For i = 0 To DisplayStandX - 1
If MartBoard(i, 0).Status = 32 Then
j = i
End If
Next i
'j 지우는 곳의 마지막 X좌표를 가지고 있다.
'지워보세~
For k = DisplayStandX - 1 To j Step -1
MartBoard(k, 0).Status = 2
Next k
'양쪽에 물건 검사
For f1 = DisplayStandY - 1 To 1 Step -1
If MartBoard(j - 1, f1).Status = 1 Or MartBoard(j + 2, f1).Status = 1 Then
f2 = f1
End If
Next f1
'f2 지우는 곳의 마지막 y 좌표를 가지고 있다.
'지워보세~
For k2 = 0 To f2 - 1
MartBoard(j, k2).Status = 2
Next k2
'다시 그려보세~
MartBoard(j, k2).Status = 32
MartBoard(j + 1, k2).Status = 43
For i = k2 + 1 To DisplayStandY - 1
MartBoard(j + 1, i).Status = 13
Next i
For i = j + 1 To DisplayStandX - 1
MartBoard(i, DisplayStandY - 1).Status = 42
Next i
MartBoard(j + 1, DisplayStandY - 1).Status = 12
End If '* 스펙 변경 IF문
displayStand_Paint
' cmdRandomSetting.Enabled = False
' cmdReturn1.Enabled = False
' cmdTraversal.Enabled = False
End Sub
'############################
'일반 좌표를 통로 좌표로 변환
'1000 까지 인식(아직 사용 안함).
'############################
Private Function convertToPassage(num As Integer)
Dim i, j, k As Integer
j = 1
k = 1
For i = 1 To 1000 Step 4
If num = i Or num = i + 1 Then
k = j
End If
j = j + 1
Next i
convertToPassage = k
End Function
'################################
'진열대 마운스 다운 이벤트 핸들러
'################################
Private Sub displayStand_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
Dim IconNum As Integer
'커서를 타일 좌표로 변환
curX = x \ TileSizeX
curY = y \ TileSizeY
'범위를 벗어나면 종료
If curX < 0 Or curX >= DisplayStandX Or _
curY < 0 Or curY >= DisplayStandY Then Exit Sub
If MartBoard(curX, curY).Status = 2 Then Exit Sub
Select Case Button
Case 1: '좌측버튼
If MartBoard(curX, curY).Status = 0 Then
IconNum = 1
Else
IconNum = 0
End If
End Select
setIcon curX, curY, IconNum
End Sub
'#############
'진열대 그리기
'#############
Private Sub displayStand_Paint()
Dim i, j As Integer
For i = 0 To DisplayStandY - 1
For j = 0 To DisplayStandX - 1
If MartBoard(j, i).Status = 0 Then
displayStand.PaintPicture imgIcon, j * TileSizeX, i * TileSizeY, _
TileSizeX, TileSizeY, 0, MartBoard(j, i).Disp * TileSizeY, _
TileSizeX, TileSizeY
ElseIf MartBoard(j, i).Status = 1 Then
displayStand.PaintPicture imgIconChecked, j * TileSizeX, i * TileSizeY, _
TileSizeX, TileSizeY, 0, MartBoard(j, i).Disp * TileSizeY, _
TileSizeX, TileSizeY
ElseIf MartBoard(j, i).Status = 2 Then
displayStand.PaintPicture imgIconPath, j * TileSizeX, i * TileSizeY, _
TileSizeX, TileSizeY, 0, MartBoard(j, i).Disp * TileSizeY, _
TileSizeX, TileSizeY
ElseIf MartBoard(j, i).Status = 43 Then
displayStand.PaintPicture imgIconLeftToDown, j * TileSizeX, i * TileSizeY, _
TileSizeX, TileSizeY, 0, MartBoard(j, i).Disp * TileSizeY, _
TileSizeX, TileSizeY
ElseIf MartBoard(j, i).Status = 42 Then
displayStand.PaintPicture imgIconFlat, j * TileSizeX, i * TileSizeY, _
TileSizeX, TileSizeY, 0, MartBoard(j, i).Disp * TileSizeY, _
TileSizeX, TileSizeY
ElseIf MartBoard(j, i).Status = 41 Then
displayStand.PaintPicture imgIconLeftToUp, j * TileSizeX, i * TileSizeY, _
TileSizeX, TileSizeY, 0, MartBoard(j, i).Disp * TileSizeY, _
TileSizeX, TileSizeY
ElseIf MartBoard(j, i).Status = 32 Then
displayStand.PaintPicture imgIconDownToRight, j * TileSizeX, i * TileSizeY, _
TileSizeX, TileSizeY, 0, MartBoard(j, i).Disp * TileSizeY, _
TileSizeX, TileSizeY
ElseIf MartBoard(j, i).Status = 12 Then
displayStand.PaintPicture imgIconUpToRight, j * TileSizeX, i * TileSizeY, _
TileSizeX, TileSizeY, 0, MartBoard(j, i).Disp * TileSizeY, _
TileSizeX, TileSizeY
ElseIf MartBoard(j, i).Status = 13 Then
displayStand.PaintPicture imgIconVertical, j * TileSizeX, i * TileSizeY, _
TileSizeX, TileSizeY, 0, MartBoard(j, i).Disp * TileSizeY, _
TileSizeX, TileSizeY
End If
Next j
Next i
End Sub
'################
'진열대 경로 세팅
'- empty_path -
'################
Private Sub path_setting()
Dim i, j, k As Integer
'경로 끝나는 부분의 X좌표
k = 2
'첫줄, 마지막줄 세팅
For i = 0 To DisplayStandX - 1
MartBoard(i, 0).Status = 2
MartBoard(i, DisplayStandY - 1).Status = 2
Next i
'진열대 사이 세팅
For i = 1 To DisplayStandX - 1
For j = 0 To DisplayStandY - 1
MartBoard(i, j).Status = 2
Next j
If i = k Then
k = k + 4
i = i + 2
End If
Next i
End Sub
'###########
'아이콘 세팅
'###########
Private Sub setIcon(x As Integer, y As Integer, IconNum As Integer)
MartBoard(x, y).Status = IconNum
If MartBoard(x, y).Status = 0 Then
displayStand.PaintPicture imgIcon, x * TileSizeX, y * TileSizeY, _
TileSizeX, TileSizeY, 0, MartBoard(x, y).Disp * TileSizeY, _
TileSizeX, TileSizeY
Else
displayStand.PaintPicture imgIconChecked, x * TileSizeX, y * TileSizeY, _
TileSizeX, TileSizeY, 0, MartBoard(x, y).Disp * TileSizeY, _
TileSizeX, TileSizeY
End If
End Sub
'#################
'passage 정보 세팅
'-----------------
'진열대 좌/우 정보를 읽어서 통로의 정보를 세팅한다.
Private Sub passageSetting()
Dim a, b, c As Integer
Dim i, j As Integer
Dim top, bottom As Integer
b = 0
c = b + 3
top = 0
bottom = 0
'top 정보 세팅
For a = 0 To Passage - 1
For i = (DisplayStandY - 2) To 1 Step -1
If MartBoard(b, i).Status = 1 Then top = i
If MartBoard(c, i).Status = 1 Then top = i
Next i
If top = 0 Then
PassageBoard(a).top = top
PassageBoard(a).isEmpty = True
Else
PassageBoard(a).top = top
PassageBoard(a).isEmpty = False
End If
top = 0
b = b + 4
c = b + 3
Next a
'bottom 정보 세팅
b = 0
c = b + 3
For a = 0 To Passage - 1
For i = 1 To (DisplayStandY - 2) Step 1
If MartBoard(b, i).Status = 1 Then bottom = i
If MartBoard(c, i).Status = 1 Then bottom = i
Next i
If PassageBoard(a).isEmpty = False Then
PassageBoard(a).bottom = bottom
Else: PassageBoard(a).bottom = 0
End If
bottom = 0
b = b + 4
c = b + 3
Next a
'TODO: 디버깅 코드
Text1.Text = " "
For a = 0 To Passage - 1
Text1.Text = Text1.Text & " " & PassageBoard(a).top
Next a
For a = 0 To Passage - 1
Text1.Text = Text1.Text & " " & PassageBoard(a).bottom
Next a
End Sub
secmem] 삼성 소프트웨어 멤버십
일년에 두번 뽑는데 기준은 조금씩 바뀌니까 홈페이지 들어가서 보는게 좋다.
부산에서 17기가 하반기 공채 들어갈 때는 멤버십 인원 빼고 부산대(부산에는 부산대가 짱)
컴공에서 삼성 입사자는 한명도 없었다.
참고로 난 그 담해 상반기 공채였고 인성면접 같이 간 5명 중에 3명 떨어졌다. 상반기는 멤버십 TO를 따로 두지 않기 때문에 같이 경쟁해야 한다.
지역에 따라 나름 파벌 심함.
멤 회장이랑 같이 입사하지 말자면서 싸웠던 기억이 난다. 멤버십을 위한 길이 무엇이냐며 이야기 하다가...
면접관으로도 있어 봤지만.
지금은 사실 입사 root로 밖에 안 보인다. 파벌도 파벌이지만 지인이 만들어 주는 경우 자기께 아닌데 들고 나오는 경우 등등 상식밖의 것들도 많다.
이런 이유로 7번이나 지원해서 떨어지는 실력있는 애들도 있다.
하지만 시간이 지나보니 합격을 하던 안하던 자기 개발 한 애들에 나중에 빨리 달리더라. 대학원 진학해서 삼성 들어와서 더 빨리 진급하는 케이스가 그런 케이스. 아님 구글이나 IBM 가는 애들(사실 개발직군 대우만 봐도 비교가 안된다)
그러나 조금 늦을 때 고민이 상당한 것은 사실이다. 누군가 고민이 되면 댓글을 남겨주면 내가 조금은 조언을 해 줄 수 있을 것 같다.
그렇다고 그 사람에게 좋은거냐? 아니, 내가 들어와서 보니 멤 출신은 공채 출신 애들이 성장할 수 있는 스팀팩 역할을 하더라. 그렇게 쓰여지고 자기 개발 없는자는 버려지는 것이니 피차 마찬가지다.
이유야 떠나서 이런 제도를 만든 사람은 정말 창조적인 사람인 것 같다.
다른 문제점들을 떠나서 대한민국 IT 발전에 확실히 기여한 건 사실이다.
----------------
삼성 소프트웨어 멤버쉽
선발시기 : 년 2회 (6월, 12월 서류접수)
모집대상 : 4년제 대학(원) 재학생
모집인원 : 각 지역별 00명
해당지역 : 소속학교 기준으로 지역을 구분함
S/W, H/W : 본인이 직접(공동) 개발한 프로그램
Multi Media : Design 포트폴리오
(서류전형에 합격한 분에 한해 기술면접을 수행할 때 필요한 사항입니다.)
열심히 연구 개발 가능한자
C/C++ 가능자 우대
S/W 관련 학과, 전기전자, 수학, 물리등 전공불문
국내외 공모전 수상자 우대
S/W 관련 특정분야 기술 보유자 우대
현제 전규 4년제 대학이나 대학원 재학중인자
졸업전 1년이상 회원 활동이 가능한 자
인터넷 서류지원 : 삼성전자와 S/W멤버십 홈페이지에 들어가서
지원서 양식에 맞게 서류를 작성
S/W 멤버십 홈페이지 : (http://www.secmem.org)
삼성전자 홈페이지 : (http://www.sec.co.kr)서류 지원
인터넷으로 접수한 지원서 내용으로 실시
당사 채용 기준에 준하여 전형 (허위 기재시 합격 취소)
S/W 개발 능력 검증을 위한 제출된 작품위주의 구술 면접 실시
학교 과제, 아르바이트 개발물, 창의적 작품
전문기술, 직무동기) 평가 실시
S/W멤버십 회원으로서 적합한 '인격체'인지를 중점으로 평가함
인간미, 도덕성, 가치관, 기업관, 조직관, 주인의식등
인성을 평가하는 면접입니다.
단계를 모두 합격한 사람에 한해 당사 기준으로 실시함
부산에서 17기가 하반기 공채 들어갈 때는 멤버십 인원 빼고 부산대(부산에는 부산대가 짱)
컴공에서 삼성 입사자는 한명도 없었다.
참고로 난 그 담해 상반기 공채였고 인성면접 같이 간 5명 중에 3명 떨어졌다. 상반기는 멤버십 TO를 따로 두지 않기 때문에 같이 경쟁해야 한다.
지역에 따라 나름 파벌 심함.
멤 회장이랑 같이 입사하지 말자면서 싸웠던 기억이 난다. 멤버십을 위한 길이 무엇이냐며 이야기 하다가...
면접관으로도 있어 봤지만.
지금은 사실 입사 root로 밖에 안 보인다. 파벌도 파벌이지만 지인이 만들어 주는 경우 자기께 아닌데 들고 나오는 경우 등등 상식밖의 것들도 많다.
이런 이유로 7번이나 지원해서 떨어지는 실력있는 애들도 있다.
하지만 시간이 지나보니 합격을 하던 안하던 자기 개발 한 애들에 나중에 빨리 달리더라. 대학원 진학해서 삼성 들어와서 더 빨리 진급하는 케이스가 그런 케이스. 아님 구글이나 IBM 가는 애들(사실 개발직군 대우만 봐도 비교가 안된다)
그러나 조금 늦을 때 고민이 상당한 것은 사실이다. 누군가 고민이 되면 댓글을 남겨주면 내가 조금은 조언을 해 줄 수 있을 것 같다.
그렇다고 그 사람에게 좋은거냐? 아니, 내가 들어와서 보니 멤 출신은 공채 출신 애들이 성장할 수 있는 스팀팩 역할을 하더라. 그렇게 쓰여지고 자기 개발 없는자는 버려지는 것이니 피차 마찬가지다.
이유야 떠나서 이런 제도를 만든 사람은 정말 창조적인 사람인 것 같다.
다른 문제점들을 떠나서 대한민국 IT 발전에 확실히 기여한 건 사실이다.
----------------
삼성 소프트웨어 멤버쉽
선발시기 : 년 2회 (6월, 12월 서류접수)
모집대상 : 4년제 대학(원) 재학생
모집인원 : 각 지역별 00명
해당지역 : 소속학교 기준으로 지역을 구분함
S/W, H/W : 본인이 직접(공동) 개발한 프로그램
Multi Media : Design 포트폴리오
(서류전형에 합격한 분에 한해 기술면접을 수행할 때 필요한 사항입니다.)
열심히 연구 개발 가능한자
C/C++ 가능자 우대
S/W 관련 학과, 전기전자, 수학, 물리등 전공불문
국내외 공모전 수상자 우대
S/W 관련 특정분야 기술 보유자 우대
현제 전규 4년제 대학이나 대학원 재학중인자
졸업전 1년이상 회원 활동이 가능한 자
인터넷 서류지원 : 삼성전자와 S/W멤버십 홈페이지에 들어가서
지원서 양식에 맞게 서류를 작성
S/W 멤버십 홈페이지 : (http://www.secmem.org)
삼성전자 홈페이지 : (http://www.sec.co.kr)서류 지원
인터넷으로 접수한 지원서 내용으로 실시
당사 채용 기준에 준하여 전형 (허위 기재시 합격 취소)
S/W 개발 능력 검증을 위한 제출된 작품위주의 구술 면접 실시
학교 과제, 아르바이트 개발물, 창의적 작품
전문기술, 직무동기) 평가 실시
S/W멤버십 회원으로서 적합한 '인격체'인지를 중점으로 평가함
인간미, 도덕성, 가치관, 기업관, 조직관, 주인의식등
인성을 평가하는 면접입니다.
단계를 모두 합격한 사람에 한해 당사 기준으로 실시함
linux] 이 정도 이름은 알아둬야.
[1] GNU Toolkit
1) Binutils
2) GCC
3) GDB
4) c, c++ library
[2] 디버깅 도구
1) GDB
2) DDD
3) kdbg
4) ldd
5) strace
6) ltrace
7) checker
[3] 시간측정, 성능평가도구
1) time
2) gprof
3) calls
[4] 자동 컴파일링 도구
1) make
2) m4
3) Automake
4) Autoconf
[5] 인터페이스 만들기 도구
1) Xt
2) Motif/Lesstif
3) Xaw3D
4) Tcl/Tk
5) QT
6) GTK+
[6] 버전 관리 도구
1) CVS
2) RCS
3) SCCS
[7] 파일 패치 & 들여쓰기
1) patch
2) diff
3) indent
linux] 패킷 분석 프로그램 링크.
http://www.linux.co.kr/home/lecture/?leccode=10592
퍼옴
프로그램명 : The Ethereal Network Analyzer
퍼옴
프로그램명 : The Ethereal Network Analyzer
파 일이름 : ethereal-0.10.14 / libpcap 0.8.3
운 영체제 : X 환경의 유닉스
라 이센스 : GPL
홈 페이지 : http://www.ethereal.com
이 번 강좌는 etherpeak나 sniffer 등 처럼 이더넷 카드를 통해 나가고 들어오는 팻킷을 스니핑 할 수 있는 프로그램인 Ethereal에 관해서 rpm
설 치와 사용방법및 특징을 되짚어 보는 시간을 가진다.
처음에 리눅스 데스크탑을 사용하면서 인터넷 메뉴의 첫 아이콘으로 Ethereal를 볼 수 있었는데 처음엔 먼가 했다가 특별히 프로그램을 구해서 설치해야만 볼수있는 스니핑 기능을 CentOS에서 기본으로 Ethereal이 제공
되 어져있다는 것을 알았으며 실제로 아이디와 패스워드정보의 패킷이 잡히는지 테스트해 본 기억이 난다.(그대로 잡힌다.)
그 럼 Ethereal를 간단히 정의하면 네 트워크 팻킷분석기이 다. Ethereal는 네트워크 (eth0, eth1...)를 지나가는 패킷들을 캡쳐하려고 할것이고 그 패킷을 다양한 형태로 결과물을 보여준다. 설치와 기능을 살펴보면서
이 형태들을 살펴볼것이며 이러한 프로그램을 쓰는 목적은 네트워크 문제를
해 결하기 위해서 이것을 사용할 것이며 보안 관련 엔지니어들은 보안적인 측면에서 시험하기 위해 사용할수도 있다. 개발자들은 프로토콜 구현에 있어
디 버그를 하기 위해서 Ethereal와 같은 프로그램을 사용 가능하다.
눈 에 보이지 않는 팻킷을 보고 그 패킷이 어떤 정보를 담고 있으며 어떤 서비스에서 나간것인지를 알려주므로 정말 유용한 프로그램이 아닐 수 없다.
아 래는 Ethereal이 제공하는 많은 특성들중의 일부이다.
ㅇ 네트워크 인터페이스로부터 활 동 중 인 패킷 데이터를 캡쳐한 다.
ㅇ 매우 상 세한 프로토콜 정보를 가지고 패킷들을 표현한 다.
ㅇ 캡 쳐된 패킷 데이터를 열고 저장한 다.
ㅇ 많은 다른 캡쳐 프로그램들로부터 패 킷 데이터를 임포트하 고,
그 프로그램들에게 익 스포트 한다.
ㅇ 많은 기준에 대해서 패 킷을 필터링한 다.
ㅇ 필터들에 근거한 패킷 표현을 칼 라화한 다.
ㅇ 다 양한 통계를 생성한다.
이 제 Ethereal이 무엇인지 어떠한 특징이 있는지 어떻게 사용 될 수 있는지를 살펴보았다. Ethereal 의 공식 홈피이지인 (www.ethereal.com)
서 최신버전인 ethereal-0.10.14를 다운받고 이 페키지를 설치하기위해
필 요한 libpcap 0.8.3 도 염두해두고 설치를 시작한다.
최 소산의 플랫폼들
리 눅스
ㅇ Debian GNU/Linux
ㅇ Gentoo Linux
ㅇ IBM S/390 Linux(RedHat)
ㅇ Mandrake Linux
ㅇ PLD Linux
ㅇ Red Hat Linux
ㅇ Rock Linux
ㅇ Rock Linux
ㅇ Slackware Linux
ㅇ Suse Linux
다 운로드 화면이다. ( http://www.ethereal.com/download.html )
Windows, Red Hat / Fedora , Solaris, Source Code 등의 카테고리가 있음을 알수가 있다 .원하는 플렛폼에 맞게 선택할 수 있다.
안 에 보면 All Version 이라하여 버전별로 의존성걸리는 페키지들까지
모 두 있으며 시그너쳐파일도 보인다. 여기서 의존성걸리는것을 모두
받 아 설치해도 되고 (미리 설치하는 것 보다 설치하다가 의존성걸리면 찾아
설 치 하는것이 더 좋겠다.)
아 니면 아래처럼 자신의 시스템의 설치씨디가 있으면 마운트 하여 rpm을
구 할수 있다.
마 운트 후
cd /mnt/cdrom/CentOS/RPMS
rpm -ivh glib-1.2.6-3.i386.rpm
rpm -ivh glib-devel-1.2.6-3.i386.rpm
rpm -ivh gtk+-1.2.6-7.i386.rpm
rpm -ivh gtk+-devel-1.2.6-7.i386.rpm
rpm -ivh libpcap-0.4-19.i386.rpm
위 의 페키지들이 필요하며 아마 데스크탑으로 설치를 했다면 libpcap 페키지
빼 고는 대부분 설치가 되어있을 것이다.
(rpm -qa | grep 찾을패키지명 또는 일부명 : 패키지가 설치되어있는지 검색)
그 럼 glib, gtk+-devel, gtk+ 가 설치되어있는 서버에서 테스트하므로
우 선 이렇게 설치해준다.(의존성에 걸리면 그 패키지 위과같은 방법으로 찾아 설치 해준다.)
패 킷을 잡을수있도록 해주는 패키지 설치
# rpm -ivh libpcap-0.8.3-10.RHEL4.rpm
Ethereal 설치
# rpm -ivh ethereal-0.10.14-1.EL4.1.rpm
TIP)
설 치시 의존성이 가장 문제일 것 이다. 위에서 제시한데로
의 존성 걸리는 패키지들을 일단 확보한다. 그러나 모든 의존성 페키지들이
다 한자리에 있는데도 서로 설치가 않되어서 그 어떻한 패키지를 먼저 설치해도 설치가 않되는 경우가 있다. 그럴때는
rpm -ivh *.rpm 이런식으로 몽땅해라라고 명령을 내리면 속시원히
설 치됨을 볼 수 있다. 또 한가지 yum 업데이트를 이용하여 설치하는 방법도 있다.
사 실 이방법이 가장 간편하면서 빠른 방법으로 yum 업테이트가 되는 상황이라면 (안되면 yum 도 설치가능하니 설치하면 된다.)
다 음과 같은 형식으로 설치하거나 업데이트 할 수 있다.
# yum install [설치하고싶은 페키지명]
이 정도면 여러 방면으로 설치 할 수 있는 방법을 알려준 것 같다.
Ethereal 의 세부적인 기능은 홈페이지에서만 보더라도 꾀 많은 문서로 양이 많다. 흔히 사용하고 굴직한 기능들만 보도록 하고 자세한건 직접 건드려 보길바란다.
먼 저 인 터텟 - Ethereal Network Analyzer 실 행한다.
실 행 후 먼저 help - About Ethereal을 클릭하면 위와같은 정보를 볼수가
있 다. GTK+, GLib, libpcap, libz, Net-Snmp 그리고 마지막으로해당 서버
의 시스템 버전이 나온다. 그리고 첫줄에서 Ethereal의 Version 0.10.14 버 전
도 확인 할 수 있다.
그 럼 눈에 바로 보이는 큰 아이콘 부터 보자
처 음에 보이는 것이 Interfaces 이다. 클릭하면 다음과 같은 화면을 만날 것이다.
자 실행시킨 위 그림을 보면 Device 라하여 eth0 any, lo 라는것이 명시되고 만약 렌카드가 두게면 eth1도 있을것이다 그 device에 대한
설 명과 IP ,Packets량의 정보가 보인다.오른쪽에 Capture에 살짝 마우스를
올 리면 즉시 팻킷캡쳐를 한다는 메세지를 볼수가 있고 클릭시 다음과 같이
서 비스 프로토콜별로 패킷을 양과 % 를 볼수있으면 캡쳐를시작한지로 부터
경 과된 시간도 보인다.
TCP 와 UDP 프로토콜이 지배적으로 사용되며 패킷량을 보여준다.
그 럼 이 화면이 과연 정말 맞는것일까 하는 의문에 실제로 팻킷을 발생시켜
보 았다.
이 캡쳐창을 한쪽으로 계속 보고있는 가운데 인터넷창을 띄워보자 그 다음
각 종 링크를 클릭한다든지 이벤트를 발생시키면 갑자기 TCP 의 상황바가
올 라가면서 다른것들이 조금씩 줄어드는것을 볼 수 있을것이다.
이 메일 역시 보내보면 UDP가 올라가는것을 볼 수 있다.
우 리는 장치별로 본다음 그 장치에서 나가는 패킷을 프로토콜 종류로 보았다.
그 럼 이 창을 종료를 해보자 아주 재미있는것이 나온다. 통계로만 보았던
패 킷이 내용과 함께 색깔별로 잘 정리되어 시간 ,시작IP , 대상IP Protocol
그 리고 내용까지 각 항목별로 정렬가능하게 나오면 아래에는 더 세부적인
내 용까지 제공해준다. 심지어는 임의 사이트에 로그인을 했을시 아이디와
페 스워드까지 나오는 것을 보았을때 나는 입을 다물지 못했다. 처음
사 용목적에서 기술했듯이 이런 기능들이 있기에 많은 활용이 되는 것이다.
현 재까지의 패킷정보를 저장하고 시작할것이지 버리고 새로 시작할
것 인지 묻는다. 그때 저장하면 된다. (저장옵션도 있으니 유심히 보길)
색 깔도 사용자가 바꿀수 있다 view 메뉴에 coloring rules에 보면 색깔별로
내 용이 정의되어있다.
그 럼 다음 아이콘은 Option 역시 그리 어렵지 않다. 말그대로 사용하면서
옵 션을 줄 수 있다. 다음 그림을 보면 이해가 더 쉬울것이다.
위 의 화면에서 Option 을 클릭하면 위와같이 Capture Option 팝업이 뜨며
여 기에서는 eth0 , 1 ,2 등의 네트워크 장치에 대해서 불규칙적인 패킷을 대상으로 캡쳐할수있으며 패킷키기의 제한을 줄 수 있다.
그 리고 캡쳐를 할때 필터를 할수있으며 필터하는 옵션자체도 파일로 저장하여 사용할수 있다. Capture Filter 를 클릭하면 위화면 처럼 Capture Filter 팝업이 뜨면서 Filter 항목이 꼭 포토샵에서 Filter 종목을 고르듯 템플릿화 되어 제공되면 새로만들기 버튼을 눌러 자신만의 규칙을 만들수 있다. 그 외에도 Display Options, Stop Capture에서 자동으로 캡쳐를 중단할 기준을 셋팅할수도 있다.
다 음 아이콘인 Star는 Interfaces에서 기능설명을 할때 캡쳐시작부분이 있었다. 그부분을 바로 실행기켜준다. 클릭하면 아까 보았던 창이
다 시 보일것이다. (물론 한번 한상태면 현재상태를 저장하고 다시시작할건지 버리고 다시 시작할건지 물어본다.)
다 음 아이콘인 Stop와 Restart는 Start 를 하고 있는 상태에서만 활성화 되어있으면 기능은 캡쳐를 멈추고 다시시작하는 기능이다. 열기 아이콘은
캡 쳐한것을 파일로 자장할수있다고 하였다. 클릭하게 되면 파일브라우져가 떠서 캡쳐가 저장된 파일을 찾을수있도록 해준다.
기 본적인 기능들을 살펴보았다.
큰 아이콘이아닌 위의 메뉴로 살펴보면 좀더 섬세하고 많은 기능들이 있다.
좀 더 많이 프로토콜에 대해서 셋팅을 할수있고 I.O 그래프도 그릴수 있다.
운 영체제를 설치하면서 이런기능에 좋은 인터페이스의 프로그램이 기본으로
설 치된다는것에 다시한번 놀라면서 리뷰를 마친다.
참 고자료 : http://www.ethereal.com/docs/eug_html_chunked
TEST OS : CentOS 4.2 Final [Kernel 2.6.9-22 EL]
작 성자 : 수퍼유저코라아 서버관리팀 안재성(mymaster@superuser.co.kr)
linux] wine 얼마나 발전 했을까?
예전에 작성한 글이 있어서 붙여 넣어 보고 한번 찾아 보았다.
와인은 여전히 건재하구나(http://gun0123.tistory.com/299)
이제 익스플로러가 되는가보네요.
리눅스에서 익스플로러를 돌일일이 없는게 요즘엔 크롬이 워낙 좋아서.
------------------------------------------------------
yum install wine
와인 깔고
nateon 받아서 설치해 보았다.
마지막 부분에 에러가 난다.
에러창 체크하면 깔렸던 파일이 지워지는데
체크하기 전에 tar로 다 압축해뒀다가.
다시 풀면
실행이 된다!
통합 메시지함도 잘되고... 접속도 잘되고.
다만!
채팅창에서 한글을 치는 순간 먹통된다.
영어로만 대화해야 한다 ㅠ.ㅠ
익스플로어는 설치는 되는데 죽어라고 실행이 안된다.
기본적으로 깔리는 노트패드랑 레지스트리 편집기, 파일 탐색기는 너무 잘돈다.
와인은 여전히 건재하구나(http://gun0123.tistory.com/299)
이제 익스플로러가 되는가보네요.
리눅스에서 익스플로러를 돌일일이 없는게 요즘엔 크롬이 워낙 좋아서.
------------------------------------------------------
yum install wine
와인 깔고
nateon 받아서 설치해 보았다.
마지막 부분에 에러가 난다.
에러창 체크하면 깔렸던 파일이 지워지는데
체크하기 전에 tar로 다 압축해뒀다가.
다시 풀면
실행이 된다!
통합 메시지함도 잘되고... 접속도 잘되고.
다만!
채팅창에서 한글을 치는 순간 먹통된다.
영어로만 대화해야 한다 ㅠ.ㅠ
익스플로어는 설치는 되는데 죽어라고 실행이 안된다.
기본적으로 깔리는 노트패드랑 레지스트리 편집기, 파일 탐색기는 너무 잘돈다.
diary] 06. 10. 12 지난 다이어리
6년 전 다이어리를 정리하다가 좋은 글을 썼었네.
친구가 말해주더라.
니가 지금 공부하고 있는 것들은 다 자기 합리화라고.
맞다. 그래도 과 공부를 안 할수는 없다. 내가 사업을 하지 않고 직장인을 원하는 이상.
약간의 후회가 될뻔도 했다. 내가 원하는 과는 따로 있었고 재수가 꿈이었는데.
왜 과감하면 말하지 못했을까.
하지만 당시 상황은 내가 대학 공부를 하기도 힘들었기에 지금 돌아간다 하더라고 똑같은
선택을 할 수밖에 없을 것이다.
지금까지의 내 선택은 Optimal 이었다.
하지만. 친구 말이 맞다. 내가 꾸는 꿈은 너무 먼 곳에 있어서 한길만 달려도 모자르다. ㅠ.ㅠ
그래서 꿈을 접기로 했다.
언젠가 파일럿이 꿈이었던 한 선배가 라식을 해도 시력이 너무 안좋아서 날아가는 비행기만 봐도
늘 눈물을 흘린다고 했다.
하지만 난 다른 방향으로 생각할 수도 있다.
시스템경영과 관련된 컴퓨터 시스템을 구축하고 싶다.
그런 직업이 어떤 명칭을 가지게 될지는 모르지만 수많은 장점들과 사람들에게 도움될 일들이
생각난다.
밤에 이래저래 생각해봤다. 현실과 타협해 가는 .
만일 전쟁중인 나라라면 내 하고 싶은 일을 할 수는 없는 일인것과 같이.
친구가 말해주더라.
니가 지금 공부하고 있는 것들은 다 자기 합리화라고.
맞다. 그래도 과 공부를 안 할수는 없다. 내가 사업을 하지 않고 직장인을 원하는 이상.
약간의 후회가 될뻔도 했다. 내가 원하는 과는 따로 있었고 재수가 꿈이었는데.
왜 과감하면 말하지 못했을까.
하지만 당시 상황은 내가 대학 공부를 하기도 힘들었기에 지금 돌아간다 하더라고 똑같은
선택을 할 수밖에 없을 것이다.
지금까지의 내 선택은 Optimal 이었다.
하지만. 친구 말이 맞다. 내가 꾸는 꿈은 너무 먼 곳에 있어서 한길만 달려도 모자르다. ㅠ.ㅠ
그래서 꿈을 접기로 했다.
언젠가 파일럿이 꿈이었던 한 선배가 라식을 해도 시력이 너무 안좋아서 날아가는 비행기만 봐도
늘 눈물을 흘린다고 했다.
하지만 난 다른 방향으로 생각할 수도 있다.
시스템경영과 관련된 컴퓨터 시스템을 구축하고 싶다.
그런 직업이 어떤 명칭을 가지게 될지는 모르지만 수많은 장점들과 사람들에게 도움될 일들이
생각난다.
밤에 이래저래 생각해봤다. 현실과 타협해 가는 .
만일 전쟁중인 나라라면 내 하고 싶은 일을 할 수는 없는 일인것과 같이.
eng] somebody calls for an exterminater?
스타크레프트
스타크래프트
starcraft 대사
테란 유닛의 대사 모음
┌─────────────────────────────────────┐
*SCV
SCV good to go, sir. Reporting for duty
SCV 출동 준비 끝! 임무 수행 준비 끝!
Job finished.. Orders received. Roger that
임무 완수, 작업 완료. 명령 접수 되었음. 알겠습니다!
I can't build it someone's in the way
누군가 길을 막아 건물을 지을 수 없습니다
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
*마린
Let's move. Checked up and good to go.
이동하자! 움직여! 확인 끝. 출동 준비 끝.
Rock'n roll. Give me somebody to shoot.
출동!, 신나게 출동! 제거할 녀석 없습니까?
Outstanding. Who wanna be a piece of meat, boy
놀랐습니다! 누가 작살나길 원하는냐?
Standing back.
준비 완료!
Go, go, go!
잽싸게 움직이란 말야!,
빨리 움직여!
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
*파이어뱃
Need a Light? You got my attention.
태워버릴 것이 필요합니까? 신경 쓰이게 하네.
Let's burn. Fire it up.
태워버리자. 태워버려!
Who wanna yurn a be heated?
누가 열 좀 받고 싶어?
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
*고스트
Ghost reporting. Call the shoot.
고스트가 보고한다. 한방 먹이자.
Never know I'm here. I'm Here.
내가 여기 있는걸 절대 모를걸. 고스트 여기 있음.
I Hear That. Somebody calls for an Exterminater?
알아들었음. 누구 확실하게 끝내줄 사람이 필요합니까?
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
*시즈 탱크
Yes, sir. Move it.
네, 대장님! 이동!
Go, Siege. Absolutly.
시즈 탱크 출동! 완벽하게
Oestination. Eradiate, sir.
공격 목표는? 초토화하겠습니다, 대장님!
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
*골리앗
Goliath, on-line. Target Oestination.
송신 준비 완료, 골리앗! 공격 목표는?
Coming on-line. Go Ahead, Tech on.
송신이 오고 있음. 촐동하겠음.
System functional. Confirmed.
시스템 작동중. 확인됨.
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
*레이스
Go Ahead, Commander. Attack Formation.
알았습니다, 대장님. 공격 편대 준비!
Transmit coordinate. Report again.
좌표 확인! 송신 받았음.
Standing Back. Wraith don't waiting up to orders.
일단 뒤로 물러서겠음. 레이스는 명령을 기다리지 않는다.
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
*드랍 십
Can I Take Orders? Oestination?
명령 수행 준비 완료! 목적지는?
In transfer HQ. Buckle up.
수송중임, 사령부. 안전벨트 착용.
I Copy That. Strap yourselves in, boys.
명령 접수했음. 꽉 잡으세요.
In the by, by, by, by.
알겠음.
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
*배틀크루저
Good day, Commander. Set a course.
안녕하십니까? 대장님. 항로를 맞춰라.
Receiving transmission. Make it Happen.
명령을 수행하겠음. 수행하겠습니다.
Take it slow. Battlecruiser Operational.
천천히 움직여. 배틀크루저 출동 준비끝.
Got Cagey
신중하게 해
└─────────────────────────────────────┘
알긴 알았었는데.
몰랐었다.
... 내가 안다고 거짓말하고 있는 진실 투성이.
스타크래프트
starcraft 대사
테란 유닛의 대사 모음
┌─────────────────────────────────────┐
*SCV
SCV good to go, sir. Reporting for duty
SCV 출동 준비 끝! 임무 수행 준비 끝!
Job finished.. Orders received. Roger that
임무 완수, 작업 완료. 명령 접수 되었음. 알겠습니다!
I can't build it someone's in the way
누군가 길을 막아 건물을 지을 수 없습니다
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
*마린
Let's move. Checked up and good to go.
이동하자! 움직여! 확인 끝. 출동 준비 끝.
Rock'n roll. Give me somebody to shoot.
출동!, 신나게 출동! 제거할 녀석 없습니까?
Outstanding. Who wanna be a piece of meat, boy
놀랐습니다! 누가 작살나길 원하는냐?
Standing back.
준비 완료!
Go, go, go!
잽싸게 움직이란 말야!,
빨리 움직여!
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
*파이어뱃
Need a Light? You got my attention.
태워버릴 것이 필요합니까? 신경 쓰이게 하네.
Let's burn. Fire it up.
태워버리자. 태워버려!
Who wanna yurn a be heated?
누가 열 좀 받고 싶어?
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
*고스트
Ghost reporting. Call the shoot.
고스트가 보고한다. 한방 먹이자.
Never know I'm here. I'm Here.
내가 여기 있는걸 절대 모를걸. 고스트 여기 있음.
I Hear That. Somebody calls for an Exterminater?
알아들었음. 누구 확실하게 끝내줄 사람이 필요합니까?
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
*시즈 탱크
Yes, sir. Move it.
네, 대장님! 이동!
Go, Siege. Absolutly.
시즈 탱크 출동! 완벽하게
Oestination. Eradiate, sir.
공격 목표는? 초토화하겠습니다, 대장님!
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
*골리앗
Goliath, on-line. Target Oestination.
송신 준비 완료, 골리앗! 공격 목표는?
Coming on-line. Go Ahead, Tech on.
송신이 오고 있음. 촐동하겠음.
System functional. Confirmed.
시스템 작동중. 확인됨.
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
*레이스
Go Ahead, Commander. Attack Formation.
알았습니다, 대장님. 공격 편대 준비!
Transmit coordinate. Report again.
좌표 확인! 송신 받았음.
Standing Back. Wraith don't waiting up to orders.
일단 뒤로 물러서겠음. 레이스는 명령을 기다리지 않는다.
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
*드랍 십
Can I Take Orders? Oestination?
명령 수행 준비 완료! 목적지는?
In transfer HQ. Buckle up.
수송중임, 사령부. 안전벨트 착용.
I Copy That. Strap yourselves in, boys.
명령 접수했음. 꽉 잡으세요.
In the by, by, by, by.
알겠음.
└─────────────────────────────────────┘
┌─────────────────────────────────────┐
*배틀크루저
Good day, Commander. Set a course.
안녕하십니까? 대장님. 항로를 맞춰라.
Receiving transmission. Make it Happen.
명령을 수행하겠음. 수행하겠습니다.
Take it slow. Battlecruiser Operational.
천천히 움직여. 배틀크루저 출동 준비끝.
Got Cagey
신중하게 해
└─────────────────────────────────────┘
알긴 알았었는데.
몰랐었다.
... 내가 안다고 거짓말하고 있는 진실 투성이.
피드 구독하기:
글 (Atom)
UPBIT is a South Korean company, and people died of suicide cause of coin investment.
UPBIT is a South Korean company, and people died of suicide cause of coin. The company helps the people who control the market price manipu...
-
연휴 마지막날 아침... 산책을 하다 한장 찍어보았다. 인생도 마찬가지로 길의 끝을 모른체 선택을 해야하는 경우가 발생한다. 나중에 그 기준이 바뀔수도 있지만. 지금 기준은 많은 사람이 함께 갈 수 있는 길을 선택하고 싶다.
-
□ native modifier 는 자바가 아닌 다른 언어로 작성된 코드를 자바에서 사용하기 위한 것 □ transient modifier 는 객체가 직렬 화되는 과정에서 해당 필드가 저장되지 않아야 한다는 것을 알리기 위해 사용 ...
-
제로보드 세팅. sudo apt-get install apache2 mysql-server libapache2-mod-php5 phpmyadmin ssh 패키지를 이용한 소프트웨어 설치 - APM세팅 및 ssh 설치 ...