퇴근5분전

 전에 그래프 그리고 할때는 임의 점에서 각으로 특점 점을 찍어서 그렸던게 대부분이었는데... 

요즘 프로그램 업데이트를 위해 필요한걸 만들려다보니.. 이런 화살표가 필요한데... 

기본 pen에 있는 화살표는... 너무 작게 보인다. 그래서 선을 직접 그리는 걸로 만들려고... 간단히 

테스트 겸해서 만들어봤다. 

 

 몇년만에 다시 삼각함수를 ... 

1. pt1 찍고 -----------> pt2 까지 마우스로 움직였을때의 각( angle )을 구하고

2. 이 각에서 -25도, + 25도 되는 80의 거리를 가진 지점 위치를 구한다. 

3. 각각 구해진 자리를 pt1과 이어지도록 그린다. 

 

# 구성 

  - 판넬 하나 놓고. 

  - 판넬에 이벤트 paint, mouse_down, mouse_move, mouse_up 을 걸어준다. 

 

 public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        } 

        Pen linePen = new Pen(Brushes.Black, 2f) { 
            StartCap = System.Drawing.Drawing2D.LineCap.NoAnchor,
            EndCap = System.Drawing.Drawing2D.LineCap.NoAnchor,
        };

        private void panel1_Paint(object sender, PaintEventArgs e)
        {
            if (pt1 == pt2) return;

            e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
            e.Graphics.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
            e.Graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;

            e.Graphics.DrawLine(linePen, pt1, pt2);

            float angle = -CalcAngleDegree(pt1, pt2);
            Point arowPt1 = CalcAngleRotate(angle - 25f, new Point(80, 0));
            Point arowPt2 = CalcAngleRotate(angle + 25f, new Point(80, 0));

            e.Graphics.DrawLine(linePen, pt1.X, pt1.Y, pt1.X + arowPt1.X, pt1.Y + arowPt1.Y);
            e.Graphics.DrawLine(linePen, pt1.X, pt1.Y, pt1.X + arowPt2.X, pt1.Y + arowPt2.Y);
        }


        bool isMDn = false;
        Point pt1;
        Point pt2;
        private void panel1_MouseDown(object sender, MouseEventArgs e)
        {
            isMDn = e.Button == MouseButtons.Left;
            pt1 = pt2 = e.Location;
        }

        private void panel1_MouseMove(object sender, MouseEventArgs e)
        {
            if (isMDn)
            {
                pt2 = e.Location;
                panel1.Invalidate();            
            }
        }

        private void panel1_MouseUp(object sender, MouseEventArgs e)
        {
            if (isMDn) panel1.Invalidate();

            isMDn = false;
          //  pt1 = pt2 = Point.Empty;
        }
         

        public float CalcAngleDegree(Point p1, Point p2)
        {
            double theta = 0d;
            int a = p2.X - p1.X;
            int b = p2.Y - p1.Y;


            if (b < 0)
            {
                theta = - (180 / Math.PI * Math.Atan2(b, a));
            }
            else
            {
                theta = 180 + (180 - (180 / Math.PI * Math.Atan2(b, a)));
            }
            return (float)theta;
        }

        public Point CalcAngleRotate(float anlge, Point p1)
        {
            Point p2 = p1;
            double rad = Math.PI / 180 * anlge;
            double x2 = Math.Cos(rad) * p1.X - Math.Sin(rad) * p1.Y;
            double y2 = Math.Sin(rad) * p1.X + Math.Cos(rad) * p1.Y;
            return new Point((int)x2, (int)y2);
        }
    }

 

############# 간만에 삼각함수를 하려니... 또 헷갈리네.. 

변환 : 라디안 <----> 각

 

라디안 = PI / 180 * 각도;   

각 = 180 / PI * 라디안; 

 

라디안을 구하고 싶으면 PI로 시작하면 편함. 

각을 구하고 싶으면 180으로 시작하면 편함. 

 

------------------------------------------- 구글링하면 많이 나오니까.. 

두 지점의 pt1, pt2의 각을 구할때는 atan2를 쓴다. 

tan@ = 높이(b)/ 밑변(a);

@ = aTan2( b / a);

 

CalcAngleDegree : 두 지점간에 각도 구하기

CalcAngleRotate : 회전시켜 다른 지점 구하기( 화살표 머리 양쪽지점 )

 

소스도 간단하니 딱히 더 주석달게 없네...

  음... 요새 자바 플젝 하는데... 문서가 하나도 제공이 안되다보니... 

개발전에 화면그리고 적용되어 있는 소스들 분석해서 따라가는 코딩을 하고 있다. 

신규화면 2개, 기존화면 수정 1개... 일주일 걸렸넹.. 주말 빼고 5일 정도니까... 

겁나 피곤하다. 5시 반에 일어나니... 목욜 금욜은 체력이 바닥을 쳐서... 

  신기한 경험을 했다. Select 조회를 했는데... 데이타가 조회되고도 화면에 안그려져서... 

뭐지 하고 봤는데... 왠 롤백 에러로그? .. 엥?

 오류 내용관련 검색했더니 db 락일수 있다 해서, 어제를 떠올려보니...

테이블에 테스트용 데이타를 직접 insert 했었는데... 음.. 그때 커밋도 했고... 테스트 할때는 롤백도 했었고...

 결론은... 자바 소스상에서 객체에 데이타를 넣어주면서 null 체크를 한번 더했어야 했던걸 놓쳐서 

null point error.... 음... 근데 왜 로그가 저렇게 남았을까?... 

 

 1절은 끝내고~. 

 

 요새 다른 개발자들은 어떻게 사는지 궁금하니까... okky를 눈팅한다. 

근데... 요새 일베들이 어그로 끌고 갈라치기로 정치질... 하는 것도 보이고... 

 요새 국비를 겁나 까는 글들이 올라온다. 프로젝트 다녀보면 전공자라고 타이틀 달고 다니는 애들도 뭐...

사람 사는 것마냥 아둥 바둥 사는건데, 꼭 저렇게 까는 이유가 뭘까? 지는 얼마나 개발을 잘하길래... 

지적질 하고 싶은 놈들이 오키에 다 모인것 같다.  아무 꺼리낌 없이 지적질을 한다. 

 한동안 어그로질 하던 놈이 더 어그로 끄는 놈이 나타나니까 다른 사람들이 처음 어그로끌던놈이랑

히히덕 거리는거 보니... 맛탱이가 갔나보다... 싶은 생각이... 

 

또 한동안 차단하고 그만봐야 할듯... 

 

 오키를 볼때마다 드는 생각은 ... 지난 503호가 일베들을 양지로 끌어내면서... 

대형 커뮤니티들에 벌레들을 심는다든데... 많이 숨어들었나보다.

 사회적 이슈가 생기면 분탕질을 한다. 요새 몇마리 보인다. 

한두마리 나오면 갑자기 몰려서 벌레들 밭이 되었다가 갑자기 사라진다.... 

좌표찍힌것 마냥... 

 

사람냄새는 안나는 곳... 10.29 참사 관련 안타깝다고 하는 글하나 올라오니... 

숨어있던 벌레들이 다 기어나오더라.

 10.29 참사가 정치와 연결된 이슈냐? 사람이 그렇게 많이 죽었다고 안타까워하는 글에 

정치적인 글은 어쩌고 저쩌고... 모니터만 쳐다보니 사람들이 미친건가?

쓰레기들만 모이나보다...

 

'--- 취미 > 생각하기' 카테고리의 다른 글

개발자란게 뭘까?  (0) 2023.01.01
새해가 되었다...  (0) 2023.01.01
진보? 업자들... ㅆㅂ....  (0) 2022.12.12
자바 플젝하면서의 삽질???  (0) 2022.12.07
서피스의 활용!!  (0) 2022.11.28

 세탁기에서 해머링 소리가 날때가 있어서 as접수하려는데... 

모델 번호가 뒤쪽에 있는데 볼 방법이 없네?... 

앞에 Tag On과 스마트 뭐시기.. 써있어서 핸드폰을 켜고... 

1. 구글플레이 검색  "LG 스마트 세탁기"

2. LG 스마트 세탁기는 없고 [LG ThinQ] 가 설명을 보니 되는 것 같길래... 설치하려니 

  [업데이트] 버튼이? ... 내 폰이 LG꺼라서 그런가 이미 있다해서 업데이트... 

3. 프로그램 실행하니 로그인 하래서 ... 또 구지.. 카카오 구글 인증 안하고 옛날 계정 찾아서... 

    a. 아이디 찾기 ... ok 

    b. 비번 찾기 ... 인증하래서 했더니 '휴면계정 해제' 뜨면서 해제했더니 다시 첫페이지로... ㅡ.,ㅡ;

    c. 비번 찾기해서 새 비밀번호 등록했더니 다시 첫페이지로... 

    d. 겨우 로그인 했더니 다시 이메일 인증하라고 뜸... 했더니 로그인 페이지... 

와씨.......  짜증이 나기 시작함... 

4. LG ThinQ 실행해서 제품 등록하려니... 권한이 없다면서 멈춤.. 권한 다 켜주니... 

이번엔 뜬금없이 세탁기가 사용할 WIFI 비번 입력하라네...?

 비번도 입력... 한참을 기다려도 인식을 안하네... 안되는 제품인가? 분명히 마크는 있는데... 

5. 핸드폰을 뒤로 밀어넣고 조심스레 라벨을 찍어서 모델명 확인 후 챗봇으로 출장서비스 등록...

    핸드폰 떨어질까봐... 조마조마... 공간이 협소에서 손에 잘 안잡힘.

 

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=

여기서 드는 생각!!! 왜 제품에 모델명이 인쇄가 안되어있지? 세탁기 뒤에 모델이 있음 어떻게 확인하라는거지??

 

QR 에 제품 정보만 넣어두고 - 해당 제조사 어플에서 QR부터 찍고 서비스 선택하도록 보여주면 편하지 않을까?

앞에 붙어 있는 QR도 있긴하던데.. 이건 뭘로 찍나? 일반 QR스캐너로 찍으면 웹으로 연결되는건가?

 

아무튼 서비스 하나 등록하려다 입에서 욕이 나올랑 말랑... 

 

 

