Outsider's Dev Story

Stay Hungry. Stay Foolish. Don't Be Satisfied.

개발자?

올초에 졸업하면서도 눈앞이 깜깜한 것같았는데(그런것 치곤 여유가 엄청났지.. ㅡ..ㅡ)

어느새 여기까지 왔다. 취업대란? 기술직이라서 그런지 그런건 잘 모르겠다. 이력서를 그렇게 많이 넣지도 않았고 면접도 몇번 안봤다. 4개월이라는 긴 교육기간 덕에 시간은 꽤 흘렀지만 서도 내가 선택했던거고 아무것도 모르던 상태에서 많은 걸 배웠다.

이제 입사한 지 이틀이 지났지만 그래도 이제 명색은 개발자이다. 교육때 한거 말고는 아직 개발이라고 한건 개뿔도 없긴 하지만 그래도 어느정도 가닥은 잡을 수 있을 것 같고 열심히 달린 덕에 바라던 부서에도 배정받았다. 어쨌든 어디가서 "너 머하냐?" 그럼 "웹 개발자야"라고 정도는 말할 수 있는 위치까지는 왔다.

컴퓨터 그렇게 좋아하면서도 장비에 대한 관심만으로 대부분의 시간을 보냈고 작년 마지막 학기를 마치고서도 내 학점은 3점에 겨우턱걸이... 군대전에 학점이 워낙 안좋았기 때문에....

비쥬얼C쪽 개발은 툴도 켜본적이 거의 없고 좀 의욕적으로 공부해 보려고 했던 자바는 졸업할때까지도 콘솔로 계산기 같은것도 짤수 없었고 졸업작품은 친구등에 그냥 업혀서 졸업했고 개발이라고 할 수 있는건 아무것도 없었다.

한경닷컴 교육시작할때 이거 언제 다 배우나... JDBC란게 먼지도 이때 처음 알았고 JSP나 ASP는 만져보기도 처음이었다. 이게 뭔말인가 했지만 오랜 인터넷생활로 관련 잡다지식은 꽤 있던터라 어느정도 이해할 수 있었고 겨우겨우 여기까지 왔다..

여태까지 내 삶을 보자면 전형적인 공대집안에 공대적 사고로 인하여 논리적 사고도 좋은 편이었고 개인적으로 머리도 괜찮은 편이었다고 생각한다. 어디가서 이해도면에서 쳐졌던적은 없었던듯.. 단순암기는 거의 독보적이었고... ㅡ..ㅡ

그런 탓에 실제로 내가 노력한건 그닥 없는것 같다. 머 엄청 잘났다는 건 아니지만 꽤나 낙천적인 성격탓에 그닥 노력하지 않으면서 적당히 나오는 성적에 만족해 하며 적당히 살았었는데 그래두 이번 교육에는 꽤 열심히 했던것 같다...

예상외로 코딩에 꽤 즐거움을 느낄 수 있었고 하나하나 알아감에 즐거웠다. 내가 발로 짠 프로그램이 그럭저럭 돌아가는 것두 재밌었고......

이젠 적당적당히는 통하지 않을 때다... 동기부여도 되었고... 목표도 생겼고 좋은 사수도 있다. 많은 조건이 갖추어졌다..

내가 할 건 이제 앞뒤가리지 말고 달리기만 하면 된다... 2년, 3년? 정도만 조낸 달리면 먼가 좀 되지 않을까 싶다... 일단 달리자...

한건 조낸 많다. JSP... ASP... ASP.NET.... Oracle.... MS SQL... Javascript....
여기에 분위기를 보아하니 Ruby on Rails도 해야할듯하고 Json... XML...에 이젠 알고리즘도 좀 봐야하고... 디자인패턴도 좀 공부해야하고... 이런 저런 방법론들... 해야할게 다 생각나지 않을정도로 산더미 같지만.... 잡식하다보면 먼가 나오지 않을까 싶다. 메인은 JSP지만.... Nexus팀... 한번 잘나가는데 동참해 보자...

2007/08/03 01:30 2007/08/03 01:30

시간 간격 구하기

시간을 계산해야 할 일이 필요했다.

내가 필요했던 부분은 경매사이트에서 DB에 들어있는 마감시각을 가져와서 현재시각과 계산하여 남은 시간을 계산하기 위해서였다.

C#에서 DateTime이 시간이다. 보통 DB에도 "2007-07-23 오전 12:52"같은 형식으로 들어가는데 그럼 이것을 어떻게 계산을 해야하는가? 일단 그냥 빼기를 해서는 계산이 되지를 않았다.

C#에서는 연산자 오버로드를 할 수 있으므로 연산자 오버로드를 해야하는가 하면서 이것저것 뒤지다가 나온 것인 TimeSpan이다. 둘다 System네임스페이스를 사용한다.

TiemSpan은 시간 간격을 나타내는 구조체이다. DateTime을 계산하기 위해서 사용한다.

일단 소스를보자.


DateTime end = DateTime.Parse(EndtimeHF.Value.ToString());
TimeSpan t3 = end.Subtract(DateTime.Now);
TimeSpan t2 = DateTime.Now.Subtract(DateTime.Now);
if (t3.CompareTo(t2) > 0)
{
    DeadlineLB.Text = t3.Days + "일 " + t3.Hours + "시간 " + t3.Minutes + "분 " + t3.Seconds + "초 남았습니다.";   
}
else
{
    DeadlineLB.Text = EndtimeHF.Value.ToString();
}

따로 또 수정하기 귀찮아서 그냥 내가 쓴 소스를 그대로 잘라왔다. ㅋ

여기선 히든필드에서 값을 가져왔지만 스트링이면 DateTime으로 캐스팅하면 되고 DateTime이면 그냥 쓰면 된다.

Substract가 값을 빼는 메서드이다. end에서 현재의 시간을 빼고 이걸 TimeSpan t3에 저장해서 남은 시간을 계산했다.

여기에 시간 간격이 0이하일 경우에는 그냥 종료시간만 표시하기 위해서 TimeSpan t2를 썼다. 이것저것 만져봤지만 TimeSpan의 형식을 정확히 알 수가 없어서 크기를 계산할 수가 없어서 나름대로 꼼수를 부렸다. Substract로 현재에서 현재를 빼서 t2에 저장을 했다. 연산속도를 보았을때 0이 나올 것이고 머 꼭 0이 아니더라도 너무 작은 값이므로 큰 상관이 없다.

비교메서드인 CompareTo를 사용해서 t3와 t2를 사용해서 시간간격이 0보다 큰지 아닌지를 비교했다.

2007/07/23 01:05 2007/07/23 01:05