퇴근5분전

출처: https://www.youtube.com/post/Ugkx_1OukfiXk7yU5_dZgtzUWqLWkphKhEGu

 

티파니라이프

 

www.youtube.com

 

 아............. 왜 민주당 의원놈들은 잔대가리 굴리는 놈들이 이렇게 많을까? 

당대표 날아가면 니들은 편하게 두다리 뻗고 살겠냐? 써그리 치하에 검찰 독재로 북한꼴 나는거지... 

밀정 나겨비가 구제해준다더냐? 우리동네 양기대도 기대가 이제 없다... ㅆㅂㄹ

 

 

https://youtu.be/B4bXc_9PeHQ

 

 

 

https://youtu.be/T1nmkRE28Bs

 

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

음... 요즘 여러가지 생각이 많이 든다...  (0) 2023.02.02
20년 된 내 아반떼 차를 보냈다...  (0) 2023.02.02
개발자란게 뭘까?  (0) 2023.01.01
새해가 되었다...  (0) 2023.01.01
우아... 피곤하다 ㅠㅠ.  (0) 2022.12.21

HandleBars 템플릿?

# 10) Java2023. 1. 16. 21:38

https://handlebarsjs.com/playground.html

 

Handlebars

 

handlebarsjs.com

 

 오늘 소스 고치는데 또 처음 보는게 있네... 

우아.... 대단해... 소스 하나에 다양한 맛이나.....

 

만들어진 플러그인 프로젝트를 Export 한다.

 

>Next

 

>Directory 설정을 한다.

    D:\자바\EclipseRPC 지정하였고 finish 버튼 클릭하면

    Plugins폴더가 생긴 배포파일이 생성된다.

 

 

 

파일을 사용중인 이클립스가 위치한 폴더로 가면

/plugins 폴더가 있는데 이클립스를 끄고, 붙여넣기 하면 된다. 

만약, 이전 플러그인(dm_xxx.jar) 파일이 있으면 삭제 붙여넣기 한다.

   ( 파일이름 뒤에 시간이 붙어서 생성되므로 삭제후 붙여넣기. )

 

이클립스를 시작!!

 

** 배포하고 인코딩 안맞아서

 파일도 속성에서 MS949 기본으로 맞추고.

 window > preference > general

    . Workspace ms949

    . Content type 에서 java class file ms949

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

Java Files.readAllLines() 와 C# File.ReadAllLines() UTF8?  (0) 2023.07.12
HandleBars 템플릿?  (0) 2023.01.16
Eclipse Plugin View 만들기.  (0) 2023.01.12
플러그인 ... 개발!  (0) 2023.01.11
오... 드디어... 해결이 되었다!  (0) 2022.12.15

기본 helloworld command 생성하고

 

플러그인 프로젝트의 META-INF MANIFEST.MF 파일 열기

  • Extensions 탭을 보면

 

Org.eclipse.ui.views 추가하여

 

뷰를 생성하고

     : 프로퍼티 뷰어로 설정하였다.

     ; class* : src아래 view package 만든 class 파일을 만든다. 그리고 해당 class 이름을 적어준다.

 

public class SampleView extends ViewPart {

         public SampleView() {

         }

         @Override

         public void createPartControl(Composite parent) {

         }

         @Override

         public void setFocus() {

         }        

}

 

Viewpart 상속해주고 두개의 override 메소드를 생성해준다.

 

** 윈폼 화면을 만들어야 하는데… 마켓플레이스에서 Window Builder 설치해줘야 한다.

 

>> https://archive.eclipse.org/windowbuilder/1.9.1/   현재 WindowBuilder가 1.10인건지? 설치가 안됨? 

 난 자바 버전 1.8이니... 스택오버플로우에서 ... 1.9.1 되었다기에 나도 설치하였다.

> help > install new software에서 해당 링크로 설치!

 

 

>>  윈도우 빌더로 띄웠을때 보여지는 디자이너

( 아래 세개의 !, .java파일을 마우스 우측버튼 클릭 Open With > WindowBuilder Editor 띄운다. )

 

그리고 커맨드 핸들러에서 뷰를 띄울때…

 

   String viewId = "dm.view1";  // id

   IViewPart vp = HandlerUtil.getActiveWorkbenchWindow(event).getActivePage().showView(viewId);                

   dm.view.SampleView sv = (dm.view.SampleView)vp;

   sv.setDescript( text.trim() ); // 뷰에 만든 메서드로 text 전달.

 

 

 