일단 오늘은 톰캣에서 알수 없는 오류는 없었다. 

 

1. maven 설정된 프로젝트는 pom.xml -clean - compile 하고 

2. 해당 프로젝트를 project > clean 한다. 

   이때 자동 빌드 설정을 끄면  

빌드 관련 선택사항이 나오는데, 아래 build only the selected ... 로 체크하고 클린! ( 위 스샷은 웹상에서 캡쳐 떠온것이다. )

 

 이것으로 빌드와 톰캣 시작 관련 이슈는 끝난것 같다.

 

오류를 볼때마다 프로젝트 클린하고 maven - clean - complie등을 돌렸을때, 어쩌다 되고 안되고 했던건 순서 때문이었을까? project clean 이라는 메세지가 초기화 느낌? 이어서... 클린하고 메이븐 다시 빌드하곤 했었는데... 

또 구글링하면 프로젝트 클린, 톰캣 클린 관련 글이 나오는데 이것도 순서가 있었지만... 내가 And로 보고 둘다 클린하면 되는 것처럼 보여서 순서없이 진행해서 그랬으려나? ... 

 

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

 

https://huelet.tistory.com/entry/%EC%9D%B4%ED%81%B4%EB%A6%BD%EC%8A%A4-%ED%81%B4%EB%A6%B0clean%EA%B8%B0%EB%8A%A5

 

이클립스 클린(clean)기능

가끔 이클립스가 미쳐돌아갈때가있다. 있지도 않은 에러가 있다고 하거나, 잘 되던 코드가 갑자기 안된다거나, 내 눈앞에 떡하니 보이는 클래스파일을 인식을 못한다거나... 그러할때 쓰는 방법

huelet.tistory.com

여기에서 보여주는 validate는 눌렀다가... 이클립스가 멈췄다! 

위 블로그 설명에서는 "클린 기능은 파일을 지우는 기능이 아니라, 이클립스가 사용하고 있던 정보나 class를 전부 삭제하고 다시 만드는것이다." 

 

 

https://dolphins-it.tistory.com/234

 

메이븐(Maven)이란 무엇인가?

Spring boot를 사용하게 되면서 maven이라는 것도 처음 사용해보게 되었다. 물론 사용하는거야 대충 뭔지만 알고 구글링하면서 사용해도 되지만 maven을 정확히 이해하고 사용하기 위해서 정리를 해

dolphins-it.tistory.com

메이븐 Clean 관련글을 보면 target 폴더의 내용을 모두 지우는 작업을 진행한다. 

:: ui에서는 maven 창이 떴을때 Goals에 명령어를 넣으면 되는 거였구나!

 

https://velog.io/@godkimchichi/Maven

 

Maven을 이용한 빌드와 배포

201203 maven 보강

velog.io

오... OX로 개발과 메이븐 영역을 구분지어 보여준다. ( 보여주는 구조만 다를뿐 같은거라고 써있는것 같다. )

 

 

메이븐이란?

https://goddaehee.tistory.com/199

 

[Maven] Maven 이란? (정의, 예제)

[Maven] 메이븐 이란? (정의, 예제) 안녕하세요. 갓대희 입니다. 이번 포스팅은 [ 메이븐 알아보기 ] 입니다. : ) 1. 빌드 (Build) #1 빌드란? - 소스코드 파일을 컴퓨터에서 실행할 수 있는 독립 소프트웨

goddaehee.tistory.com

라이프사이클 

     clean | validate | compile | test | package | verify | install | site | deploy

clean : 빌드시 생성되었던 파일들을 삭제하는 단계

complie : 프로젝트의 소스코드를 컴파일 하는 단계 

       > src/main/java  하위디렉토리 모든 소스가 컴파일 된다. 

test : src/test/java, src/test/resources 테스트 자원 복사 및 테스트 소스코드 컴파일

package : 컴파일과 테스트가 완료된 후 jar, war 같은 형태로 압축하는 작업.

install : 패키지를 로컬 저장소에 설치하는 단계       

site : 프로젝트 문서와 사이트 작성, 생성하는 단계 

deploy : 만들어진 package를 원격 저장소에 release 하는 단계 

:: 모든 빌드는 이전 단계가 성공적으로 실행되었을때 실행.

 

Maven 설정파일 :: MAVEN_HOME/conf 디렉토리에 위치 settings.xml의 설정

  :: 개발자 PC로 다운로드 하는 위치 USER_HOME/.m2/repository 인데 settings.xml에 지정, 변경 가능.

 

pom.xml :: 프로젝트의 root에 존재, 프로젝트마다 1개 

               :: 프로젝트의 모든 설정, 의존성등을 알 수 있다.

 

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

 

Maven - clean complie을 하고

project clean build 가 된다라면 일어나는 일은??

 

- 빌드시 생성된 파일들을 삭제.

- src/main/java 하위 디렉토리의 소스를 모두 컴파일

- 이클립스가 사용하고 있는 정보나 .class파일을 삭제하고 다시 만든다.

