java 53

0은 양수일까? 컴퓨터가 0을 처리하는 방식과 에듀테크에서의 의미

공부하다가, 강사님께서 “0은 컴퓨터에서는 양수 취급하는 경향이 있다” 라고 하셔서, 그게 궁금해서 찾아보게 되었다. chatGPT와의 대화를 공유하겠다. (참고로, chatGPT 유료 버전 사용 중이다.)컴퓨터에서 bit 상으로는 0부터 127까지, -1부터 -128까지, 이렇게 나누는 경우에 0부터 127 은 bit 맨 앞이 1이고 -1부터 -128은 bit 맨 앞이 0 인게 맞아? 그럼, 실제 수학에서는 0 은 양수도 음수도 아닌데, 컴퓨터 공학(?), 컴퓨터 내에서는 0 을 그럼 양수의 영역으로 보는건가? bit 맨 앞이 1 이라는 건 양수라는 뜻이잖아.ChatGPT의 말:컴퓨터에서 정수를 표현할 때 **부호 비트(sign bit)**를 이용하는 방식에 대해 궁금한 것 같아. 이걸 하나씩 정리해볼..

Java 제어문 완전 정복! 조건문과 반복문을 활용한 실전 예제

제어문에 대해서 배운다. 이미 여러번 해본 것이라 충분히 이해하고 있으니, 더욱 더 다양한 상황, 다양한 상상, 다양한 예시를 접해보면서 더욱 더 이해를 깊이있고 넓게 할 수 있도록 하는 것을 목표로 하자. 사용자가 뭘 선택할지에 따라 A 결과가 나올수도 있고, B결과가 나올수도 있다. 그러면 A에 대한 결과도 준비해야 하고 B에 대한 결과도 준비해야 한다. 시작은 if 든 뭐든 선택하도록 만들어주고, 나머지 결과(특정한 코드 구문)은 둘다 짜야 한다. -> 핵심은, 모든 경우에 대한 구문을 짜야 한다는 것. 그리고 사용자가 새롭게 오면 동일한 코드가 또 한 번 실행되어야 한다. 그리고 한 명의 사용자가 코드의 끝에 도달한 뒤에, “또 한 번 해볼래?” 와 같은 것이 작동될 수 도 있다. 그렇기 때문..

에듀테크 KDT 과정 시작! Java 기초 학습 기록 📖

이미 학습해서 알고 있는 내용들이 있어서 모든 내용을 기록하지는 않을 것이다.저작권의 이슈도 있으니 학습한 모든 내용을 기록할 수도 없다.그러니 가능하면 내가 직접 내 손으로 입력한 것들만을 활용해서 기록으로 남길 것이다. Java 기초 학습 / Variable 변수 / String 기본 자료형처럼 쓰일 수 있는 참조형 자료형 - 클래스라는 것 / Casting 자료형변환 / print, println, printf / Scanner 의 활용 / 여러 가지 연산자 활용 연산자 활용을 하면서 Scanner 활용 등을 했던 학습한 내용들이 종합적으로 녹아들어있는 코드를 공유하겠다.코드 내에 주석으로 필기를 했으니 필요한 사람들은 공부가 될 수 있겠다.package com.operator.controller;..

인턴과 직원 전환 가능성이 높은 부트캠프 합격! + 학습 계획

원하는 분야에서 해보고 싶은 직무를 경험해볼 수 있는 기회를 잡는 건 쉽지가 않다고 생각한다.아내는 요즘 늘 고민이 "어떤 회사"가 본인과 잘 맞을지를 찾는 일이다.연봉도 좋고, 복지도 좋고, 돈과 관련된 건 많을 수록 좋은거지만 막상 일을 해보면 보람이 느껴지는지가 굉장히 중요하다.적어도 나는 그렇다. 내가 무언가에 실질적으로 기여하고 있다는 느낌, 내가 이 사회를 바람직한 방향으로 움직이는데 기여하고 있다는 느낌을 받을 수 있는지가 적어도 나에게는 굉장히 중요하다.그런 점에서, 내가 원하는 분야에서, 내가 원하는 회사에서, 그리고 심지어 내가 원하는 직무나 포지션에서 일을 해볼 수 있다면, 그건 정말 흔치 않은 기회라고 생각한다.특히 나처럼 나이가 조금 많고, 아기도 있어서 육아도 해야 하는 사람에게..

생각 기록하자 2025.01.15

RESTful 웹 서비스 구축 - # Project 04 - 이미지 처리, GPU 사용과 관련한 질문

https://wy-family.tistory.com/93 프로젝트 진행 중, 이미지 업로드와 관련된 내용이 있었고, 해당 내용과 관련해서 궁금한 점들이 정말 많았고, 너무 많아서 블로그 글로 10개나 남기게 되었다. 질문에 대한 답을 어느 정도 정리했고 정리하면서 이해는 했는데, 한 가지 또 생긴 궁금증이 있다. BufferedImage 에 대한 부분에서, 이미지 처리는 한 번에 할 수 없다는 듯이 말하고 있다. 이미지 파일은 한 번에 읽어들이고 쓸 수 있는게 가능하지 않다고 해서 메모리 버퍼에 이미지를 올려야 한다고 했다.그런데 여기서 궁금증이 발생한다. 내가 고사양의 그래픽을 요구하는 게임을 한다고 하면, 게임의 화면 하나 하나, 장면 하나 하나가 모두 이미지 파일의 연속적인 상황이라고도 볼 수 있..

