Search
moon
sun
🤔

또 시작된 삽질. with JNI로 파이프 만들어보기

태그
아이디어
삽질
🤔
대충 파일로 뭔가 삽질을 했다. 근데 맘에 안 들었다. 왜냐하면 매번 세이브 해야 했다. 그래서 생각해보니, 운영체제 레벨에서 뭔가를 만들어야 했다. 근데 자바에서는 못한다. 그래서 “네이티브 인터페이스를 활용하면 되지 않을까?”라는 미친 생각을 했다. 그러지 말았어야 했는데.

했는데?

🤔
할려고 했다………. 솔직한 것을 모두 적어야 한다고 생각해서 실패 경험을 적는다. 대충 JNI로 만들면 되지 않을까 라는 단순한 생각은 큰 오산이었다.

왜?

1.
현실적 기술 한계 → 난 C나 C++를 잘 만지지 못한다.
2.
현타 → 이걸 내가 왜 하고 있지? 너무 간 건가?
3.
조언 어느 한 멋진 개발자 분 A→ 그런 영역을 하려면 “한국말보다 포인터를 더 잘 사용해요. 그리고 굳이 할 필요가 있나요? 공부 목적이면 해봐서 나쁜 건 없지만, 만약 다른 기술 스택을 요하는 업을 한다면 얻는 것도 없을 수 있어요” 어느 한 멋진 개발자 분 B→ “학문으로서의 접근은 참 좋은 생각이예요. 근데 그런 부분은 정말 특수한 케이스에 쓰여요. 목적이 분명한 것이 아니면 하지 않을 걸 추천 드려요. 왜냐하면 배울 곳이 없다는 것은 그 만큼 잘못 만들고, 잘못 이해하고, 차후 업무에서 큰 사고를 초래할 수 있어요.” 어느 한 멋진 개발자 분 C→ “미친 생각이예요. 만약 현업이라면, 다른 메모리 영역을 건드리는 건 예제 몇 가지로 이해했다라고 할 수 없어요”
🤔
종합하자면 아래와 같다.
제대로 알고 만드는 것이 아니면, 잘못된 것을 옳다고 생각할 수 있다. 그것은 정말 위험한 것이다. 아이디어와 실제 적용 기술은 다르다. 아이디어를 옮기려면 현실적 기술을 알고 많은 것들이 준비 된 상태로 해야한다.

그냥 대충 해보자

🤔
dll파일을 프로젝트 경로에 가져다 놓았다. 그러니 되었다.

결론

🤔
내가 해본 삽질 중에서 가장 많은 삽질을 했던 것 같다. 그리고 이걸 통해서 알게 된 건 추상화라는게 정말 아이디어임은 분명하다. 근데 진짜 사용하려면 엄청나게 많은 것을 알고 있어야 한다. c++을 처음 다루면서 느낀 건 자바는 정말 편하다는 것이다. c++이 왜 어렵다는지 알겠다. 비슷한데 뭔가 달라 힘들었다.

참고로 간단하게 저 코드 두 가지로만 되는 건 아니다.

1.
class의 header를 뽑아내야 한다.
2.
뽑아낸 header file을 기반으로 C/C++로 코드 작성 →여기가 골통 아프다. 원하는 데이터를 주고 받으려면 서로 완전 두 가지 언어를 이해해야 할 것이다.