- (이클립스)빌드라는게 뭘 하는지에 대해서는 안써있네? 

    일반적인 개념은 아래와 같다.

    :: 소스코드(.java), 프로젝트에서 쓰인 각각의 파일 및 자원(.xml, .jpg, .properties)를

      JVM또는 톰캣, WAS가 인식할 수 있는 구조로 패키징 하는 과정 및 결과물

 

음... 내용을 유추해보면 소스파일을 수정하고 나면... 프로젝트 클린 빌드 하고

메이븐 clean, compile 해도 되는건가? 

아니면 clean을 빼고 compile만 하면? 

 

maven도 빌드 도구이니까... 

다만, 이클립스 클린은 지우는게 아니고, 새로 만드는 기능이라는 것!

새로 만든걸로 > maven 컴파일을 하면 되는거 아닐까? 

 

톰캣 관련해서는 뭘 하는지는 ... 다시... 시간내서... 

'# 10) Java' 카테고리의 다른 글

Eclipse Plugin View 만들기.  (0) 2023.01.12
플러그인 ... 개발!  (0) 2023.01.11
오늘도... 개 삽질... 슈발~  (0) 2022.12.14
오~! visual studio로 개발하는 환경이 그립다..  (0) 2022.12.13
아~ 머리 아파... 자바?...  (0) 2022.12.12

 오늘 아침에 출근하여... 이클립스 클리어( eclipse.ini에  -clear 첫줄에 작성 )를 한번 더 해보고...

역시나. 안되서... workspace 모두 날려버리고, 새로 재구성... 

 

일단 소스 다 내려받고 빌드 마치고 톰캣 서버 띄웠다. 오늘은 왠지 모르게 한번에 안올라오네??

여러차례 시도해서 올라온걸 가지고...  일단 A프로젝트는 건드리지 않고. 

B 프로젝트만 가지고 해보자!!

 

B 프로젝트에 message_ko_kr.properties 에 추가해야 할 라벨코드와 문구를 등록하고 저장.

jsp파일에 수정할 위치에 메세지를 보이도록 수정!

 

역시 빌드하고 톰캣 올렸더니... 여기서부터 에러가.... 주르륵~~~~~~~! 

음... 친구 말대로... pom.xml 보고... 톰캣 배포된 위치도 확인하고.. context.xml도 보고...

근데 잘 모르겠다. 톰캣에서 읽어들이는 xml파일들이나 .class가 없는것도 아니고... 

뭐지.. 어떻게 하지?? 또 하다보니 메세지도 보이고 잘 올라왔네? 그래서 이번엔 컨트롤러를 만들고 

호출~~......... 아~~~~~ 역시나.............. 톰캣 실행되면서 에러를 뱉으며 지나간다. 뜨긴 뜨는데 

해당 컨트롤러 호출하는 메뉴가 동작을 안한다... 에러 내용도 한가지만 보이는게 아니고 뭔가 만지면 다양하게 바뀐다. 

 

 톰캣clear 하고,  A~E프로젝트를 모두 빌드를 두번씩 해봤다. 프로젝트간에 빌드 순서가 있나?

lib에 보면 A.jar가 B랑 E에만 들어있는데... 그거 말고 지금 위에 난 오류는 ... 참조랑 관련이 없고.. 

톰캣 클리어랑, 프로젝트 클린, 메이븐 클린 컴파일을 순서바꿔서도 해보고...  어쩌지...

 

 같이 있는 두분중 한분에게 sos를 보냈는데... 오셔서 상황설명하고 오류메세지를 잠깐 보셨지만... 

해결방법을 아시는건 아니니... 소스를 다시 밀어버리고 오류나는걸 보러오신다하여...

다 밀어버리고 다시 아까 같은 짓을 했다. 중간에 회의로 나가시고... 퇴근 1시간전에 오셨넹... 

 

 그 동안 하는 행동 하나 하나를 메모장에 시간대별로 적고, 톰캣 로드 순서도 보고...

정상적으로 배포된 폴더 전체를 트리 데이타로 뽑아내서 보관하고, 로드되면서 에러날때 보여지는

이름을 트리에서 검색해서 있나 없나 확인하고. 결론 : 있다!

마지막엔 처음 셋팅할때 제공받은 text문서를 다시 찬찬히 읽어 봤다. 설치할때도 한줄 한줄 내가 한

내용들을 기록하면서 봤기에... 놓친게 없나 봤더니... 빌드 할때? maven-compile 후 project clean한다고 써있네?

project clean을 안보고 지나갔었네... 그냥 maven compile하면 되는거 아닌가?

그대로 다시 해볼까?... 현재 에러나는 상태니까.... 

 

 A~E까지 모두 compile을 마치고 maven연결된 프로젝트만 clear를 해봤다. 

그리고 톰캣을 실행하니... 에러가 사라졌네? 우,.우 ;;;

시간을 보니 일단 5시가 넘어서... 이게 맞나? 2주 가까이 5시가 지나면 기가막히게 톰캣이 오류 없이 올라왔었기에...

남은 시간에 새파일 만들어서 개발을 좀 더 진행해보고, maven 컴파일 없이 프로젝트 clean하고 

 이렇게 체크하면 빌드가 같이 된다네? maven은 뭐여? 우선 적용해보니... 또 제대로 올라온다... 

