본문 바로가기

전체 글136

프론트엔드 성능 최적화 가이드 프론트엔드 성능 최적화 가이드 수강생 2천 명이 선택한 인프런 인기 강의 다년간의 컨설팅과 강의 노하우를 담았다! 4가지 실전 서비스로 배우는 웹 성능 최적화 기법 '웹 성능 최적화'는 프론트엔드 개발자라면 반드시 고민해야 하는 이슈다. 서비스 환경과 상황에 따라 필요한 최적화 포인트가 다르고, 기법도 매우 다양하기에 개발 중인 서비스 특성에 맞게 커스터마이징하는 능력이 중요하다. 저자는 수많은 기업의 웹 서비스 성능을 컨설팅하고, 삼성 SSAFY, 프로그래머스, 인프런, 스터디파이 등 강의 플랫폼에서 최적화 및 개발 강의를 진행한 경험을 책에 고스란히 녹여 냈다. '성능 최적화' 주제를 효과적으로 배우는 데 이론보다는 실습이 중요함을 강조하며 현장감 있게 구성했다. 이 책은 실생활에서 흔히 개발하는 4.. 2023. 1. 11.
JQuery 호환성 확보 JQuery 2.x 기반으로 작업을 했더니 몇몇 기능이 안된다는 문의가 들어왔다. 아무래도 이용 중인 브라우저 버전이 낮아서 그럴 것 같아서 호환성 문제를 찾아보니 역시나 JQuery 2.x에서 IE8 이하를 지원하지 않아서 발생하는 문제같다. 마이그레이션을 설치하면 된다고 하여 설치해 보았다. https://github.com/jquery/jquery-migrate/#readme 일단 클릭해도 드롭다운메뉴가 나오지 않는 문제, 카트 버튼을 눌러도 카트에 담았습니다...라는 경고창이 안뜨는 문제는 해결. 아래의 코드도 삽입해서 버전별로 분기하도록 처리. 2016. 5. 25.
LG 유플러스 결제창이 iframe이 아닌 별도의 윈도우로 뜰 때 크롬으로 결제 테스트를 했을 때는 아무런 문제없이 iframe 삽입 방식으로 결제창이 떴는데 IE로 실행하기만 하면 별도의 윈도우 탭으로 결제창이 하나 또는 두 개씩이나 뜨고 결제까지는 성공해도 제대로 부모창으로 돌아가지 못해 최종적인 결과화면을 볼 수 없어 제대로 처리가 되지 않는 문제가 발생했다. 고객센터 기술지원팀과 이것저것 테스트해보았으나 샘플 코드 페이지는 정상적으로 실행이 되고 있었다. 웃기는건 별도의 윈도우 탭으로 결제창이 떴을 때 닫고 난 뒤 부모창에서 리프레시를 하고 다시 결제창을 띄워보면 부모창 안에서 결제창이 정상적으로 뜬다는 것이었다. (정상적으로 실행이 되었을 때의 화면) 결국 소스코드에 이상이 있어서 그럴 수 밖에 없다. 첫 번째로 찾아낸 것은 iframe 이라는 파라미터가 대소.. 2016. 5. 10.
sublimelinter를 사용해 실시간으로 문법 오류 체크하기 linter는 실시간으로 문법을 체크해준다.sublimelinter를 사용하게 되면 PHP 뿐 아니라 CSS, JS, Python 등도 가능하다. sublimelinter는 서브라임 텍스트의 패키지 컨트롤을 통해서 설치한다.sublimelinter-php 도 마찬가지. css나 js 를 위해서는 nodejs가 필요하니 nodejs 에서 최신 버전을 설치해준다.sublimelinter-csslint 나 sublimelinter-jshint 같은 경우에는 패키지 컨트롤을 이용해서 설치도 가능하지만, nodejs 를 설치했으므로 npm 을 이용해서 설치해 보자. 커맨드창을 열고 npm install -g jshint 와 npm install -g csslint 를 각각 실행한다. 그리고 커맨드창에서 where.. 2016. 3. 31.
로컬 디렉토리를 옮긴 후 git 작동이 안될 때 Onedrive에 백업을 하다가 구글 드라이브로 옮긴 후 수정작업을 했는데, 이것을 git 하려니 에러가 뜬다. fatal: unable to read e4d691 어쩌구... 새로 초기화 하는 방법이다. http://stackoverflow.com/questions/18678853/how-to-fix-corrupted-git-repository 일단은 백업을 위해 안전한 임시 디렉토리로 모두 복사 해둔다. rm -rf .git git init git add . git commit -m 're-initialize repository without old history.' 코멘트는 위와 같이 줘도 되고 아무거나... 그렇지만 이렇게 해줘도 push를 하려면 안되는 경우에는 아래를 다시 한번 실행. git .. 2016. 3. 29.
LG 유플러스 전자결제(PG) 사용하기 몇 년 전 처음으로 독립형 쇼핑몰 솔루션에 카드결제를 붙여달라고 해서 LG uplus의 xpay 전자결제 모듈을 이용한 적이 있다.이번에도 독립형 쇼핑몰 작업을 하면서 한번 해본 적이 있는 LG 유플러스가 편할 것 같아서 선택했다. 처음에 PG사의 모듈을 사용할 때 매뉴얼이 암호처럼 보여서 고생을 했는데, 역시나 이번에도 쉽지 않았다.(나만 그런가? 문제가 생겼을 때 인터넷 검색을 해봐도 별다른 방법이 없다.) 이번에 고생을 한 문제는 다름이 아니라 너무 조심스럽게 사용했다고나 할까?로컬에서 PHP 옵션에 display errors를 해놓고 실행하다보면 에러를 뿜어내는데 이것을 잡아보겠다고 변수에 빈 값이 들어있는 것을 체크하려다 발생했다. isset() 함수를 if()문에서 사용해야 하는데 로컬에서 에.. 2016. 2. 29.
로컬에서 MySQL 한글이 깨질 때 로컬에서 MySQL 돌릴 때 제일 귀찮은 부분...한글이 깨지는거.ini 파일 수정해 주면 되지만 매번 셋팅하기도 귀찮으니 여기에 올려놔야겠다. 아랫 부분만 수정해도 DB에서 한글이 깨져서 출력이 된다거나 하는 일은 없겠다. # Example MySQL config file for medium systems.## This is for a system with little memory (32M - 64M) where MySQL plays# an important part, or systems up to 128M where MySQL is used together with# other programs (such as a web server)## You can copy this file to# /etc/my... 2016. 2. 29.
로컬호스트로 여러 개의 가상서버 돌리기 사이트를 여러 개를 관리하면서 개발하다보니 매번 서버에 업로드해서 작업하기도 힘들고 해서 로컬호스트로 돌리고 있는데, 각 폴더별로 사이트를 만들어서 하다보니 http://localhost/abc, http://localhost/def 이런 식으로 접속을 하는데 종종 루트디렉토리를 못찾아서 에러가 나는 경우가 있다. 이럴 때, 각각의 디렉토리를 루트로 인식시켜주려면 가상호스트를 이용하면 된다. 우선 C:\Windows\System32\drivers\etc에 있는 hosts 파일을 다른 폴더로 복사한다. (바로 이 폴더에서 작업한 후 저장하면 관리자권한 에러가 나서 저장이 안되니 다른 폴더에서 작업 후 복사하는게 낫다.) hosts 파일을 수정하지 않으면 DNS 에러가 난다. hosts 파일을 열어 127... 2016. 2. 16.
jQuery, Ajax로 한 페이지에 있는 여러 개의 폼을 전송하기 (쇼핑몰 상품 목록의 경우) How to submit multiple forms in a same page with jQuery/Ajax and get multiple return values via json. (e-commerce site) 쇼핑몰에서 고객이 상품을 장바구니에 담고 그 값을 다른 페이지에서 처리한 뒤 다시 상품 페이지로 돌아가 페이지가 리프레시된다면 썩 좋은 방법은 아니다. (아니면 같은 페이지에서 DB 처리를 할 수도 있겠지?)그래서, 화면을 리프레시하지 않고 어떤 결과값을 받아오기 위해 사용되는 것이 ajax다. 위의 그림에서 보듯이 상품목록에는 여러 개의 form 값이 들어가게 된다.이걸 ajax로 전송하려면 어떻게 해야할까?그리고 여러 개의 결과값을 받으려면 어떻게 해야할까?구글링을 하다가 몇 가지 힌트를 .. 2014. 8. 16.