전체 글
-
eclipse와 intellij의 차이점, ORM과 JPA란TIL(Today I Learned) 2021. 10. 30. 16:05
intellij는 처음 설치부터 필요한 모든 플러그인들이 다 다운로드 되어있어서 프로그래밍 속도나 사용성에서는 이클립스보다 우위를 점하지만 비교적 무겁다는 단점이 있고 eclipse는 플러그인을 개인이 설치해야해서 인텔리제이에 비해 가볍다는 장점이 있다. 이클립스는 오타로 인한 오류를 인텔리제이에 비해 잘 잡아준다는 장점이 있다. 때문에 처음 개발을 시작하는 사람이라면 이클립스를 추천하고 실력이 있어, 개발 속도가 중요한 프로그래머에게는 인텔리제이를 추천한다고 한다. TRM(Table Relational Mapping)은 DB 테이블을 먼저 설계하고 그 테이블 설계를 자바로 가져와서 설계하는 방식을 의미한다. 즉, ORM의 반대 의미를 가진다. ORM은(Object Relational Mapping) 오..
-
windows 환경에서 JDK와 eclipse 설치TIL(Today I Learned) 2021. 10. 29. 00:24
google에서 jdk download를 검색한다. Java Oracle 페이지에 들어가서 windows 환경의 JDK를 자신의 운영체제 비트에 맞게 설치해주면 된다. 나는 64bit이기 때문에 windows x64를 설치해주었다. 자신의 운영체제 비트는 내 pc를 우클릭하여 속성에 들어가면 볼 수 있다. jdk를 받으면 jre가 함께 받아지는데, jdk는 java develpoment kit의 약자이고 jre는 java runtime environment의 약자이다 jre는 자바의 실행환경이다. 쉽게 말해서 자바를 실행하기 위한 라이브러리 파일들, 기타 파일..등의 인프라를 갖고 있다. jre는 읽기 전용이다. jdk는 jre + 개발 도구이다. 여기서 말하는 개발 도구는 java 또는 javac를 의..
-
Web Socket 과 HTTP 통신의 차이, Socket.io패키지, 네임스페이스TIL(Today I Learned) 2021. 10. 28. 15:50
간단하게 정리해보자면 HTTP 통신은 옛날 방식의 통신, Web Socket 방식은 요즘 쓰이는 실시간 양방향 통신 그럼 이 둘의 차이점을 간략하게 정리해보자면 HTTP 통신은 1. 단방향이다. 즉, 클라이언트에서 요청을하고 서버에서 응답하는 방식은 가능하지만 , 서버에서 요청하고 클라이언트에서 응답하는 방식은 불가능하다. 2. 서버의 리소스를 많이 잡아먹는다. 보낼 데이터가 없어도 계속해서 데이터를 서버에 보내줘야 하므로 불필요한 서버 리소스가 낭비된다. 3. 실시간이 불가능하고 서버에 부담을 준다.. 실시간의 효과를 가져가고 싶다면 서버가 살펴보는 간격을 줄여야하지만 이는 서버나 클라이언트에 과부하를 줄 수 있다. 하지만 Web Socket은 1. 실시간 통신이 가능하다. 한번 프로토콜을 연결하고 나..
-
javascript ES5+ operator, if, for loopTIL(Today I Learned) 2021. 10. 27. 20:49
variable은 rw(read/write)기능 모두가 가능하다. 반면에 const는 r(read)만 가능하다 따라서 자바스크립트에서는 변수의 값이 자주 바뀌어야할 이유가 없다면 const로 변수를 선언해주는것이 바람직하다. or과 and연산을 선언해줄 때, 메소드 기능을 하는 함수와 그냥 변수 사이에 true false를 구한다면 좀더 가벼운 그냥 변수를 먼저 선언해주는것이 좋다. 그 이유는 or 같은 경우 하나만 true가 나와도 값이 true가 나오기 때문에 변수같이 컴퓨터가 해석하기 좋은 값들을 앞에둬서 연산처리에 부담이 덜가게 하는 방법이기 때문이다. (and는 하나만 false가 나와도 값이 false) strict equality는 기호가 '===' 모양이고, 데이터 타입이 다를 시에 같은 ..
-
Javascript ES5+TIL(Today I Learned) 2021. 10. 26. 17:46
var hoisting(hoisting = 끌어올려주다)이란 어디에 선언했던간에 항상 제일 위로 선언을 끌어올려주는것을 의미하다. var은 block scope을 철저히 무시한다. 빠르고 작게 만들어야 하는 프로젝트에선 var의 사용이 어느정도 괜찮았지만 대규모 프로젝트에선 var의 사용은 위험하다. 그렇기 때문에 let이 출시되었다(since ES6) const는 웬만해선 값이 설정된 순간부터 변경되어선 안되는 값들이다.(Immutable(=변경이 불가능한) data라고 부른다.) - 보안상의 장점 - 쓰레드 안정성 - 사람의 실수를 줄여줌 Dynamic typing : dynamically typed language 자바스크립트는 데이터타입을 선언하지 않아도 변수를 선언할 수 있는 장점이 있다(C와 ..
-
클라우드 컴퓨팅TIL(Today I Learned) 2021. 10. 25. 20:31
비기능 요건 : 시스템의 성능을 위한 신뢰도/보안성/유지보수성/확장성..등과 관련된 요건이다. 비기능 요건을 충족시키기 위해서는 프로그래밍 지식이외에도 인프라 지식이 필요하다 인프라란? 쉽게 말해서 시스템을 구성하는데 필요한 시설과 같은것을 의미한다. 예를 들어 문화 시설이 발달한 지역을 문화 인프라가 발달했다고 하고, 교통 시설이 발달한 곳을 교통 인프라가 잘 발달됐다고 하는 맥락과 비슷하다고 볼 수 있다. 시스템 인프라가 잘 갖춰져있다는 것은 시스템을 구축하는데 필요한 아키텍처가 잘 구성되어있다고 보면 될것같다. 시스템 기반이란 ? 어플리케이션을 24시간 365일 동안 정상적으로 사용할 수 있도록 환경을 뒷받침하는 기술 요소를 의미한다 시스템 기반에는 네트워크나 항온항습기, 무정전 전원장치 등의 인프..
-
Javascript ES5+, nodejsTIL(Today I Learned) 2021. 10. 24. 23:20
alert는 영어로 '알리다'라는 의미를 갖고 있다. javascript에서 alert('')라는 기능을 통해 알림 메시지 창을 띄울 있다. ex) alert('Hi!!');를 입력하면 Hi라는 메시지 창이 뜬다 자바스크립트를 공부할 때 자바스크립트 공식사이트인 developer.mozilla.org를 참고하는것이 좋다. async vs defer html태그 안에 script태그를 넣었을 때 브라우저에서 한줄 한줄 parsing해서 분석한 뒤 CSS와 병합해서 DOM으로 만든다. async는 boolean 타입이어서 선언해줄시에 true로 적용되고, html이 실행되는 동안 자바스크립트 문서를 불러오는과정(fetching)이 병렬적으로 이뤄져서 전체적인 시간이 줄어들 수 있다. 하지만, javascri..
-
정처기가 끝나고.. 또 다른 시험 중..TIL(Today I Learned) 2021. 10. 21. 23:42
정처기가 끝나고 바로 대학 수업 시험준비에 돌입했다. 4학년이라 과목이 적어 비교적 널널해서 다행이다.. 요새는 클라우드 컴퓨팅에 관심을 두고 있는데, 알면 알수록 참 중요한 기술이라고 생각한다. 개인적으로 클라우드 컴퓨팅의 장점을 가장 잘 살릴 수 있는건 '오토스케일(Auto Scale)'이 아닐까? 오토 스케일은 요건의 변화에 맞춰 인스턴스의 처리 능력을 확장 또는 축소할 수 있는 기능인데, 예를 들어 수강신청 웹 사이트가 있는데, 평소에는 사용자 접속이 적을 때는 인스턴스의 처리 능력을 축소된 상태로 유지시켜 불필요한 낭비를 방지할 수 있고, 수강신청 기간이어서 트래픽이 급속하게 증가할 때는 인스턴스의 능력을 확대시켜 서버가 다운되지 않도록 성능을 제공할 수 있는 기가막힌 기능이다 !! 클라우드의 ..