view 예제)

http://udig.refractions.net/files/docs/latest/1.3.2-SNAPSHOT/developer/view_extension_point_example.html

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

HandleBars 템플릿?  (0) 2023.01.16
Eclipse Plugin 배포( 로컬 eclipse에 적용하기 )  (0) 2023.01.12
플러그인 ... 개발!  (0) 2023.01.11
오... 드디어... 해결이 되었다!  (0) 2022.12.15
오늘도... 개 삽질... 슈발~  (0) 2022.12.14

 이클립스로 자바 개발을 하고 있는데... 

<c:spring bundle="${bundleName}" key="code" /> 

<c:fmt code="code">

이런식으로 멀티랭귀지를 지원한다. 

근데... 이게 properties 파일을 검색해서 어떤 단어를 바꾼건지 ... 일일이 검색?을 해야 한다. 

한두개도 아니고... 검색을....

 기존에 개발하고 계신분들한테 뭔가 다른 방법이 있나 물어봤더니... 그런거 없고 그냥 검색한단다... 

아이고~~~~~~~~~

 

 그래서 일단은 C# 윈폼으로 properties 파일을 읽어다가 검색을 하거나 검색된 키=값 을 위에 포맷으로 만들어주는 프로그램을 만들어 쓰고 있다. 

 

 그러다가 시간이 좀 남길래... 이클립스 플러그인을 깔짝 거려봤다.

기본적인 내용은 모두 확인 했다. 

 

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

아래 샘플은 2020-06 으로 사용하고 있는 버젼과 맞추었다. 

 

소프트 웨어 다운로드

https://www.eclipse.org/downloads/packages/release

 

해당 년도 버전을 받아서 아래 RCP and RAP 다운로드 하여 압축을 해제.

Eclipse IDE for RCP and RAP Developers

 

# 프로젝트 생성

  -> Create a Plug-in Project 생성

 

 

  • Overview 에서

 

실행하면  Launch an Eclipse application in Debug mode 로 실행해보면… 메뉴가 올라가 있다.

 

Extension 탭에서…

해당 메뉴이다.

 

  • menuContribution 추가.

 

 

  • 새로 추가한 menuContribution 에서 locationURI

popup:#AbstractTextEditorContext?before=additions ( 모든 편집기 컨텍스트 메뉴에 추가 )

 

 > 해당 menuContribute 컨텍스트 메뉴를 New > menu 등록

 

등록된 menu Label Dokebi 등록

 

  • Menu Command 등록.( 위와 같음. )  ::등록한 menu를 선택하고 command를 추가하는 것임. 

commandId [Browser] 버튼 클릭하여 검색 : Demo_TextContextMenu.commands.sampleCommand

 

 

실행하면

 

*** LocationURI 에 지정하면 팝업 메뉴에 사용할 메뉴로 추가 할 수 있다.

popup:org.eclipse.ui.popup.any?after=additions  ( 모든 컨텍스트 메뉴에 추가. )

popup:#CompilationUnitEditorContext?before=additions ( 편집기 컨텍스트 메뉴에 추가 [.java] )

popup:#TextEditorContext?before=additions ( 텍스트파일 컨텍스트 메뉴에 추가 [.txt, .jsp] )

popup:#AbstractTextEditorContext?before=additions ( 모든 편집기 컨텍스트 메뉴에 추가 [.txt, .java] ) 

 

-- jsp가 열린줄 알았으나... 플러그인 디버깅 할때 뜬 이클립스는 jsp를 인식할수 없는 상태로 떠서... 그게 jsp가 되는줄... 

 

//jsp는 아래 문구로 등록.

popup:org.eclipse.jst.jsp.core.jspsource.source.EditorContext?before=additions

 

 

*** 여기에서 선택된 텍스트 가져오기, 설정하기등.... ... 

 

// 편집기에서 선택한 텍스트만 추출 ( 아... 어디서 찾았는데 출처 안적어놨네... )

private ITextSelection getSelection(ITextEditor editor) {

     ISelection selection = editor.getSelectionProvider()

            .getSelection();

     return (ITextSelection) selection;

}

 

private String getSelectedText(ITextEditor editor) {

     return getSelection(editor).getText();

}

 

// 현재 선택된 파일의 프로젝트 정보.

IEditorPart editor = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();

if (editor instanceof ITextEditor) {

         ITextEditor textEditor = (ITextEditor)editor;

         IEditorInput input = editor.getEditorInput();

         IProject project = input.getAdapter(IProject.class);

         if (project == null) {

               IResource resource = input.getAdapter(IResource.class);

                if (resource != null) {

                   project = resource.getProject();

                }

         }         

}   

 

// 메시

IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event);

    MessageDialog.openInformation(

window.getShell(),

"Demo_TextContextMenu",

"Hello, Eclipse world >> " +  "메시.");

 

** 인터페이스간 충돌인지? import가 잘못된건지... 

충돌이 나거나 import안되고 빨간줄 뜨고... 난리도 아님.

플러그인 overview 탭옆에 dependency 탭에서 필요한것은 추가가 필요하다. 

 최근 몇달 정도전부터 계속 이런생각이 든다. 개발자란게 뭘까? 

okky의 커뮤니티에서 다른 개발자라 부르는 사람들은 어떤 고민 어떤 생각을 하는지 궁금해서 봤었는데... 

최근 미쳐 날뛰는 정치에 따라 일베들이 또 난리 부르스라... 안보고 있다. 

 그전까지 다른 개발자들의 삶보다는 새 개발자를 꿈꾸는 사람들의 글들이 더욱 더 많이 보였다. 

나처럼 비전공자들이 어떻게 이쪽 세계로 들어올 수 있는지에 대하여 문의하는 글이 많다. 

 

 2006년 부터 16년간 코딩을 이어오고 있지만... 잘 모르겠다. 개발자가 뭔지...

아이언맨 보면서 자비스 같은 시스템을 만들어보고 싶었지만... 그건 그냥 꿈이다. 

그래서 개발하면서 항상 내가 만든 툴을 사용해서 개발을 한다. 인공지능은 아니어도

정해진 규칙들을 이용하여 개발편의를 도와주는 프로그램들을 직접 만들어 사용하고 있다. 

 많은 프로젝트등을 하면서 온갖 사건 사고를 격어보니... 이게 개발자가 맞나 싶기도 하고... 

 다른 개발자들과 비교해보면 난 망한 케이스다. 월단가도 그렇고... 다른 개발자들보다 편하게 개발하는 것도 아니고... 

좀 편해진다 싶으면 일이 몰려서 오니까... 왜 남의 일을 내가 해야 하는 상황이 자꾸 발생하는걸까??? 편할 수 없더라.

 이걸 그만두고 다른걸 해볼까도 고민해본다. 

 

 전자과를 다니던 고3때부터 공장에 취업해서 일을 하기 시작해서... 수많은 회사들을 거쳤다. 

어떤곳은 2개월, 어떤곳은 1주일... 1년을 다녔던 회사가 있었나? 전자과의 중소기업들의 작업환경은 

정말 열악했다. 전자회사들만 10여년간 50여곳을 거쳤던것 같다. 온갖약품과 납연기등을 맡아가며, 위험한 커팅기에

기판밀어넣는것, 또 직접 플라스틱 커버에 회사 제품관련 인쇄기계로 직접 했었고, 도로 작업관련일을 보조하며

신호등 꺼진곳 찾거나, 신호제어기 조작하는법도 배우고, 도로 주행라인 및 중앙선, 횡단보도등을 페인트칠 하는것

보조도 하고... 별일을 다 해본것 같다. 그렇게 몸써가며 일했던 시절 받는 돈이 한달 뺑이 쳐도 80~100만원정도였다.

 마지막 회사가 계전기 만드는 회사였던걸로 기억한다. 주말에도 납품을 위해 혼자 출근해서 테스트도 하고, 월요일에 차에 실어 납품 끝내고 왔더니... 부장이 지 잘못을 내탓을 하길래 때려친 걸로 기억한다. 

 

 그러다 우연히 국비라는게 있다는 얘기를 듣고, 프로그래밍을 배워야지 라는 생각에 접수를 하고 면접을 봤던것 같고, 

부모님께 6개월만 기다려달라고 말씀드리고 정말 열심히 공부했던것 같다. 모르는거 친구에게 주말에 가서 물어보고... 

