이 글은 백엔드 개발 초보가 작성한 글로, 일부 잘못된 내용이 있을 수 있습니다.이상하거나 잘못된 부분은 댓글을 통해 알려주세요! Spring Boot를 처음 배울 때 함께 등장하는 Spring Security.처음 느낀 인상은 "왜 이렇게 뭐가 복잡하지?"였다. Spring Security는 도대체 어떻게 돌아가는 걸까? 1. Java ServletSpring Security를 이해하려면 먼저 Servlet을 알아야 한다.우리가 흔히 짜는 일반 자바 애플리케이션(main() 함수가 있는)은 개발자가 객체의 생성과 실행 흐름을 작성한다.하지만 Servlet은 다르다.일반 App: 내가 직접 new 하고 실행한다.Servlet: 나는 로직(service())만 짜두면, 생성하고 호출하고 지우는 건 Cont..
프로그래밍/개발
이 글은 웹 프론트엔드 개발 초보가 작성한 글로, 일부 잘못된 내용이 있을 수 있습니다. 이상하거나 잘못된 부분은 댓글을 통해 알려주세요! 필자는 현재 Friday라는 동아리에서 운영을 담당하고 있다. 그러던 어느 날 "우리 동아리만을 위한 블로그 페이지를 만들자!"라고 다짐하였고, 노션 API를 이용하여 노션에 글을 쓰면 사이트에서 글을 확인할 수 있는 구조로 제작하였다. 그러나 이 블로그는 큰 문제를 낳았는데... 우리 웹사이트가 느리다고? 그 문제는 바로 로딩 속도였다. 노션 API를 호출하는 시간이 너무 길어서, 길게는 3초 이상까지 길어지기도 했다. 심지어 동아리 구성원 중 한 분께서는 로딩을 기다리던 중 "아직 완성이 안됐나 보네요."라고 하셨다... 😱 어떻게 해결할 수 있을까? 노션과 관련..
소프트웨어 마에스트로에서 프로젝트를 하면서 다크 모드를 적용해야 하는 일이 있었다. 우선 지금 진행 중인 프로젝트는 이른바 "태블릿 문제 풀이 플랫폼"인데, 자세한 설명은 추후 게시하려고 한다. 아무튼, 이 글을 쓰게 된 이유는 프로젝트의 특수성 때문에 다크 모드 구현에 신경 쓸 것들이 많았기 때문이다. 일반적인 다크모드 사실 Flutter의 MaterialApp은 darkTheme과 themeMode를 지정할 수 있기 때문에, 다크 모드를 쉽게 구현할 수 있다. MaterialApp( ... darkTheme: ThemeData.dark(), themeMode: ThemeMode.dark, ); 이렇게 하면 앱의 theme은 자동으로 기본 다크모드 테마로 변경된다. themeMode를 ThemeMode..