본문 바로가기

분류 전체보기730

[iOS 앱 개발] Swift Dictionary 프로그래밍을 할 때 Dictionary 자료 구조 유용하게 사용하고 있습니다. C#에서는 Dictionary, 자바에서는 Map(HashMap, TreeMap 등) 등을 활용하고 있습니다. Swift의 Dictionary에 대한 간단한 사용법입니다. 빈 Dictionary 생성 var dict1 = [Int : String]() var dict2 : [Int : String] = [:] var dict3 : Dictionary = [Int : String]() var dict4 : Dictionary = [:] var dict5 : Dictionary = Dictionary() Dictionary 초기화 var dict1 = [1:"A", 2:"B", 3:"C"] var dict2 : [Int : Str.. 2022. 9. 5.
[iOS 앱 개발] Swift Set 컬렉션의 유용한 Set을 사용하는 법을 간단하게 소개합니다. Set은 중복 없이 값을 저장 할 수 있어서 코딩 시 유용하게 사용 할 수 있습니다. 예로 리스트 화면의 각 항목을 여러번 수정을 할 수 있는데, 이렇게 수정된 목록을 Set에 저장하면 하나의 수정된 항목만 관리 할 수 있습니다. 빈 Set 초기화 var intSet : Set = [] var strSet = Set() Set 초기화 var intSet : Set = [1,2,3] var strSet : Set = ["A", "B", "C", "A", "C"] // 중복 값은 제거됨 > ["A", "B", "C"] Set에 추가하기 var strSet : Set = ["A", "B", "C"] strSet.insert("D") Set에서 삭제하.. 2022. 9. 2.
[iOS 앱 개발] Swift 배열(Array) 스위프트의 배열에 대해서 간단한 코딩 예제들입니다. 약간 생소하긴 하지만 차근차근 익혀하고 있습니다. 빈 배열 초기화 var arr1 : [Int] = [] var arr2 = [Int]() var arr3 : Array = [] 배열 초기화 var arr1 : [Int] = [1,2,3,4,5] var arr3 : Array = [6,7,8,9,0] 여러타입 배열 초기화 var intArr : [Int] = [] var doubleArr : [Double] = [] var boolArr : [Bool] = [] var stringArr : [String] = [] 배열에 추가하기 var intArr : [Int] = [] // 추가하기 intArr.append(1) // += 연산자 사용 intArr .. 2022. 9. 1.
[iOS 앱 개발] Swift 문자열(String)의 특정 문자 사이의 문자 구하기(substring) 프로그래밍을 하다보면 문자열 자주 조작해야 하는 경우가 있습니다. 예를 들면 Java String 클래스의 substring 메소드를 이용하여 문자를 추출합니다. 현재까지 제가 알고 있는 지식으로는 Swift의 String 클래스에 substring 없는 듯 하네요.ㅠㅠ 아래의 코드는 특정문자(스페이스와 느낌표) 사이의 문자(world)를 추출하는 코드입니다. let hello = "Hello world!" // 스페이스 Index var sidx = hello.firstIndex(of: " ") // 느낌표 Index var eidx = hello.lastIndex(of: "!") if sidx != nil && eidx != nil{ // 스페이스 Index 다음 Index sidx = hello.i.. 2022. 8. 31.
iOS 앱 개발해볼까 안드로이드를 개발해서 앱을 출신하기 시작한지 벌써 10년이 넘은 세월을 보냈습니다. 10년의 세월동안 안드로이드는 Java에서 코틀린이라는 언어가 추가되기도 했지만, 아직 코틀린은 스터디하지 않았습니다. iOS 앱 개발을 위해서 React-Native를 사용해서 몇개의 앱을 출시하기도 했지만, 뭔가 부족한 느낌을 갖고 있습니다. 그래서 큰 마음을 먹고 iOS 앱 네이티브로 개발하기로 방향을 잡고, Swift를 공부 시작하려고 합니다. 장비도 맥북을 올해 하반기에 구입 할 예정입니다. 빠른 습득을 위해서 학원을 알아보았지만, Swift로 iOS를 개발하는 강의는 수요가 없어 학원측에서는 강의가 없다고 하네요.ㅠㅠ 독학으로 iOS 개발을 위한 스터디를 진행하기로 마음을 먹었습니다. 우선 Swift 언어에 대.. 2022. 8. 31.
이클립스 Git Revert SVN에서 Revert가 메뉴가 있는데 Git에는 없어서 구글링 한참을 했습니다. Git에서 Revert 하는 방법입니다. 수년간 사용했던 SVN의 고정관념 때문에 Git 사용이 힘드네요. ㅠㅠ 파일 또는 폴더 선택 > 마우스 우클릭 > Replace With > Index 2022. 8. 18.
MSSQL 문자 숫자 변환 및 숫자 체크 MSSQL에서 문자를 숫자로 변환해야 하는 경우가 종종 있습니다. 그런데 문자에 숫자가 아니 다른 문자가 있을 경우 오류가 발생하게 되는데 이런 경우 처리 방법을 알아보겠습니다. 문자를 숫자로 변화 쿼리 SELECT CONVERT(INT, '1234'), CONVERT(FLOAT, '1234.123'), CONVERT(NUMERIC, '1234.12345') 문자에 숫자가 아닌 경우 쿼리에 오류 발생 SELECT CONVERT(INT, 'a1234') ERROR : varchar 값 'a1234'을(를) 데이터 형식 int(으)로 변환하지 못했습니다. 문자를 숫자로 변화 가능 여부 쿼리 SELECT ISNUMERIC('a1234'), -- 0 (숫자 변환 X) ISNUMERIC('1234') -- 1 (.. 2022. 8. 18.
SlickGrid 엑셀 익스포트하기 SlickGrid의 데이터를 엑셀로 익스포트하는 방법입니다. 즉 포론트엔드에 표시된 SlickGrid의 데이터를 엑셀로 내려받을 수 있는 기능입니다. 아래의 GitHub의 SlickGrid-Export-to-Excel/dist의 모든 파일을 서버의 특정위치에 복사하세요. 저는 /SlickGrid/dist에 복사했습니다. https://github.com/ranjithprabhuk/SlickGrid-Export-to-Excel GitHub - ranjithprabhuk/SlickGrid-Export-to-Excel: jQuery plugin to export the entire data from slick grid to excel. A client si jQuery plugin to export the e.. 2022. 8. 9.
안드로이드12 개발 앱 실행 "앱이 설치되지 않았습니다." 표시되는 현상 안드로이드 스튜디오에서 오랜만에 프로젝트를 생성했습니다. 기존의 앱은 안드로이드 11 이하의 앱들이라 별문제 없이 개발을 하고 있습니다. 안드로이드12로 개발시 Activity에 필수 속성으로 exported가 추가되어 속성값을 false로 지정했습니다. 그리고 안드로이드 스튜디오에서 앱을 설치 및 실행을 했는데, 앱이 실행되지 않았습니다. 그래서 설치된 개발 앱을 탭하니 아래와 같이 "앱이 설치되지 않았습니다."라고 메세지가 나왔습니다. 해결 방법은 아래와 같이 LAUNCHER Activity의 exported="true"를 지정하면 안드로이드 스튜디오에서 앱을 실행하면 정상적으로 구동됩니다. 2022. 7. 14.
MSSQL에서 오라클 DECODE 처럼 쿼리 사용하기 오라클의 DECODE는 매우 유용한 함수입니다. MSSQL에서는 DECODE가 없어 처음에는 불편했습니다. 오라클의 DECODE처럼 사용 할 수 있는 방법을 소개합니다. 아래의 쿼리 예제를 실행해보면 쉽게 이해 할 수 있을 겁니다.^^ IIF 하나의 조건에 따라 참과 거짓으로 값을 표시 할 수 있는 함수입니다. IIF( boolean_expression, true_value, false_value ) 쿼리 예제 WITH CITY AS ( SELECT 10 CODE, '서울' NAME UNION SELECT 20 CODE, '부산' NAME UNION SELECT 30 CODE, '대구' NAME UNION SELECT 40 CODE, '대전' NAME ) SELECT NAME, IIF(CODE = 10,.. 2022. 7. 14.
SlickGrid 데이터 초기화하기 SlickGrid의 데이터를 초기화하는 함수를 작성해서 사용하고 있습니다. SlickGrid의 데이터를 DataView에 넣어서 사용하거나, JSON 데이터를 직접 넣어서 사용하는 경우를 모두 처리 할 수 있는 함수를 만들었습니다. SlickGrid에 DataView 사용하는 코드 var dataView = new Slick.Data.DataView(); var grid = new Slick.Grid("#gridContainer", dataView, gridColumns, options); SlickGrid에 JSON 데이터 사용하는 코드 var datas = [ { "name":"홍길도", "age":50 }, { "name":"이순신", "age":42 }, { "name":"김유신", "age":2.. 2022. 7. 12.
MSSQL 분모가 0 일때 처리 방법 MSSQL 데이터베이스의 데이터로 계산하는 쿼리에서 분모가 0일 때 아래와 같은 오류가 발생합니다. WITH TEST AS ( SELECT 10 A, 0 B ) SELECT A / B FROM TEST 0으로 나누기 오류가 발생했습니다. 아래의 쿼리 같이 IIF 또는 CASE를 사용하여 0 인 경우를 처리하기도 합니다. WITH TEST AS ( SELECT 10 A, 0 B ) SELECT IIF(B = 0, 0, A / B), CASE WHEN B = 0 THEN NULL ELSE A / B END FROM TEST 다른 방법으로 ANSI_WARNINGS, ARITHIGNORE, ARITHABORT을 설정하는 방법입니다. ANSI_WARNINGS ON으로 설정한 경우 SUM, AVG, MAX, MIN.. 2022. 7. 7.
SlickGrid 정렬 관련 구현 SlickGrid로 정렬 기능을 추가하고, 프그램으로 정렬을 하던지 또는 정렬을 초기화 하는 방법에 대해서 알아보겠습니다. 아래의 코드는 SlickGrid 생성 및 정렬 로직입니다. // 그리드 옵션 var options = { editable: true, enableAddRow: false, enableCellNavigation: true, autoHeight: false, enableColumnReorder: false }; // 그리드 컬럼 var columns = [ { id: "COL_ID_01", field: "COL_ID_01", width:80, cssClass: "text_center", formatter: verCellMergedFormatter, sortable: true, name:.. 2022. 6. 29.
SlickGrid 마우스 휠 제대로 작동하지 않을 경우 처리 방법 SlickGrid의 세로 스크롤이 제대로 작동하지 않는 경우가 있습니다. 예를 들면 마우스 휠을 연속으로 내리거나 올릴때 스크롤의 이동이 멈추는 현상이 있습니다. 그리고 컬럼을 고정하는 경우 고정된 컬럼에서는 마우스 휠이 작동하지 않습니다. 해결 방법으로는 SlickGrid 소스 내의 lib/jquery.mousewheel.js 를 페이지내에 포함(include)시키면 문제는 해결됩니다. 2022. 6. 13.
MSSQL 개월 차이에 대해서 MSSQL에서 두 날짜의 개월 차이를 구하는 함수로 DATEDIFF를 사용하면 됩니다. 하지만, DATEDIFF를 사용하면 일자까지를 계산하는 것이 아닌 단순히 월의 차이만을 구합니다. 즉, 올림을 하는 현상이 발생합니다. 아래의 쿼리는 8.x로 계산이 되어야 하지만, 월만으로 계산하여 9개월 나옵니다. SELECT DATEDIFF(MONTH, CONVERT(DATE, '20150529'), CONVERT(DATE, '20160201')) 개월수를 버림으로 처리하고 싶다면 아래의 쿼리로 처리해야 합니다. 결과는 8개월이 됩니다. SELECT CASE WHEN DATEPART(DAY, CONVERT(DATE, '20150529')) > DATEPART(DAY, CONVERT(DATE, '20160201').. 2022. 5. 24.
SlickGrid 세로 셀 병합(?)하기 SlickGrid는 무료이고, 대용량을처리하기에 매우 좋습니다. 하지만 상용 Grid에 비해서는 기능이 좀 떨어지기도 하죠. SlickGrid에서 세로 셀을 병합이라고 제목을 쓰기는 했지만, 사실 동일 값에 대해서 두번째 Row부터 값을 표시하지 않도록 처리하는 방법입니다. 하나의 세로 셀만 병합 코드 function verCellMergedFormatter(row, cell, value, columnDef, dataContext) { if(row == 0) return value; var items = dataView.getFilteredItems(); var preValue = items[row - 1][columnDef.field]; if(value == preValue) return ""; els.. 2022. 5. 20.
SlickGrid Cell 수정 중 Grid Data 반영하기 SlickGrid의 Cell을 수정 중에 저장 버튼을 클릭하면 Grid Data에 반영 안됩니다. Cell을 수정하고 SlickGrid의 다른 Cell을 클릭하거나, 엔터키를 입력하면 Grid Data에 반영되지만, 매우 번거롭습니다. 저장 버튼을 클릭 할 때 Grid Data를 반영하는 코드는 아래와 같으며, 취소도 할 수 있습니다. Cell 수정 중인 값 Grid Data반영하기 var grid = new Slick.Grid("#gridContainer", dataView, gridColumns, options); ... grid.getEditController().commitCurrentEdit(); Cell 수정 중인 값 취소하기 var grid = new Slick.Grid("#gridConta.. 2022. 5. 13.
SlickGrid Cell 달력 표시 한글 처리하기 SlickGrid의 Cell 에디터 중 달력(Slick.Editors.Date)의 경우 JQueryUI의 Date Picker사용합니다. 따라서 아래와 같이 처리하면 한글로 표시됩니다. $.datepicker.setDefaults({ dateFormat: 'yy-mm-dd', prevText: '이전 달', nextText: '다음 달', monthNames: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'], monthNamesShort: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'], dayNames: ['일', '월', '화'.. 2022. 5. 12.
국세청 손택스 - 세금계산서 메일 다시 보내기 세금계산서 발행 시 메일을 잘 못 입력 할 경우가 종종 있습니다. 이런경우 처음에는 당황하게 되는데....걱정하지 마세요. 국세청 손택스로 세금계산서 메일을 다시 보내는 방법을 알려드리겠습니다. 1. 손택스 홈 화면에서 조회발급을 탭합니다. 2. 조회발급 화면에서 전자(세금)계산서 발급 메뉴를 탭합니다. 3. 전자(세금)계산서 수정발급 메뉴를 탭합니다. 4. 전자(세금)계산서 수정발급 화면에서 메일 재발송 버튼을 탭합니다. 5. 조회 버튼을 탭하여 전자세금계산서를 검색합니다. 6. 다시 수정하여 보낼 메일을 선택 후 발송 버튼을 탭합니다. 7. 메일을 재발송합니다 (1) 이메일을 수정합니다. (2) 화면 하단의 발송 버튼을 탭하면 수정한 메일로 세금계산서가 발송됩니다. 2022. 5. 10.
티스토리 블로그 카피라이트 수정하기 티스토리 블로그 하단의 카피라이트 수정하는 방법입니다. 카피라이트 수정은 어렵지 않지만 메뉴를 찾는 것이 어렵네요. ㅠㅠ 1. 티스토리 블로그 관리화면에서 좌측의 꾸미기 > 스킨 편집 메뉴를 클릭합니다. 2. 우측 스킨 편집의 항목 중에 푸터2문구에 카피라이트를 수정 후 적용버튼을 클릭하면 됩니다. 2022. 5. 8.
4월15일 부산 사상터미널 ~ 장유,진례,진영,율하 시외버스 시간표 2022년 4월15일부터 부산 사상터미널에서 장유,진례,진영,율하 시외버스 시간이 변경되었습니다. 2022. 4. 28.