DataGrip에서 SQL Formatting 하는 기본 단축키는 Ctrl + Alt + L / Cmd + Alt + L 입니다.해당 기능을 이용해 SQL을 정리하면 SQL을 분석할 때나 작성할 때 도움이됩니다.다만 기본 설정에서는 SQL 키워드를 대문자로 변환해주지 않습니다.사람마다 혹은 회사마다 선호하는 규칙이 다를 수 있지만 저는 키워드를 대문자로 표기하는 걸 선호합니다.이를 위한 설정은 Setting > Editor > Code Style > SQL > General 의 Case 탭에서 설정할 수 있습니다.위와 같이 설정을 변경하면 우측 샘플 쿼리에서 변경 사항이 하이라이트됩니다. 설정을 저장하고 이후부터는 SQL Formatting 키를 통해 편하게 변환하면됩니다.
리눅스는 보통 서버로 많이 이용되고, 서버를 운영하면 여러가지 상황을 마주하게 됩니다.그 중 네트워크 장애 상황 발생 시 유용한 도구가 네트워크 점검 도구들입니다. 1. traceroutetraceroute는 네트워크 패킷이 목적지까지 도달하는 경로를 추적하는 도구입니다. 각 네트워크 홉(라우터)를 지나갈 때 마다 패킷이 어떤 경로를 따라가는지, 그리고 각 홉에서의 지연 시간(Latency)을 보여줍니다. 이를 통해 네트워크에서 패킷 전송 경로를 확인하고, 어디에서 지연이나 패킷 손실이 발생하는지 파악할 수 있습니다.traceroute tistory.com예를들어 위 명령어를 통해 tistory.com 도메인까지의 네트워크 경로를 추적할 수 있습니다.traceroute는 각 네트워크 홉에 도달할 때 마다..
전 직장에서 유저가 사용중인 window 정보를 수집하는 프로그램을 운영했었다.당시 client 개발 담당은 아니라서 원본 코드를 볼 일은 잘 없었는데, 문제는 Windows OS만 지원했었다는 것이다.요즘은 기업에서 Mac을 사용하는 비중이 조금 높아지기도 했고 IT업계에선 더 Mac이 대중화 되었는데 Windows에서만 지원하는게 좀 아쉬웠었다.그런 생각이 문득 들어 Python을 이용해 현재 활성중인 window 의 정보를 수집해보았다.Python을 사용한 이유는 Node로 진행해서 Electron으로 프로그램을 만들려고 했었는데, 프로세스 수집 외 부가 작업이 생각보다 많았었다.Python도 Mac과 Windows UI 개발이 가능하고 비교적 쉽게 수집이 가능해서 Python으로 진행했다. Win..
IntelliJ 2024.2 버전에서 새로운 Java Class 생성 시 아래 오류가 발생했다.검색했을 때 대부분 Invalidate Cache를 실행하라는 이야기들이라 그렇게했고 바로 Class가 생성되길래 해결된 줄 알았다.해당 방법은 1회성으로만 유효했고 다시 같은 문제를 만나면 또 Invalidate Cache를 실행해야했다.원인이 제거된 건 아니었던 것이다. 다시 정보를 찾던 중 Jetbrains Youtrack에 등록된 이슈에서 답을 찾을 수 있었다.https://youtrack.jetbrains.com/issue/IJPL-2576/idea-ideaIU-232.8296.17-aarch64-create-class-error위 조언대로 Codota AI Autocomplete for Java an..
Electron은 여러 OS를 지원하다보니 OS별로 예외를 처리해야할 때가 있다.이 때는 Node의 OS 모듈을 이용해 OS를 식별하고 예외처리를 할 수 있다.const os = require('os');// 현재 운영 체제가 macOS인지 확인const isMac = os.platform() === "darwin";// 현재 운영 체제가 Windows인지 확인const isWindows = os.platform() === "win32";// 현재 운영 체제가 Linux인지 확인const isLinux = os.platform() === "linux";module.exports = { isMac, isWindows, isLinux,}; OS 모듈에 대한 자세한 설명 : https://nodejs.o..
본문 내용은 Appium + JUnit 기반에서 진행된 내용입니다.이전 포스트에 이어서 React-Native로 개발 된 앱 프로젝트에서 일부 Component가 XPath로 제어되지 않아 터치로 해결했었다.그 중 드래그가 필요한 Picker UI에서 좌표로 드래그 동작을 구현한 방법이다. int startX = 510; // 드래그 시작 지점의 X 좌표int startY = 1065; // 드래그 시작 지점의 Y 좌표int endY = 616; // 드래그 종료 지점의 Y 좌표TouchAction dragAction = new TouchAction(driver);dragAction.longPress(PointOption.point(startX, startY)) .moveTo(PointOption.poi..
본문 내용은 Appium + JUnit 기반에서 진행된 내용입니다.React-Native로 개발 된 앱 프로젝트에서 일부 Component로 구현된 UI가 XPath로 제어되지 않는 경우가 있었다.버튼을 findElementByXPath로 지정해도 버튼을 찾지 못한다던가.. 모든 화면이 아닌 특정 Component를 사용한 화면에서 발생했었고, 테스트 대상 디바이스가 정해져있었기 때문에 좌표로 해결하는 방향으로 결정했다. 일반적인 Element 조작은 WebElement Class를 이용하지만, 좌표로 제어해야하는 경우는 TouchAction Class를 이용한다. // 버튼을 클릭WebElement cancelBtn = (WebElement) driver.findElementByXPath("...");..
Playwright의 테스팅 화면을 영상으로 녹화하는 방법 중 하나인 playwright-video 라이브러리입니다.playwright-video 라이브러리를 설치하면, 간단한 코드를 통해 영상 녹화를 핸들링할 수 있습니다. 설치 npm i playwright playwright-video @ffmpeg-installer/ffmpeg 활용 예const { saveVideo } = require('playwright-video');test.describe('record video sample', () => { let testTab; let saveVideo; test.beforeAll(async ({ browser }) => { // 테스트 시작 전 영상 녹화 세팅 testTab = awai..
- Total
- Today
- Yesterday
- zero
- IT
- JSP
- 아이폰
- 티스토리챌린지
- Objective-C
- iOS 개발
- iPhone
- Java
- 오브젝티브 C
- MAC OSX 10.7
- iBATIS
- 제이쿼리
- jQuery
- SQL
- 아이폰 어플리케이션
- oracle
- 자바
- 자바스크립트
- Spring Framework
- 오브젝트 C
- Objective C
- JavaScript
- tomcat
- MySQL
- Object C
- 아이폰 개발
- 오블완
- Spring
- Programming
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |