본문 바로가기

개발일지52

[React] React란? React의 장점 들어가며,오늘은 React에 대해 소개하는 시간을 가져보려한다!군말없이 시작📌React 란?? React는 Facebook에서 개발한 JavaScript 라이브러리로, 사용자 인터페이스를 만들기 위한 도구이다.React는 UI를 구성하는 데에 중점을 두는데, 특히 UI를 interative 하게 만들어 준다.전체 프로그램 설계를 깔끔하고 일관성 있게 정리할 수 있는 조직성(organization)이 강함미리 만들어 놓은 조각을 다시 사용할 수 있어 코드 재사용성(reusability)이 높음기본 웹 프로젝트뿐 아니라 모바일 앱(React Native로 구현), 데스크탑 앱(Electron으로 구현)을 만들 수 있다는 점에서 매우 유연성(flexibility)이 높음 React의 핵심 개념 중 하나는 ".. 2024. 5. 12.
[그리디 알고리즘] 어떻게 정렬해야 미래의 선택을 따져보지 않고 현재만 고려해도 최적의 해를 구할 수 있을까 라는 답을 생각해봐야 합니다.-그리디 알고리즘의 대표적 문제 유형으로는 활동 선택 문제나 거스름돈 문제 등이 있다.회의실 정하기 백준 문제 중 가장 빨리 끝나는 회의부터 먼저 진행해야 가장 많은 회의를 진행할 수 있다라는 결론을 내릴 수 있다. 그러므로 입력받은 정보들을 종료 시간을 기준으로 오름차순으로 정렬하고 제일 처음부터 진행 가능한 회의들을 하나씩 진행합니다. 그렇게 하나를 진행하고 나면 해당 종료 시간 전에 시작하는 회의는 진행이 불가능하니 무시하고 진행 가능한 회의들을 또 진행하며 반복하는 겁니다. 그래서 종료 시간을 기준으로 잘 정렬하기만 하면 현재의 선택이 무조건 최적의 해라고 보장할 수 있고 그렇다면.. 2024. 5. 12.
[Java] StringTokenizer 클래스 https://reakwon.tistory.com/90 [자바/JAVA] StringTokenizer를 이용해 문자열을 쪼개보자 StringTokenizer StringTokenizer 클래스는 문자열을 우리가 지정한 구분자로 문자열을 쪼개주는 클래스입니다. 그렇게 쪼개어진 문자열을 우리는 토큰(token)이라고 부릅니다. StringTokenizer를 사용하기 위 reakwon.tistory.com StringTokenizer 클래스는 문자열을 우리가 지정한 구분자로 문자열을 쪼개주는 클래스. 2024. 3. 8.
[Java] BufferedReader & BufferedWriter와 Scanner 차이 (수정 중) 들어가며, 자바에서 입력을 할 때에 대표적으로 사용되는 두 가지 함수가 있다. 바로 BufferedReader & BufferedWriter와 Scanner이다. 이 둘의 차이점이 정확히 뭔지 알고 넘어가야 적절하게 사용할 수 있다 생각하여 정리해보려한다. 1. BufferedReader & BufferedWriter 2. Scanner 2024. 3. 7.
[Algorism 알고리즘] Stack 스택 (수정중) 들어가며, 바킹독의 5번째 알고리즘 강의 Stack 에 대해 알아보고 문제를 풀어보겠다. 학교에서도 자료구조에서 배운 적이 있다. Stack은 FILO (First In Last Out) 자료구조이다. 먼저 들어간 데이터가 나중에 나간다는 뜻이다. 스택의 성질 1. 원소의 추가가 O(1) 2. 원소의 제거가 O(1) 3. 제일 상단의 원소 확인이 O(1) 4. 제일 상단이 아닌 나머지 원소들의 확인/변경이 원칙적으로 불가능함. 스택 구현은 배열 or 연결리스트를 이용해서 구현할 수 있음. STL Stack 2024. 3. 6.
내가 보려고 만든 알고리즘 공부를 위한 북마크💾 들어가며, 알고리즘 공부는 학과 선배에게 추천받은 '바킹독'님의 유튜브와 백준 문제를 통해 진행하고 있다. 따라서 알고리즘 공부 순서도 바킹독 영상순서로 진행한다. 공부를 위한 참고 블로그나 자료를 이 게시물에 저장하고 공부할 때마다 꺼내 볼 예정이다. 공부 자료는 생각나는대로, 좋은 참고자료를 찾는대로 이 게시물에서 내용을 추가할 것이다. 코딩테스트도 치고,, 열심히 해서 좋은 기업 들어가야g 배열: 더보기 https://minhamina.tistory.com/14 연결 리스트: 더보기 https://minhamina.tistory.com/14 2024. 2. 24.
[Algorism] 연결 리스트 LinkedList 틈새 면접 질문: 배열과 연결리스트는 선형 자료구조이다. 이 둘의 차이를 설명하라. 오늘은 연결 리스트에 대해 알아보겠다. 알고리즘 공부는 바킹독의 유튜브로 진행하고 있으며 그중 4강 연결 리스트와 백준 문제를 가지고 공부할 것이다. https://www.youtube.com/watch?v=C6MX5u7r72E&list=PLtqbFd2VIQv4O6D6l9HcD732hdrnYb6CY&index=5 바킹독 - 00x4 연결리스트 (선형 자료구조) 연결리스트는 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식의 자료구조입니다. 데이터를 담고 있는 노드들이 연결되어 있고, 노드의 포인터가 이전, 다음 노드와의 연결을 담당합니다. 배열에 비해서 데이터의 추가/삭제가 용이하나, 인덱스가 없는 리스트의.. 2024. 2. 24.
[SpringBoot] @Transactional 이란?? 들어가며, Service Layer에서 습관적으로 사용하고 있는 @Transactional의 동작을 바르게 이해하고 주의할 점들에 대해 알아보자. 해당하는 메서드를 실행할 때 스프링은 트랜잭션을 시작하고, 메서드가 정상적으로 종료되면 트랜잭션을 commit하고, 예외가 발생하면 트랜잭션을 rollback합니다. 즉, 비정상적 종료로 인한 rollback이 발생할 경우에는 트랜잭션의 일부 작업만 데이터베이스에 반영되는 것을 방지해 데이터 일관성을 유지할 수 있습니다. 트랜잭션(Transaction 이하 트랜잭션)이란, 데이터베이스의 상태를 변화시키기 해서 수행하는 작업의 단위를 뜻한다. 데이터베이스의 상태를 변화시킨다는 것은 무얼 의미하는 것일까? 간단하게 말해서 아래의 질의어(SQL)를 이용하여 데이터베.. 2024. 2. 2.
[SpringBoot] 빌더 패턴이란? @Builder 대외 팀프로젝트를 진행하다 @Builder 패턴을 알게 되었다. set 방식 대신 Builder 방식을 사용하면 무엇이 더 좋은지, 왜 사용하는지 알아보자 2024. 2. 1.
웹프로젝트 과목 1일차 수업 정리 23.12.26 들어가며, 이 웹 프로젝트 과목에서는 스프링부트에 대해 익히고 사용하는 법을 알려준다. 책은 '점프 투 스프링부트' 를 사용한다. 그럼, 이 과목에서 배운 내용을 일차별로 정리해보겠다. 웹 개발은 크게 두가지로 나뉘어진다. 프론트엔드, 백엔드 이 둘을 합치면 풀스택이라고 한다. 아래에서 설명해보겠다. 프론트엔드 프론트엔드는 소프트웨어나 웹 애플리케이션의 사용자 인터페이스(UI)를 담당하는 부분으로, 사용자가 직접 상호작용하는 영역이다. 웹 페이지의 디자인, 레이아웃, 콘텐츠 표시 등을 담당하며, 주로 웹 개발에서는 HTML, CSS, JavaScript를 활용하여 프론트엔드를 개발한다. 1. HTML (HyperText Markup Language): 웹 페이지의 구조를 정의하는 언어로, 텍스트, 이미지.. 2023. 12. 26.