🥑 Web Technoloy

    더티 체킹(Dirty Checking)이란?

    공부를 하는 과정에서 Spring Data Jpa와 같은 ORM 구현체를 사용하다보면 더티 체킹(Dirty Checking)이란 단어를 종종 듣게 됩니다. 당시에는 짧은 설명만 듣고 나름대로 이해했다고 생각하여 무심코 넘겼지만, 이번에 위 기능이 정확하게 어떻게 동작하는지 확실하게 정리해보고자 합니다. 💡 더티 체킹(Dirty Checking) 정확한 동작 방식을 설명하기 위해 Spring Data JPA가 아닌 네이티브한 코드를 살펴보겠습니다. @Slf4j @RequiredArgsConstructor @Service public class PayService { public void updateNative(Long id, String tradeNo) { EntityManager em = entityMa..

    AJAX란?

    💡 AJAX(Asynchronous Javascript And XML) AJAX란, JavaScript의 라이브러리중 하나이며, HTML, CSS, 자바스크립트, DOM, XML 등 기존에 사용되던 여러 기술을 함께 사용하는 새로운 개발 기법입니다. 브라우저가 가지고있는 XMLHttpRequest 객체를 이용해서 전체 페이지를 새로 고치지 않고도 페이지의 일부만을 위한 데이터를 로드하는 기법이며, JavaScript를 사용한 비동기 통신, 클라이언트와 서버간에 XML 데이터를 주고받는 기술입니다. 즉, 쉽게 말하자면 자바스크립트를 통해서 서버에 데이터를 요청하는 것입니다. 💡 AJAX를 사용하는 이유 단순하게 생각하면, WEB 화면에서 무언가 부르거나 데이터를 조회하고 싶을 경우, 페이지 전체를 새로고침..

    RESTful API란?

    💡 RESTful API 💬 REST(Representational State Transfer)란? REST란 자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 모든 것을 의미합니다. 즉, HTTP URI(Uniform Resource Identifier)를 통해 자원을 명시하고, HTTP Method(GET, POST, PUT, PATCH, DELETE 등)를 통해 해당 자원에 대한 CRUD(Create, Read, Update, Delete) Operation을 적용하는 것을 의미합니다. 💬 API(Application Programming Interface)란? API는 다른 소프트웨어 시스템과 통신하기 위해 따라야 하는 규칙을 정의합니다. 즉, 프로그램들이 서로 상호작용하는 것을 도와주는 매..

    CSRF란?

    공부를 하며 강의 내용을 따라하다가 csrf().disable()이라는 코드를 무의식적으로 따라했던 기억이 있습니다. 당시에는 그냥 개발과 테스트에 방해가 되지 않도록 Spring Security에서 제공해주는 보안 기능을 잠시 비활성화시킨다는 개념으로 사용했으나, 시간이 지나고 우연히 이와 관련된 내용을 보니 그보다 주요한 목적이 있는 것 같아 이를 찾아서 정리해보았습니다. 그때 그 시절 코드... @Configuration @EnableWebSecurity @EnableGlobalMethodSecurity(prePostEnabled = true) @RequiredArgsConstructor public class SecurityConfig implements WebMvcConfigurer { @Bea..