본문 바로가기

728x90

전체 글

(150)
[Mysql] limit 페이징에서 쿼리 조회 건 수 구하기 SQL_CALC_FOUND_ROWS 백엔드에서 Paging을 구현할 때, limit offset 구조로 제한된 row의 개수를 가지고 온다 여기서 페이징을 구현을 위한 계산을 하기 위해 조회된 row 의 전체 건 수가 필요하게 되는데, 언제나 완벽한 쿼리를 작성할 수 없기 때문에, 성능적으로 좋지 않은 경우가 있다 이런 경우, limit로 제한한 데이터의 건수와 전체 데이터 건 수를 각각 호출하여 데이터를 불러올 때, count() 함수를 이용하여 데이터를 가져오면 데이터를 가져오는 시간보다 타임아웃이 더 길게 걸릴 수 있다 물론 쿼리 튜닝을 진행하면 좋겠지만, 상황 상 튜닝을 할 여유가 없다면 해당 방법으로 전체 건수를 가져오는 것도 좋은 방법이라고 생각한다 이번 포스팅에서는 Mybatis 환경에서 페이징 처리를 하는 데이터의 전체 건..
[Ubuntu] 서버 Tomcat 꺼지면 재시작하는 스크립트 작성하기 [서버 관련 포스팅 글] https://hdhdeveloper.tistory.com/106 [Ubuntu] Linux 에서 톰캣 재시작 스크립트 작성하기 [서버 관련 포스팅 글] https://hdhdeveloper.tistory.com/104 [Ubuntu 보안 설정] Fail2Ban SSH 구축 방법 무작위 대입 공격 (Brute-Force) 대응하기 sudo vi /etc/fail2ban/jail.conf​ 각설 이번에 보안의 중.. hdhdeveloper.tistory.com https://hdhdeveloper.tistory.com/104 [Ubuntu 보안 설정] Fail2Ban SSH 구축 방법 무작위 대입 공격 (Brute-Force) 대응하기 sudo vi /etc/fail2ban/jai..
[Ubuntu] Linux 에서 톰캣 재시작 스크립트 작성하기 [서버 관련 포스팅 글] https://hdhdeveloper.tistory.com/104 [Ubuntu 보안 설정] Fail2Ban SSH 구축 방법 무작위 대입 공격 (Brute-Force) 대응하기 sudo vi /etc/fail2ban/jail.conf​ 각설 이번에 보안의 중요성에 대해 실전에서 배웠다 클라우드 서버를 운영하면서 소위 무작위 대입 공격이라고 불리는 Brute Force 공격으로 인해 root 계정이나 서버에 hdhdeveloper.tistory.com https://hdhdeveloper.tistory.com/100 Linux Ubuntu 톰캣 서버 구축 [1] Ubuntu 는 Linux 커널에서 사용하는 OS다 이번 포스팅에서는 Ubuntu 운영체제에서 Tomcat (WAS) ..
[SpringFramework] 게시판 페이징 기능 예제 ,쉽게 페이징을 구현하자 이번 포스팅에서는 게시글의 생성일을 파라미터로 이용해서 간단한 게시판 페이징 (Paging) 기능을 구현하는 API를 만들려고 한다 Paging ? 게시판 글을 page 단위로 나누는 작업이다 한 page에 몇개의 데이터를 보여줄 건지도 개발자가 직접 정할 수 있도록 구현할 예정이다 API를 개발하기 위해 각각의 Controller,Service,DAO를 생성한다 사전작업 먼저, VO를 생성해서 구현했기 때문에, 해당 요청들에서 필요한 VO를 먼저 정의한다 [SearchVO] 게시글 리스트를 조회하기 위한 요청 파라미터 VO user_no : 어떤 사용자가 조회했는지 확인하기 위한 사용자 번호 last_grid_date : 마지막에 보여진 게시글 length : 보여질 게시글 숫자 public class..
[Ubuntu 보안 설정] Fail2Ban SSH 구축 방법 무작위 대입 공격 (Brute-Force) 대응하기 sudo vi /etc/fail2ban/jail.conf​ 각설 이번에 보안의 중요성에 대해 실전에서 배웠다 클라우드 서버를 운영하면서 소위 무작위 대입 공격이라고 불리는 Brute Force 공격으로 인해 root 계정이나 서버에 설정해놓은 배치파일 등 제어할 수 없는 상태가 되어 구축했던 서버를 재구축하는 일이 발생했다 전혀 예측할 수 없었던 일이었지만, 이 일로 인해 공격에 대해 예방을 해놓아야 한다고 생각했다 심지어 서버 이미지를 무중단 배포나 로그 관리 배치 파일등을 설정하기 이전에 버전으로 백업해 두어서 거의 처음부터 서버 설정을 다시했다 .. 1 SSH 무작위 대입 공격은? 일단 Brute Force 공격은 특정 서버가 아닌 여러 서버에 대해, SSH 원격 접속 시도를 비밀번호를 마구잡이로 ..
[안드로이드 에러 해결] SDK location not found [ SDK location not found. Define location with an ANDROID_SDK_ROOT environment variable or by setting the sdk.dir path in your project's local properties file at '/Users/walkydoggy/git/dogmaster_app/android/local.properties'. ] 해당 에러는 안드로이드 스튜디오를 이용해서 시뮬레이터 및 기기를 연결해서 프로젝트를 실행할 때, 안드로이드 SDK 설정이 잘못되어있으면 발생하는 에러다 이번 포스팅에서는 해당 에러를 해결하는 방법을 포스팅한다 1 안드로이드 SDK 경로 확인 안드로이드 스튜디오 진입 페이지에서 [SDK Manager] 선..
[안드로이드 에러 해결방법]error Failed to install the app. Make sure you have an Android emulator running or a device connected. [ Task :app:installDebug FAILED Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0. Use '--warning-mode all' to show the individual deprecation warnings. See https://docs.gradle.org/6.5/userguide/command_line_interface.html#sec:command_line_warnings 684 actionable tasks: 9 executed, 675 up-to-date FAILURE: Build failed with an exception. * What went wrong:..
[Xcode] pod install 오류 발생 해결 방법 CocoaPods could not find compatible versions for pod [ [!] CocoaPods could not find compatible versions for pod "ChannelIOSDK": In snapshot (Podfile.lock): ChannelIOSDK (from `https://mobile-static.channel.io/ios/latest/xcframework.podspec`) In Podfile: ChannelIOSDK (from `https://mobile-static.channel.io/ios/latest/xcframework.podspec`) It seems like you've changed the version of the dependency `ChannelIOSDK` and it differs from the version store..

728x90