위 예제코드처럼 단순하게 devtools를 감싸주기만 하면 Redux dev-tools를 활용하여 디버깅이 가능해진다.
✍️마치며...
기존에 Redux로 상태관리 라이브러리를 입문했지만, Zustand를 접하고 나서부터는 Redux를 거의 사용하지 않았던 것 같다. 그 만큼 DX가 좋은 라이브러리라고 생각이 들었고 대세 라이브러리로 부상한 의미를 바로 알 수 있었다. 실제로 현재 다니는 회사에서 새로 시작하게된 프로젝트에서 이전 프로젝트에서 활용하던 Redux를 그대로 채용하자고 했을 때 Zustand를 적극 추천하며 팀원을 설득한 끝에 Zustand를 본격 도입할 수 있었다. 그 이후 모두에게 확실히 편하게 써서 좋다는 말을 듣고 팀 단위에서 DX를 높인 것 같아 괜히 뿌듯했다. ㅎ
classPrimitiveType() {
int number;
boolean isBoolean;
double isDouble;
}
// number = 0// isBoolean = false// isDouble = 0.0
참조형 (Reference Type)
참조형 타입은 클래스, 배열, 열거형 타입 등을 참조형이라 하며,
변수에 할당되어 메모리상에 존재할 때 null 또는 객체가 가지는
참조가능한 주소를 할당할 수 있다.
- 참조형 타입의 특징
기본형과 다르게 실제 값이 아닌 데이터가 저장 되어있는 주소를 가진다.
참조형 내부의 값은 메모리 내부 힙(heap)에 저장하고 참조형 데이터가 가진 주소를 통해 접근가능하다.
참조형 변수는 null로 초기화 가능하고 이는 GC(Garbage Collection) 대상으로 이어질 수 있다.
타입
기본 값
할당 메모리 크기
배열 (Array)
null
4byte (주소만을 담기 때문)
열거 (Enumeration)
null
클래스 (Class)
null
인터페이스 (Interface)
null
참조형 예제 소스코드
classReferenceType() {
String title = "Title";
String[] contents = new String[] { "배열임", "이것은 참조형" }
Date date = new Date();
Data data = new Data();
}
// title = "Title"// contents = main.ref@682a0b20 (패키지경로@참조주소)// date = main.ref@682a0b21 (패키지경로@참조주소)// data = main.ref@682a0b22 (패키지경로@참조주소)classData() {
int value;
char content
}
마치며...
Javascript를 주력으로 개발을 하다보니 평소 자료형(Data Type)에 대해서 깊게 생각하지 못했던 것 같다. 타 언어에도 관심을 가지고 배우며 점점 개발자로서의 시야도 넓어지는 것 같다. 이번에 JAVA를 공부하면서 Javascript가 얼마나 편한 언어인지 깨닫는 계기가 되었다... JS 최고.
Build: 젠킨스 os환경에서 sh 명령문을 활용하여 npm install, build를 실행
Deploy: sshPublisher의 transfers를 통해 포함할 파일을 지정하여
배포될 서버 환경으로 전달해주고 execCommand를 통해 배포서버
환경에서 실행시킬 명령어를 전달하여 pm2를 활용한 서버 재시작으로
변경사항이 배포사이트에 적용될 수 있도록 해주었다.
마치며...
주로 프론트엔드 기술을 주력으로 개발자로 종사하고 있지만, 기회만 주어지게 된다면 개발자적 시야를 넓히고자 자발적으로 업무를 맡아보고 있다. 실제로 개발은 프론트와 서버로 나눈다는 개념보다는 프로그램을 만드는 것 자체가 개발이라고 생각하기 때문에 앞으로도 더 다양한 분야의 개발을 경험할 예정이다. 실제로 지금 java 언어와 스프링부트 프레임워크에 대해 공부도 겸하고 있다. 언제나 새로운 개념을 알았을 때, 그리고 그러한 개념이 지금까지의 기술력과 이어질 때만큼은 정말 보람차고 즐거운 것 같다😊
회사에서 여러 프로젝트를 진행하며 요구사항에 맞춘 라이브러리 커스텀이나 구현해보지 못한기능을 구현하는 일이 점점 잦아지는 것 같다. 새로운 기능을 구현하며 느낀 것 언제나 "정답은 공식문서(Docs)에서 찾을 수 있다." 라는 것이다. 타 블로그나 커뮤니티 글을 찾아보기 이전에 공식문서를 자세히 살펴 본 후 추가적인 아이디어를 얻기 위해 블로그 또는 커뮤니티 글을 참고하여 구현하는 것이 해당 라이브러리에 대한 이해도를 높이면서 활용도를 확장시킬 수 있는 것 같다.
프로그래밍에 대한 이해도가 낮았을땐 결론을 짧은 경험과 유추만으로 결정짓는 습관이 고질적인 문제였다. 하지만 꾸준히 공부하고 개발 경험을 늘려갈수록 더 많은 것들이 보이게 되고 더 겸손해지고 부족함을 많이 느끼게 되는 것 같다. 스스로 유추하고 확신을 가지기보다 근거를 기반으로 확신을 내리는 방향성을 절대로 잊지 말자.
서비스 이용자로서 에디터 툴은 많이 사용해봤지만 막상 서비스를 만드는 개발자 입장에서 에디터 툴을 직접 구현하기 위해서는 복잡하고 많은 프로세스를 요구한다는 것을 깨닫고 직접적으로 구현한다는 것은 매우 어렵다는 것을 깨달았다. 좋은 에디터 툴을 라이브러리로 제공하는 선두 개발자들에게 깊은 감사를 느꼈다... 그리고 이번 경험으로 또 하나의 목표가 생겼다. 바로 에디터 툴을 직접 구현해보는 것이다. 혼자의 힘으론 어려울 수 있겠지만 분명 좋은 경험이 될 것 같다.