계속 이렇게만 되면... 일정 쳐내는건 문제없을꺼고... 시간내서 친구 말대로 maven도 보고 tomcat도 보고, spring도 보고... 자바도 보고... 

 

 친구에게 팁이라도 얻어볼까 하고 얘기했더니...

이놈은 자꾸 pom다 뜯어보고 maven공부하고 하라는데... 와~~~~~~~~~! 찐 개발자다. 

 일단 일정을 쳐야하는 나로썬 maven을 한땀한땀 보고 있을 시간이 아닌데...

maven이 몇시간 본다고 딱 알 수 있는건가? 보안때문에 들고 갈 수도 없고... 

 

 앞에 두분은 에러도 없이 잘 하시는것 같은데... 그분들이 쓰던 소스 통째로 압축한 걸 받은건데.. 

내 자리에선 왜 이럴까? 아~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ㅅㅂ

 

 

 

 

 

 음... 자바 프로젝트를 너무 날로 먹으려 했나?? 

9년 전쯤의 자바 프로젝트는 파일을 추가해도 소스를 고쳐도 빌드가 깨지거나 톰캣 실행하면서

이상한 에러를 뱉지는 않았다. 그만큼 단순했던것 같다. 그거 믿고 이 플젝 들어왔는데... 미쳐버리겠네... 

 

 2시간 코딩 해놓은걸 빌드가 깨져서 백업하고 밀어버려야 하는 환경이 되어버려서 ... 

에러가 왜 나지?? 며칠째... 개고생중인데... 친구 말대로.. 원인해결이 안되면... 같이 계시는 분들을 괴롭혀야 될 상황이... 

 

A프로젝트, B프로젝트( ref => A.jar )

이렇게 되어 있는데...

1. A 프로젝트에 java파일에서 프로퍼티 하나 추가해서 빌드

2. 참조한 B프로젝트에 lib폴더에 jar파일을 덮어씌우고 빌드

3. 톰캣실행하면... 여기서부터 헬~!!파티~~~~~ 싹 지워버릴때까지 오류가 안사라짐... 

   될때도 있다가..... 안될때부터는 project clean, server clean도 하고 실행도해도... 될때가 있고, 안될때도 있고... 

 

너무 안일했나? 

내 관점에선 프로퍼티 하나 추가한게 문제 생길일인가? 였는데 

친구 얘기로는 그 jar가 바뀌었다는 얘기에...  

... 그런가?

 

같이 일하시는 분이 "jar를 덮어씌우면 되요." 해서 파일을 덮어씌웠는데... vs처럼 새로고침 하면 안올라온다...

:: B프로젝트에서 A프로젝트에서 수정한 java class의 프로퍼티를 치면 없는 걸로 보인다. 

 maven에서 project update 하라는 구글링 답을 보고... 업데이트 했더니... 프로퍼티는 있는 걸로 인식했지만...

톰캣 오류는 더 이상한 것 들이 생긴다. 결국 이건 답이 아니란 얘긴데... 

ide인 이클립스상에서 lib에 덮어 씌워야 하나? 이것도 해본것 같은데... 

 

 한달간 소스구성이나 흐름 따라가며 눈에 많이 익혀놨는데... 이제 요구사항 개발만 하면 금방되겠다 했더니... 

빌드 깨지면 미쵸버리겠네.........................................  코드 자체는 어렵지 않은데... 너무 피곤하다.

 

 

 

 

 

- 민생경제연구소 :: 안진걸 선생님... ( 열민당 창당 자문 위원??? )

            본인은 아니시라 했는데... 계속 들리는 얘기는 왠지 모를 배신감? 일단 후원은 끊었따. 구독도 끊은듯... 

 

- 고발뉴스 이상호 기자님 :: 돈탐사의 비리로 말도안되는 개국본 공격을 알 수 있는 기자라고 생각되지만... 손고모 어쩌고 저쩌고 하는 거보고 후원 끊고 구독도 끊었다. 세월호 사건때의 기자들 나무라던 패기는 어디갔나요? 전두환 집앞에서 전두환씨~ 외치던 그 패기는... 매일 3시에 뉴스들 지적하고 걸러주는 즐겨봤었는데... 열민당 손할매를 손고모라 부르니 정떨어져서 안본다. 실시간 방송 댓글창에서 돈참사 보는 애들이 몰려와서 난리를 피움.

 

- 김용민(목사?) :: 똥이랑 다니면서 똥되어버림..... 며칠전에 황기자라는 채널에서 띄운글을 보니..

               왼쪽에 똥, 오른쪽에 의사일베 ... 왜 이렇게 되셨나? 기독교 갱생시킨다던분이... 

 

