본문 바로가기

분류 전체보기720

홈택스 근로소득 원천징수영수증 출력 홈택스에 근로소득 원천징수영수증을 출력하는 방법을 알려드리겠습니다. 1. 홈택스 홈페이지에 방문 후 로그인을 하세요. https://www.hometax.go.kr 국세청 홈택스 www.hometax.go.kr 2. 홈택스 좌측 하단부에 자주찾는 메뉴에서 근로소득 지급명세서 조회를 클릭하세요. 3. 아래와 같이 년도별 표시되며, 해당 년도의 사업자번호를 클릭합니다. 4. 근로소득 원천징수 영수증을 출력하면 됩니다. 2021. 3. 2.
React-Native iOS 앱 심사 반려(구글 맵 관련) React-Native로 제작된 iOS앱인 서울버스-도착정보가 앱 심사에서 반려가 되었습니다. 기존에 URL Link로 구글맵에 마크를 표시하는 기능의 URL을 변경했는데. 이것이 문제였습니다. 아래와 같이 URL을 변경했는데 변경된 URL에 문제가 있네요. 변경된 URL로 Linking.openURL 할 경우 구글맵이 실행되고 마크가 표시되는데 이것이 심사 반려된 이유였습니다. [기존 URL] http://maps.google.com/maps?&z=15&q=35.1560856,129.055346 [변경 URL] https://www.google.com/maps/search/?api=1&query=35.1560856,129.055346 상세한 관련 포스트는 아래의 참고하세요. https://docko.t.. 2021. 2. 26.
C# - DataGridView의 Column 높이 변경하기 아래의 이미지는 DataGridView의 Column 높이입니다. Column 높이를 변경하는 방법은 2가지가 있는데, 하나는 XAML에서 수정하는 것과 C# 코드로 처리하는 방법이 있습니다. 두가지 방법에 대해서 알려주릴께요. 1. XAML에서 변경하기 DataGridView 속성중 RowTemplate의 Height 속성을 변경하면 됩니다. 2. C# 코드로 처리하기 DataGridView의 RowTemplate의 Height 속성을 변경하면 됩니다. dataGridView.RowTemplate.Height = 100; [실행 결과] DataGridView의 Column Header 높이 변경은 아래의 포스트를 참고하세요. https://docko.tistory.com/entry/C-DataGridV.. 2021. 2. 26.
React-Native iOS 앱 구글맵 링크 React-Native로 iOS앱에서 구글맵으로 링크를 통해서 웨브라우저를 열어서 표시하고 있는데, 지도의 도로 건물 등이 표시되지 않는 형상이 발생했습니다. 비정상 구글맵 링크 http://maps.google.com/maps?&z=15&q=35.1560856,129.055346 iOS 화면 아래의 링크로 변경하여 처리하였습니다. ※ 아래의 URL로 Linking.openURL 할경우에 iOS에 구글 맵이 설치되어 있으면 구글맵이 실행됩니다. 구글맵을 실행하면, 앱 심사 시 Reject 당하므로 Apple의 맵 링크로 사용해야 하네요. ㅠㅠ https://www.google.com/maps/search/?api=1&query=35.1560856,129.055346 2021. 2. 25.
IBK 기업은행 카드 홈페이지에서 해지하기 IBK 기업은행 카드를 홈페이지에서 해지하는 방법입니다. 1. 홈페이 상단 메뉴 중 카드에 마우스를 올려놓습니다. 2. 카드 메뉴들 중에 카드해지를 클릭합니다. 3. 내가 보유한 카드들이 표시되는데, 카드 해지하려는 선택하고 확인을 클릭합니다. 4. 카드에 대한 상세 정보가 표시되고, 해지 버튼을 클릭합니다. 5. 카드해지에 동의내용이 표시되고, 동의함을 체크하고 해지 버튼을 클릭합니다. 6. 카드 해지가 되었습니다. 카드 해지에 대한 주의 사항을 알려주네요. ^^ 2021. 2. 24.
SQLite에서 오라클의 DECODE 사용하기(CASE WHEN...) 오라클의 DECODE 함수는 정말 막강한 기능을 제공하고 있습니다. DECODE를 사용하여 간결한 SQL을 만들기도 하는데 SQLite에는 DECODE 함수가 없습니다. DECODE는 SQL 표준이 아닌 오라클의 기능으로 생각해야 할 듯하네요. [CASE 문법1] CASE case_expression WHEN when_expression_1 THEN result_1 WHEN when_expression_2 THEN result_2 ... [ ELSE result_else ] END [예제 쿼리1] SELECT NAME, YYYY||MM||DD, CASE IS_CHECK WHEN 'Y' THEN '체크됨' WHEN 'N' THEN '체크안됨' ELSE '값없음' END FROM HISTORY [CASE 문.. 2021. 2. 19.
카카오톡과 네이버에서 안심번호 발급 받을 수 있습니다. 2월 19일부터 카카오톡과 네이버에서 QR코드 하단에 안심번호가 표시된다고 합니다. 안심번호를 별도로 발급받아야 하는지는 2월 19일에 확인 해봐야겠습니다. 이번에 발급 받는 안심번호는 코로나가 끝날 때까지 사용할 수 있다고 합니다. 식당, 술집 등에서 수기로 명부 작성 시 전화번호 대신에 안심번호를 사용하시면 됩니다. 1. 카카오톡 QR코드와 안심번호 확인하기 ① 하단에 "#"을 클릭합니다. ② 상단의 "#코로나19"를 클릭합니다. ③ 상단 중간에 "QR체크인"을 클릭하면 QR코드와 안심번호가 표시됩니다. - QR 코드 하단에 한글과 숫자로 안심번호가 표시됩니다. 2. 네이버에서 QR코드와 안심번호 확인하기 - 상단의 "QR체크인"을 클릭하면 QR코드와 안심번호가 표시됩니다. - QR 코드 상단에 한글.. 2021. 2. 18.
Java 시간 차이 구하기(날짜 비교) Java 시간 차이 구하기(날짜 비교) 날짜 시간 관련 로직을 구현시 Calendar 클래스를 많이 사용하고 있습니다. Calendar클래스를 이용한 시간 차이를 구하는 간단한 예제입니다. [소스] import java.text.SimpleDateFormat; import java.util.Calendar; public class TimeCalculate { public static void main(String[] args) { SimpleDateFormat hhmmssSSS = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); Calendar before = Calendar.getInstance(); System.out.println("BEFORE : " + hh.. 2021. 2. 18.
부가가치세 과제표준증명 홈택스 인터넷 발급 방법 재난지원금을 신청 할 때 소득감소를 증빙하기 위한 부가가치세 과제표준증명 홈택스에서 발급 받는 방법입니다. 1. 아래의 URL로 홈택스에 방문 후 로그인하세요. https://www.hometax.go.kr 국세청 홈택스 www.hometax.go.kr 2. 상단의 민원증명 > 부가가치세 과제표준증명 메뉴를 클릭합니다. 3. 부가가치세 과제표준증명 발급을 위한 기본정보를 입력하고, 하단의 신청하기 버튼을 클릭합니다. 4.인터넷접수 목록의 부가가치세 과제증명 항목에서 발급번호를 클릭한다. 5. 부가가치세 과제증명을 출력하시면 됩니다. 2021. 2. 17.
Annotation을 이용한 Servlet 매핑과 액션 Servlet 매핑하는 방법은 2가지가 있습니다. web.xml에 설정하는 방법과 WebServlet 어노테이션(Annotation)을 이용하는 방법입니다. 어노테이션으로 Servlet 매핑을 하고, 각 액션별로 로직을 구현하기 위한 간단한 예제를 소개합니다. 서블링 맵핑 : /test 액션 : /test/액션명.do [예제] import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servl.. 2021. 2. 16.
안도로이드 SQLite insert or replace 구현 SQLite에서 Insert와 Update를 함께 처리 할 수 있는 "insert or replace" 문법이 있습니다. SQLite의 "insert or replace"에 대해서는 아래의 링크를 참고하세요. https://docko.tistory.com/entry/SQLite-inert-or-replace%EC%98%A4%EB%9D%BC%ED%81%B4MS-SQL-Merge-%EA%B8%B0%EB%8A%A5 SQLite inert or replace(오라클/MS-SQL Merge 기능) 오라클 또는 MS-SQL의 Merge와 유사한 기능으로 SQLite에서는 insert or replace 기능이 있습니다. 사용법은 Merge보다 간단하지만, 디테일한 적용은 조금 부족합니다. insert or repl.. 2021. 2. 15.
C# 이미지(Bitmap) 회전하기 이미지(Bitmap)을 각도로 회전하는 간단한 소스입니다. [소스] using System; using System.Drawing; using System.Windows.Forms; namespace ImgRotateForm { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { Bitmap srcBitmap = new Bitmap(@"d:\temp\earth3d.png"); pbSrc.Image = srcBitmap; pbTrg.Image = RoateImage(srcBitmap, 45); } // 이미지 회전 priva.. 2021. 2. 10.
[JAVA] File 객체를 이용한 폴더내 파일 검색 3가지 방법 폴더내의 파일 또는 폴더 목록을 갖고 올 수 있는 3가지 방법입니다. 소스는 간단하니 필요에 따라서 3가지 방법 중 하나를 선택하면 될 듯 합니다. Win으로 시작하는 모든 파일 찾기 예제입니다. 1. public File[] listFiles() import java.io.File; public class FileListSample { public static void main(String[] args) { String dirPath = "C:\\Windows\\System32"; File dir = new File(dirPath); File[] files = dir.listFiles(); for(File f : files) { if(f.isFile() && f.getName().toUpperCase(.. 2021. 2. 9.
C# NPOI를 이용한 엑셀 생성 자바에서는 아파치의 POI 라이브러리로 엑셀, 워드 등을 유용하게 사용하고 있습니다. C#에서는 NPOI(.NET POI 인듯..)를 활용하여 엑셀, 워드 등을 생성, 변경 할 수 있습니다. C#에서 MS Office COM 을 이용하여 엑셀 리포트를 작업했는데 클라이언트 환경에 따라 작동이 안되는 경우가 많았습니다. NPOI를 이용하면 클라이언트의 환경(MS 오피스 버전 등) 문제는 자유로워집니다. 1. NPOI 라이브러리를 설치하기 위해서 참조의 팝업메뉴에서 NeGet 패키지 관리를 클릭합니다. 2. NeGet에서 NPOI를 검색하고 설치합니다. 3. NPOI이가 설치되면 아래와 같이 참조에 추가됩니다. 4. 간단한 예제입니다. using NPOI.SS.UserModel; using NPOI.XSSF.. 2021. 2. 9.
SQLite inert or replace(오라클/MS-SQL Merge 기능) 오라클 또는 MS-SQL의 Merge와 유사한 기능으로 SQLite에서는 insert or replace 기능이 있습니다. 사용법은 Merge보다 간단하지만, 디테일한 적용은 조금 부족합니다. insert or replace 기능은 PK 기준으로 해당 데이터가 있으면 insert하지 않고 replace(update)합니다. 1. 테이블 정보 PK는 ID 컬럼 하나만 지정했습니다. 2. 데이터 3. 동일 ID가 없는 경우 insert or replace into TB_USER(ID, NAME, DESC) values('ID-003', '김유신', '') [결과] 4. 동일 ID가 있는 경우 insert or replace into TB_USER(ID, NAME, DESC) values('ID-001', '.. 2021. 2. 8.
C# 파일 유무, 복사, 이동, 삭제, 텍스트 파일 읽기/쓰기 System.IO.File 클래스에는 여러 유용한 메소드가 존재합니다. 파일 유무, 복사, 이동, 삭제를 쉽게 할 수 있습니다. 소스는 아주 간단하니 주석은 생략합니다. ^^ 1. 파일 유무 using System; using System.Diagnostics; using System.IO; namespace FileTest { class Program { static void Main(string[] args) { String filePath = @"D:\temp\test.txt"; if (File.Exists(filePath)) { Debug.WriteLine("파일 있음"); } else { Debug.WriteLine("파일 없음"); } } } } 2. 파일 복사 using System; usi.. 2021. 2. 6.
E/RecyclerView: No layout manager attached; skipping layout 아래의 오류는 RecyclerView에 Layout Manager를 설정하지 않아 서 발생합니다. E/RecyclerView: No layout manager attached; skipping layout 아래와 같이 RecyclerView에 layoutManager를 설정하면 됩니다. app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" 2021. 2. 5.
[JS] 대용량 데이터에 성능 좋은 SlickGrid 시작하기 얼마전 프로젝트에서 DevExpress의 Web Component를 사용해서 Grid를 구현했었습니다. DevExpress는 많은 기능을 제공하고 있었지만 대용량의 데이터 처리에 문제가 발생했습니다. 컬럼이 60개, 데이터가 2000개 이상일 때 데이터 바인딩 시 화면에 너무 많은 시간이 걸리더군요. 그래서 해결책으로 찾은 것이 SlickGrid입니다. 1. 아래의 GitHub에서 SlickGrid 소스를 받으세요. https://github.com/6pac/SlickGrid 6pac/SlickGrid A lightning fast JavaScript grid/spreadsheet. Contribute to 6pac/SlickGrid development by creating an account on G.. 2021. 2. 5.
Java - HTML 문자 Escape 하기 JSP로 게시판을 등에서 사용자가 입력한 문자에 HTML Tag와 Javascript를 입력하여 리다이렉트를 시키는 경우가 있습니다. 이러한 크로스사이트 스크립팅을 방지하기 위해서 게시판 내용의 HTML을 Escape 처리해야 합니다. 아파치 프로젝트 중 Common Lang에서 이러한 작업을 할 수 있습니다. 1. Common Lang Jar 파일을 다운로드하기 위해서 아래의 URL에 방문하세요. https://commons.apache.org/proper/commons-lang/download_lang.cgi Lang – Download Apache Commons Lang Download Apache Commons Lang Using a Mirror We recommend you use a mirro.. 2021. 2. 3.
Java - SQLite 데이터베이스 사용하기 안드로이드 개발 시 SQLite 데이터베이스를 자주 활용하고 했습니다. Java Application에도 SQLite 데이터베이스를 어떻게 구현하는지 차근차근 설명드리겠습니다. 1. SQLite 데이터베이스 파일 생성 (1) 무료 SQLite 툴 다운로드 https://docko.tistory.com/entry/%EB%AC%B4%EB%A3%8C-SQLite-%ED%88%B4?category=589478 무료 SQLite 툴 안드로이드 개발 중에 데이터베이스(SQLite) 사용을 위해서 파이어폭스에 플러그인 된 프로그램을 사용했었습니다. 그렇지만 이놈의 툴이 너무 투박하고 불편해서 다른 무료 툴을 찾다가 DB Browse docko.tistory.com (2) SQLite 데이터베이스 생성 https://.. 2021. 2. 1.
Android resource linking failed(error: unexpected element <queries> found in <manifest>) 갑자기 안드로이드 스튜디오에서 프로젝트를 컴파일하니 아래와 같은 오류가 발생해서 당황했습니다. 구글링을 하니 프로젝트를 클리어 후 재컴파일 해보며 된다는 등의 처리방법이 있는데 그래도 해결하지 못했습니다. [오류] Execution failed for task ':app:processDebugResources'. > Android resource linking failed D:\Project\TVSchedule3\app\build\intermediates\merged_manifests\debug\AndroidManifest.xml:15: AAPT: error: unexpected element found in . [해결] android/build.gradle Android Gradle plugin 버전을.. 2021. 1. 30.