전체 글 썸네일형 리스트형 IE 11 LTR character 이슈 LTR(Left-To-Right)란? LTR이란 left-to-right의 약어로 단어가 왼쪽에서 오른쪽으로 써진 다는 의미의 mark character입니다. 한글, 영어, 러시아어 등이 대표적인 예입니다. 반대로는 RTL(right-to-left)가 있는데 대표적으로 아랍어가 있습니다. IE 11에서 LTR mark character 관련 이슈 함수의 파라미터로 연,월,일을 문자열로 받아 두개의 날짜 객체를 생성하고 둘을 비교하는 코드가 필요했습니다. 그런데 moment객체나 date객체 어떤걸 사용해도 Invalid Date라는 에러를 뱉으면 IE 11에서만 객체가 생성이 안됐습니다(크롬, 크롬 모바일, 모바일 웹, 앱 전부 정상). 코드는 대충 아래와 같은 느낌이었습니다. function date.. 더보기 Firebase 호스팅 이용 이번 내용은 제가 vuejs + firebase 공부를 하면서 firebase의 호스팅 기능을 사용 할 때 필요한 커맨드를 소개합니다. 개발 중이신 vue 프로젝트 디렉토리에서 아래의 명령어들을 순서대로 하시면 firebase의 호스팅 기능을 사용할 수 있습니다.(구매하신 도메인이 있다면 해당 도메인을 firebase console에서 맵핑할 수 있는것으로 알고 있습니다. 전 아직 하진 않았습니다.) 1. npm install -g firebase-tools 해당 명령어는 npm(node package manger)를 이용해 로컬에서 firebase 관련 명령어를 사용할 수 있게 합니다. -g 옵션은 해당 패키지를 전역에서 사용할 수 있도록 설치하는 옵션입니다. 2. npm run build 현재 디렉토.. 더보기 Field Injection vs Constructor Injection 현 직장에서 의존성주입이 모두 Field Injection으로 되어 있었습니다. 코드 리팩토링을 하는데 동료 중 한분이 Field Injection을 Constructor Injection으로 바꾸는게 좋겠다고 의견을 주었습니다. 근데 저는 그 둘의 차이를 잘 몰라서,,, 한번 알아보았습니다. Field Injection 필드주입의 예시는 아래와 같습니다. @Service public class SampleService { @Autowired private PaymentService paymentService; public void callPayment() { paymentService.callPayment(); } } 의존성 주입시 Autowired 어노테이션을 사용하여 표현할 수 있습니다. Const.. 더보기 자주 사용하는 git 커맨드 stash stash는 사용하던 working 디렉토리를 메모리에 저장하고 다른 브랜치로 가서 작업을 할 수 있도록 도와줍니다. git stash clear : 현재 프로젝트에 저장되어 있는 stash를 전부 지워줍니다. git stash save 이름 : 이름으로 현재 작업중인 내용을 stash합니다. git stash pop : 마지막에 stash된 내용을 불러오고 list에서 삭제합니다. reflog reflog는 git 이력을 볼 수 있는 명령어 입니다. git reflog : git 이력을 보는 명령어. git reset --hard 커밋해시id : 해당 커밋해시id로 커밋 복구 git branch -a : 전체 브랜치 목록 보기 git clone 서버주소 : 브랜치 복사 git checkout.. 더보기 Import vs Import static 상황 지금 개발하는 프로젝트에서 자주 쓰이는 문자열,상수는 자바 파일 하나로 따로 만들어 두어서 관리를 하고 있습니다(공통코드로 등록해서 관리하기엔 조금 그런 문자열들). 예를 들면 이렇게 사용하고 있는거죠. public class Constant{ public static final String ORDER = "Order"; public static final String SUCCESS = "SUCCESS"; public static final int DEFAULT_PAGE_ROWS = 10; } 근데 동료가 코드리뷰를 해주는데 Constant 클래스를 import static으로 사용하는게 좋을거 같다는 리뷰를 받았습니다. Import vs Import static 둘의 큰 차이는 없습니다. 보통 다.. 더보기 Node Sass could not find a binding for your current environment:Windows 64-bit with 업무를 하던 중 갑자기 아래의 에러가 나면서 프론트 프로젝트가 구동이 안됐습니다...ㅠ Node Sass could not find a binding for your current environment:Windows 64-bit with Node.js 14.x 원인은 제가 node 버전을 10.대를 사용하다가 14로 올렸는데 node sass가 10.대로만 빌드가 되어있어서 그런거 같았습니다. 구글링을 해보니 저 같은 사람들이 많았고 해결방법은 아주 간단했습니다. 해당 프로젝트 경로로 가서 command 창을 띄운다음 아래의 명령어를 실행 하고 다시 프로젝트를 띄우는 잘 됐습니다. npm rebuild node-sass 더보기 Shallow copy와 Deep copy Shallow copy 1. 객체를 복사할 때 해당 객체의 메모리 주소만 복사합니다. 2. 따라서 복사된 객체의 값이 변경되면 원본 객체의 값도 변경됩니다. Deep Copy 1. 객체를 복사할 때 아예 새로운 객체를 만드는 개념입니다. 2. 따라서 복사한 객체의 값이 변경되도 원본 객체에 영향을 주지 않습니다. 추가적으로 Cloneable 인터페이스를 상속받아 clone() 메소드를 오버라이드하여 많이 사용했지만,,, Josuah Bloch님이 쓴 Effective Java 2nd Edition에서 이 방법을 추천하지 않는다고 합니다. 그래서 copy constructor를 사용한다고 하는데 아래의 코드가 copy constructor를 사용한 코드입니다. public class CopyTest { p.. 더보기 세션과 쿠키 HTTP 통신은 connectionless와 stateless이 기본 전제입니다. connectionless란 클라이언트가 request를 보낸뒤 response를 서버로부터 응답받으면 연결을 끊는게 기본이라는 뜻입니다. stateless는 클라이언트가 response를 받은 뒤 서버에게 클라이언트의 상태를 공유하지 않는다는 뜻입니다. 그렇기 때문에 사용자들을 구분하고 위해서 쿠키나 세션이라는 것을 사용합니다. 다음은 쿠키와 세션을 간단하게 비교해보겠습니다. 쿠키(로컬 파일에 저장) 1. 로그인하면 서버가 클라이언트에게 response 헤더를 통해 쿠키값을 전달 2. response 헤더의 쿠키값을 로컬 파일에 저장하는 것은 브라우저가 하는 일 3. 이후 클라이언트는 request 헤더에 쿠키값을 전달 .. 더보기 이전 1 2 3 4 5 6 다음