- 돈탐사 :: 이것들이 제일 문제다... 열린공감티브이 라는 곳으로 후원을 조금씩 했었으나... 개국본과의 대립관계가 형성되면서 버렸다. 초기 열린공감 기자들 편에서 서서 댓글도 달고 후원도 했었지만... 그들의 민낯은 보니 더러웠다. 가x연과 기레기 급들로 평가절하 된 집단!! 그 후로 후원을 끊었다.  열공도 돈탐사도 구독취소한 상태이고, 아직 열공 구독은 못하겠다. 워낙 돈탐사가 처음에 흔들어놔서 그런지... 열공을 못보겠다. 가끔 개국본 식구들과 나오는데도... 안보게 되더라.

 

 사건 개요는 51%의 주식을 가진 대표를 몰아내고 49%의 주식을 가진 놈과 찡꾸와 대롱이, 가명쓰는 기레기 그리고 감초? 이런것들이 80만 구독자 유튜브 채널을 가진 회사를 꿀꺽하려했던 사건으로... 초기에 열린공감을 대표 때문에 채널에서 방송을 할 수 없게 된다면서 방송으로 긴박함을 연출해서 사람들 마음을 얻었다. 그리고 대표의 18만불 횡령? 이었든가? 이사진 반대에도 불구하고 다른일 벌리고 있다면서... 정pd를 욕하게 만들었었다. 그땐 나 역시 기자님들 힘내세요! 하며 응원하고 후원도 하고 정pd를 욕하고 소고기집 때문에 9시 뉴스 대신 볼 방송이 사라진다는 아쉬움에... 긴장하며 지켜봤는데... 

  이때 개국본 이종원 대표가 이거 좀 사건이 이상하다. 라면서 열공 정pd얘기라도 들어보자 하면서 개국본에서 방송을 하였다. 이땐 나도 이종원 대표는 끼어들면 안되는거 아닌가라며, 그래도 좋아하는 방송 두 채널의 싸움을 지켜보자며 여기저기 글 쓰고 있었다. 그러나 이종원 대표는 계속 모순된 점들을 방송하면서 돈탐사의 잘못을 조목 조목 짚었다. 그러니까 개국본 이종원 대표를 파헤친다며 6시간을 가짜팩트를 진짜라는 듯이 방송을 했다. 초반에 잠깐 보다가 이것들이 미쳤나?? 라는 생각이 들었다. 팩트는 없고 카더라만 하는데... 그 카더라도 내가 본 이종원대표와 하나도 맞지 않았기 때문에... 돈탐사를 버렸다. 기레기들이 9시에 방송하던 내용들이 머리속에 스쳐지나가면서... 왜 방송들이 다 그랬는지 다시 생각해보게 되더라. 항상 뭔가 있는 듯이 예고 해놓고... 진짜 보고 있으면? 김빠지는 내용들... 

 다음 포탈에서 조중동 제목에 낚이듯이 지금까지 낚였나 싶었던... 그런 방송들... 속았다는 생각에 너무 짜증난다.

그리고 죄질 나쁜 전과15범과 유사 변호사등 이상한 애들이 찡구와 협업을 하기 시작하며, 손할매가 난입했다.

손할매는 정청래의원님 지역구에 나와서 정청래 의원님이 인사 시킨다고 여기저기 데리고 나올때 첨봤었고... 정청래의원님이 소개하고 다니니 괜찮은 사람인줄 알았더니... 쉣~! 목포 투기 사건이 발생했을때도 응원했었다. 물론, 정청래의원님이 선거때 엄청 홍보하고 다니셨으니... 그래서 응원했었는데... 돈 많고 할일 없어서 그런가? 카더라로 들어보면 사람을 길들이려고 하는 습성이 있는 걸로 보인다. 그것도 돈으로... 

 

 하루 빨리 돈탐사는 제대로 퇴출되어야 민주 진보진영 미꾸라지 하나가 사라질텐데...

나겨비 돌아온다는것 같은데... 수박들 주댕이가 또 떠오르나보던데... 지겹다... ㄱㅅㄲㄷ

 

'--- 취미 > 생각하기' 카테고리의 다른 글

새해가 되었다...  (0) 2023.01.01
우아... 피곤하다 ㅠㅠ.  (0) 2022.12.21
자바 플젝하면서의 삽질???  (0) 2022.12.07
서피스의 활용!!  (0) 2022.11.28
태블릿 거치대...  (0) 2022.11.28

 

  오늘도 하루를 고스란히 날렸네... 

 작업한거 아침에 파일 비교 후에 모두 커밋하고, 다른 분들 작업한걸 받으려고 이클립스에서 update 받았다. 

 

빌드하고 띄울땐 잘 떴는데...  데이타 입력하고 보니 데이타가 한글이 깨져버렸다... 오잉? 

겁나 웃긴게 다른던 멀쩡한데 이름만 깨져서 나온다?... 특정 필드만?.... 왜?? DB업데이트를 해도.. 화면은 여전히 깨진다..

 찾다가 이유를 모르니... svn을 통째로 다시 내려받았다. 일단은 캐시가 구현되어 있는데 이것 때문인것 같다는 추측만... 

 

svn을 통째려 다시 받으면서 부터 또... 톰캣이 말썽이네... 

로딩이 되면서 갑자기 에러가 발생하더니... 건너뛰고 서버가 실행!...

특정 화면들이 오류가 나서 해볼수가 없네... 에러 로그로 구글링을 했지만... 해결이 안되어 

