본문 바로가기

분류 전체보기

(229)
스프링부트 프로젝트 생성 및 IDE 설정 스프링 부트 스타터 사이트로 이동해서 스프링 프로젝트 생성 https://start.spring.io 위와 같이 설정 후 제너레이트를 누르면 .zip 파일이 만들어진다. 오른쪽의 Dependencies의 경우 일단은 Spring web, Thymeleaf 두개만 받았다. 압축파일을 해제하고 인텔리제이에서 열어준다. 디펜던시 다운로드 중... 다 받았으면 스프링 부트 메인메소드를 실행시킨후 브라우저에 localhost:8080을 입력한다. 위와 같이 뜬다면 성공 IntelliJ Gradle 대신에 자바 직접 실행 최근 IntelliJ 버전은 Gradle을 통해서 실행 하는 것이 기본 설정이다. 이렇게 하면 실행속도가 느리다. 다음과 같이 변경하면 자바로 바로 실행해서 실행속도가 더 빠르다. Preferen..
스칼라 기본(4) 1. 리스트 같은 타입의 객체로 이뤄진 변경 불가능한 시퀀스를 위해서는 스칼라의 List 클래스를 사용할 수 있다. 스칼라의 리스트인 scala.List는 변경 불가능하다는 점에서 자바의 java.util.List 타입과 다르다. 스칼라의 리스트는 함수 스타일의 프로그래밍을 위해 설계한 클래스다. 다음은 스칼라의 리스트를 만드는 방법이다. val oneTwoThree = List(1, 2, 3) 리스트의 내용을 변경하는 척, 새 값을 갖는 리시트를 새로 만들어 반환하는게 스칼라의 리스트 특징. ':::'라는 메소드는 두 리스트를 이어붙인다. val oneTwo = List(1, 2) val threeFour = List(3, 4) val oneTwoThreeFour = oneTwo ::: threeFou..
스칼라 기본(3) 1. 배열에 타입 파라미터를 지정하기 new : 객체를 인스턴스화할 때 쓰는 키워드 이때, 값과 타입을 파라미터로 넘길 수 있다. 파라미터화(parameterization)라는 말은 인스턴스를 생성할 때 그 인스턴스를 '설정(configure)'한다는 뜻. 예제 val big = new java.math.BigInteger("123456") 인스턴스를 타입으로 파라미터화할 때는 하나 이상의 타입을 각괄호([]) 사이에 지정한다. val greetStrings = new Array[String](3)// String의 배열, array of string greetStrings(0) = "Hello" greetStrings(1) = ", " greetStrings(2) = "Scala!\n" for(i
스칼라 기본(2) 1. 스칼라 스크립트 맥os의 홈폴더에 Hello.scala 파일을 만들고, println("Hello Scala, from a script!") 라는 내용을 추가했다. 그리고 scala Hello.scala를 실행하면.. 스칼라 스크립트가 잘 작동하였다. 스칼라 스크립트는 args라는 스칼라 배열(array)에 명령행 인자를 받는다. 배열주제에 args(0) 로 표현한다. + 로 문자열을 이어붙인(concatenate) 게 자바의 그것과 비슷하다. 2. Loop with while, decide with if 다음과 같이 배열 인덱스를 사용해 이터레이션하는 while문을 돌릴 수 있다. var i = 0 while(i < args.length) { println(args(i)) i += 1 } 책에서는..
스칼라 기본(1) 1. 스칼라 인터프리터 1 + 2를 입력했을 때 res0: Int = 3은 다음과 같은 정보를 나타낸다. * 계산결과 값을나타낼 때 사용할 수 있는, 자동으로 만들어졌거나 사용자가 정의한 이름(res0, 0번째 결과) * 콜론(:)과 결과의 타입(Int) * 등호(=) * 사용자가 입력한 표현식을 계산해 얻은 결과 값(3) Int 타입은 scala 패키지의 Int 클래스. 즉, scala.Int. 자바의 primitive type에 대응하는 클래스가 scala 패키지에 존재. 스칼라 패키지는 정보 은닉을 위한 메커니즘을 제공하고 전역 네임스페이스를 분할해준다는 점에서 자바 패키지와 비슷하다. 또한 primitive type을 사용해 성능상 이점을 얻을 수 있도록, 이런 클래스에 속한 값을 사용하는 스칼라..
스칼라 시작하기 인텔리제이에서의 스칼라(컴파일러)와 터미널에서의 스칼라(인터프리터) 설치가 각각 개별인듯 하다.. 맥os기준 https://dydwnsekd.tistory.com/21 Mac에 Scala 설치(home brew) home brew가 설치되어 있다고 가정하고 home brew를 이용하여 scala를 설치하는 방법에 대해 설명한다. 1. scala 찾기 brew search scala 2. scala 설치 최신 버전의 scala 설치 brew install scala@2.12 3. 환경.. dydwnsekd.tistory.com https://sean-ma.tistory.com/28 [스칼라] 스칼라 개요 및 Mac에서 스칼라 개발환경 설정하기 이번에 업무상 스칼라를 공부할 일이 생겨 복습 겸 공부한 내용을..
맥북 m1 pro 16인치 후기 외관 : 작년재작년에 비해 디자인이 세련되지못함 투박하다고해야하나 다소 고전인데 이게 또 스페이스그레이랑 너무 잘어울림 원래 실버살랫는데 어쩌다보니 스그삿는데 탁월한 선택이엇음 화면 : 아주좋음. 근데 패드가 더 좋은듯? 스피커 : 대부분의 상황에서는 다좋음 근데 음악들을땐 좀별로. 애플특유의 공간감?같은게 특정음악장르에서는 마이너스로 작용함. 키보드 : 타격감 개지림 누르는 깊이가 매우 얇음. 타닥타닥 치는 맛이 잇음. 근데 control,option,command키는 아직 적응안됨. 익숙해지는데 시간좀 걸릴듯. 결론 : 4/5점 번외 인텔리제이 : 일단오지게 비쌈 ㅠㅠ 겨우일년쓰는데 20만원.. 단축키가 익숙지않아서 아직까진 이클립스가 더익숙.
[자바스크립트] 람다와 this 얼마전 제이쿼리 코딩을 하다 자바스크립트의 람다와 관련된 흥미로운 사실을 알게되었다. 이전에 자바의 람다와 this에 관련한 포스팅을 했었는데 https://dev-jones.tistory.com/179?category=926603 람다 표현식과 this 키워드에 관하여 @FunctionalInterface interface MyFunction { R apply(T t); } 위와 같은 함수형 인터페이스가 있을 때 익명클래스를 작성하여 인터페이스의 인스턴스를 얻을 수 있다. MyFunction plus30 = new MyFunction () {.. dev-jones.tistory.com 요약하자면 익명함수와 람다표현식에서의 this가 가리키는게 다르다는 것이다. 자바스크립트도 똑같다. 다음예제를 보자. ..
자바스크립트와 call by 기본적으로, 자바스크립트의 데이터타입에는 2가지가 있다. 기본 데이터타입(숫자, 문자열, 불린값, null, undefined) 참조 데이터타입(객체, 배열) 왜 참조타입이냐, 그것의 모든 연산이 실제 값이 아닌 참조값으로 처리되기 때문이다. var objA = { val : 40 }; var objB = objA; console.log(objA.val); // 40 console.log(objB.val); // 40 objB.val = 50; console.log(objA.val); // 50 console.log(objB.val); // 50 다음으로, 함수 호출의 방식이 기본타입과 참조타입이 다르게 동작하는데 기본타입 : 값에 의한 호출. call by value. 함수를 호출할 때 인자로 기본타입..
8.3 Field Declarations (2) 8.3.1 Field Modifiers 8.3.1.1 static Fields 결과: (2, 2) 0 true 1 Example 8.3.1.1-2. Hiding of Class Variables package main; public class Test extends Point { static double x = 4.7; public static void main(String[] args) { new Test().printX(); } void printX() { System.out.println(x + " " + super.x); } } class Point { static int x = 2; } 결과: 4.7 2 Test 클래스의 x의 선언은 Point 클래스의 x의 정의를 숨기기 때문에, Test 클래..