2024/08 23

[Spring] Separation of Concerns(관심사 분리)

안녕하세요? 몸도 안좋고.. 기분도 ★루.. 이래저래 며칠만에 돌아온  Dorothy 입니다. 바로 시작할게용~!! 1. 관심사의 분리(Separation of Concerns) 원칙 설명"관심사의 분리(Separation of Concerns, SoC)"는 소프트웨어 설계에서 중요한 원칙 중 하나입니다. 이 원칙은 프로그램의 각 부분이 서로 다른 기능이나 관심사에만 집중하도록 설계되어야 한다는 것을 의미합니다. 이를 통해 코드의 가독성, 유지보수성, 재사용성이 크게 향상됩니다. 자바에서는 클래스를 통해 관심사를 분리할 수 있으며, 다양한 방법으로 구현될 수 있습니다. 대표적인 예로는 모듈화, 계층화, 컴포넌트 기반 개발 등이 있습니다. 2. 주요 개념모듈화: 프로그램을 기능별로 분리된 모듈로 나누어, ..

4. Spring 2024.08.30

[Java Tutorials] #11 Lesson: Interfaces and Inheritance[Inheritance 1]

Inheritance[공식 튜토리얼] 이전 강의에서 상속이 여러 번 언급되는 것을 보았습니다. Java 언어에서 클래스는 다른 클래스에서 파생될 수 있으므로 해당 클래스의 필드와 메서드를 상속받을 수 있습니다.정의: 다른 클래스에서 파생된 클래스를 하위 클래스(파생 클래스, 확장 클래스 또는 하위 클래스라고도 함)라고 합니다. 하위 클래스[자식 클래스]로 파생되는 클래스[부모 클래스]를 슈퍼클래스(기본 클래스 또는 부모 클래스라고도 함)라고 합니다.슈퍼클래스가 없는 Object를 제외하고 모든 클래스는 오직 단 하나의 Direct Super Class(단일 상속)를 갖습니다. 다른 명시적인 슈퍼클래스가 없으면 모든 클래스는 암시적으로 Object의 하위 클래스입니다.※ Direct Super Class란..

2. Java Tutorials 2024.08.27

[가상화ㆍ컨테이너 / 개발자] "일관된 개발 환경 구축과 간소화" 데브 컨테이너의 활용과 장점

Simon Bisson | InfoWorld1일 전 컨테이너는 현대 애플리케이션 플랫폼의 핵심 구성요소로, 애플리케이션 간의 격리를 제공하는 동시에 유저랜드를 이동 가능한 런타임 환경으로 바꿔준다. 컨테이너는 리소스를 관리하고 애플리케이션과 서비스를 확장 및 축소하면서 코드에 필요한 모든 종속 항목을 패키징하고 실행하기 위한 공간을 제공한다. 깃허브의 코드스페이스와 같은 툴을 제외하면 그동안 컨테이너를 개발 툴로 사용하는 데는 거의 관심이 없었다. 컨테이너가 코드를 빌드하고 테스트하는 데 필요한 모든 서비스와 함께 전체 개발 환경을 패키징하는 이상적인 방법이라는 점을 감안하면 납득하기 어려운 일이다. 코드스페이스의 컨테이너를 관리하는 데 사용되는 툴은 누구에게나 제공되므로 온프레미스와 퍼블릭 클라우드를 ..

1. IT NEWS 2024.08.27

[Spring] POJO(Plain Old Java Object)

안녕하세요!! 며칠만에 돌아온 Dorothy입니다..  이제 아침저녁으로 부는 바람이 제법 가을느낌이에요~ 흐흐,,  그러거나 말거나 우리는 밀린 공부를 빡세게 시작 해야겠죠?  드디어 기다리고 기다리던 스프링 공부를 시작합니다.  집중해주세용~~!!    1.  POJO  POJO(Plain Old Java Object)는 특별한 규약이나 상속 없이 순수하게 자바 언어만으로 작성된 객체를 의미합니다. 이는 특정 프레임워크나 라이브러리에 종속되지 않고, 자바 객체 본연의 형태를 유지하는 것을 강조합니다. POJO는 다음과 같은 특징을 가지고 있습니다:간단성: POJO는 복잡한 프레임워크 인터페이스나 클래스를 상속받지 않습니다. 대신, 표준 자바 클래스로서 필요한 필드, 메서드(게터와 세터 포함)를 가지며..

4. Spring 2024.08.27

[IT News] "초보부터 고급 사용자, 모두를 위한 상식" PC를 위험에 빠뜨리는 16가지 실수

윈도우 10과 11은 다양한 옵션과 기능을 제공하는 안전한 운영체제다. 놀라운 자유로움을 선사하지만 함정도 있다. 사용자가 저지르는 몇 가지 실수는 윈도우 PC에 심각한 결과를 초래할 수 있다. PC의 건강을 위해 피해야 할 가장 치명적인 16가지 윈도우 '죄악'은 다음과 같다.  '득보다 실이 많은' 최적화 소프트웨어윈도우가 안정적으로 실행되지 않거나 느리게 반응할 때 씨클리너(CCleaner)와 같은 최적화 소프트웨어는 일반적으로 도움이 되지 않는다. 많은 사용자가 성능 향상, 시스템 정리 또는 기타 '기적'을 일으킨다는 무료 또는 유료 프로그램을 설치하지만, 이런 도구 대부분은 거의 또는 전혀 이점을 제공하지 못한다. 종종 최적화 도구는 PC를 '최적화' 이전보다 더 악화하는 데 영향을 미치는 윈도..

