본문 바로가기

전체 글727

[iOS] 스토리보드(Storyboard)에서 ImageView Tint Color 적용하기 스토리보드에서 ImagView를 추가하고 Tint에 색상을 변경하여도 작동하지 않습니다.Accets 이미지의 렌더러 모드를 템플릿으로 변경하고 ImageView의 Tint 색상을 변경하면 적용된다.1. Accet 이미지를 템플릿으로 변경한다. 2. ImageView의 Tint를 변경한다. 참고 : 아래는 코드로 ImageView의 Tint 색상을 변경하는 방법입니다.cell.ivRoute.image = UIImage(named: "route_busstop")?.withRenderingMode(.alwaysTemplate)cell.ivRoute.tintColor = .red 2024. 5. 9.
[iOS] Alamofire 한글(EUC-KR) 인코딩하기 Alamofire를 사용할 때 EUC-KR로 된 경우 한글이 깨지는데 Response을 인코딩 하는 방법입니다.Alamofire.request(strUrl).responseData() { response in switch response.result { case .success(let data): let dataString = NSString(data: data, encoding: CFStringConvertEncodingToNSStringEncoding(CFStringEncoding(CFStringEncodings.EUC_KR.rawValue))) let strHtml = dataString as? String ?? "" let doc = try Swif.. 2024. 5. 8.
[iOS] String 한글(EUC-KR) 인코딩 대부분의 우리나라 사이트는 인코딩 UTF-8로 사용하고 있지만, 관공서의 사이트는 EUC-KR을 사용하는 곳이 많습니다.관공서 사이트를 크롤링하려면 파라메터 등을 EUC-KR로 처리해야 하는데 아래의 함수로 처리하였습니다. static func euckrEncoding(_ query: String) -> String { //EUC-KR 인코딩 let rawEncoding = CFStringConvertEncodingToNSStringEncoding(CFStringEncoding(CFStringEncodings.EUC_KR.rawValue)) let encoding = String.Encoding(rawValue: rawEncoding) let eucKRStri.. 2024. 5. 8.
[iOS] Command PhaseScriptExecution failed with a nonzero exit code iOS 개발을 할 때 디버거로 컴파일하고 시뮬레이터에 앱이 잘 실행되는데 앱스토어에 앱을 올리기 위해서 Product > Archive 실행하니 아래와 같은 오류가 발생합니다.Command PhaseScriptExecution failed with a nonzero exit code해결방법은 아래의 위치에서 source="$(readlink "${source}")"를 source="$(readlink -f "${source}")"와 같이 변경 후 다시 Archive 를 실행하면 정상적으로 컴파일됩니다. 2024. 5. 7.
iOS Swift TextField 클리어 버튼 시 소프트 키보드 올라오는 현상 해결방법 TextField의 클리어 버튼을 탭하면 TextField의 내용이 지워지고, 소프트 키보드가 올라오는데 이 키보드가 올라오지 않게 하는 간단한 방법입니다.약간의 꽁수를 썼는데, 크리어 버튼이 눌러질 때 TextFiel의 isEnabled를 false로 지정해서 비활성화 시키고 DispatchQueue를 이용하여 0.1초 후 다시 활성화를 시켜서 문제를 해결했습니다.  func textFieldShouldClear(_ textField: UITextField) -> Bool { searchRecent() tfSearch.isEnabled = false DispatchQueue.main.asyncAfter(deadline: .now().. 2024. 5. 6.
[iOS] Sandbox: rsync.samba... 오류 해결 방법 iOS 프로젝트에 Tabman 라이브러리를 CocoaPods로 적용 후 아래와 같은 오류가 발생했습니다. 구글링해서 찾아보니 프로젝트 Build Settings에서 User Script Snadboxing의 값을 No로 설정하고 다시 빌드하면 오류가 발생하지 않습니다. 2024. 4. 25.
[iOS] xcode 프로젝트에 CocoaPods 사용하기 xcode 프로젝트를 생성하고 CocoaPods로 라이브러리를 사용하기 위한 작업순서입니다.개인적으로 안드로이드와 iOS를 함께 개발 하다보니 새로운 iOS 프로젝트를 생성하고 CocoaPods 사용하는 방법을 잊어서 정리합니다. 1. 터미널로 xcode 프로젝트 폴더로 이동합니다.2. CocoaPods을 적용합니다.pod init아래와 같이  Podfile 파일이 생성됩니다. 3. Podfile에 라이브러리(pod 'Tabman', '~> 3.2' )를 추가했습니다.# Uncomment the next line to define a global platform for your project# platform :ios, '9.0'target 'TabTest' do # Comment the next l.. 2024. 4. 25.
자바스크립트 크롬에서 엣지로 링크 열기 특별한 경우 크롬에서 엣지 브라우저로 링크를 열어야 하는 경우가 있습니다. 예를 들면 회사에 엣지 기반으로 개발된 시스템은 크롬에서 정상 작동을 하지 않을 경우에 크롬 기반으로 개발하는 시스템에서 엣지 기반의 타 시스템을 엣지로 열어야 할 때입니다. 참고 : 반대로 엣지에서 크롬으로 여는 것은 안되네요. ㅠㅠ 자바스크립트 코드는 간단합니다. 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.