- [디자인 패턴] 6. 싱글톤 패턴 복습하기Song hyun[디자인 패턴] 6. 싱글톤 패턴 복습하기 1. 싱글톤 패턴의 개념: 싱글톤 패턴은 특정 클래스의 인스턴스를 하나만 생성하고, 이를 전역적으로 접근할 수 있도록 하는 디자인 패턴이다.-주요 목적은 시스템 전체에서 공통된 리소스를 공유하거나, 객체 생성을 제한하여 메모리 낭비를 줄이기 위함이다. 2. 시나리오 코드 : 싱글톤 패턴 구현해보기(1) singleton.javapackage singleton;// 1. 정적 변수를 선언한다.// 2. private 생성자를 선언한다.// 3. 외부에서 접근할 수 있는 public 정적 메서드를 선언한다.public class singleton { // 1. 유일한 인스턴스를 저장할 변수를 선언한다.(private,static) // 많은 개발자들이 싱..
- 2024-09-25 16:17:43
- [설치 메뉴얼] VSCODE에서 순수 자바 프로젝트 생성하기Song hyun
- 2024-09-25 15:26:45
- [디자인 패턴] 5. 콜백 메서드Song hyun[디자인 패턴] 5. 콜백 메서드 1. 콜백 메서드란?(1) 콜백 메서드 개념: 콜백 메서드는 특정한 작업이 완료되었을 때, 또는 특정 이벤트가 발생했을 때 호출되는 메서드이다. (2) 콜백 메서드의 특징:-콜백 메서드는 주로 비동기 작업, 이벤트 기반 시스템에서 사용된다.-콜백 메서드를 활용하면 동작을 정의하고, 나중에 실행할 수 있기 때문에 프로그램이 더 유연해지고 모듈화될 수 있다! 2. 시나리오 코드 : 버튼 클릭 이벤트 처리 (1) Button.javapackage ch01;// 콜백 메서드 만들어보기// 인터페이스 만들기/** * 버튼 클릭 이벤트 인터페이스 (콜백 메서드 정의) */interface IButtonListener{ void clickEvent(String event)..
- 2024-09-25 15:21:51
- [셸위:게임 친구 매칭 사이트] 최종 정리Song hyun[셸위:게임 친구 매칭 사이트] 최종 정리1. 프로젝트 개요2. 프로젝트 업무 분담3. 내가 맡은 역할4. 프로젝트 회고5. PPT, 깃허브, 노션 주소 1. 프로젝트 개요(1) 주제 정하기-이번 파이널 프로젝트의 주제는 "Springboot와 MyBatis를 사용한 웹 사이트 만들기"였다. 대신 사회적인 문제를 해결하거나, 기존의 불편한 점들을 해결할 수 있는 웹사이트여야 했다. -우리 조에는 게임을 즐겨 플레이하시는 분들이 많았다. 그래서 다들 관심있어하시는 주제인 "게임"으로 결정! (2) 왜 게임 MBTI인가?-게임과 관련된 웹사이트들을 찾던 중, 우리는 "게임 통합 플랫폼"이 없다는 사실을 알게 되었다. 대부분의 게임 플랫폼들은 특정 게임에 특화되어 있었고, 그런 특징 때문에 게임에 대해 전문..
- 2024-09-25 14:48:17
- [디자인 패턴] 4. 디자인 패턴이란?Song hyun[디자인 패턴] 4. 디자인 패턴이란? 1. 디자인 패턴이란?: 디자인 패턴은 소프트웨어 개발에서 자주 반복되는 문제들을 해결하기 위해 만들어진 재사용 가능한 코드 설계 방법이다.=> 즉, SW 설계 시 발생할 수 있는 문제들을 효율적으로 해결하기 위한 설계의 모범 사례이다! (1) 장점-개발자간의 원활한 소통-SW 구조 파악 용이-재사용을 통한 개발 시간 단축-설계 변경 요청에 대한 유연한 대처 (2) 단점-객체지향 설계에 대한 깊은 이해도가 필요-간단한 문제에 대해 디자인 패턴을 적용하는 것이 더 복잡하고 비효율적일 수도...-모든 문제에 대해 디자인 패턴을 적용하는 것은 적절하지 않음 2. 디자인 패턴의 분류-디자인 패턴은 크게 생성, 구조, 행동으로 나뉜다. (1) 생성 패턴 (Creationa..
- 2024-09-25 14:40:10
- [디자인 패턴] 3. S.O.L.I.D 원칙Song hyun[디자인 패턴] 3. S.O.L.I.D 원칙 1. S.O.L.I.D 원칙이란?-S.O.L.I.D 원칙은 로버트 C. 마틴이 발표한 객체 지향 프로그래밍 설계 원칙이다. 즉, SOLID 원칙은 객체 지향 설계의 5가지 중요한 원칙을 뜻한다.-SOLID 원칙은 코드의 유지보수성과 확장성을 높이기 위해, 설계 과정에서 따르는 지침이다! 2. S.O.L.I.D 원칙(1) 단일 책임 원칙 (Single Responsibility Principle, SRP)-클래스는 하나의 책임만 가져야 한다. -하나의 책임이란 클래스가 변경되어야 하는 이유가 하나뿐이어야한다는 뜻!=>SRP를 준수하기 위해서는 DB와의 상호작용을 다른 클래스로 분리하고, 그 클래스를 통해 상호작용해야한다. 이렇게 하면 사용자 관리와 데이터 저장의..
- 2024-09-25 14:14:52
- [ErrorNote] 39 @Param Import 오류 - Parameter not foundSong hyun[ErrorNote] 39. @Param Import 오류 - Parameter not found 프로젝트 마감이 막바지인데, 갑작스레 오류가 생겨 발등에 불 붙은 것 마냥 허겁지겁 에러메세지를 봤다. 에러 메세지는 아래와 같다. 바인딩 익셉션, 즉 DB-퍼시스턴스 계층 사이에서 바인딩이 제대로 되지 않은 것이다. xml 파일의 쿼리문과 repository, service, 심지어는 controller 상에서도 값이 잘 오가는지 봤지만 아무 문제가 없었다. 자료형도, 값도 null이 아닌 잘만 들어있었다. 그런데 오류가 고쳐지지 않았다. (ㅜㅜ) 왜일까? 팀원분들과 함께 코드를 살펴보던 중 충격적인 사실을 알게 되었다. 그건 바로.. @Param 어노테이션이 한 개가 아니라는 것. 바로 import를 ..
- 2024-09-13 10:16:18
- [강연] 네이버 SEF2024 후기Song hyun[강연] 네이버 SEF2024 후기 이제는 모르는 사람이 없는 대한민국 국민 포털 사이트, 네이버. 네이버 메인 페이지를 살피던 중 우연히 보게 된 SEF 2024 강연 광고. 온라인으로도 강연을 들을 수 있다는 소식에 부리나케 신청했다. 현업에서 일하는 사람들의 목소리는 언제든 듣고 싶고 궁금했다. SEF2024는 총 세 개의 단원으로 나뉘어져 있었고, 시간상 나는 두 번째 트랙인 '현업 스토리'에 해당하는 강연들만 들을 수 있었다. https://sef.connect.or.kr/2024 SEF2024에 초대합니다!팝업 09.06(금) - 09.07(토), 강연 09.07(토) | 모두를 위한 소프트웨어, AI 교육 페스티벌 Software Edu Fest 2024에 참여하세요!sef.connect..
- 2024-09-07 13:27:56
- [BDIA Dev-ton 과정] 8월 중간발표회Song hyun[BDIA Dev-ton 과정] 8월 중간발표회 프로젝트 기획, 데이터 수집을 부랴부랴 하다보니 어느새 8월이 지나갔다. 프로젝트 마감까지 두 달 정도가 남은 시점에서 중간 발표회에 참여하게 되어, 그 과정을 기록해보려고 한다. 중간 발표회는 처음 설명회와 동일한 곳에서 진행되었다. 건물 1층으로 들어서니 사진과 같은 종이가 붙어있어 수월하게 찾아갈 수 있었다! 중간발표회에 앞서 주최측 분들의 강연을 들을 수 있었다. Procrastination(미루기)에 대한 TED 강연도 함께 시청하고, 올해가 어느새 65% 가량 남았는데... 앞으로 무얼 하면 좋을까? 에 대한 이야기도 함께 나누며 아이스 브레이킹이 진행되었다. 중간 발표회에서는 각자 어떤 프로젝트를 진행하는지... 즉 기획, 아이디어,..
- 2024-09-06 18:14:45
- [Flutter] 11. 직사각형과 원의 면적 계산기Song hyun[Flutter] 11. 직사각형과 원의 면적 계산기void main() { calculateRectangle(3.0, 4.0); calculateCircle(5.0);}// 문제 1. 직사각형의 면적을 구하는 함수를 만들어보자.void calculateRectangle(double vertical, double horizon) { double area = vertical * horizon; print('직사각형의 면적 : ${area}');}// 문제 2. 원의 면적을 구하는 함수를 만들어보자.void calculateCircle(double vertical) { double area = (vertical * vertical) * 3.14; print('원의 면적 : ${area}');}
- 2024-09-06 10:04:07
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)