반응형
목록
Spring (68)
[꼼꼼한 개발자] 꼼코더
👀 스프링 프레임워크의 뚜렷한 차별성에는 몇 가지가 있다. 🙋🏻♂️ 복잡함에 반기를 들어서 만들어진 프레임 워크 기업급 프레임워크들의 가장 큰 문제점은 ‘복잡성’이다. 다양한 기능을 가지도록 만들다 보니 하나의 기능을 위해 너무 많은 구조가 필요하다. 이러한 ‘복잡성을 해결하기 위해 나온 경량화된 프레임워크가 스프링’이다. 스프링은 일반적인 java 클래스와 인터페이스를 이용하는 구조이기 때문에 진입장벽이 낮다. EJB로 대표되는 복잡한 프레임워크에 비해 가볍기 때문에 빠르게 기업급 시스템을 작성할 수 있다. 👨🏻🏭 프로젝트의 전체 구조를 설계할 때 유용한 프레임워크 다른 프레임워크들은 웹 영역, 데이터베이스 영역 등 전문적인 영역에서만 지원하는 경우가 많았고 비즈니스 로직을 처리하는 부분에 대한 설..
🏃🏻 03장의 학습 목표 스프링 프레임워크를 이용해서 ‘의존성 주입’에 대한 이해와 테스트 스프링에서 XML을 이용하는 객체 관리 방법 스프링의 테스트 환경 구축 🧙🏻♂️ 스프링 프레임워크의 간략한 역사 프레임워크란 말 그대로 ‘뼈대나 근간을 이루는 코드의 묶음’이라고 할 수 있다. 왜 이 뼈대가 필요할까? 개발자의 개개인 능력차이가 존재한다. 따라서 개발자 구성에 따라 프로젝트 결과 역시 차이를 낳는다. 프레임 워크는 바로 이런 상황을 극복하기 위한 코드의 결과물이다. 프레임워크를 이용한다는 의미는 프로그램의 기본 흐름이나 구조를 정하고 모든 팀원이 이 구조에 자신의 코드를 추가하는 방식으로 개발하게 된다. 👀 프레임워크 최대의 장점은? 프레임워크의 가장 큰 장점은 개발에 필요한 구조를 이미 코드로 ..
❓당신은 CBD, SOA가 어려운가? 🧱 CBD Component Based Devlopment의 약자로, 번역하면 컴포넌트 기반 개발이 된다. CBD는 애플리케이션을 통째로 개발하지 않고, 의미 있는 단위로 구분하여 그 단위를 하나씩 부품으로 개발해 마치 레고 블록을 쌓아 올리듯 부품을 결합해 제품을 완성하자는 방법론이자 기법이다. 제품이 아니다. 🧑🏻🔧SOA Service Orented Architecture의 약자로, 번역하면 서비스 중심 구조 또는 의역하면 서비스 지향 구조라고 할 수 있다. 개발자 입장에서의 개발이 아니라 실제 현실의 업무를 기준으로 개발하자는 사상이다. 제품이 아니다. 👀 그렇다면 이 같은 블록화 개발, 서비스 지형적인 개발이 이전에는 존재하지 않았던 것일까? 분명히 존재했었..
🛠 신기술은 이전 기술의 어깨를 딛고 개발자를 위해 발전한다. 지금까지 기계어, 어셈블리어, C, C++, 자바로 발전해온 프로그래밍 언어 분야에서 기술이 개발자를 어떻게 더 사랑하게 됐는지 살펴봤다. 🤖 기계어 개발자를 사랑하기에는 너무 초장기 기술 탄도의 궤적정도는 계산해 줬다. 🗣 어셈블리어 인간의 언어로 프로그램 작성이 가능하게 해 줬다. 💬 C 하나의 소스로 이기종 간의 이식성을 확보했다. 🧱 C++ 객체 지향 개념을 도입했다. 인간적인 사고의 프로그램 방식이다. ☕️자바 한 번의 컴파일로 이기종 간에 이식성을 확보했다. 포인터에 대한 개념 없이 프로그래밍을 가능하게 했다. 🍃 스프링 프레임 워크 기술이 인간에 대한 완전무결한 사랑을 꿈꾸다! 거대함 속의 단순함과 완벽함. 그리고 유연함! 아주 ..
🧱 C++ 언어 - 정말 인간적인 프로그래밍 방법론, 객체 지향 C++는 C에 객체 지향 개념을 도입함으로써 역사에 한 획을 그은 언어가 됐다. 객체 지향 관련은 추후 3장에서 다루도록 하자. ☕️ 자바 - 진정한 객체 지향 언어 C++은 순수 객체지향 개념의 가장 충실한 언어이지만 여기서 반전은 ‘객체 없이 프로그래밍이 가능하다는 점’이다. 객체 지향 언어의 중심에는 클래스(class)가 있다. 자바에서는 클래스를 떠나 존재할 수 있는 것은 아무것도 없는데 말이다. 주제로 돌아와서 C++은 ‘객체 지향 개념 도입’을 통하여 개발자에게 사랑을 안겼다. 그럼 자바는 어떻게 개발자에 대한 사랑을 실천했을까? 바로 가상 머신(Virtual Machine)이다. Write Once Use Anywhere 컴파일..
💪🏻 C 언어 - 강력한 이식성 / One Source Multi Object USe Anywhere C언어의 등장으로 기계 종류별로 코드를 작성하는 멀티 소스가 아닌. 단 하나의 소스파일인 싱글 소스만 만들면 되었었다. 그 이유인즉슨 “소스파일을 각 기계어에 맞는 컴파일러로 컴파일 시 각 기계에 맞는 기계어 목적 파일이 만들어진다.” 이 부분에서 어셈블리어 프로그래머가 C 언어를 만났을 때의 감동을 간접적으로 느껴졌길 바란다. 하지만 실제로는 그렇게 감동만 하지 않았었다. 운영체제가 하드웨어의 특성을 추상화하고 컴파일러는 운영체제별로 만들어져 공급하하게 된다. 그 운영체제들이 또 나름의 특성이 있었기에 하나의 소스로 각 기종별로 컴파일하기 전에 그 기종에 맞게 소스를 변경하는 작업이 필요했다. C 언어..
🎬 시작 스프링은 과거부터 현재까지 프로그래밍 발전사에서 그 정점에 있다고 해도 과언이 아니다. 스프링을 학습하기 전 과거에 어떤 기술들이 있었고 그 의미를 빠르게 학습해 보도록 하자. 🤖 기계어 - 0과 1의 행진 / 너무나 비인간적인 언어 기계어는 기계가 이해하는 유일한 언어이다. 2진 숫자인 0과 1로만 표현된다. 기계어 코드는 CPU에 따라 다르다. (’ 에드삭 전용’ 기계어 ↔ ’ 유니박 전용’ 기계어 서로 간에 호환 불가) 에드삭(EDSAC) 전용 기계어 : 1 +3 01010101 00000001 00011001 유니박(UNIVAC) 전용 기계어 : 1 + 3 110111100 00011000 10011000 애드삭 : 모리스 월키스 제작, 2진법을 적용한 세계 최초의 프로그램 내장 방식 전..
💬 소감 많은 주변 지인들을 볼 때 이런 경우 포기하는 경우가 많다. 하지만 개발자가 되고 싶다면 오히려 이걸 즐겨야 한다고 생각했고 나 또한 즐기면서 구글링에 임했다. 구글링을 하면서 얻어가는 내용(지식)들이 많았고 그 끝에 성공(정상작동)의 결과를 맛봤을 때 나름 쾌감(?)도 있는 거 같다. 이제 내일은 또 어떤 시련이 닥칠지 걱정과 설렘이 동반한다.. (소감 부터 적고 싶어 미리 적어봤다) 🎬 시작 이제 새로운 교재로 다시 스프링을 시작했다. 먼저 말하자면 나는 MAC M1칩을 사용한다. 이전 ‘김영환’님의 영상 강의의 개발환경은 아래와 같고 OS : MAC Tool : IntelliJ 새로운 교재에서의 개발환경은 아래와 같이 기존과 많이 달랐다. OS : Window Tool : Eclipse o..