본문 바로가기

전체 글

(121)
Day42(습관) 요즘 유행하는 챗 gpt에게 좋은 습관을 가지려면 어떻게 하면 좋은지에 대해 질문을 하였다. 답변은 이렇다 좋은 습관을 기르는 것은 개인적이고 직업적인 성공을 이루는 데 필수적입니다. 그러나 새로운 습관을 만드는 것은 어려울 수 있으며 인내, 끈기 및 헌신이 필요합니다. 다음은 좋은 습관을 기르는 데 도움이 되는 몇 가지 팁입니다. 작게 시작하기: 아침에 물 한 잔을 마시거나 매일 잠자리를 정돈하는 것과 같이 쉽게 달성할 수 있는 작은 습관부터 시작하십시오. 작은 습관을 성취하면서 점차 더 중요한 변화로 나아갈 수 있습니다. 목표 정의: 목표를 정의하고 구체적이고 측정 가능하며 달성 가능한지 확인하십시오. 목표 달성을 위한 현실적인 기한을 설정하십시오. 계획 세우기: 목표 달성을 위한 계획을 세우십시오...
Day41(DeliveryTycoon 완료 후 회고) 반복문을 이용한 버튼 생성 Before private void buttonSets() { JButton hamburgerButton = new JButton("햄버거"); hamburgerButton.addActionListener(event -> { buttonClickList.add(foodList.get(0)); compare(); }); hamburgerButton.setBounds(240, 0, 80, 20); buttonDisplayPanel.add(hamburgerButton); JButton pizzaButton = new JButton("피자"); pizzaButton.addActionListener(event -> { buttonClickList.add(foodList.get(1)); ..
7주차 주간회고 Keep(한 주 동안 있었던일과 좋았던 어떤 것을 말합니다.) - 한 주 계획을 잘 세우고 잘 지켰습니다. - 변수명에 대해서 애매하게 작성했는데 다른 사람이 봐도 알 수 있도록 작성하려고 노력했습니다. - 배운 내용에 대해 바로 적용해서 실험해보고 습득하려고 노력했습니다. Problem(한 주 동안의 문제점을 말합니다.) - 한 주 계획을 잘 세우고 잘 지켰지만 계획을 다 하고 시간이 남았을 때 다른 부분에 대해서 학습을 했어야 했는데 나태해졌습니다. - 방황하느라 집중력을 유지하지 못했습니다. - 어려운 부분을 피하고 쉬운 부분만 하려는 습관을 가졌다는 것을 알게 됐습니다. 암기 해야하는 부분들을 하지 않고 쉬운 부분만을 찾아 행동하려 했습니다. - 디버깅에 대해 오류에 대한 가설을 세우고 접근하기로..
Day40(특정 commit부르기) https://git-scm.com/book/ko/v2/Git-%EB%B8%8C%EB%9E%9C%EC%B9%98-Rebase-%ED%95%98%EA%B8%B0 Git - Rebase 하기 Git에서 한 브랜치에서 다른 브랜치로 합치는 방법으로는 두 가지가 있다. 하나는 Merge 이고 다른 하나는 Rebase 다. 이 절에서는 Rebase가 무엇인지, 어떻게 사용하는지, 좋은 점은 뭐고, 어떤 상황에 git-scm.com 깃에 대해 공부할 때 사용하면 좋은 사이트이다. 깃 사용시 특정 커밋으로 이동하고 싶을 때 사용하는 방법이 여러가지 있지만 두 가지에 대해서 작성해볼 것이다. 첫 번째 방법으로는 브랜치를 새로 만든다. 만들 때 git switch -c 새로운브랜치명 까지만 작성한다. 이렇게 되면 지금 ..
데이터영역 메소드(Method) 영역 Static 영역이라고도 하며 전역 변수와 정적 멤버변수(static 변수)가 저장되는 영역입니다. 스택(Stack) 영역 지역변수, 인자값, 리턴값이 저장되는 영역이고 메소드 안에서 사용되는 기본형 변수들이 값과 함께 저장되고 Heap 영역에 생성된 객체들을 참조하는 주소값이 할당됩니다. 힙(Heap) 영역 자바 프로그램에서 사용되는 모든 인스턴스 변수(객체)들이 저장되는 영역이며 자바에서는 new를 사용하여 객체를 생성하면 힙 영역에 저장됩니다. 힙 영역은 메모리 공간이 동적으로 할당되고 해제되며 메모리의 낮은 주소에서부터 높은 주소로 할당이 이루어집니다. 멀티 스레드에서 메모리 영역을 살펴보자면 메소드 영역과 힙 영역은 모든 스레드가 같이 공유하는데 반해 스택의 경우에는 ..
try catch 쓰는 이유 보통은 예외때문에 오류처리를 해야할 경우가 대부분이다. 의미적으로 본다면 예외처리란 프로그램 실행 중 예기치 못한 상황이 발생했을 때 적절하게 조치를 취함으로써 프로그램이 수행하는 동작을 이상없이 진행하도록 하는 것이다. 우리가 개발한 프로그램이 사용자의 컴퓨터에서 실행되는 도중에는 오류가 발생해도 프로그램을 수정할 수 없기 때문에 프로그램 개발 시 미리 예외처리 코드를 작성하여 대비를 해야한다. 에러와 같이 치명적인 오류는 처리하고 싶어도 처리할 수 없는 경우가 거의 대부분이기 때문에 오류 처리가 무의미하지만 예외의 경우에는 적절한 처리를 해준다면 신뢰성 있는 프로그램을 만드는 데에 도움이 된다. 예외처리방법 try - catch - finally문 자바에서는 예외가 발생할 경우 JVM에서는 발생 즉시..
Day39(정수제곱근판별,Math.pow,Math.sqrt) Math.pow와 Math.sqrt Math.pow(a,b)는 a의 b 제곱을 반환합니다. Math.sqrt(x)는 x의 제곱근을 반환합니다. Math.pow와 Math.sqrt는 내부적으로 복잡한 알고리즘을 사용하여 근사값을 계산합니다. 둘 다 double형 타입의 값을 인자로 받고 반환합니다. 따라서 정수형 타입의 값을 사용하려면 형 변환을 해주어야합니다. 정확도와 속도를 고려하여 적절한 메소드를 선택하는 것이 좋다고 알려져있는데 정확도와 속도를 판단하는 것에 대해 아직 이해하지 못했다. 정확도와 속도에 관해 찾아본 결과 정확도는 Math.pow와 Math.sqrt의 구현 방식에 따라 달라집니다. 일반적으로 Math.pow는 2진수로 변환하여 거듭제곱을 계산하고, Math.sqrt는 뉴턴-랩슨 방법이..
Day38(pipe token 에러메세지, List /ArrayList 사용 사이) 에러 메세지 Exception in thread "DisconnectableInputStream source reader" org.gradle.api.UncheckedIOException: java.io.IOException: Pipe broken 이 에러는 Gradle이 사용 중인 InputStream이 끊어졌기 때문에 발생합니다. 이런 경우에는 보통 Gradle을 재시작하면 문제가 해결됩니다. 일시적으로 장애가 발생하여 Gradle과 연결된 InputStream이 끊어졌을 가능성이 있습니다. 그래서 위와 같은 에러 메시지가 나타나는 것입니다. Gradle이나 빌드 환경을 재시작하면 대부분의 경우 문제가 해결됩니다. 또한 Gradle 버전을 업그레이드하거나, Gradle과 연관된 환경 설정을 변경하면 ..