1. IT NEWS 2024.08.23

[Java Tutorials] #10 Lesson: Interfaces and Inheritance[Interfaces]

안녕하세요? 자도 자도 졸린.. (닭병든) Dorothy입니다. 오늘은 어제에 이어서 10강을 들어가볼텐데요, 인터페이스와 구현에 대해서 알아볼게요.자자, 집중해주시면 감사하겠습니다. 오늘은 조금 양도 많고 까다로운 부분이 있지만, 할 수 있습니다!! 아자아자~~ Interface이전 강의에서 인터페이스 구현의 예를 보았습니다. 여기에서 인터페이스에 대한 자세한 내용을 읽을 수 있습니다. 인터페이스의 용도, 인터페이스를 작성하려는 이유, 작성 방법 등이 있습니다. Inheritance이 섹션에서는 특정 클래스를 다른 클래스에서 파생시키는 방법을 설명합니다. 즉, 하위 클래스가 상위 클래스의 필드와 메서드를 상속할 수 있는 방법입니다. 모든 클래스가 Object 클래스에서 파생된다는 사실과 하위 클래스가 ..

2. Java Tutorials 2024.08.23

[Java] 배열(Array)과 리스트(List)

배열과 리스트는 데이터를 저장하고 관리하는 기본적인 자료 구조입니다. 두 자료 구조는 각각의 특성과 장단점이 있으며,  용도에 따라 적합한 선택이 필요합니다.    1. 배열 (Array)1) 특징고정 크기: 배열은 생성 시 크기가 정해지며, 이후에는 크기를 변경할 수 없습니다.인덱스 접근: 배열의 요소는 인덱스를 통해 O(1) 시간 복잡도로 접근할 수 있습니다.동일한 데이터 타입: 배열의 모든 요소는 동일한 데이터 타입을 가져야 합니다. 2) 장점빠른 접근 속도: 인덱스를 통해 요소에 바로 접근할 수 있어 매우 빠릅니다.메모리 효율성: 요소들이 연속된 메모리 공간에 저장되어 있어 메모리 접근이 효율적입니다.간단한 구조: 구조가 단순하여 오버헤드가 적습니다.3) 단점고정 크기: 배열의 크기를 동적으로 변..

3. Java 2024.08.23

[Java Tutorials] #9 Lesson: Classes and Objects 4[Lambda, Enum]

안녕하세요, Dorothy 입니다. 점심시간이 다되어오니 너무 배고프네요,, 일단 빠르게 시작해볼게요...오늘은 익명 클래스와 관련된 람다 표현식(Expression)을 배워보겠습니다. ^.^ 1. Lambda Expressions익명 클래스의 한 가지 문제는 익명 클래스의 구현이 메서드가 하나만 포함된 인터페이스와 같이 매우 간단한 경우 익명 클래스의 신택스가 다루기 힘들고 명확하지 않게 보일 수 있다는 것입니다. 이러한 경우 일반적으로 누군가가 버튼을 클릭할 때 어떤 작업을 수행해야 하는지와 같은 기능을 다른 메서드에 아규먼트로 전달하려고 합니다. 람다 expression을 사용하면 특정 기능을 메서드 아규먼트로 처리하거나 코드를 데이터로 처리할 수 있습니다. 이전 섹션인 익명 클래스에서는 이름을 지..

2. Java Tutorials 2024.08.22

[AI/ML] "AI 시대의 도전과 기회" S 커브를 통한 기술 발전 이해하기

@ Kyle Crum | Computerworld1일 전새로운 기술에 투자하고 채택할 시점에 대해 정보에 입각한 결정을 내리려는 기업은 기술 발전 패턴이 늘 고른 것만은 아님을 이해해야 한다.20세기 초 라이트 형제의 첫 비행은 단 12초밖에 되지 않았다. 하지만 수십 년 만에 비행기는 전 세계 여행에 혁명을 일으켰고 이전에는 상상할 수 없었던 방식으로 세계를 연결했다. 오늘날 인공지능은 틈새 혁신에서 전 세계 산업을 재편하는 유비쿼터스 도구로 전환하면서 비슷한 패턴이 전개되고 있다. 이런 기술 혁명은 “S 커브”라는 프레임워크를 사용하여 시각화하고 이해할 수 있다. S 커브는 시간이 지남에 따라 기술이 어떻게 성숙해 가는지를 그래픽으로 표현한 것이다. 얼리 어답터, 특수한 사용례, 기술 전문가를 중심으..

1. IT NEWS 2024.08.22

[Java Tutorials] #8 Lesson: Classes and Objects 3 [Nested Classes, Local and Anonymous Classes]

안녕하세요, 흐린날이지만 기분은 차분해져서 좋은 Dorothy입니다. 아유.. 오늘은 왠지 정신이 하나도 없네요. 바로 이어서 공부해보도록 하겠습니다. 오늘은 중첩클래스에 대해서 배워볼게요. 시작합니당! 1. Nested Classes자바 프로그래밍 언어에서는 한 클래스 내에 다른 클래스를 정의할 수 있습니다. 이러한 클래스를 Nested Class(중첩 클래스)라고 하며, 여기서 그 예를 보여줍니다.class OuterClass { ... class NestedClass { ... }} 용어: 중첩 클래스는 두 가지 범주로 분류됩니다:non-static 과 static.Non-static 중첩 클래스는 inner 클래스라고 합니다.static으로 선언된 중첩 클래스들은 st..

2. Java Tutorials 2024.08.21