프로그래밍 290

Top 10 Mistakes Java Developers Make

Top 10 Mistakes Java Developers MakeTop 10 Mistakes Java Developers Make자바 개발자가 가장 자주 실수하는 10가지에 대해 알아보자.1. ConvertArray To ArrayList배열을 ArrayList로 변환할때, 개발자들은 종종 이렇게 한다 :List list = Arrays.asList(arr); Arrays.asList() Arrays 안에 있는 private static class ArrayList를 반환 할 것이다. 그리고 그것은 java.util.ArrayList 클래스 안에 있는 것이 아니다. 그것은 java. util.Arrays.ArrayList 클래스 set() , get (), contains() 메소드들을 가지고 있다. 그..

Ruby 문법 배우기

Ruby를 공부해보자 Ruby 기초 Ruby언어는 객체지향을 완벽하게 지원하는 언어이자 Meta Programming을 지원하는 언어이다. 그리고 동적타이핑을 사용하며, 루비의 자료형 검사는 실행시간에 수행된다는 특징을 가진다. 어떤 코드를 실행하기 전까지는 형 검사를 수행하지 않는다. 변수 x=4 p false.class #ruby에서는 거의 대부분이 객체로 처리됨 puts 'This is Ruby' unless x == 4 puts 'This is Ruby' if x == 4 루비는 인터프리터 언어이기에 ‘그냥’ 할당하면 된다. Type은 알아서 매겨준다. 출력 puts 'hell, world' language= 'ruby' puts "hello, #{language}" '따옴표의 경우 문자열 그대로..

자바스크립트 핵심 가이드 - 나쁜 점들 정리

== 연산자 자바스크립트에서 비교 연산자는 다음과 같습니다. == != === !== 다만, 차이가 조금 있다는 것입니다. 하지만, 자바스크립트 핵심 가이드에서는 ===를 사용하도록 권고하고 있습니다. 이유는 === 연산자는 같은 데이터 타입이고, 같은 값일 때 참값입니다. 하지만, == 연산자는 다른 데이터 타입이라면, 타입을 변환하여 비교 연산을 하게 됩니다. 이는 굉장한 손해일 수 있기에 사용하지 않는 것을 권한다는 생각을 합니다. with 문 이는 잘 못보셨으리라 생각합니다. 못 본 이유는 안 좋기 때문이죠. eval 이 또한, 쓰지 않는 것이 좋습니다. 문자열을 자바스크립트 컴파일러에 전달하고나서 결과를 실행하는 함수입니다. 고로, 인수에 대한 문자열에 의존적이고, 권한이 있어 다소 위험합니다...

자바스크립트 핵심 가이드 - 코드 가이드

