반응형 분류 전체보기126 [이펙티브 자바] Effective Java 3/E 목차 / Java 도서 추천 자바에 좀 더 충실하고자 구매한 Effective Java 두근두근 .. 🥰 목차만 보아도 너무 좋은듯 하여 우선 목차를 포스팅해두고 종종 보려고 남기는 기록 객체 생성과 파괴 생성자 대신 정적 팩터리 메서드를 고려하라 생성자에 매개변수가 많다면 빌더를 고려하라 private 생성자나 열거 타입으로 싱글턴임을 보증하라 인스턴스화를 막으려거든 private 생성자를 사용하라 자원을 직접 명시하지 말고 의존 객체 주입을 사용하라 불필요한 객체 생성을 피하라 다 쓴 객체 참조를 해제하라 finalizer와 cleaner 사용을 피하라 try-finally 보다는 try-with-resources 를 사용하라 모든 객체의 공통 메서드 equals는 일반 규약을 지켜 재정의하라 equals를 재정의하려거든 has.. 2021. 4. 7. [Javascript] JSON 데이터 -> 쿼리스트링으로 변환 null 또는 undefined 의 경우는 넘기지 않기로! var jsonString = { key1 : 'val1', key2: null, key3: 'abc'}; var queryString = Object.entries(jsonString).map( ([key,value]) => ( value && key+'='+value )).filter(v=>v).join('&'); 2021. 3. 30. [소스트리] mac 소스트리 gitlab 계정 추가 1. 상단 메뉴바 -> Sourcetree -> 설정 2. 계정탭 선택 후 추가 버튼 클릭 3. 사용자이름 : gitlab 계정에서 fullname 입력 (fullname 입력 안하고 그냥 아이디 적어서 한참 삽질함 주의) 암호 : 발급받은 토큰 입력 (토큰 발급 방법 하단에 설명) 프로토콜 : HTTPS ** 토큰 발급 방법 gitlab.com/-/profile/personal_access_tokens Gitlab 로그인 -> 프로필 사진 클릭 -> Preference 클릭 -> Access Tokens 클릭 Name: 토큰 이름 입력 Expires at: 입력 안 할 시 토큰 만료일 없음 Never Scopes: 토큰으로 작업할 범위 선택 (전체 다 선택하면 편리..) 입력 후 Create Perso.. 2021. 3. 17. [nodemailer] node로 smtp 메일 발송하기 (다우오피스 메일) const nodemailer = require("nodemailer"); // 메일발송 객체 var mailSender = { // 메일발송 함수 sendDaouofficeMail : function(param){ var transporter = nodemailer.createTransport({ service: 'daouofficemail' ,port : 465 ,host :'outbound.daouoffice.com' ,secure : true ,requireTLS : true , auth: { user: '메일계정 주소' ,pass: '메일계정 비밀번호' } }); // 메일 옵션 var mailOptions = { from: 'user@mail.com', to: 'test@gmail.com', .. 2021. 2. 19. [Javascript] JSON 비교 방법 / Object.entries / JSON.stringify JSON 오브젝트 값 비교 시 depth가 1depth이면서 key의 순서가 보장이 된다면 단순하게 JSON.stringify 만을 이용하여 비교할 수 있다 var j1 = {a:1}; var j2 = {a:1}; var isEqual = JSON.stringify(j1) === JSON.stringify(j2); 그런데 JSON 오브젝트의 depth가 더 깊어지거나, key의 순서가 보장이 되지 않을 경우엔 비교가 어렵다 그때는 Object.entries 와 JSON.stringify를 사용하면 해결할 수 있다 var json1 = {a:1,b:2,c:{cc:3}}; var json2 = {c:{cc:3},a:1,b:2} var e1 = Object.entries(json1).sort(); // 정렬 .. 2021. 2. 18. [리액트 / material-ui] DialogTitle에 HTML 태그 포함하기 1. 태그 안에서 직접 HTML 태그 사용 다이얼로그 타이틀 2. DialogTitle에 들어갈 값을 prop이나 변수로 받을시 빈 태그로 감싸기 render() { let title = [이름] 필수항목이 모두 입력되지 않았습니다.; return ( {title} 확인 ); } 3. DialogTitle에 들어갈 값을 prop이나 변수로 받을시 array 형태 이용 render() { let title = [ '[비밀번호]' , , '필수항목이 모두 입력되지 않았습니다.' ]; return ( {title} 확인 ); } - 신기했던 점 1,2,3 번의 방법으로 DialogTitle을 넘기고, 개발자모드에서 디버깅으로 확인해본 결과 props.children이 array형태로 넘어가는 것을 확인하였다 .. 2021. 2. 9. 이전 1 ··· 11 12 13 14 15 16 17 ··· 21 다음