equals는 일반 규약을 지켜 재정의하라 equals 메서드는 Object의 정보들에 대해 동등성을 비교하는 목적으로 사용한다. equals 메서드를 잘못 작성하면 잘못된 결과를 만들 수 있다. equals를 재정의하지 않는 경우 각 인스턴스가 본질적으로 고유하다 값이 아닌 동작을 개체로 표현하는 경우 (ex. Thread) 논리적 동치성(p->q, q->p)을 확인 할 필요가 없다 클라이언트가 원치 않거나 애초에 필요치 않다고 판단 할 수 있다(기본 equals로 해결). 상위클래스에서 재정의한 equals가 하위 클래스에도 적용된다. set, Map, List의 경우 Abstract(Type)의 equals를 쓴다. 클래스가 private, package-private여서 equals를 호출할 일이..
try-finally(JAVA 6) 보다는 try-with-resources(JAVA 7)를 사용하라 try-fianally를 사용할 때 보다 try-with-resources를 사용할 때 코드가 짧아지고, 예외 처리가 유용하다. try-with-resources는 try가 종료될 때 자동으로 자원을 해체해준다(AutoCloseable 구현 된 경우, close() 메소드를 호출한다) static String firstLineOfFile(String path) throws IOException{ try(BufferedReader br = new BufferReader( new FileReader(path))){ return br.readLine(); } } try(...) 안에 Reader 객체가 할당 ..
github - markdown-css 적용 블로그관리 > 꾸미기 > 스킨편집 1)HTML head에 css 추가 2)css에 일부 css 적용 .markdown-body { box-sizing: border-box; min-width: 200px; max-width: 980px; margin: 0 auto; padding: 45px; } @media (max-width: 767px) { .markdown-body { padding: 15px; } } [ 테스트 ] 글쓰기시 우측상단 선택에서 기본--> 마크다운으로 변경 후 작성 Markdown 이란? public class Test{ } 참고 https://redthing.tistory.com/entry/%ED%8B%B0%EC%8A%A4%ED%86%A0..
- 방법 조사 이유 : . API 결과 관리 페이지 개발 중 개발자에게 JSON 응답 가이드를 전달하기 위해 [Jsonlint와 같은 json 정렬을 간단하게 구현하는 방법] 1. TextArea영역에 바인딩함을 조건으로 한다. 2. JSON.stringify(data, null, 4) - data는 Object 형태 - , } 이런 것들 뒤에 4칸씩 뛰어서 정렬 3. TextArea에 붙힌다 - $('#contents').val(JSON.stringfy(data, null, 4)); - TextArea에 처리해야 그대로 들여쓰기가 적용된다.
- 코멘토 활용하기 위한 기초 API 작성, 카카오 챗봇 JSON API로 사용 - 로컬환경셋팅(해당 블로그 내용 참고) : https://codevkr.tistory.com/12 1) Nodejs 설치 (LTS 버전) 2) 프로젝트 경로 만들기 3) npm init / git, 라이센스 정보 등 작성 app.js 작성 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 //express 모듈 로드 var express = require('express'); //http 모듈 불러온 후 http 변수에 저장 var http = require('http'); //express 객체 app 변수에 저장 var app = express(); /..
학습동기 : AWS에 API를 node app.js로 실행하다가 putty의 session을 끊으면 프로세스도 죽어버림. - 이를 forever로 살려두었다. forever는 node.js서버가 죽어도 계속 살게 해준다. ------------------------------------------------------------------------------------------------------------- 1. forever 설치 $ npm install forever -g 2. forever로 app.js 실행 $ forever start app.js 3. list로 현재 관리 중인 프로세스 확인 $ forever list 4. 서버끄기 $ forever stop 0 (0번에서 돌고 있는 경우..
[AS-IS] - 멘티들과 함께 있는 카카오톡 단톡방에서 매 회 진행마다 비슷한 질문이 나오는 것을 느끼고 있다. - 멘티들의 질문에 대한 답변을 강의용 블로그에 조금씩 포스팅 중이다. - 그런데 멘티들은 그게 적합한 답변인지 잘 모르고, 링크를 건네주어야 한다. 해결방안 : 카카오톡 챗봇을 구축하여, 자주묻는질문의 대한 답변을 링크로 정리하여 제공하자. [TO-BE] - 상당수의 답변이 카카오챗봇 기능으로 대체가 가능하다. - 강의 블로그 외에 다른 블로그의 글도 자유롭게 활용이 가능하다. 구현방법 - AWS 위에 ubuntu, nodeJS 기반으로 제작하여 제공한다. [구현 순서] 1) 카카오 채널(구 플러스친구) 계정 생성 2) 개인PC(로컬)에서 NodeJs, VisualStudioCode 환경에..
앞으로 새로 시작하는 강의의 보충으로 멘티들에게 다른 물리적 서버에 대한 이해를 돕게 하기위해 API를 활용하여 데이터를 가져와 화면에 바인딩하는 강의를 보충하기로 했다. 그리고 직접 API를 제공하기로 결정했습니다. 방법에 대한 고민은 1. 라즈베리파이를 이용하여 간단한 웹서버를 구현하는 방법 2. AWS에 API를 구축하여 제공하는 방법 을 생각했고 알아본 결과 AWS를 활용하는 방법으로 1. 웹서버를 구축 2. Lamda를 이용 으로 두 가지가 있었습니다. 개인적으로 AWS 학습을 함께 진행되기를 바라기에 1번의 웹서버를 EC2, ubuntu, nodeJs 환경을 바탕으로 하기로 결정!! [구현 순서] 1) 개인PC(로컬)에서 NodeJs, VisualStudioCode 환경에서 간단한 API 구현..
지금의 회사는 필요한 정보를 찾을 때 주고받았던 메일을 검색해서 찾는다. 구글검색도 아니고 키워드를 기억 속에서 끄집어 내어 데이터를 찾는다 그리고 부장님은 자꾸 질문하신다. 어디 DB ip가 뭐였지? SR 처리 가이드가 어딨었지? 등.. 이런 질문만 받지 않아도 많은 시간이 절약되지 않을까? 라는 생각에 툴을 도입해야겠다는 생각을 했다. 요즘 많이 쓴다는 Jira?, slack?, 레드마인?, 네이버에서 만든... 그것, 그리고 사내블로그? 뭐가 좋을 지 둘러보았지만 선택권은 그리 많지 않았다. 폐쇄망인 사내망에서 사용하기 좋은 것? 우선 slack제외! jira, 레드마인 둘 중 하나를 택하려고 할 때 jira는 설치형이 유료였다. 그래... 과감히 레드마인을 선택했다. 그리고 매번 켜놓는 원격빌드P..
어떻게 공부하는게 효율적일지 많이 고민했다. 작년 8월 쯔음이었나 회사에서의 성장은 멈춘 것 처럼 느껴졌다. 책을 읽어보고, 스터디도 해봤지만 성장에 대한 욕구는 더 커졌다. 그렇게 고민하던 중 취준생 멘토링 플랫폼과 연락이 닿았다. 가끔씩 해당 플랫폼에서 개발자를 꿈꾸는 취준생 고민에 대한 답변을 달아주었는데.. 그게 시작이었나보다. 강의를 해보지 않겠냐는 제안을 받았다. 누군가에게 강의를 하며 전달한다면, 좀 더 내게 성장이 될 것이라고 생각했다. 그리고 덜컥 강의를 하기로 했고, 강의 컨텐츠를 만들었다. 처음에는 어떤 컨텐츠를 만들지 막막했지만 강의를 하며 만들어갔다. 주제는 [시각화 파일럿 프로젝트!] 5주의 과정을 만들어 진행했다. 1. Spring 셋팅 2. FrontEnd 이해하기(d3.js..
데브그라운드 리뷰를 위한 글 작성입니다.. 문자열 인코딩 EUC-KR : LEGACY, 이니시스 결제 UTF-8 : 보통 UTF-16 : java windows api에서 base64 : binary --> 아스키코드(텍스트) -> 이메일, http, 텍스트기반 규격 -> OTP 코드 인코딩 -> binary보다 33% 늘어남 -> 암호화기술이 아니므로, 암호화가 필요한 경우 Hash 사용해야 함. json : 텍스트기반 규격, 쇼핑몰, 주문처리 서버 -> Restful api가 범용적으로 되면서.. -> 생산성이 높다(텍스트 기반, 디버깅 쉽다.) -> 가독성이 좋다. ** JSON Class 직렬화 ** : 찾아보기 ** 찾아보기.. Graph QL?, YAML, Protocol buffer 단점 :..
개발자의 9가지 스킬 리뷰를 위해 작성한 내용입니다. --------------------------------- 기본 ------------------------------------- Hard Skills ( 1~5년차에 필요한 것) 1. 기본 지식 - 학교, 직장 등 혼자서 할 수 있는 스터디 - 자료구조, 알고리즘, 언어에 대한 이해 등 2. 제품이해 - 예시 : Blizzard 전 직원이 게임을 모두 해보고 재밌을 때만 게임을 출시 3. 개발 사이클 : 프로그램의 개발 싸이클을 전반적으로 이해하기 - 요구조건/분석 - 디자인 모델링 - implementation - Feedback/update ---------------------------------------------------------..