Language
-
[JavaScript] 비동기 함수가 뭔데Language/Javascript 2024. 11. 24. 22:00
프로젝트 리팩토링을 진행하면서 비동기 함수를 사용했었다. ❓sync/async 그게 뭔데?요청 순서에 따라 응답 순서가 보장되면 동기적(sync)이고요청 순서에 따른 응답 순서가 보장되지 않으면 비동기적(async)이라고 할 수 있다.내가 입력한 코드 라인 순서대로 결과가 나왔다면 동기적, 그게 아니라면 비동기적인 것이 된다. 📍Javascript에서 비동기 구현하기js 자체는 동기적인 언어이고 싱글스레드(한 번에 하나의 작업만 가능) 언어이지만, 비동기 함수를 구현하는 것에 유연하다.js로 비동기를 구현하는 방법은 대표적으로 세 가지 방식이 있다.1. 콜백 함수2. 프로미스(Promise)3. 이벤트 루프내 코드는 (Promise) async-await을 이용한 비동기 논블로킹 방식 안에서 동기적인 ..
-
MVC PatternLanguage/Java 2024. 10. 29. 14:10
우테코 프리코스 미션을 수행하면서 MVC 패턴에 대해 관심을 가지게 되어 도입해보고자 간단하게 알아보는 시간을 가져보려 한다. MVC의 개념은 Trygve Reenskaug라는 사람이 제시한 GUI 어플리케이션을 개발하는 방식에서 왔다. 현재 사용하는 MVC 패턴은 확장성과 유지보수에 있어 편리하여 흔히 사용되고 있다.MVC?Model : 데이터베이스와 상호작용하는 로직을 담는다.View : user와 상호작용하는 인터페이스를 담는다.Controller : view와 model의 중재자로서의 역할을 한다.이렇게 세 부분으로 나누어 프로그램을 디자인하는 패턴이다.다수의 언어와 프레임워크에서 지원하고 있는 방식이다. (Java, Ruby, C, C++, Angular, Django 등) Separation ..
-
[Java] 내가 잊어버릴까봐 쓰는 자바 컨벤션Language/Java 2024. 10. 22. 21:59
중괄호 시작 전, 종료 후에 공백 삽입public void func1(int num1, int num2) { if (num==2) { ... } else { ... }} 제어문(if, for, while, catch ...) 후에 소괄호 사용할 때 공백 삽입if (maxNum > minNum) { return maxNum;} 콤마/구분자 세미콜론 뒤에만 공백 삽입for (int i = 0; i 이항/삼항 연산자 앞뒤에 공백 삽입total += num1 + num2; 주석문 기호 전 후 공백 삽입//(띄고) 어쩌구 주석 1/*(띄고) 어쩌구 주석 2(띄고)*/ IDEA 스타일 포메팅 단축키 사용IntelliJ IDEA: ⌥⌘L, Ctrl+Alt+L
-
[IDEA] 디버깅 모드Language/Java 2024. 10. 22. 21:44
우테코 1주차 공통 피드백에서 IDEA의 디버깅 모드를 활용해보라는 조언이 있었다.평소에 vscode 쓸 때도 디버깅 모드를 너무 좋아했던 탓에 IDEA의 디버깅 모드를 잘 사용해보고 싶다는 생각이 계속 있었는데,이 기회에 IDEA의 디버깅 모드에 대해 알아보려 한다. 내가 참고한 영상은 https://www.youtube.com/watch?v=gkutTlwi70s 이것이다. IDEA의 디버깅 모드디버깅 모드는 ⌃D 단축키 또는 귀여운 벌레 모양처럼 생긴 아이콘을 통해 진입할 수 있다. IDEA의 디버깅 툴바Resume Program (⌥+⌘+R) : 다음 breakpoint로 넘어갑니다.Pause Program : 멈춥니다. (잘 사용하지 않음)Step Over (F8) : 다음 줄로 넘어갑니다.St..
-
[Java의 정석] 2-2. 변수의 타입Language/Java 2024. 10. 21. 22:17
Java의 정석을 읽으며 Java라는 언어의 기초에 대해 차근차근 탐색해보는 시간을 가져보기로 했다.변수는 어떤 값을 대입해줄지에 따라 값의 타입을 정해주면 된다.기본형과 참조형Java에서 자료형은 '기본형', '참조형' 이렇게 두 가지로 크게 나눌 수 있다.기본형 : 실제 값 저장참조형 : 주소 값 저장(참조형 간 연산 불가능) 기본형(primitive type; 원시형)논리형 - boolean문자형 - char정수형 - byte, short, int(기본), long실수형 - float, double(기본) 책에 기본형의 크기를 외우는 문장들이 나와있다.boolean은 true와 false 두 가지 값만 표현할 수 있으면 되므로 가장 작은 크기인 1bytechar은 자바에서 유니코드(2byte 문자 ..
-
[Java] 다형성과 바인딩Language/Java 2024. 10. 21. 21:10
최근 정보처리기사 실기 시험을 보았다.문제집에서 풀던 기출 문제보다 어려웠다. 허점이 많은 상태에서 시험을 봤던 것 같다.Java 문제 중 기억에 남는 문제가 하나 있어서 궁금해서 찾아보다가 정리를 해보면 좋겠다는 생각을 했다.해당 문제는 다형성에 대한 것이었다(참고로, 틀렸다).정확한 숫자는 기억이 안나지만, 아래와 같은 문제였다.class Parent { int b = 2; public int print() { return b * 4; }}class Child extends Parent { int b = 3; @Override public int print() { return b * 7; }}class Main { public sta..
-
[우테코 프리코스] 1주차 회고Language/Java 2024. 10. 19. 14:47
우테코 프리코스 1주차 회고미션 : 문자열 덧셈 계산기1주차가 벌써 마무리되고 있습니다. 구현을 시작할 때는 분명 쉬울거라고 생각했는데, 이것저것 생각하다보니 예상보다 시간이 오래 걸렸습니다. 구현과 리팩토링, 기록의 과정까지 회고를 진행해보려 해요. 1주차 회고의 꼭지는 다음과 같이 정리해보았습니다.잡생각이 떠올라 방해된다면 어디에 적어두고 잠깐 까먹자하나의 기능에 가장 작은 책임을 부여하자2-1. 기능 명세를 정확히 하는 이유는 나를 위해서야2-2. 한 로직에 많은 것을 해결하려 하지 말자테스트를 먼저 생각 -> 명확한 책임을 가진 코드가 된다커밋 메시지를 기능 단위로 작성하지 못했다는 아쉬움소감 1. 잡생각이 떠올라 방해된다면 어디에 적어두고 잠깐 까먹자코딩을 시작하면 초반에는 집중을 꽤 하지만 시..
-
[우테코 프리코스] Console.class가 무엇Language/Java 2024. 10. 18. 14:34
저번 게시글에서는 NsTest에 대해 알아보았다.https://i-m-okay.tistory.com/29 [우테코 프리코스] NsTest가 무엇우테코 프리코스를 수행하고 있다.효과적인 테스트 코드 작성을 위해 기본적으로 제공된 테스트 코드 속 NsTest를 톺아보는 시간을 가져보도록 하겠다. 제공된 소스코드class ApplicationTest extends NsTi-m-okay.tistory.com 이번 게시글에서는 Console.class에 대해 알아보려 한다. 우테코에서 input을 받는 방식을 Console.readline() 메서드로 제한하고 있어서 한 번 짚고 넘어가면 좋을 것 같다.NsTest 게시글에서 너무 많은 시간을 tistory 편집 시간에 쓰고 싶지 않아 코드에 바로 주석을 다는 방..