본문 바로가기

분류 전체보기293

네이버클라우드 써밋 온라인 이벤트 참여! 2022. 11. 15.
용어: Cloud Service & On-premise(+ BaaS) ! 제 생각으로 작성했고 무지성 복붙을 하지 않은 글이며 DevOps가 아니고, 주니어 개발자이므로 오개념이 있을 수 있습니다. 틀린 개념이 있다면 부디 친절하게 알려주세요! 일단 웹을 접하다 보면 서버나 클라이언트란 말을 많이 들어봤을 것이다 DB단으로부터 데이터를 가져와서 가공해서 보여주거나 클라이언트(브라우저)에서 입력된 데이터를 DB로 넣어서 CRUD를 하게 하는게 웹 서비스이다 그리고 이런 서비스로 돈을 벌기 위해서는 백엔드나 프론트엔드 서버를 사내에 설치할지, 외부에 설치할지 등을 정하게 된다 그리고 그런 서버 관련된 사양은 네트워크 장비를 두고 운영하는 것이고 랙(RACK-선반)에 네트워크장비(기본적인 컴퓨터[CPU, RAM, SSD/HDD], 암호화기,LB etc)을 두게 됩니다 그리고 이.. 2022. 10. 29.
모바일 환경 테스트하기(기기로 접속) 보통 npm install serve로 해서 내부적으로 서버환경을 만들어서 오픈된 포트를 모바일로 들어가곤 한다 근데 기왕 인텔리제이를 쓰는 김에 인텔리제이가 제공해주는 built-in 옵션으로 이용해보자! @media 쿼리를 쓰는 반응형 테스트 말고, 모바일 기기로 접속했을 때 어떤 기능을 disable 하거나 동작을 다르게 하고싶은 경우 이용하면 된다 일단 프로젝트에 resources 아래에 test할 html 파일을 만들자 나같은 경우 그냥 index.html로... vanilla js code로 돔이 준비된 경우 함수가 실행되도록 했다 웹 환경일때 result Division element에 web이라고 파란색으로 표시하고, 모바일 환경일때는 mobile로 표시하고 빨간색으로 표시하는 거다 인텔리.. 2022. 10. 23.
협업을 위한 DTO Response Custom 뭐 기본적으로 Entity가 아닌 DTO를 Response로 내려보내야 하는 것은 다들 알 것이다 우리 회사의 Entity Spec을 외부에 노출하지 않으며, Setter가 열린 채로 Entity를 내려보내고, 아직 메모리에 올라와 있는 채로 어딘가에서 누군가가 수정을 하고, 업데이트나 머지가 일어난다면(영속성인 객체상태에서) 끔찍한 일이 아닐 수 없다 static으로 내부클래스로 구현할지 말지는 본인 선택이다. 깔끔해진다는 장점이 있으나 OuterClass.InnerClass이렇게 인자나 반환값이 바뀌게 되어 오히려 이게 안예쁘게 보일 수 있다 프로젝트 브라우저 내에서 이쁘게 보일것이냐 => static(inner) 코드 레벨에서(함수 인자나 반환값으로 쓸 때) 참조를 깊게 안할것이냐 => non st.. 2022. 10. 23.
IntelliJ Honey Tips 4 - 필수!(feat. 협업하기 위한 셋업) 개발에 대한 포스팅이 꽤나 늦었다 ㅎㅎ 회사에서 이리 치이고 저리 치이고 야근도 한다고! 자, 우리 개발자들은 다른 사람의 코드를 보기도 하고 내가 수정하기도 하고, 내가 만든 코드를 다른 사람이 보게 된다 면접때 면접관이 중요하게 보는 포인트 중에 하나는 팀프로젝트 경험이 있는가(취준생인 경우), 회사를 다녀본 경우는 다른 팀원들과 소통의 오류를 겪었을 때 어떻게 해결했는가?(이직인 경우) 이다 이 두 질문의 Main Context는 협업이다! 코드레벨에서의 협업은 Git Commit Message Convention, Camel/Kebab/Pascal Case Convention, variable Convention, JavaDoc작성, Hard Wrap(IDEA), ESLint or TSLint, .. 2022. 10. 23.
MongoDB Day Seoul 2022 & 블랙 아담 후기 저번달에 MongoDB Day 사전신청 안내 메일을 받았었다현재 회사에서 MongoDB를 사용하고 있고, 나도 풀스택으로 Aggregation 만들고, 프론트에 붙이고 하다보니까 정이 들었다..오늘은 회사 말고 양재역으로 출근을 하게되었다10시까지 등록을 마쳐야 해서 그런가... 줄이 엄청 길었다인스타그램 해시태그를 달아서 올려주면 뭔가 경품을 주는 이벤트도 있었다나 이거 받고싶었는데 어떻게 받는지 몰라서...오늘 못받았다..ㅠㅠㅠㅠㅠ흑 사전신청을 했기때문에 명함이랑(전날 문자로 미리 지참하라고 했었음) 문자로 받은 바코드를 보여주면 이런 회사명 이름 직책 그리고 QR코드, 그리고 점심식사 쿠폰과 기념품 교환권이랑 세션 스케쥴이 적힌 종이를 받을 수 있다. 목걸이 안에 넣을 수 있음!드디어 안으로 들어갔.. 2022. 10. 20.
jar Build Task(Feat. thin/plain, fat/uber) + no main manifest attribute in ... 우선 프로젝트를 만들때 Spring initializer로 만들면 IDE가 배포 패키징(아카이빙)을 WAR로 할지, JAR로 할지 선택하라고 한다 그리고 의존성 관리는 Maven(Pom.xml)로 할건지, Gradle(build.gradle-Groovy)로 할건지도 선택하게 된다 일단 이 글에서는 Maven/Gradle, War/Jar의 차이보다는 전반적인 패키징에 대한 것, 그리고 plain-jar, not plain-jar가 무엇인지에 대해서 포스팅해보려고 한다 일단 나 그리고 우리 회사는 로컬에서 빌드 후 파일통신으로 jar를 올려서 돌리기때문에 서버에서 터미널로 빌드를 하지는 않는다 그리고 로컬에서 빌드할때는 빌드 Task의 build를 이용하기보단 bootJar를 이용한다(IntelliJ) 이제.. 2022. 9. 4.
소프트웨어 개발 원칙들 모음 어떤 일을 할때의 방법은 여러 사람들이 반복해서 해보고, 100% 정답은 아니지만 99% 올바른 Best Practice가 나오기 마련이다 빅데이터처리를 거쳐서 어떤 일관된 결론을 도출하는것처럼 ㅋㅋ 첫번째로는 소프트웨어 개발 3대 원칙이 있다 1. KISS Keep It Simple Stupid / Keep It Short Simple / Keep it Small Simple 등의 앞글자를 따서 만든 약어라고 한다 '소프트웨어를 설계하거나 코딩하는 행위에서 되도록이면 간단하고 단순하게 만들라'는 원칙이다 소스코드나 설계 내용이 불필요하게 장황하거나 복잡해지는 것을 경계하라는 의미이다 단순할수록 이해하기 쉽고, 이해하기 쉬울수록 버그가 가능할 가능성이 줄어들고, 이는 곧 생산성 향상으로 이어진다 출처: .. 2022. 9. 3.
~ 2022.09 회고 + 주니어/신입 개발자의 자세, 그리고 방향성 요즘 내가 못하고 있는 부분, 잘 하고 있는 부분, 그리고 직장인이 되어서 총 개발 기간 1년 조금 넘은 2년차 개발자로서 느낀 점을 적어보려고 한다내가 느끼고 겪고 적은게 정답이 아닐 수도 있다는 점 알아주셨으면 좋겠습니다그리고 반말과 존대를 섞어 쓸 수도 있다는 점 회고일단 난 가산에서 Excel + Python + Visual Basic을 다 써서 엑셀과 앱, 웹 개발을 다 도맡아서 짧게 개발한 것을 개발 커리어로 시작했다알다시피 가산디지털단지, 구로디지털단지쪽이 흔히 계약뻥튀기로 온 SI 개발자들을 많이 접할 수 있는 동네이다나는 운 좋게도 그런 경우는 아니었다다만 내가 전공자로써 이것저것 다 개발을 할 수 있다고 어필을 했었기때문에, 대표님이 원하는 개발제품을 어떤 언어이든, 어떤 플랫폼이든 상.. 2022. 9. 3.
맥은 리눅스인가요? 차라리 질문을 유닉스인가요?라고 말했으면 맞았을텐데 아쉽다 맥과 리눅스는 형제도 아니고 먼 친척쯤이다 잠시 Unix의 역사에 대해서 짧막하게 쓰겠다 Unix는 Bell 연구소의 AT&T에서 만들어졌다 시간이 지남에 따라 캘리포니아 대학교 버클리 캠퍼스의 빌 조이가 유닉스 소스코드를 기반으로 BSD의 최초 버전을 배포하였다 BSD는 Berkeley Software Distribution에서 앞글자를 따서 불리게 된다 그리고 Linux는 Linux is not Unix라는 뜻으로 시작했다(이 이름을 따서 NoSQL도 Not only SQL같은 재귀적인 이름이 나오지 않았나 한다) 리눅스 코드는 그 유명한 리누스 토발즈 형님이 개발했고 어떤 유닉스 코드도 포함하지 않았다고 한다 참고로 리눅스가 더 먼저 만들어.. 2022. 9. 3.
파일 크기와 권한 등을 볼 수 있는 명령어 & Mac ls -alh 활용 내가 묶은 war나 jar가 fatJar(bootJar)인지 확인할 수 있다 다른 라이브러리를 까지 묶인 경우면 크기가 크고, 순수한 자바 애플리케이션인 경우에는 크기가 작다 그리고 아마도 manifest오류가 뜰 것이다. 2022. 8. 27.
Terminology(1) - 카멜(Camel) / 케밥(Kebab) / 스네이크(Snake) 케이스 우선 CS를 공부할때 영어로 된 PPT에서 많이 접했던 단어가 있다 바로 Terminology 라고 하는 단어인데, 뜻을 찾아보면 전문용어라고 한다 근데 뭐 편하게 단어라고 해석해도 된다 위의 스크린샷은 인텔리제이의 플러그인 중 하나인 CamelCase를 설치하고 설정창을 열었을때 나오는 화면이다 잘 보면 이름과 함께 형태가 적혀있기에 쉽게 파악할 수 있다 1. kebab-case 케밥은 구글에 검색해보면 서남아시아, 중앙아시아, 남아시아의 구운 고기 요리라고 나온다 그리고 그림을 보면 꼬챙이에 요리들이 꽂혀있는 것을 볼 수 있다 그리고 kebab-case의 형태를 봐도 -로 단어가 이어져 있는 것을 볼 수 있다 케밥케이스는 소문자의 글자와 글자 사이를 -로 이어서 표현한 것을 볼 수 있다 그럼 이제 I.. 2022. 8. 27.
Mac 강의 볼때 Honey Tip 자.. 여러분들은 맥으로 강의를 어떻게 보시나요? 강의 내용 정리도 해야하고(노션이나 기타 파일 등등에) 코드도 작성해야되고.. 듀얼모니터를 써야하나... 아이패드를 두고 사이드카로 써야하나 그러시죠? 아직까지 언제끝날지 모르는 코로나를 두고.. 카페 코딩도 괜찮지만 집에 와서 코딩을 하신다고 하면... 맘 편하게 30~50 투자해서 30인치 이상 모니터 하나를 두고 맥북은 클램쉘(덮어두고 쓰는) 모드로 사용합시다 그리고 화면을 반으로 갈라주세요!!! 창이 최대화 화면이 아닐때!! 좌측 상단의 초록색 버튼을 꾸욱 눌러주시면 저런 옵션들이 나옵니다 좌측에 둘지 우측에 둘지 그건 본인이 설정해주세요 그리고 저는 실행화면(보통 웹 브라우저)를 최대화로 두는 것을 좋아해서 라이브 서버로 크게 띄워놓고 강의화면과.. 2022. 8. 16.
CSS 공부 history + 공부해야될 순서 요즘 어쩌다보니 CSS를 공부하고 있다 TypeScript와 Angular도 공부하기 넘 바쁜와중에 CSS이놈이 Java Base인 백엔드 개발자인 나를 너무 고통스럽게 한다 하루에도 자괴감과 성취감을 매 순간마다 주는 녀석이 CSS(Cascading Style Sheets)이다 말 그대로 폭포처럼 흐르다 란 의미를 갖고있기때문에 이 친구들도 몇몇 속성은 상속이 되고, 안되고 등등을 갖고 있다 그리고 기본적으로는 순차적 구조라서 1번째 라인에서 color: black; 이었더라도 500번째 줄에서 color: red;가 들어가면 red가 된다( 아 물론 !important 가 걸려있는 경우 제외) 기본적으로 배워야 할 순서는 1. 선택자 2. display & border 3. box model 4. p.. 2022. 8. 13.
깃허브 앱 아이콘 모양 바꾸기 기본형인 이 아이콘에서 이 아이콘으로 변경을 했닼ㅋㅋ 귀엽지않은가 하는방법은 그리고 앱으로 코드를 봐도 꽤 괜찮게 나온다 끗 2022. 8. 10.
Compile, Link, Build, Run (feat. C vs JAVA) 프로그램을 작성하다보면 컴파일 타임, 런타임이란 용어들을 접하고... 컴파일, 런타임을 검색하다보면 링크, 빌드, 바인드 이런 용어들도 접하게 된다 그럼 이제부터 과연 이게 무엇인지에 대해 알아보자! 나중에 내가 주로 개발하는 언어인 Java와 TypeScript에 대해 말하긴 할것이고, Java는 C#과 많이 비교되는 언어지만.. C언어부터 예로 들어 시작해보겠다 Compile - C언의 컴파일 과정 1. C언어로 프로그램을 만들기 위해선 .c 확장자를 갖고 있는 source file(소스파일)을 작성해야 한다 2. 컴파일을 거치기 전에 Preprocessing(전처리)과정을 거친다. 이 과정에서 #이 붙은 매크로나 전처리기를 해석하거나 해석하지 않거나 등을 선택하고 주석 등을 배제한다 3. 각 CPU.. 2022. 8. 7.
1줄 팁 맥에서 IntelliJ 자동완성 되게 하기 윈도우 분들은 아마 Ctrl + Space누르면 자동완성을 아주 잘 해줄것이다 근데 맥 사용자들은 Ctrl + Space누르면 아무 동작도 안한다 왜냐? OS단축키랑 충돌이 나기때문이지.. 결론은 이 사용하지도 않는 친구 때문에 인텔리제이 자동완성이 되지 않고 있었다는 것!! 첫번째를 Uncheck 하도록하자 Ctrl + Space의 결과 매우 잘된다^^ 2022. 7. 27.
어쩌다 트랙패드 3종세트 구매한 이야기에 관하여(화이트, 블랙, 스페이스그레이) 맨 처음에 Carrot Market으로 구매한미개봉 스페이스 그레이 트랙패드...약간 싸게싸게 구매했던거같다 매우매우 잘 쓰는 트랙패드! 그리고 내가 취준생일때부터 자소서 첨삭해주고, 같이 3개월 가까이 CS스터디도 하고, 프로젝트도 같이 했고.. 물심양면으로 도움을 줬던 K사 간 내 친한 동생한테 사준 블랙 트랙패드 또 최근에 맥북프로가 생겨서 거기에 스페이스 그레이 트랙패드를 페어링시키니깐맥북에어에서는 페어링이 안되네?? 보니깐 얘가 로지텍꺼하고는 다르게 멀티페어링이 안되는듯...그래서 윈도우에서 쓰던 usb수신기 달린 싼마이 버티컬 마우스를 쓰려고 했는데맥북 특성인지.. 블루투스가 아닌 usb수신 기기들은 인식을 못하는건지.. 휴 건전지도 갈아보고했는데 안되서 포기하고에라이 모르겠다 하고 화이트 트.. 2022. 7. 25.
My Daily Life(+ 퇴사, 코로나 ) 7월 15일을 마지막으로 예전 직장을 퇴사를 했다 그리고...  어쩌다가 Angular를 해야 되는 일이 생겨서 요즘은 앵을 공부하고 있다앵귤러의 장점은 모듈/컴포넌트/서비스/TS/캡슐화/DI 등등인것 같다 리액트같은경우는 JS로 만들어서 TS(TypeScript)로 고도화를 시킨다던지, 라이브러리를 가져다 쓰는데(ex: 리덕스, 몹엑스, 리코일) 어떤 건 버전 업데이트가 안되고, 어떤건 베타버전이고... 등등 중구난방이다흔히 리액트는 라이브러리라고 한다(종종 프레임워크라고 하기도 하지만), 이 말인 즉슨.. 요즘 면접질문에서는 거의 사라졌지만(프레임워크vs라이브러리) 제어권이 프로그래머한테 있나vs시스템한테 있나 그런 의미이다.. 리액트는 그런면에 있어서 개발자한테 제어권을 주고 자율성을 많이 가지고 .. 2022. 7. 25.
원티드 2022 New 스타트 패키지 & 채용보상금 1. 채용보상금1월에 입사를 했었고, 마음을 졸이는것 때문에 한번 고객센터에 문의를 했었다그냥 잘 처리된다. 무심코 문의를 막 하지는 말자잘 신청을 했었고, 아마 대기중이었던거로 기억한다위에 명시된 것으로 보면 5월 10일에 들어온다고 했었다그 결과..명시된 50%에서 기타소득세 8.8%를 제외한 금액이 입금되었었다후.. 이거라도 어디야 2. 2022 뉴스타트 패키지블로그들을 검색하니, 무드등 등등.. 예전 상품이 더 이쁜거같기도 했지만.. 난 상품이 다르기에 다시 적어본다이번에 새로 리뉴얼이 되었다고 필요한 정보를 구글 폼으로 받게 되었고, 기존 배송일자보다 두달이나 더 늦게 발송이 시작이 되었다내가 알기로 기존에는 주소를 변경 못하는거로 알고있는데, 구글 폼을 통해서 받을 주소를 적어둘 수가 있었다... 2022. 7. 20.