RESTful 웹 서비스 구축 - # Project 04 - 이미지 업로드 (10)

질문 20. BufferedImage thumbImg=null;BufferedImage img=ImageIO.read(originFile.getInputStream());thumbImg = Scalr.resize(img, Scalr.Method.AUTOMATIC, Scalr.Mode.AUTOMATIC, width, Scalr.OP_ANTIALIAS); 라고 했어. 일단 원본 파일에 있는 이미지를 메모리로 읽어들인다. 원본 파일에서 이미지로 변환을 시키는 것이다. 원본 이미지를 이미지 변환을 시킬 수 있도록 BufferedImage 에다가 집어넣는 것이다. 원본 이미지를 담은 다음에, 아까 의존성 추가한 lib 에 Scalr의 resize 라는 메서드로 이미지의 스케일을 조정하면 된다. 메모리 위에 올라와..

RESTful 웹 서비스 구축 - # Project 04 - 이미지 업로드 (9)

질문 17. 썸네일 이미지와 관련해서, 이미지의 크기 조정을 위해서 getThumbnail 이라는 메서드를 만들었다. 그 과정에서 의존성 주입을 해야 했다. 여기서는 Maven 이 아니라 Gradle 이라서 implementation 'org.imgscalr:imgscalr-lib:4.2' 를 의존성에 추가해주었다. 여기서 질문이, 다른 코드는 입력을 했다고 해서 새로 고침 버튼을 눌러줘야 하거나 그러지 않는데 왜 build.gradle 에다가 의존성을 추가했다고 해서 Gradle 의 새로 고침 버튼을 눌러줘야 하는거야? 그러니까 예를 들어서 java 파일에다가 함수가 하나 추가되었다고 해서 새로 고침 버튼을 눌러주지는 않는데 왜 Gradle 에 의존성을 추가하는건 새로  고침 버튼을 눌러주는거야? 똑같..

RESTful 웹 서비스 구축 - # Project 04 - 이미지 업로드 (8)

질문 16. 거의 마지막 즈음에 HashMap 을 만들어서, List 을 put 을 해줘서 result 라는 걸 만들어줬어. 근데 여기서 이해가 안 되는게, HashMap 을 그대로 return 할 때 사용하면 되는데, 왜 굳이 List 을 만들어서 response 를 return 할 때 사용했을까? 왜 그런거야? 아주 좋은 질문이에요! 😊질문을 보니 **"왜 굳이 HashMap을 바로 반환하지 않고, List으로 감싸서 반환했을까?"**가 궁금하신 거죠?이건 API 설계와 데이터 구조의 유연성 때문인데, 제가 차근차근 HashMap vs List의 차이와 왜 그렇게 설계했는지 이유를 알려드릴게요.✅ 1. 먼저 코드부터 다시 살펴보자🔧 코드 분석HashMap> result = new HashMap()..

RESTful 웹 서비스 구축 - # Project 04 - 이미지 업로드 (7)

질문 13. new File(path).getAbsolutePath()+"\\"+fileName; 이라고 했는데, 저기서 new 는 File 객체를 생성하는게 아니라 path 라는 String 문자열을 가지고 File 이라는 뭔가를 해주고나서, 그리고 나서 File이 가지고 있는 getAbsolutePath() 메서드를 이용해서 절대 경로 값을 뽑아낸 다음에 그 안에다가 fileName 에 해당하는 뭔가를 new 해준다는건가? 그러면 File 은 뭐야? Files 와 차이는 뭐야? 그리고 new 를 하긴 했는데, 정확히 뭘 new 해준거야? 뭘 생성해놓은거지? 이해할 수 있게 예시 결과값이라도 한 번 알려줘볼래? 아하! 질문 의도를 확실히 이해했어요. 😊말하고자 하는 핵심은 new File(path)가..

RESTful 웹 서비스 구축 - # Project 04 - 이미지 업로드 (6)

질문 11. RandomStringUtils 에서 random 메서드를 이용해서 문자와 숫자를 포함해서 랜덤 문자열을 생성할 수 있다는 걸 배웠다. 그러면 특수문자를 포함시켜서 랜덤 문자열을 만들 수도 있는건가?  **RandomStringUtils**의 random 메서드는 특수문자를 포함한 랜덤 문자열도 생성할 수 있습니다. 하지만 기본적인 random 메서드는 문자와 숫자만 생성하도록 설계되어 있으므로, 특수문자를 포함하려면 조금 다른 접근법이 필요합니다. 아래에서 상세히 설명할게요!1. RandomStringUtils.random 메서드의 기본 사용법RandomStringUtils는 Apache Commons Lang 라이브러리에서 제공하는 클래스입니다. 이 클래스의 random 메서드는 다음과 ..