티스토리 툴바


분류없음2009/07/23 16:58
말고 많고 탈도 많지만 회사에서 일괄로 신청하라고 하니 접수를 해 봤다.
다행인지 불행인지 모든 경우의 수를 경험 할 수 있었다.
차근차근 따라해 보자


1. http://es.sw.or.kr/ 사이트 등록

사이트에 들어가서 회원가입하고 차근차근 입력을 하면 된다.
정규직은 근무이력, 계약직은 기술경력으로 입력하면 된다.
기술자격은 산업기사 이상이면 입력하면 된다.

(폐업한 회사나 이전회사가 소프트웨어 개발회사가 아니라서 조회가 안되서 사업자 등록번호를 알 수가 없다면 제일 아래의 내용을 먼저 보자!)




2. 서류준비


여기 화면에 있는 필요서류 출력하기를 누른다음에
경력신고서, 근무경력확인서 모두 출력해서 본인 사인이 들어가야할 부분은 모두 사인하고 서명한다.

근무경력확인서에 확인 받아야 할 회사에 전화 연락 후 담당자와 이야기 해보고 사전 약속을 잡는다.
회사의 사정에 따라 바로 처리해주는 경우와 일정 시간을 잡아야 해 주는 경우가 있으니 사전 전화는 필수!

그러나..
회사가 망했거나 어디에 존재하는 지 모르는 경우는 어떻게 해야할까?



3. 회사가 폐업한 경우

☞ SW기술자가 근무하였던 회사의 부도·폐업 등 불가피한 사유로 인하여 근무경력확인서를 발급받을 수 없는 경우에는 반드시 폐업사실증명원 및 아래의 서류 중 하나를 제출하시면 근무경력인정(80%)이 가능합니다.

① 국민연금가입증명서, 산재재해보험확인서, 건강보험자격득실확인서, 고용보험가입사실확인서
② 근로소득원천징수영수증, 부가가치세표준증명원
③ 근로계약서(담당업무, 근무기간이 기재되어야 함), 용역계약서(담당업무, 근무기간이 기재되어야 함), 기타 소프트웨어기술자의 근무사실 및 근무기간을 객관적으로 입증할 수 있는 서류

참고로, 폐업사실증명원은 이해관계자(대표자, 종업원 포함)에 해당되면
발급받을 수 있으며, 해당 업체의 직원임을 입증하는 서류(4대보험가입확인서, 원천징수영수증 등)를 제출하시면 세무서에 직접 방문하여 발급 가능합니다. 방문 전 세무서 확인 후 방문해 주시기 바랍니다.


라고 나와 있다.
다니던 회사가 폐업했다고 나의 경력을 80% 깎아먹는 정책을 누가 만들었을까?


일단 나는 국민연금(http://www.npc.or.kr/) 에 가서 가입증명서를 발급받고 그 증명서를 가지고 지방 세무서로 찾아가서 폐업확인서를 발급받았다. (소프트웨어 기술자 신고에 한해서 발급해 준단다. 원래는 타인은 발급 못 받는듯...)

그러면 경력증명서 (직인없이), 폐업확인서, 국민연금 가입증명서(근무기간 증명) 이 되었으므로 경력 인정 받을 수 있다.

회사에 따라서 사정이 어려울 경우 국민연금 안내는 경우도 더러 있다더라.
고용보험, 국민연금, 의료보험 등 4대 보험은 다 된다고 하니 가장 길게 인정받을 수 있는 서류로 준비하시라.




4. 회사의 존재가 불문명 할때

나는 회사가 없어진 것으로 생각하고 물어봤건만 아직 폐업 신고는 안했단다.
114에 물어봐도 모르고 이전 회사 주소로 가봐도 회사는 없고 홈페이지도 없다.
내가 형사도 아니고 못찾겠다. 아니 모르겠다.

이럴 땐 각서와 함께 아래의 서류를 준비하면 된다.


1. 대상 업체
- 사실 상 폐업 상태이나 폐업신고가 되어 있지 않은 업체 
- 연락처 및 주소를 알 수 없는 업체 

2. 구비 서류 (다음 각 항목 반드시 모두 제출)
- 본인 각서 (서식: 자료실 이용)
- 근무경력확인서 (직인 없이 제출)
- 근무기간 증빙서류 (다음 중 1부: 계약서, 근로소득원천징수영수증, 4대 보험 관련 서류 등)
- 근무처 업종 증명 서류 (다음 중 1부: 사업자등록증 사본, SW사업자신고 여부확인, 등기사항전부증명서, 재직증명서 등)

네 가지 서류를 모두 제출해주셔야 경력의 80%를 인정받으시게 되므로 반드시 숙지해주시기를 바랍니다. 


각서는 의외로 간단하다 (http://es.sw.or.kr/) 에서 다운로드 하면 된다.
나는 정말 의외로 예전 파일에서 사업자등록증 사본을 찾을 수 있었다 -_- 그 이외의 경우에는 근무처 업종 증명서류 자체를 발급받기가 모호하다. (분명 이 법안 만든 사람은 안해본 것이 분명하다!!)



5. 앞으로는 어떻게 해야하나?

미리미리 준비하자!
1년에 한번씩은 몰아서 기록을 갱신하자!
이력을 관리해주니 이력서 쓸 땐 편할 것 같다.

웃기는 이야기만 회사를 나올 때는 재직증명서나 4대 보험 관련서류는 하나쯤은 철 해 놓자!
무슨 웃기는 짓이냐고 묻겠지만 준비하면 경력은 안 날아간다.


※ 다니던 (임금을 받았던) 곳의 사업자 등록 번호 조회

홈텍스를 이용하면 쉽게 확인 할 수 있는데

1. 홈텍스 (2003년 부터 최근 5년간) - 소득금액증명원 열람 및 발급
2. 전자민원 G4C (1999년 부터) - 소득금액증명원
3. 세무서 직접방문 - 소득금액증명원


여기에 보면 사업자 등록 번호가 다 나와 있다.






----------------------------------

결과적으로 80% 밖에 인정 못 받는 경력이 끼어 있어서 고급 개발자에서 중급으로 강등되었다.
내년 초에나 고급개발자로 다시 신청 할 수 있을 것 같다.


근데 고급 개발자면 뭐하나 -_- 실력이 저급인데 ㅜㅜ
저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by JYN
Java2009/07/21 09:18
내가 가장 좋아하는 두개의 라이브러리가 조합시 아쉬운 버그가 있어서 이렇게 남기게 되었다.
이렇게 찾은 버그는 같은 버그로 고민하는 사람들에게 "아! 버그구나" 하고 위안을 삼을 수 있고
불철주야 노력하는 오픈 소스 개발자 분에게 도움이 되었으면 하는 바람이다.


1. 트랜젝션(Transaction) 모드의 경우 반복되는 쿼리 실행 불가 (오라클 oracle) 

List list = sqlmap.queryForList(sqlQuery, parameter);

if(fsmb.getReturnFilter() != null){
for(int idx=0; idx < list.size(); idx++){
list.set(i, this.filtering((HashMap)list.get(idx), fsmb.getReturnFilter()));
}
}

형태로 반복하거나 테스트를 위해서 같은 조건으로 쿼리를 반복하는 경우 log4sql 을 사용하면 

명령문 종료
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:208)
at oracle.jdbc.driver.OracleStatement.ensureOpen(OracleStatement.java:3546)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3351)
at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3476)
at core.log.impl.PreparedStatementLoggable.execute(PreparedStatementLoggable.java:109)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at core.log.aop.handler.DaoInfo.doAround(DaoInfo.java:97)
at core.log.aop.reflection.profiler.AroundProfiler.invoke(AroundProfiler.java:19)
at $Proxy1.execute(Unknown Source)
at com.ibatis.sqlmap.engine.execution.SqlExecutor.executeUpdate(SqlExecutor.java:80)
at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.sqlExecuteUpdate(MappedStatement.java:216)
at com.ibatis.sqlmap.engine.mapping.statement.MappedStatement.executeUpdate(MappedStatement.java:94)
at com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate.insert(SqlMapExecutorDelegate.java:393)
at com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl.insert(SqlMapSessionImpl.java:82)
at com.ibatis.sqlmap.engine.impl.SqlMapClientImpl.insert(SqlMapClientImpl.java:58)
at net.ion.flow.servlet.FlowActionServlet.service(FlowActionServlet.java:103)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:595)


