본문 바로가기

전체 글71

자바 TCP/IP 통신 (Netty, 네티) - 3 송신 항상 늘 그랬듯이 아무것도 모를 미래의 나에게 설명한다. 이전 글에서 사용했던 부트스트랩을 연결할 때 핸들러를 등록할때 사용했던 ChannelInitializer클래스를 이용해 설명할 수 있다. clientBootstrap.group(e) .option(ChannelOption.AUTO_READ, true) .handler(new ChannelInitializer()); ChannelInitializer클래스는 ChannelInitializer 을 상속받았는데 ( import io.netty.channel.ChannelInitializer ) ChannelInitializer안의 initChannel 메소드를 오버라이딩하여 아래와 같이 정의되었다. @Override protected void initCh.. 2021. 5. 21.
C# 셀레니움 - 웹기반 출근퇴근 자동으로 하기 - intro 출퇴근 처리를 웹브라우저 기반으로 체크를 하게 되었다. 가장 처음 시작은 1. 컴퓨터를 켜서 2. 웹을 켜서 3. 로그인을 하고 4. 근태화면으로 넘어가서 5. 근태버튼을 누르고 6. 출근 버튼을 누른다. 이 얼마 안되는 과정이 너무나도 귀찮았고 나를 번거롭게 만들었다. 이 근태과정을 시작한지는 얼마 되지도 않았고 마침 폭풍과도 같았던 프로젝트 준공일이 종료된 후 였던데다 사수에게 다음 할일이 있는지 확인해보니 할 것도 없이 여유로웠다. (인수인계 받은 프로젝트가 있지만 마음이 매우 여유로웠다.) 할일없이 앉아있는건 성미에도 맞지 않았고 마침 이 귀찮은 과정을 버튼 하나만 누르면 처리해줄 녀석을 만들어볼까 싶었다. 주로 사용하는 언어가 자바였었지만 UI에 대해서 마음에 들지도 않았고 썩 익숙치 않았던 나.. 2021. 5. 21.
단어의 뜻 일하면서 단어의 구분을 명확하고 명확하게 해야한다는건 강조하고 강조해도 부족함이 없다. 내가 멍청해서 그런것도 있지만 내가 말한 A를 상대방이 A라고 알아들었는지 상대방이 말한 B를 내가 상대가 말하고자 한 B라고 들은건지 명확하게 물어봐야한다. 예를 들어 상대방이 단순하게 용지를 가져다 달라고 했을 때, 이면지를 요청하는건지, 새로운 A4용지를 요청하는건지 메모지를 요청하는건지, 저사람의 상황을 내가 어림짐작해서 가져다 줬을 때, 적재적소에 맞는 판단을 했다면 눈치가 좋다는 평이나 일처리가 능숙하다는 평을 받지만. 그렇지 못하다면 제멋대로 일을 한다, 일을 못한다.라는 평을 받을 수 있다. 2021. 5. 21.
오라클 상위 몇개 가져오기 MYSQL에서는 간단하게 LIMIT 을 이용해서 출력된 결과 중 최상위부터 몇개까지의 데이터를 가져올 수 있다. 오라클에서 rownum이라는걸 지원한다고는 알고 있었고 이를 이용하면 된다고는 어렴풋이 알고있었으나 감이 잡히지 않아서 못쓰고 있던 속성이었다. 하지만 오늘 적당한 기회가 되어 직접 사용하면서 결과문을 확인해보어 알게되었다. 이력테이블에서 where 조건을 걸어서 상위 몇개만 출력하고 싶었던경우가 몇번 있었는데 그럴때마다 이력테이블의 시간 속성에 조건을 걸어주고 검색을 했었는데 이젠 그럴필요가 없어졌다. SELECT ROWNUM, A.* FROM (SELECT * FROM 이력테이블 A ORDER BY 시간속성명 DESC ) A WHERE ROWNUM 2021. 5. 18.