flutter를 해보려고 dart를 빠르게 보기 위해 dart 공식 도큐먼트(https://dart.dev/)에서 문서를 찾다가 Codelab중 Intro to Dart for Java Developers 라는 글을 봤다. 현재 자바 개발자로 일하면서 이 내용을 보고 안들어갈 수가 없었다. 이제 한번 슥 보면서 거기서 봤던 내용 정리를 해보려고 한다. 들어가자마자 가장 먼저 반기는건 아래 코드다. class Bicycle { int cadence; int speed; int gear; } void main() { } 자바 개발자라면 큰 문제가 없어보이기도 하는데 dart에서는 문제가 있다. 데이터 타입을 우리가 흔히 쓰던 int, String 등으로 선언하는 경우 반드시 초기화를 해줘야한다. null이 ..
분류 전체보기
0. Introduction 자바를 공부하면서 이제 막 졸업한 학부생이 기존 지식에서 벗어나 조금 더 잘 사용하기 위해 어떤 걸 공부하면 좋을지 개인적으로 생각해봤습니다. 어디까지나 개인의 경험과 생각으로 모두에게 적합하다고는 할 수 없습니다. 피드백은 댓글로 부탁드립니다. 1. 자바의 버전 학부생때는 개발을 하면서 자바의 버전에 크게 신경을 쓰지 않았습니다. 왜냐하면 책이나 교수님이 받으라는 버전만 받으면 되는 거였거든요. 근데 왜 그 버전을 사용해야 할까요? 그건 자바의 버전에 따라 책이나 수업에서 사용하는 API가 변하기 때문입니다. 즉 우리는 자바의 버전에 따라 더 좋은 API를 사용할 수 도 있습니다. 하지만 우리는 회사에서 일을 하죠. 자바의 버전은 정해져있고 그 버전에 맞춰서 개발을 해야 하..

Introduction 필자도 딥러닝을 잘 알지는 못합니다. 근데 팀에서 딥러닝을 이용한 Object Detection을 도입하려고 했고 그때 겪었던 트러블슈팅, 지식들을 공유하고 특히 아무 지식이 없는 상태에서 도입을 하기 위해 어떤 지식들이 필요할지 생각해보고 쓸만한 내용들을 담아 글을 작성합니다. 주의사항 : 틀린 지식이 들어있을 수 있습니다. 우리 같이 성장하는 거니까 틀린 건 같이 검색하면서 댓글로 달아봅시다 미리 말하는 결론 : 이 글을 읽는 여러분은 저와 같이 성장하는겁니다. 0. 그래서 딥러닝을 도대체 뭐라고 설명해야 할까요 일단 딥러닝을 잘 모르는 상태에서 이렇게 생각할 거예요. "퉁 하고 하면 뭐든 알려주고 맞추는 요술 망치", "인공지능", "똑똑한 컴퓨터" 등등.. 실은 제 생각은 ..
apache 라이브러리 중 Executor가 있다. Shell이나 cmd 커맨드를 수행하기 위해 사용하는 외부 라이브러리인데 개발환경에서는 잘 되던 코드가 사내 임시 배포를 위해 portable로 export 하여 동작하던 중 문제가 발생하였다. 로그에 에러가 기록되지않아 겨우 문제의 지점을 찾았다. DefaultExecutor executor = new DefaultExecutor(); executor.setWatchdog(new ExecuteWatchdog(ExecuteWatchdog.INFINITE_TIMEOUT)); // 문제의 원인 혹시 다른 사람은 잘 동작한다고 할 수도 있는데 나는 저 executor로 임베디드 파이썬을 수행시켰다. watchdog은 프로세스가 일정시간동안 동작하지 않을 경우..
저번 글에 이어서 계속해서 사용법을 알아보자 https://developer-youn.tistory.com/66 yFiles 2.5.0 사용기(1) 회사에서 생각보다 괴랄한 라이브러리를 사용하게 되었다. yFiles for Swing 2.5.0 버전인데 유료 라이브러리다. 공식 홈페이지 : https://www.yworks.com/products/yfiles yFiles product details Diagramming wi.. developer-youn.tistory.com 아마 앞에서 한 내용들을 잘 응용하면 노드가 20개 넘게 달린 그래프를 그렸을 수도 있다. 내가 그 그래프들의 정보를 모두 획득하려면 어떻게 해야할지 코드를 통해 알아보자. 방법이 2가지가 있는데 내가 가장 정감이 가는 방법 먼저 ..
회사에서 생각보다 괴랄한 라이브러리를 사용하게 되었다. 그래프를 보여주기 위해 사용하는 라이브러리로 다양한 구조로 데이터를 시각화할 수 있는 라이브러리다. yFiles for Swing 2.5.0 버전인데 유료 라이브러리다. 공식 홈페이지 : https://www.yworks.com/products/yfiles yFiles product details Diagramming with yFiles: Modern graph drawing libraries for creating, editing, viewing, and automatically arranging diagrams and networks. On nearly any platform or technology. www.yworks.com stackove..

CNN 모델 중 정말 조상님이라 할 수 있는 LeNet의 버전 중 LeNet-5를 직접 코드로 구현해보려고 한다. LeNet-5 구조 저 숫자가 어떻게 나온거지? 저기 있는 사이즈, 채널에 대해 숫자가 어떻게 계산되어 나왔는지 정리를 해보았다. 각 레이어들 정리 Input size : 32X32 1채널 C1 : 28 * 28 커널 수 6개 S2 : 14*14 커널 수 6개 C3 : 10*10 커널 수 16개 S4 : 5*5 커널 수 16개 C5 : 120 F6 : 84 OUPUT : 10 계산을 위한 공식 H : 입력 데이터의 Height P : Padding사이즈 FH : Filter(Kernal)의 Height FW : Filter(Kernal)의 Width S : Stride 크기 Convoluti..

이전에 작성했던 https://developer-youn.tistory.com/51 에 있던 Advanced 질문들을 공부하면서 간단하게나마 답변을 달아보았습니다. 역시 심화과정이라 그런지 확실하게 모르거나 애매한 부분들이 많아 10개의 항목을 간단하게 적는 것도 시간이 적잖게 들어갔습니다. 질문이나 피드백은 댓글로 부탁드립니다! Q1. 직렬화(Serialize)란 무엇인가? A. 자바 시스템에서 사용하는, JVM에 올려진 객체, 데이터를 외부에서 사용할 수 있도록 byte 형태로 데이터를 변환하는 행위입니다. Q2. Concurrent HashMap이란? A. HashMap은 thread-safe하지 않지만 ConcurrentHashMap은 thread-safe 합니다. Q3. ArrayList와 Li..

이전에 작성했던 자바 인터뷰 질문 - 기본기 파트를 마저 작성해보았습니다.(이전 글 : https://developer-youn.tistory.com/51)피드백은 댓글로 부탁드립니다. 11. Typecasting(형 변환)이 무엇인가요? 부모와 자식간의 상속으로 예시를 들어서 설명해주세요. A : 부모 클래스와 자식 클래스간의 형변환은 upcasting과 downcasting이 있을 수 있습니다. 자식 클래스에서 부모 클래스로의 형변환을 upcasting이라 합니다. 자식은 이미 부모 클래스의 모든 데이터를 가졌기 때문에 아무런 문제가 없습니다. 그러나 부모 클래스에서 자식 클래스로의 downcasting은 이미 자식 클래스가 부모 클래스보다 더 많은 데이터를 가지기 때문에 에러를 발생시킬 수 있습니다..

회사에서 모듈을 개발하던 중 통신을 해야하는데 효율적인 방법을 찾다 Thrift를 사용하게 되었습니다. 처음 사용해보는데 생각보다 재미있어서 사용기를 적어봅니다. 1. Thrift란? 아래 링크는 Thrift공식 홈페이지입니다. https://thrift.apache.org/ Apache Thrift - Home The Apache Thrift software framework, for scalable cross-language services development, combines a software stack with a code generation engine to build services that work efficiently and seamlessly between C++, Java, Pyth..