평일엔 8시에 교실들어가서 저녁 8시쯤 나와서 집에 가서도 새벽 2시~3시까지 코딩하고 또 아침에 나가고... 

 나름 재미있었고 어릴때라 회복도 빨랐던건지... 게임을 폐인처럼 할때가 있어서 그랬던건지... 잘 버텼다. 

 수업은 좀 뭐같은데... 그래도 내가 모르니까 하나라도 더 익히려고 정말 노력을 많이 했던것 같다. 

 

 막 임베디드 6개월 과정 국비를 마치고 전자전공을 살려보겠다고 전자회사에 취업을 다시 했었지만... 

10년동안 해왔던 공장으로 또 보내어지는 상황에... 1년을 또 여러 회사들을 거쳤다. 임베디드를 살려보려고... 

 첫번째 간 회사는 전광판 프로그램 제작회사였는데... 무슨 악기를 배우라고 강요를 하는 사장을 보고 벙쪘는데... 

대리한테 소스 설명 들으라니까... 옆에서 보는데 지혼자 오르락 내리락 하면서 말하는데... 뭔소린지도 모르겠고, 

모니터 스크롤을 오르락 내리락 하니까 눈이 너무 피곤해져서 제대로 못봤다. 그랬더니 나한테 짜증을 내기 시작함. 

사실대로 뭔지 잘 모르겠고 눈이 피곤해서 그렇다 그랬더니... 다음날 짤림. 

 한회사는 대기업에 테스터기?를 납품하는 회사였는데... 여기서도 일하는데 사장이랑 부딪혔다. 케이블을 사면 될것 같은데, 비용든다고 다 만들라고... 땜질을 해가면서 케이블을 엄청 만들고 있는데... 한사람이 대학원 간다고 가버린다. 

 그 사람 몫을 나보고 하래서 싫다고 했다가 사장이 그럼 그만두라해서 그만뒀다. 

 또 스크린도어 개발하던 회사도 있었다. 개발자로 뽑는다고 해서 갔더니 스크린도어 초기에 지하철이 제대로 정지하는지 안하는지 지켜보는 일을 시킨다. 처음 얘기했던 2주 투입기간이 지났는데 안부르길래 물어봤더니 처음 얘기할땐 알바 구해서 쓴다더니 돈드니까 나보고 더 하라길래 때려쳤다. 코딩을 하고 싶었으나... 안시켜주니까 짜증이 났던것 같다. 

 

  그 이후 마음속에서 '전자'를 버렸다. 더 이상 미련을 남기지 말고 버리자.

이후 MES하는 업체에 처음 들어갔다. 그리고 여기서 처음 C# 이란 언어를 공부하게 되는데... 

그게 지금까지 내 밥줄이 되었다. 

 

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

20년 된 내 아반떼 차를 보냈다...  (0) 2023.02.02
이재명 지켜! 민주당 지켜!  (0) 2023.01.25
새해가 되었다...  (0) 2023.01.01
우아... 피곤하다 ㅠㅠ.  (0) 2022.12.21
진보? 업자들... ㅆㅂ....  (0) 2022.12.12

 음.. 새해가 되어 이제 마흔 중반이 넘어가는구나.....!

 

이번에 하고 있는 자바 프로젝트에서 많이 분석하고 파고들어서 

올 후반엔 다른 자바프로젝트로 잘 옮겨야 되지 않나 싶다. 

그때가 되면 정치도 경제가 나락이려나?

 닷넷은 꾸준히 하겠지만... 일할때처럼 보는건 무리겠지...

 

 몸이 삐걱거리는것 같긴한데... 잘 추스려봐야지..

그리고 우리 가족들 건강하기를... 

 

 

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

이재명 지켜! 민주당 지켜!  (0) 2023.01.25
개발자란게 뭘까?  (0) 2023.01.01
우아... 피곤하다 ㅠㅠ.  (0) 2022.12.21
진보? 업자들... ㅆㅂ....  (0) 2022.12.12
자바 플젝하면서의 삽질???  (0) 2022.12.07

페이지 기능을 추가 하였다. 

 

지난번 업그레이드를 한 후 요구사항에 대한 분석을 하다보니... 

쓰기가 너무 편하고 좋아서... 요구사항을 화면별로 따로 하던걸

요구사항 자체에 대한 분석을 하나로 모으고자 페이지 를 추가하였다. 

 

기존 :

         요구사항 : 화면1 - 분석

         요구사항 : 화면2 - 분석

 

