본문 바로가기

분류 전체보기678

일곱개의 대죄 - 챕터17 전체 퀘스트 공략 챈터17에서 멜리오다스 스승인 찬드라가 등장합니다. 마신과 찬드라의 전투가 챈터17에서 이루어집니다. 어려운 전투로 찬드라를 클리어해야하는데 반격 스킬이 무섭네요. 하지만 저는 에스카노르 또는 데리엘리의 필살기 게이지를 모아서 필살기로 찬드라를 제압했답니다. 제350화 SOS (1)절체절명 제350화 SOS (2)고양이 걸음 제354화 정찰 기록 (1)마신 토벌1 제354화 정찰 기록 (2)마신 토벌2 제354화 정찰 기록 (3)마신 토벌3 제358화 빛을 삼킨 어둠 제359화 난입 제360화 의기투합 제364화 운명의 동료 제367화 칠전팔기 2021. 3. 4.
SQLite 오라클의 NVL과 같은 NULL 처리 SQLite에서 오라클의 NVL과 같은 NULL 값을 처리하는 함수는 IFNULL입니다. IFNULL(X,Y)는 X가 NULL일 경우 Y를 표시하고, NULL이 아니면 X를 표시합니다. [테이블] [쿼리] SELECT ID, NAME, IFNULL(NAME, '이름없음') FROM TEST [결과] 2021. 3. 4.
MS SQL 버전 확인 MS SQL에서 Select 결과를 JSON으로 변경 할 수 있는 기능 FOR JSON을 사용하려니 오류가 발생했습니다. FOR JSON을 사용하기 위해서 MS SQL의 버전이 2016(13.x) 이상이어야 하네요. MS SQL의 버전을 확인하는 쿼리는 아래와 같습니다. select @@version [결과] 2021. 3. 3.
SQLite - Select 결과 JSON으로 변경하기 요즘 XML보다 JSON을 많이 활용하고 있습니다. 예를 들면 REST 방식의 Open API 등 있겠죠. SQLite에서 Select문의 결과를 JSON으로 변화하는 함수가 존재합니다. (1) json_object : JSON 오브젝트를 생성 (2) json_group_array : JSON 배열 생성 아래의 테이블에 대해서 간단한 쿼리를 소개하겠습니다. 1. Select 결과의 각 Row를 JSON 오브젝트로 변경 쿼리 SELECT json_object('name', NAME, 'name_loc', NAME_LOC, "url", WIKI_URL) AS json_result FROM NATION_KO WHERE NAME_LOC like '%국' [결과] 2. Select 결과의 한 컬럼에 대해서 JSO.. 2021. 3. 2.
홈택스 근로소득 원천징수영수증 출력 홈택스에 근로소득 원천징수영수증을 출력하는 방법을 알려드리겠습니다. 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.