자바의 문자열은 주로 String을 사용한다. 이 문자열이 1개 이상 있을때, 붙여서 사용하는법에서 가장 간단한 방법은 StringBuilder메서드를 사용하는법이라고 생각한다. 이번엔 StringBuilder의 사용법을 알아보려고 한다. String result1 = "자바스프링 - "; String java = "자바"; String Spring = "스프링"; String result = java + Spring; result1 += java += Spring; System.out.println(result); //자바 스프링 System.out.println(result1); //자바스프링 - 자바스프링 이런식으로 String 객체끼리 더하는 방법은 메모리 할당과 해제를 발생시키는데, 덧셈 연산이..
코드를 작성 후 실행 중일때, 타입의 정해진 범위를 넘는 경우가 발생할 수 있다. 예를 들어 byte타입의 경우 127까지 표현 가능하지만, byte타입이 127을 넘을 결우 오버플로우가 발생한다. 반대의 경우 byte타입이 -128보다 값이 적을경우에 최소값을 넘기 때문에 언더플로우가 발생한다. //정수 오버플로우, 언더플로우의 예시 public static void main(String[] args) { byte Of = 125; byte Uf = -125; byte result = (byte) (Of + 10); byte result2 = (byte) (Uf - 10); System.out.println(result); // 오버플로우 발생 : -121 System.out.println(result..
자바는 정수타입을 4가지 타입으로 나눌 수 있습니다. byte, short, int, long4가지이며, 각각의 차지하는 메모리가 다르고, 나타낼수 있는 숫자의 범위가 다르다. 타입 메모리 범위 byte 1byte -128(-2^7) ~ 127(2^7 - 1) short 2byte -32,768(-2^15) ~ 32,767(2^15 - 1) int 4byte -2,147,483,648(-2^31) ~ 2,147,483,647(2^31 - 1) long 8byte -9,223,372,036,854,775,808(-2^63) ~ 9,223,372,036,854,775,807(2^63 - 1) // 각 데이터 타입의 범위에 맞는 값을 할당 byte byteNum = 123; short shortNum = 12..
이번 글에서는 IntelliJ 설치를 해보려고 합니다. IntelliJ는 IDE 중 하나로 stackOverflow 커뮤니티의 매년 개발자 설문조사 실행하는데 "전 세계 개발자에게 인기 있는 개발툴 TOP 5"에 들어갈 정도로 많이 사용하는 IDE 중 하나로 알고 있다. IntelliJ의 장단점 장점 단점 효율적인 디버깅: IntelliJ는 다양한 디버깅 기능을 제공하여 개발자가 빠르고 쉽게 버그를 찾고 해결할 수 있습니다. 높은 하드웨어 요구 사항: IntelliJ는 다른 IDE에 비해 하드웨어 요구 사항이 높기 때문에 높은 성능을 필요로 함 코드 품질 분석 도구: IntelliJ는 코드 품질 분석 도구를 내장하고 있어 코드 품질을 높이는 데 도움을 줍니다. 무거운 IDE: IntelliJ는 다른 ID..
오늘은 자바의 개발 환경을 구축하기 위해 JDK 설치와 IntelliJ 설치해보려고 한다. Mac M1 사용중이기 때문에 Mac 기반으로 작성 되었습니다. JDK는 Zulu openJDK 사용 IntelliJ는 Community Edition 사용 Zulu openJDK의 장점 멀티 플랫폼 지원: Zulu OpenJDK는 Windows, macOS, Linux 및 다른 운영 체제에서 실행할 수 있습니다. 이는 Java 프로그램을 개발하고 배포하는 데 있어서 대규모 시스템에서 이식성이 높은 솔루션을 제공합니다. Java SE 호환성: Zulu OpenJDK는 Java SE의 최신 버전과 호환됩니다. 이는 Java SE API와 플랫폼 특성을 모두 지원하며 Java SE에서 작성된 코드가 Zulu OpenJ..
2년 전... 3학년 때 처음으로 Git을 이용해서 개발을 했었는데 그땐 진짜 아무것도 모를 때라 교수님이 쓰신 내용받아 적기만 했던 기억이 있다 ㅜㅜ 그 이후 종종 온라인강의를 들으며 가끔 사용 했던 기억이 있다. 오늘 처음으로 제대로 Git을 배워 볼 수 있는 기회가 생겨 열심히 배워 보기로 했다! 오늘의 목표는 버전 관리 시스템의 필요성 이해 Git의 핵심 기능 이해 Git 핵심 및 영역의 이해 Git 명령어를 사용하여 Git의 협업, 백업 기능을 사용 Git은 쉽게 파일을 관리 해주는 프로그램입니다. 버전을 관리 하거나, 파일을 백업 하거나, 협업자들과 파일공유나 파일을 취합할 수 있도록 도와준다. Git 설치 MacOS를 사용 $ git 이것만 입력하면 설치 할지 물어보는 창이 나온다. 끝 Gi..
오늘의 유닛은 리눅스의 기초에 대해 알아봤다. CLI의 기본적인 명령어들과 패키지와 패키지 매니저, 사용 권한, 환경변수에 대해 배울 수 있었다. GUI vs CLI CLI는 명령어를 모르면 사용할수 없어서 명령어를 모르는 사람이라면 어렵다. 그래서 개발된게 GUI 이다. (직관적인 그래픽이 필요했다.) GUI -Ubuntu ,Window Operating system : 운영체제는 모든 하드웨어와 모든 소프트웨어를 관리하는 컴퓨터시스템의 한 부분인 “실행 관리자”라고 정의할 수 있다. 운영체제는 누가 시스템을 사용할 수 있고, 어떻게 사용할 수 있는지를 관리하므로, 즉 운영체제는 컴퓨터시스템을 관리하는 보스(boss)라고 할 수 있다. 컴퓨터를 키고 컴퓨터를 끌때까지 작동하는 하나의 소프트웨어 하드웨어..
첫 유닛이 오늘 시작해서 오늘 끝났다… [Development] 기초라는 유닛이었는데, 기초적인 CS와 웹의 대한 내용, 웹 프론트 엔드의 기초적인 문법이나 구조, ChatGPT에 대한 내용이었다. CS 수업에서 가장 기억에 남았던 내용으로는 강사님의 자판기가 컴퓨터인가 아닌가란 질문이었다. 처음에 고민 했을 때는 솔직히 연산이 없어서 컴퓨터가 아니지 않을까??.. 이런 생각을 했었는데 다시 생각해보니 잔돈 계산이나 지폐판별, 동전판별도 연산이라고 생각 할 수도 있겠다는걸 깨달을 수 있었다. 프로그래밍 언어로 작성된 소스코드는 컴퓨터는 인식하지 못하기 때문에 소스코드를 컴퓨터가 인식할 수 있는 기계어로 바꾸는 **컴파일(Compile)**이란 과정이 필요하다는 것도 중요하다고 느꼈던 부분이었다. 웹의 대..
4월 11일, 첫날인 오늘은 코드스테이츠의 첫 수업이었습니다. 첫 수업이었기 때문에, OT를 진행하며 자기주도학습이나, 페어프로그래밍, 멘탈관리 등 코드스테이츠에서 어떻게 공부를 진행해야 하는지 느낄수 있었습니다. 가장 기억에 남는말씀은 “루틴이 가장 중요하다.” 입니다. 우사인볼트선수 처럼 빠르게 완주하는것도 중요하지만 때로는 이봉주선수가 마라톤하는 것처럼 일정한 속도로 오랜시간을 뛰는 것이 중요하다고 말씀하셨던게 기억에 가장 남는 말이었던것 같습니다.