현재 : 

         요구사항 : 화면1, 화면2, ... 

 

 다만 아쉬운건 기존 분석내용을 다 날렸다... 페이지 넣고 자료구조를 바꿨더니... 

좀 즉흥적으로 작업을 시작하여 기존내용을 버리게 되었다. 

 

 기존 작업한 내용들은 회사 위키에 다 올려놨으니... 

새로 작업하는건 새로운 툴에 또 ... 

 

올해 코딩은 이게 끝인가보다... POE나 해야지. 

 업그레이드 이유 : 자바 프로젝트를 진행하면서.. 

controller 호출, Servlet 호출 등을 함수연결 프로그램으로 기록하고 분석하면서 요긴하게 써먹었는데... 

1주~2주 정도 되어서 다시 해당 화면의 기능을 보려고 하니... 한눈에 안들어온다.

 화면에 어떤 요소에서 시작인지에 대한 기록이 없어 그런가 하고... 화면 캡처해서 해당 요소의 위치에서 

시작하면 어떨까 싶어서... 시작부분을  바꾸었다. 이것도 사용해봐야 개선이 된건지 안된건지 알 수 있다.

월요일에 다시 써보면서 괜찮을지 검토해봐야 한다. 

 

 추가적으로 생각해보기론...

서비스 구현된 것을 분석한다거나 화면이 없는 것들에 대하여 ppt로 만들어진 화면으로 대체하면 보기 좋지 않을까? 

 

####### 시작 ##################################

이번에 업데이트 한 화면 캡쳐해서 넣을 수 있다.

그리드 디자이너 화면을 캡쳐하여 붙여넣고... 

화살표 클릭 후 열기 버튼 아래에서 부터 마우스로 쭉 드래그 해서 놓으면 화살표가 그려진다. 

이때 컨트롤 키를 누르고 있으면 Procedure 생성창이 바로 뜬다.

컨트롤 키를 누르지 않으면 그냥 화살표만 그려준다.

Procedure버튼을 누르고 필요한 위치에 클릭하면 생성창이 뜬다.

[열기] 라는 박스를 더블클릭 하면 -- 기존에 함수 그려서 보여주던 폼이 뜬다. 

해당 폼에서 [작성하기] 버튼을 눌러 편집 화면을 띄우고... 여기에 함수관련 코드를 분석해서 넣고 저장하고 닫아주면...

이렇게 함수간 호출에 대하여 화살표로 그려준다. 또 함수안에서 처리한 일을 요약해서 기록하는 것이라서 잘 기록해두면 

나중에 인수인계나 공유하기도 좋지 않을까? 

 ( 물론 열기에 해당하는 소스를 분석한 코드로 입력한게 아니라 샘플로 작성된 것이다. )

배율 부분은 트랙바로 바꾸었다. 기존에 파일열고 저장하던 부분을 모두 지웠다.  

 

- 남은 작업은 작성할때 사용하는 인텔리센스처럼 소스 관리 파일들 목록을 읽어오는 부분을...

 기존에 하드코딩으로 되어 있던 내용을 UI로 수정해야 할 듯 하다. 

그래야 어느 사용자든지 이 프로그램으로 소스분석에 필요한 정보를 쉽게 편집기에 넣을 수 있게 된다.

화면 스샷!!

 자바를 하다보니... 기존에 FunctionConnection 으로 소스를 분석하면서 많은 도움이 되었지만... 

문제는 일주일 정도 지나서 다시 열었을때다... 

 이게 처음엔 빠르게 소스추적을 입력을 하기 위해 UI를 제대로 구성하지 않고 텍스트로 입력하는 것을 만들었지만, 

일주일 후에 다시 열어서 확인하려고 보면, 어디서 어떤 컨트롤러나 서블릿을 호출했는지 눈에 안들어오더라... 

다시 처음부터 쭉~~ 따라 갔어야 했기에... 여기에 조금만 추가해보기로 했다. 

 

  1. 화면스샷!

  2. 특정위치에 Action이나 서블릿 시작포인트 표시

  3. 해당 포인트를 가르킬 화살표!

 

 위에 이미지는 [테스트] 라는 액션 정보를 배치해놓았다. 

화살표 두개는 배치해보고... 이동도 해보고 화살표방향도 재조정해보고... 

저 [테스트] 를 더블클릭하면, 이때 FunctionConnection 프로그램으로 연결해준다. 

 

 완성되면 좀더 다듬어서 또 유툽에 올려야지..