형태의 에러가 발생한다.
log4sql을 안쓰거나 트랜젝션을 안쓰면 문제는 해결된다.
그러나 트랜젝션은 포기할 수 없으니 log4sql 를 빼야한다. (가슴이 아프다 ㅜㅜ)




2. 에러코드 반환값 불일치

SQL쿼리에서 익셉션이 발생하면 에러코드를 반환하는데 log4sql을 쓰면 0 이 반환 된다.
나의 경우에는 에러코드를 가지고 여러가지 처리를 하는데 log4sql을 쓰면서 포기했었다 ㅜㅜ
그만큼 강력하지만 1번문제로 인해서 ㅜㅜ 어쩔 수 없이 이제 log4sql을 사용할 수 없게 되었다.




버그가 어서 수정되는 마음으로 조심스레 개발자 분에게 트랙백 걸어본다.

저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by JYN
JavaScript2009/05/08 15:24

출처 : http://ngweb.tistory.com/92

/*
 * 팝업 자동 리사이징
 *  - 윈도 환경에 따라 사이즈가 다를 수 있습니다.
 *  - 팝업페이지의 스크립트 최하단에서 실행하십시오.
 *
 * (ex.) window.onload = function(){popupAutoResize();}
*/
function popupAutoResize() {
    var thisX = parseInt(document.body.scrollWidth);
    var thisY = parseInt(document.body.scrollHeight);
    var maxThisX = screen.width - 50;
    var maxThisY = screen.height - 50;
    var marginY = 0;
    alert(thisX + "===" + thisY);
    //alert("임시 브라우저 확인 : " + navigator.userAgent);
    // 브라우저별 높이 조절. (표준 창 하에서 조절해 주십시오.)
    if (navigator.userAgent.indexOf("MSIE 6") > 0) marginY = 45;        // IE 6.x
    else if(navigator.userAgent.indexOf("MSIE 7") > 0) marginY = 75;    // IE 7.x
    else if(navigator.userAgent.indexOf("Firefox") > 0) marginY = 50;   // FF
    else if(navigator.userAgent.indexOf("Opera") > 0) marginY = 30;     // Opera
    else if(navigator.userAgent.indexOf("Netscape") > 0) marginY = -2;  // Netscape

    if (thisX > maxThisX) {
        window.document.body.scroll = "yes";
        thisX = maxThisX;
    }
    if (thisY > maxThisY - marginY) {
        window.document.body.scroll = "yes";
        thisX += 19;
        thisY = maxThisY - marginY;
    }
    window.resizeTo(thisX+10, thisY+marginY);

    // 센터 정렬
    // var windowX = (screen.width - (thisX+10))/2;
    // var windowY = (screen.height - (thisY+marginY))/2 - 20;
    // window.moveTo(windowX,windowY);
}


굿!
저작자 표시 비영리 변경 금지
크리에이티브 커먼즈 라이선스
Creative Commons License
Posted by JYN