분류 전체보기 (6) 썸네일형 리스트형 [Spring] Service, ServiceImpl구조에대해 최근에 스프링을 배우기 시작했는데 특이하게 controller-service-dao-mapper(sql작성하는곳) 대충 이런식으로 연결되있어서 신기하다 하면서 보고있었는데 뇌빼고 만들다 보니까 service구조가 interface를 만들고 impl로 구현하는 구조인것이다 왜 이렇게 만들었지하고 궁금해서 구글링을 좀 했는데 DI과 관련돼서 여러가지가 떴다 덕분에 DI에대해서 조금 알게되었지만 근본적인 궁금증은 해결해주지 못했다그러다가 한번더 구글하다가 현재 글제목과 같은 글을 보게되었고 나만 이런 의문점을 가지는게 아니란것을 깨달았고이제부터 설명해보겠다 분리하는 이유1. 코드 유연성과 확장성이 증가, 유지보수성이 향상2. 의존성주입을 스프링이 관리하도록만들어서 IoC를 구현할수있다3. 옛날부터 그렇게 만들.. CSR, SSR, SSG 언어 왔다 갔다하면서 공부하는데csr, ssr관련으로 자꾸나와서 대충구분은 할 수있지만 명확하게 뭐가 다른지 궁금해서 적어두려고 한다 CSR(클라이언트 사이드 렌더링) 대충 설명하면 클라이언트쪽에서 렌더링한다는것이다 자세히 설명하면 1. 유저가 파일 요청을 보낸다2.cdn에서 파일을 준다3. 다운로드받는다 (다운받으면 데이터 없는 껍데기가 보임)4. js에 있는 api요청을 보낸다.5. 서버에서 응답을 해준다.6.이제 상호작용이 가능한 사이트가 된다. js다운로드하고 실행이 끝나기 전까지 사용자는 페이지를 볼수없다그리고 SPA(Single Page Application)에 주로 사용된다핵심은 동적콘텐츠 로드, SPA라는것 장점 :1.전체 페이지를 로드하지 않고 필요한 부분만 로드하기때문에 반응성이 높.. 동기 비동기 차이점 동기 비동기 계속 배우는데 자꾸 까먹어서아주 초간단하게 내가 이해하기 쉽게 정리하려고 한다 동기(Synchronous)기다렸다가 끝나면 다음코드 실행우리가 아는 일반적인 코드 실행방식임 비동기(Asynchronous)순서 상관없이 동시에 실행, 언제 끝나는지 모름(병렬처리)그래서 비동기 처리를 위해 promise, async await 을 사용함 헷갈렸던게 비동기코드를 async await으로 처리하는데 설명을 보면 코드가 실행될때까지 기다린다이런식으로 설명돼서 async await은 비동기를 동기로 처리하는건가 했는데 비동기를 동기처럼 보이도록하는 코드란걸 알았다(chat gpt한테 물어봤는데 이렇게 대답함 아마 맞을듯 예시코드줌) node.js 는 싱글스레드인가? 일단 결론부터 말하자면 node.js는 싱글 스레드이다 하지만 마냥 싱글스레드라고 하기엔 모호한 부분이 있다 이제 부터 왜 그런지 설명하겠다 설명하기 전에 알아야할 사전지식을 대충 설명하고 시작하겠다 프로세스와 스레드 프로세스 : 실행된 프로그램이며 운영체제로부터 시스템 자원을 할당받는 자원 영역이다 스레드 : 프로세스에서 실행되는 여러 흐름의 단위이며 프로세스가 할당받은 자원을 이용하는 실행단위이다 프로세스의 메모리 메모리 구조는 크게 stack, heap, bss, data(bss, data를 합쳐서 data로 퉁치기도 함), text이다 스택(stack)영역 : 임시 메모리 영역, 후입선출, 함수호출과 관계있는 지역변수와 매개변수가 저장되며 선입후출이다 힙(heap)영역 : 프로그래머가 관리하는 영.. [WEB] SPA란? SPA (SIngle-Page-Application)란 서버로부터 완전한 새로운 페이지를 불러오지 않고 현재의 페이지를 동적으로 다시 작성함으로써 사용자와 소통하는 웹 애플리케이션이나 웹사이트를 말합니다. 즉, SPA는 웹 앱에 필요한 모든 정적 리소스를 한번 다운해서 페이지를 이동했을때 갱신이 필요한 부분만 렌더링 하는 방식입니다. 쉽게 말해서 페이지 하나로 계속 우려 먹는다고 생각하면 될 것 같아요. 예전 방식에는 link 태그를 사용하는 방식으로 새로운 페이지 요청을 할때마다 리소스를 다운로드하여 전체 페이지가 렌더링하는 새로고침이 발생된다고 합니다 SPA의 내용을 간략화 하면 아래와 같다 장점 단점 SPA 화면전체를 렌더링 할 필요가 없어서 화면 전환이 빠르다 필요한 부분의 데이터만 받기 때문에 .. 공부한 내용 복습하려고 시작합니다! 보호되어 있는 글입니다. 이전 1 다음