왜 코딩 가이드가 필요한가? 잠시만, 생각을 해보도록 하죠. 이는 @Seungdols의 개인적인 생각입니다. 저는 주로 자바 언어를 사용하는 개발자입니다. 자바는 C와 비롯해 블록 스코프를 지원하는 언어입니다. 대개 이런 형태를 띄게 됩니다. if ( seungdols.equals("seungho") ){//K&R 스타일 } if ( seungdols.equals("seungho") ) { } 위 코드처럼 블록을 감싸야 하는 if, for, while, do-while...etc등등 많습니다. 하지만, 어떻게 스타일을 가져가는가? 또한, 가독성이 걸린 중요한 문제라고 생각합니다. 결국, 개발은 혼자 해낼 수 없습니다. 좋은 프로그램은 명확한 가시성을 갖게 됩니다. 이 말은 곧 가독성이 좋아진다는 말이겠죠..

JavaScript 핵심 가이드 - 배열

Array란 배열으로 번역을 하고, 데이터 구조 중 하나입니다. 가장 흔하게 사용하는 구조이며, 빠른 접근성의 특성을 가지고 있습니다. 하지만, 자바스크립트에서는 배열은 그렇게 빠른 데이터 구조는 아닙니다. 대신, 배열과 유사한 특성을 갖는 객체를 제공합니다. 물론, 속도적인 측면에서는 굉장히 느린 점이 단점입니다. 자바스크립트는 배열 첨자를 문자열로 변환하여 속성을 만들게 됩니다. var empty = []; var numbers = ['zero','one','seungdols','creatijin']; numbers[2]//seungdols numbers.length; // 4 empty.length; // 0 var number_obj = { '0':'zero', '1':'one' }; //numb..

tryhello 줄 서는 방법 feat. Algorithm Study

알고리즘 스터디를 진행하면서, 오늘 처럼 놀라운 경험을 한 적 처음인 것 같다. 줄 서는 방법 이라는 문제를 진행하는데, 나는 그냥 라이브러리를 이용해 풀었는데, 스터디원 2분이서 새로운 효율적인 생각? 알고리즘 설계를 하셨다. 문제는 다음과 같다. N명의 사람이 있을 때, N명의 사람을 서로 다른 방법으로 줄을 세우는 방법은 N!개가 존재합니다.이 때 각각의 사람들에게 번호를 매겨서 줄을 서는 방법을 표시합니다. 예를들어 [1,2,3,4]는 1번 사람이 제일 앞에, 2번 사람이 2두번째에... 서 있는 상태를 나타냅니다.이러한 각각의 방법을 사전순으로 정렬했을때 K번째 방법으로 줄을 세우는 방법을 찾아 보려고 합니다.예를 들어 3명의 사람이 있다면 총 6개의 방법은 다음과 같이 정렬할 수 있습니다.1번..

Java 8 시작 하기

Edit Java 8 시작하기 언어:JAVA 티스토리 도대체 왜 함수형인가? 사실 필자도 함수형을 잘 모른다. 왜냐? Java8도 아직 잘 모른다. 내가 경헌한 건 JavaScript, Python, Ruby 정도에서 First Class Function이 유사하게 가능하다는 느낌정도? 물론, JavaScript는 충분히 느낄수 있는 일급 객체를 지원한다. 요즘 대세인 Scala, Closure등 여러가지 함수형 언어가 실무에서도 쓰이고 있는 실정이다. 자, 그럼 자바에서 도대체 뭐가 바뀐 건지 천천히 따라가보자. 첫 째는 람다의 등장이다. 많은 언어에서 람다를 이미 지원 해주었다. ( ㅠㅠ 자바는 업데이트가 최소 8년은 늦었다…)C#에 이미 많은 부분에서 지고 있는 실정… 사례로 한 번 알아보자 - 람..

무방향 그래프 - DFS/BFS

DFS/BFS는 순회 알고리즘이라고 할 수 있습니多. 주로, 트리, 그래프에서 사용 됩니다. 혹은 특정 문제를 풀기 위한 해법이기도 하죠 ? DFS는 Depth-First-Search로 불리며 한국어로는 깊이 우선 탐색이라고 합니다. 즉, 무조건 깊이 깊이~ 우선 탐색을 하죠. 그리고 BFS는 Breadth-First Search로 불리며, 너비 우선 탐색이라고 합니다. 말 그대로 너비를 우선적으로 탐색하죠. 뭐든 말로는 제일 쉽죠…(개발자는 힘드렁…) 아래 소스는 DFS/BFS 문제에 대한 풀이입니다. https://www.acmicpc.net/problem/1260 물론 이 문제를 풀기 위해선 아래의 코드를 살짝 손 봐야 합니다.

생활코딩 - Server Side JavaScript 4

생활 코딩 Server Side Language - NodeJS4강정적 페이지 vs 동적 페이지정적 페이지 한 번 만들면, 계속 같은 내용을 담고 있음.파일을 수정해도 서버를 재시작 할 필요 없이 바로 반영 된다.코딩적인 방법으로 HTML코드를 동적으로 활용 할 수 없다.동적 페이지 만들 때마다 내용이 변경 됨.JavaScript 코드내에서 HTML코드를 작성하는 것은 지저분하다.이미지, css파일을 로딩 시킬 때는 Express 기본 미들웨어 함수인 static 사용//default middleware function - static app.use(express.static('public')); static.html file Hello, Static coding coding coding coding c..

반응형