자바스크립트
-
[프로그래머스] 코딩테스트 Lv.0 요약알고리즘 2023. 5. 7. 11:22
이 글은 프로그래머스 코딩테스트 문제중 "코딩테스트 입문" 에 대한 내용이다. 문제에 대한 풀이가 아닌 팁들을 남기려고한다. (풀이는 아래 깃헙 링크를 참고) 문제 리스트 - https://school.programmers.co.kr/learn/challenges?order=recent&page=1&partIds=33882 풀이 코드 - https://github.com/hotehrud/acmicpc/tree/master/programmers/Lv.0 프로그래머스에서 제공하는 Lv.0 에 해당하는 100 문제를 풀어보았다. 쉬운 문제이더라도, 다른 사람의 풀이를 보면서 많은 팁들을 배우게 되었다. 그러한 내용들을 정리해보고자한다. 어떤 방식이 더 좋고 나쁘고를 말하고자 하는 것이 아니라는 것을 참고해주길..
-
자바스크립트 유용한 팁 - Comma :: 마이구미Javascript 2016. 8. 8. 17:04
이번 글은 자바스크립트의 Comma 즉, 콤마를 다뤄본다.너무도 당연히 알고 있고, 당연히 사용하고 있는 것이 콤마다.그렇다면 도대체 무엇을 위해 글을 다뤘는가?한번 보자. 후회 없을거다! var obj={a:0,b:1,c:function(){}}; var arr=[1,2,3,4]; var a=1,b=2,c=3; 위와 같이 객체, 배열, 변수 등등 다양하게 사용하고 있다.그렇다면, 아래와 같은 코드를 본 적이 있는가? var a = 0; var b = ( a++, 99 ); var c = ( 1, 2, 3 );var d = 4, 5; //error console.log(a); // 1 console.log(b); // 99console.log(c); // 3 b 변수는 a++를 실행되어진 후, 99가 대..
-
자바스크립트 모듈 패턴 :: 마이구미Javascript 2016. 7. 26. 20:25
이번 글에서는 모듈 패턴을 알아볼 것이다.이전 즉시실행함수에 대한 글을 살펴보고 오면 좋다.이전 글 내용에서 조금 더 들어간 내용이다. 모듈패턴이란 로직을 캡슐화하고 전역 공간의 남발을 방지하는 훌륭한 기법이다. (function() { var a = 1, b = 2;}()); 자바스크립트에서는 위와 같이 익명함수와 즉시실행함수가 있기 때문에 가능하다.익명함수 내부의 변수들은 지역변수가 되므로 외부에서 접근할 수가 없지만, 익명함수 내부에서는 전역변수를 이용할 수 있다.이런 식으로 커지다 보면, 변수에 대한 명확성이 떨어지게 된다.또한 당연히 전역변수를 사용 시에는 지역변수 접근보다 시간이 더 걸린다. 이 문제를 해결하기 위한 방법이 이전 글에서도 살짝 언급했었다. (function($) { consol..
-
|| , && 연산자 사용법 [javascript] :: 마이구미Javascript 2016. 7. 24. 16:46
이번 글은 자바스크립트를 사용할 때 유용한 팁들을 알아볼 것이다.어려운 내용이 아니라 쉬운 내용이다.하지만 또 쉬운 내용이라고, 중요하지 않은 것은 아니다.알고있다면 훨씬 좋은 팁들이다.시작해보자. 1. 함수 인자를 통한 변수 초기화 (|| 연산자) function documentTitle(theTitle) { if (!theTitle) { theTitle = "Untitled Document"; } } 위의 코드는 함수를 통해 인자를 전달 받아 theTitle 변수에 인자의 값을 할당해주는 것이다.하지만 인자가 없을 경우를 위해 이런 식으로 많이 if문을 통해 사용할 것이다.이러한 처리를 할 때는 아래와 같이 이용해보자. function documentTitle(theTitle) theTitle = t..
-
자바스크립트 메모리 누수 :: 마이구미Javascript 2016. 7. 13. 14:39
이전 글 이후 다시 조금 더 다뤄볼 예정으로 글을 작성하게 되었다.이전 글을 보고 오길 바란다.IBM에서 작성된 글을 통해 진행할 것이다.예제를 통해 진행할 것이므로 실습해보자. 크롬 개발자 도구에서 탭 중 Profiles 탭을 이용할 것이다.Profiles의 기능은 아래와 같다. 웹페이지의 javascript, css 등의 성능을 측정하여 어디에서 병목이 발생하는지 확인,메모리 상태 스냅샷을 찍어서 메모리 누수가 일어나는 부분 확인 일단 셋팅하자.index.html Start Destroy main.js$("#start_button").click(function(){ if(!leak){ return; } leak = new Leaker(); leak.init(); }); $("#destroy_butto..
-
자바스크립트 메모리 관리 [가비지 컬렉션] :: 마이구미Javascript 2016. 7. 12. 21:56
이번 글은 자바스크립트의 메모리 관리에 대해 알아볼 것이다.C를 사용해 봤다면 malloc() 과 free() 사용했을 것이다.예를 들어 무언가를 생성하고 메모리를 할당하고 필요없어지면 메모리에서 없애버리기 위해 사용한다. 이렇게 C나 C++은 메모리를 직접 할당하고 해제하여야한다.그에 반해 자바는 GC라는 녀석이 자동으로 메모리를 관리해주고 있다.이 GC가 가비지 콜렉션(Garbage Collection)이다. 이것은 C와 JAVA의 큰 차이 중 하나이다. 자바스크립트 또한 자바처럼 GC를 통해 메모리를 관리한다.다시 한번 말하자면 C나 C++은 소스를 통해 메모리를 직접 할당하고 직접 해제하여야한다.그에 반해 자바나 자바스크립트와 같은 고급 언어들은 GC라는 녀석이 알아서 필요없으면 메모리를 해제하여..
-
ie에서 indexOf() 해결 방안을 알아보자.크로스 브라우징 2016. 6. 19. 15:05
이번 글은 자바스크립트의 Native 메소드인 indexOf()에 대해서 알아보자. 누구나 한 번쯤은 썼을 것이다. 유용한 메소드이기 때문이다.간략히 말하면 문자열의 위치를 알려주는 메소드이다.간단한 예제를 보자. var str = "자바스크립트 indexOf" str.indexOf('indexOf') // 7 var arr = ['자바스크립트','indexOf'] arr.indexOf('indexOf') // 1 indexOf를 사용할 때 뭔가를 찾고 싶을 때 사용할 것이다. 여기서 내가 말하고자 하는 것은 indexOf 메소드는 하나의 메소드가 아니다.무슨 말이냐하면.indexOf 메소드는 String의 네이티브 메소드, Array의 네이티브 메소드 각각의 네이티브 메소드이다.즉 기능은 같지만 엄연히..
-
nodejs를 이용해 데이터베이스에 삽입하기(객체배열)Nodejs 2016. 6. 12. 17:20
이번 글은 ajax를 활용해 DB에 삽입하는 과정을 살펴보겠다.역시나 javascript, nodejs를 사용한다. 예시의 흐름은 이렇다.클라이언트 쪽에서 객체배열을 ajax를 post 형식으로 서버로 전달하여 db에 삽입할 것이다.객체배열은 이러한 형태이다. [ { a : 'a1', b : 'b1' }, { a : 'a2', b : 'b2' }, {......} ] 시작해보자.간단히 ajax를 이용할 함수를 만들겠다.function send_nodeDB(){ var data = [{},{}....]; //ArrayObject $.ajax({ type:"POST", url:'http://182.161.117.18:8888/db', data: JSON.stringify(data), contentType: ..