본문 바로가기

분류 전체보기720

자바스크립트 크롬에서 엣지로 링크 열기 특별한 경우 크롬에서 엣지 브라우저로 링크를 열어야 하는 경우가 있습니다. 예를 들면 회사에 엣지 기반으로 개발된 시스템은 크롬에서 정상 작동을 하지 않을 경우에 크롬 기반으로 개발하는 시스템에서 엣지 기반의 타 시스템을 엣지로 열어야 할 때입니다. 참고 : 반대로 엣지에서 크롬으로 여는 것은 안되네요. ㅠㅠ 자바스크립트 코드는 간단합니다. URL에 앞에 "microsoft-edge:"를 붙여주기만 하면 됩니다. 자바스크립트 예 window.location = "microsoft-edge:" + "https://www.naver.com"; HTML 예 엣지로 네이버 열기 2023. 11. 8.
자바스크립트 ==와 ===의 차이점 최근 개발하면서 프로그램에 버그가 발생하였습니다. 버그는 자바스크립트로 아래와 같이 처리 했는데, if문이 참이 되어 발생한 것이었습니다. 그래서 === 비교 연산자를 사용하여 버그를 수정하였습니다. var a = 0; var b = ""; if(a == b){ // true ... } ==와 === 비교 연산자의 차이점을 알아야 할 것 같습니다. == 연산자는 값만 비교하고, === 연산자는 값과 타입을 함께 비교하게 됩니다. 즉 1 == "1" 는 true이고, 1 === "1"은 false가 된다는 것입니다. 간단하 예제로 확인해보겠습니다. 숫자와 문자 비교 console.log(1 == "1");// true console.log(1 ==="1");// false 숫자와 참거짓 비교 console.. 2023. 10. 25.
자바스크립트 "YYYY-MM-DD" 형식의 문자 날짜 체크 자바스크립트로 날짜 정확한 날짜를 체크하는 것이 약간 애매합니다. Date.parse를 사용하면 좋은데, 단점이 2월 30일(2023-02-30)을 아규먼트로 넣어도 오류(NaN)가 발생하지 않는 현상이 발생합니다. 그리고 new Date("2023-02-30")로 넣어도 오류가 발생하지 않아 try catch를 할 수 없습니다. 날짜 문자(YYYY-MM-DD)를 체크 로직 순서는 아래과 같이 작성합니다. (1) YYYY-MM-DD 형식 체크 (2) Date.parse를 이용하여 정확한 날짜 체크 (3) new Date(...).toISOString() 함수로 날짜 문자와 Date형으로 형변환한 값이 동일한지 체크 1. YYYY-MM-DD 형식 체크 날짜 문자의 길이는 10이고, "-"로 문자를 분리한 .. 2023. 8. 29.
Privacy Policy Who I am This blog address is: https://docko.tistory.com Comments When visitors leave comments on this blog, we collect the data shown in the comments form and also the visitor’s IP address and browser user agent string to help spam detection. Embedded content from other websites Articles on this site may include embedded content (e.g. videos, images, articles, etc.). Embedded content from other.. 2023. 8. 7.
[SlickGrid] 셀(Cell)에 툴팁(Tooltip) 표시하기 SlickGrid의 Header의 툴팁은 컬럼 정의에서 속성으로 처리를 할 수 있습니다. 셀의 경우는 좀 다르게 처리를 해야 셀에 툴팁을 표시 할 수 있습니다. 즉, 셀에 Format을 적용하여 처리를 해야 하네요. 1. SlickGrid Version 아래의 예는 SlickGrid v2.4에서 테스트 했으며, 하위 버전에서는 작동하지 않을 수도 있습니다. 2. 툴팁을 위한 Format 함수 셀에 툴팀을 표시하기 위해서는 Format의 리턴 값을 JSONObject로 속성 text와 toolTip을 갖고 있어야 합니다. text는 그리드 셀에 표시되고, toolTip은 셀에 마우스 오버가 되면 툴팁으로 표시됩니다. function tooltipCellFormat(row, cell, value, colum.. 2023. 7. 13.
MSSQL - 프로시저에서 SELECT 절의 값을 변수에 할당하는 방법 MSSQL 프로시저에서 변수를 선언하고 SELECT절의 값을 변수에 할당하는 방법입니다. 변수 선언 DECLARE @변수명 데이터타입; DECLARE @INT_VAL INT; DECLARE @STR_VAL VARCHAR(200); 변수에 값 할당 변수에 값을 할당 할때는 앞에 SET을 기술하고 할당하면 됩니다. SET @INT_VAL = 10; SET @STR_VAL = 'ABCDED'; SELECT 절의 여러 값을 변수에 할당 하는 방법 SELECT 절의 여러 컬럼의 값을 할당 할 수도 있습니다. ROW가 여러개인 경우 마지막 값이 할당되는점 주의하세요. DECLARE @INT_VAL INT; DECLARE @STR_VAL VARCHAR(200); WITH TEST AS ( SELECT 10 VAL1,.. 2023. 7. 12.
MSSQL 문자 함수 모음 MSSQL에서 사용 할 수 있는 문자 관련 함수입니다. ASCII : 왼쪽 첫번째 문자의 ASCII코드 값을 반환 -- ASCII(character_expression) SELECT ASCII('ABC') CHAR : ASCII 코드를 문자로 변환 -- CHAR (integer_expression) SELECTchar(65) CHARINDEX : expression2에서 expression1의 시작 INDEX 반환, 없으면 0 반환 -- CHARINDEX( expression1,expression2 [ , start_location] ) SELECT CHARINDEX('다', '가나다라마', 2) LEFT, RIGHT : 문자열의 왼쪽 또는 오른쪽부터 지정된 수만큼의 문자를 반환 -- LEFT,RIGHT.. 2023. 6. 28.
MSSQL 여러 Row를 하나로 합치기 여러 ROW의 컬럼의 값을 하나로 합치는 방법입니다. XML 만드는 쿼리를 이용하는데, 아래와 같이 쿼리를 실행하면 NAME 태그로 XML이 표시됩니다. WITH A AS ( SELECT '이순신' NAME UNION ALL SELECT '홍길동' NAME UNION ALL SELECT '김유신' NAME ) SELECT NAME FROM A ORDER BY NAME FOR XML PATH('') XML 태그를 없애기 위해서는 컬럼명을 지정하시 않게 해야 하는데, 구분자(,)를 넣고 ALIAS(별칭)를 지정하지 않습니다. WITH A AS ( SELECT '이순신' NAME UNION ALL SELECT '홍길동' NAME UNION ALL SELECT '김유신' NAME ) SELECT ',' + NA.. 2023. 6. 28.
MSSQL WITH NOLOCK 설정하기 MSSQL에서 트랜잭션이 진행중인 테이블을 SELECT 하면 트랜잭션이 끝날때까지 SELECT는 팬딩됩니다. 트랜잭션이 끝날때까지 기다리지 않고 SELECT 하기 위해서는 FROM절의 테이블마다 WITH (NOLOCk)를 넣어 주어야 합니다. SELECT * FROM [테이블명] WITH(NOLOCK) 매번 테이블에 WITH(NOLOCK)을 넣기에는 너무 귀찮죠..^^ SELECT 쿼리 수행 전에 아래의 와 같이 NOLOCK을 설정하면 FORM 절에 WITH(NOLOCK) 을 넣지 않아도 됩니다. SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; 2023. 6. 22.
MSSQL 여러 컬럼의 MIN, MAX, SUM, AVG 구하기 하나의 Row에 여러 컬럼 중 최소값, 최대값, 합계 등을 구하는 방법입니다. 많이 사용하지 않는 쿼리지만 알고 있으면 힘이 되겠죠. 아래의 간단한 예제를 보고 쉽게 따라 할 수 있을 겁니다. WITH T AS ( SELECT 12 A, 13 B, 56 C, 123 D, 3 E ) SELECT (SELECT MIN(COL) FROM (VALUES (A), (B), (C), (D), (E)) AS V(COL)) MIN_VAL, -- 최소값 (SELECT MAX(COL) FROM (VALUES (A), (B), (C), (D), (E)) AS V(COL)) MAX_VAL, -- 최대값 (SELECT SUM(COL) FROM (VALUES (A), (B), (C), (D), (E)) AS V(COL)) SUM.. 2023. 6. 13.
맥북 FHD 모니터 폰트 흐림 해결 맥북을 사용한지 6개월정도 되었고 아직도 적응 중에 있습니다. 엘지 FHD 모니터를 구입했는데, 이런 폰트가 흐리네요. ㅠㅠ 구글링을 해서 찾아보니 맥북에 외부모니터는 4K모니터를 구입해야 한다는 거였습니다. 그래도 포기 할 수 없어서 더 구글링을 해서 폰트를 부드럽게 하는 옵션을 조정하여 폰트 흐림 현상을 해결 했습니다. 아래의 명령을 터미널에서 실행하고, 맥북을 재시동하는 작업을 수행하면 최적의 환경을 찾아보세요. 옵션 활성화 (기본 무난한 설정 값) : defaults -currentHost write -g AppleFontSmoothing -int 0 Light Font 옵션 (약간 얇은 폰트) : defaults -currentHost write -g AppleFontSmoothing -int .. 2023. 5. 12.
iOS 상태바(Status Bar) 글자 색깔 밝게 변경하기 iOS의 상단 상태바의 색상을 밝게(Light Content) 변경하는 방법입니다. 기본은 아래의 이미지와 같이 검은색(Dark Content)로 되었습니다. 1. 프로젝트 네비게이터에서 프로젝트를 선택합니다. 2.프로젝트 설정들에서 Info 탭을 선택합니다. 3. Custom iOS Target Properties에 "Status bar Style"과 "View controller-based status bar appearance"를 아래와 같이 추가합니다. Status bar style : Light Content View controller-based status bar appearance : NO 4. 프로젝트를 실행하면 아래와 같이 상태바의 색깔이 변경됩니다 2023. 3. 21.
iOS Swift UILabel에 Padding 적용하기 UILabel에는 아쉽게도 Padding을 적용 할 수 없습니다. 그래서 UILabel을 상속 받은 클래스에 Padding을 적용 할 수 있도록 처리를 해야 합니다. Padding을 적용하는 방법에 대해서 알아보겠습다. 1. Xcode 에서 Swift 파일(PaddingLabel.swift)을 추가합니다. 2. PaddingLabel.swift에 아래의 코드를 작성합니다. import UIKit @IBDesignable class PaddingLabel: UILabel { @IBInspectable var topPadding: CGFloat = 0.0 @IBInspectable var leftPadding: CGFloat = 0.0 @IBInspectable var bottomPadding: CGFloa.. 2023. 3. 16.
iOS UITextField 비활성화(수정 못하게) 하고, 클리어 버튼은 활성화 시키기 안드로이드 개발자로써 서서히 iOS 개발의 위한 스터디를 하고 있습니다. UITextField에 수정을 못하게 하고, 클리어 버튼을 사용해야 하는 경우 가 발생하여 처리 할 수 있는 방법을 구글링에서 찾았습니다. 1. UITextField를 화면에 넣습니다. 2. TextField의 속성에서 클리어 버튼(Clear Button)을 추가합니다. 3. 해당 ViewController에 TextField의 변수를 연결합니다. import UIKit class ViewController: UIViewController { @IBOutlet weak var textField2: UITextField! } 4. ViewController에 프로토클 UITextFieldDelegate을 상속 받습니다. import .. 2023. 3. 2.
Xcode 14에서 Main 스토리보드 지정하기 Xcode 14에서는 프로젝트 설정의 General에 Main Interface 속성이 없어졌습니다. 어딘가에 있을 것 같아서 찾아보니 프로젝트 설정의 Info으로 변경되었습니다. 아래의 그림에서와 같이 Info > Custom iOS Target Properties > Main storyboard file base name에 Main 스토리 보드를 지정하면 됩니다. 2023. 2. 8.
윈도우에 익숙한 Ctrl + C, Ctrl + V를 맥OS에서 키보드 설정하기 윈도우에 익숙한 사용자들이 맥OS에서 가장 불편하게 생각하는 것이 Copy & Paste 같습니다. 저 또한 맥OS의 Copy & Paste인 커맨드 + C, 컨맨드 + V가 도통 익숙해지지 않고 있습니다. 윈도우처럼 Copy & Paste를 할 수 있도록 키보드를 설정하는 방법입니다. 1. 시스템 설정에서 키보드 > 키보드 단축키를 클릭하세요. 2. 키보드 단축키 화면에서 보조키 > 키보드 선택에서 변경 할 키보드를 선택하세요. 3. Control 키를 Command, Command키를 Control로 변경하면 키보드에서 Ctrl + C, Ctrl + V 처럼 사용할 수 있습니다. 2023. 1. 4.
맥북에서 SQLite 용량 줄이기 윈도우즈의 DB Browser for SQLite 툴의 메뉴에서 DB 파일의 용량을 줄였습니다. 하지만 맥OS의 DB Browser for SQLite에서는 해당 기능이 없네요. ㅠㅠ DB 파일의 용량을 줄이기 위해서는 아래의 명령어를 SQL에서 실행하면 용량이 줄어듭니다. VACUUM; 1. 용량 줄이기 전 SQLite 파일의 크기입니다. 2. DB Browser for SQLite에서 VACUUM을 쿼리 실행 화면에서 실행합니다. 3. 아래와 같이 DB 파일 청소 작업을 할 것인지 물어봅니다. 예를 클릭하면 청소작업을 수행합니다. 4. 아래와 같이 약 1MB 줄어드었습니다. 2022. 11. 27.
맥북 이클립스에서 자동완성 설정키 변경하기 개발환경을 윈도우즈에서 맥북으로 바꾼지 4주정도 되었습니다. 안드로이드 스튜디오 프로젝트를 맥북에서 하나하나 컴파일하면 설정을 완료했습니다. 이제 이클립스에서 개발환경을 설정하러고 프로젝트를 생성하고 약간의 코팅을 하는데, 이클립스의 자동 완성 단축키가 작동하지 않네요.ㅠㅠ 그래서 구글링을 하여 이클립스 자동완성 단추키를 새로 설정하였습니다. 1. Eclipse > Preferences 메뉴를 클릭합니다. 2. Preferences 화면에서 좌측 필터에 key를 입력하고, 필터된 항목중에 Keys를 선택하고, Content Assist항목을 클릭 후 Binding에 Ctrl + Enter로 설정하였습니다. 2022. 11. 21.
안드로이드12 위젯 PendingIntent Flag 오류 안드로이드 프로젝트의 타겟을 31(안드로이드12)로 설정하고 위젯에서 아래와 같은 오류가 발생했습니다. Targeting S+ (version 31 and above) requires that one of FLAG_IMMUTABLE or FLAG_MUTABLE be specified when creating a PendingIntent. Strongly consider using FLAG_IMMUTABLE, only use FLAG_MUTABLE if some functionality depends on the PendingIntent being mutable, e.g. if it needs to be used with inline replies or bubbles. PendingIntent에 FLAG_.. 2022. 11. 12.
java.lang.UnsupportedClassVersionError: com/android/tools/idea/gradle/run/OutputBuildAction has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up.. 윈도우즈에서 개발한 안드로이드 프로젝트를 맥북에서 컴파일이 아래와 같은 오류가 발생했습니다. java.lang.UnsupportedClassVersionError: com/android/tools/idea/gradle/run/OutputBuildAction has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0 OutputBuildAction 클래스가 55 에서 컴파일 되었고, Java Runtime은 52라서 오류가 발생하는 것 같습니다. 그래서 안드로이드스.. 2022. 11. 8.
맥OS(macOS) 마우스휠 방향 바꾸기 오늘 맥북프로를 드디어 받았습니다. iOS개발을 위해 구입해서 처음 사용하고 있는데 마우스휠의 방향이 윈도우즈와 반대로 작동하네요. 맥OS에서 마우스휠 방향을 바꾸는 방법입니다. 1. 맥OS 화면의 좌측 상단의 사과 > 시스템 설정을 클릭합니다. 2. 시스템 환경설정에서 마우스를 클릭합니다. 3. 마우스 환경설정에서 중앙 상단의 스크롤 방향: 자연스럽게의 체크를 해제하면 윈도우즈와 동일한 방향으로 휠이 작동합니다. 2022. 11. 4.