지우고 다시 받고, 프로젝트 클린, 톰캣클린등을 했지만.. 안되었다. 

 

 5시에 결국엔 몽땅 삭제! 처음부터 재 구축... 20분 정도 걸려서 다시 뜨는 것도 확인. 아~ 씨박~ 

뭐가 문제일까? ..... 

 

 이번 프로젝트가 완전히 새로만드는 si가 아니고 있는거 수정하고 신규화면 만드는거라서 더욱 짜증나네. 

코드는 별로 칠것도 없는데... 다른데 시간이 다 날아간다네... 아우 머리아파...... 

 이러다가 야근하게 생겼네... 짜증나네 java..... 

 한달동안 몇차례 본 에런데... 대응이 안되네...... 

 

 

 워~~~ 거의 한달간 소스를 힘들게 살펴봤다. 눈치 겁나보면서... 시간을 한달동안 사용하면서 결과물을 안뽑고 있으니... 

내가 의례 눈치를 보게 됨... 잘려서 나갈까?도 생각해본 프로젝트임...  

 자바개발을 몇년을 한 사람은 이소스가 쉬울까? 라는 생각을 매일 매일 해본다. 

요청사항 하나도 개발도 진행중인데... 내일 트리 하나 팝업해서 붙이면 될 듯... 

이건 있는거 복사는거라 오래 안걸림. 

 

 별에 별 오류를 다 만나봤는데... 너무 빡시다. 

오늘은 maven 오류 휘말려서 2시간정도 날린듯 하다. 

특정 위치의 소스를 고친 시점에서 euc-kr로 인코딩된 소스가 보여준 오류로 인해... 

1시간정도 똥꼬쑈를 하다가...  해결방법을 찾아서 빌드도 잘 되었는데... 이게 맞는지 원래 있던분에게 물었더니...

맞긴한데 원래 그 부분의 소스는 메모장같은데서 수정, 저장하고 이클립스에서 다시 올라오면 빌드해서 개발진행을 한다네... 인코딩 원래 문제가 이클립스 사용하면 많이 문제가 되었나보다. 검색하니 참 많이 나왔지만, 나한테 도움되는건 못찾았다. 해결방법은 해당 파일의 인코딩설정을 euc-kr로 바꾸고 수정/저장하는 것이었다. 

소스에 한글들이 특수문자로 깨져 있던 이유가 그래서였나보다... 어쩐지 메모장으로 열면 한글도 잘 보이더라...

 -> 똥꼬쇼의 시작은... 메모장에서 소스를 열어서 수정하고 한글을 유지시키기 위해 복사해서 이클립스로 붙여넣었다.

 

 다음 똥꼬쇼는 maven 빌드!!!

소스를 고친 후 빌드하고 .jar파일을 다른 프로젝트에 옮겨주면서 부터 갑자기 빌드 에러가 나기 시작했다. 

정말 황당하게도... 딱 그 시점과 맞아 떨어져서...? 슈발~~~~ 

 일단 maven관련해서 아무리 뒤져도 에러날게 없는데? 고쳤던 소스빌드는 정상으로 되었다. 

이 jar파일을 옮겨서 덮어씌운 프로젝트가 에러가... 

 2시간 개고생하다가 안되서 help~ 날렸더니... 다른 분들도 난다? 

 maven이 원격지 pom도 참조가 되는건가? 그 원격지pom 다운로드하면서 빌드오류가 나는데???

결론은 : 저쪽에 서버가 닫혔나보다? 라면서 offline으로 빌드하는 방법을 배웠다. 오~ 이렇게도 되나보다...

 

 이렇게 두번째 똥꼬쇼가 끝나고 개발된 기능을 확인받았으나... 내가 잘 못 이해한것으로.. 기능을 추가해야 한다. 

내일 오전에 마무리 하고... 한달동안 똥꼬쇼의 기록을 회사 위키에 올리면 이번주는 끝날듯 하다. 

 

 이제부턴 구두로 지시 받으면 내가 그려서 컨펌받고... 시작하려 한다. 

더 많이 살펴보거나 할건 DB뿐인데... 미리 설명해 줄 사람도 ERD도 없다. 원래 계시던 분들에게 귓동냥을... 

개발을 신속하게... 후딱 후딱!!! 

 

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

또 하나의 똥꼬쇼... 

 내 노트북은 8G램을 가졌다. 닷넷개발할땐 전혀 부족함을 느껴본적 없는 그런 노트북이었는데... 

자바 이클립스, sql developer, ppt 두개, 크롬창 두세개, 내 개발 프로그램 2~3개 띄웠더니..

첨엔 6.8G정도 먹었다. 이클립스에서 톰캣을 켜니까.. 7.2 정도 되다가 브레이크 걸고 몇번 돌리니까 

첨엔 괜찮다가... 가끔 톰캣 로그에서 에러가 주르륵 올라갔었다. 에러 내용은 빈을 읽어오지 못해서

어쩌고 저쩌고... 새로고침을 해라? 그런 메세지였다. 거의 한달간 이걸로 시달리다가... 

 

램이 부족한가?? 라는 생각으로 갔다. 가만히 있어도.. 톰캣에서 에러가 한번 떠버리면...

뭐가 망가지는지.. 몽땅 클린하고 다시 빌드해서 띄워야 뜬다. 

 

 8G짜리 램을 하나 사서 꼽았다. 노트북 특성상 4G는 온보드에 있어서 못갈아끼고... 4G빼고 8G넣어 12G가 되었다. 

어제 오늘 해보니까. 위처럼 켜니까 8.5G정도로 그냥 올라온다. 종일 빌드하고 테스트 하면서 지켜보니 10.5G까지 

올라오는데 그래도 톰캣이 꺼지거나 하진 않는다. 다만, 중간 중간 pc가 멈춘다? 라는 느낌? 

마우스가 갑자기 사라진다? ... 그래서 마우스 커서도 빨간색으로 바꿨다. 

 

 자바플젝을 위해 노트북을 바꿔야 되나??

 

 

'--- 취미 > 생각하기' 카테고리의 다른 글

우아... 피곤하다 ㅠㅠ.  (0) 2022.12.21
진보? 업자들... ㅆㅂ....  (0) 2022.12.12
서피스의 활용!!  (0) 2022.11.28
태블릿 거치대...  (0) 2022.11.28
업무 분석중에...  (0) 2022.11.22

 

오늘부터 드디어 자바로 된 프로젝트에 코딩을 시작했다. 

3주간 소스코드 분석하면서 내 프로젝트 툴 관련 소스들 정비하면서도... 

9년만에? 하는 자바프로젝트라 걱정이 되긴 했는데... 

막상 시작하고 삽질로 시작해서 희망이 보였다. 

 

 이클립스에서 톰캣 디버깅 모드에서 수정하고 자동빌드모드로 두니까 좀 기다리니 재배포를 기다리면 알아서 되더랑.. 

VS처럼 빠르진 않지만.. 느릿 느릿... 해도 되는게 어디냥...  어제까지만 해도 안되는것 같아서 포기했는데... 

그래서 소스 수정하면 톰캣 다시 올리곤 했는데... 오늘 몇가지 설정 바꾸니 되더랑 ㅠㅠ;

 

 그간 말썽 부리던 로그 남기는 것도... 추가한 로그도 잘 쌓이고 보이면서... 위에 설명하듯이 톰캣에 자동빌드되어 배포되니까... 느릿 느릿해도... 귀찮은 짓은 안해도 될 것 같았다. 

 

 퇴근전에 확인하다가 걸리는게 하나... 

db 로그를 보다가 하나 실행하려니까 파라미터가 20여개? 즘 되는 쿼리...가 돌았는데...

로그가 가관이었음 ㅠㅠ;

 

쿼리 ~~~~~~~~~~~~ 엄청 길고... 중간 중간 파라미터로 '?' 로 위치 박혀있고... 

별도로 아래라인에 파라미터가 [ x, xx, xxx, ... ] 이렇게 있는 거 보고.. 헉...... 

 일단 순차적으로 손으로 일일이 바꿔서 보고... 쿼리를 돌려서 결과 확인을 했다. 

안그래도 문서도 없는 깜깜이 플젝인데... 쿼리도 쉽게 못돌리면... ?

 

오라클은 프로파일러 거는게... ms같지 않으니... 포기하고... 문자열 치환하자!!!

/////////////////////////////////// 변환 소스 ////////////////////////////////////////

string qry = @"
    -- ?가 박혀있는 로그에 기록된 쿼리 문장.
";

            // 이건 파라미터... n개~
            string strPrms = "AAAA, BBBB, CCCC, DDD, EEEEE, FFFFF, GGGGG";
            string[] prms = strPrms.Split(',');             
            string result = qry;             

            // 생각나는 ? 주변에 있어도 될 문자들..
            string[] validString = new string[] { "", ",", " ", "\n", "\r", "(", ")" }; 

            int index = 0;
            for (int loop = 0; loop < prms.Length; loop++)
            {
                string x = prms[loop];
                int idx = -1;
                do
                {
                    idx = result.IndexOf('?', index );
                    if (0 < idx && idx < result.Length)
                    {
                        if (result[idx] == '?')
                        {
                            //앞, 뒤 체크
                            string pre = $"{result[idx - 1]}";
                            string next = "";
                            if (idx < (result.Length - 1))
                            {
                                next = $"{result[idx + 1]}";
                            }

                            if (validString.Contains(pre) && validString.Contains(next))
                            {
                                result = result.Remove(idx, "?".Length);
                                result = result.Insert(idx, x);
                                index += x.Length;
                                break;
                            }
                        }
                        index = idx + 1;
                    }
                    else
                    {
                        break;
                    }
                }
                while (0 < idx && idx < result.Length);
            }

 

최종적으로 result는 ?와 파라미터가 치환된 쿼리!!!

특별한 예외 없이 잘 된다. 내일 쿼리 스냅샷 프로젝트에 변환 툴로 넣어놔야겠다.

 

-------------- 추가 -------------

로그 검색 프로그램쪽으로 별도 팝업으로 만들어놨다. 

 

쿼리를 돌리면 문자열에 홀따옴표가 없는 채로 들어가니까 에러가 날때가 있는데 

우선은 그때 찾아서 홀따옴표 넣어주는걸로 생각하면서 사용하면 된다.