본문 바로가기

전체 글17

c# 데이터 암복호화 막 하지 말자. 오늘은 회사에서 프로젝트를 진행하면서 사용했던 데이터 암호화에 대해 공부해보려고 합니다. 많은 블로그 글에서 데이터 암호화에 대한 주제를 가지고 많이 다루고 있습니다. 하지만 대부분의 글들은 매우 위험한 방법으로 암호화를 하고 있는데요? 이유는 암복호화 시 사용하는 키(KEY)를 프로젝트 소스에 담고 있습니다. 이는 프로젝트 소스를 난독화 하지 않는 이상 누구나 디컴파일을 통해 프로젝트를 까 보면 키를 알 수 있고 해독을 할 수 있습니다. 물론 개인이 간단하게 사용할 프로젝트나 공부에서는 해당 글들을 보고 암복호화를 진행하셔도 좋습니다. 하지만 실제로 서비스하는 프로젝트라면 절대로 있어서는 안 될 소스라는 거죠. 나더러 어쩌란 말이냐? 그럼 어떻게 키(KEY)를 프로젝트 내에 가지고 있지 않으면서 암복호.. 2021. 2. 6.
비주얼스튜디오 2015 ClickOnce 배포 필수구성요소 에러 안녕하세요:) 오늘은 비주얼 스튜디오2015에서 ClickOnce로 게시할 때 필수 구성요소가 없다면서 게시 에러가 발생하는 문제가 있었는데 이를 해결하는 방법을 공유하려고 합니다. 우선 에러 메시지 및 이미지는 아래와 같습니다. 2>C:\Program Files (x86)\MSBuild\14.0\bin\Microsoft.Common.CurrentVersion.targets(4935,5): error MSB3152: [필수 구성 요소] 대화 상자에서 '내 응용 프로그램과 동일한 위치에서 필수 구성 요소 다운로드'를 활성화하려면 'Microsoft .NET Framework 4.5(x86 및 x64)' 항목용 'DotNetFX45\dotNetFx45_Full_x86_x64.exe' 파일을 로컬 컴퓨터로 다.. 2021. 2. 5.
c# ReplaceFirst - 확장메서드로 직접 만들어서 사용해보기 c# ReplaceFirst 확장 메서드로 직접 구현하기 안녕하세요:) 오늘은 c#에서 지원하지 않는 ReplaceFirst를 확장 메서드로 직접 만들어서 사용해보도록 하겠습니다. 우선 c#에서 기본적으로 제공하는 Replace는 java에서의 ReplaceAll의 역할을 하고 있어서 아래 date 변수의 "날짜 : 2021:01:25, 시간 : 00:00:00"의 값을 Replace를 사용하여 ":" 콜론을 치환하면 결과는 > "날짜 20210125, 시간 000000" 다음과 같이 바뀌겠죠? java나 다른 언어에서는 ReplaceFirst를 기본적으로 제공하는 경우가 많습니다. 하지만 c#은 그렇지 않습니다. 하지만 확장 메서드라는 기능을 제공하고 있는데요 먼저 확장 메서드가 뭔지부터 알아보도록 하.. 2021. 1. 25.
c# 지역화 Localization c# 지역화 Localization 안녕하세요:) c#에서 많이 자주 사용하는 지역화(Localization)에 대해 알아보려고 합니다. 사용할 수 있는 곳은 무궁무진합니다. 예를 들어 "환영합니다."라는 문구를 팝업창에 띄우거나 View 페이지에 "환영합니다."라는 문구를 반복적으로 입력하거나 사용하는 페이지가 많을 때 이 문구가 길고 복잡스럽다면 엄청난 귀찮음으로 다가올 것입니다. 이때 문자열을 지역화(Localization) 해서 지정하면 이곳저곳에서 가져다 쓰기가 좋습니다. 필자도 이것을 알게 되었을 때는 정말 신세계였습니다. 본론으로 들어가시죠 우선 프로젝트 파일에서 새 항목을 추가해줍니다. 리소스 파일을 선택해주시고, 이름은 원하시는 걸로 하시면 됩니다. 열려있는 리소스 파일을 확인해보자 왼쪽.. 2021. 1. 24.
c# 현재 시간, 오늘 날짜 가져오기(DateTime) 안녕하세요:) 오늘은 c#에서 현재시간과 오늘 날짜를 가져오기 위한 DateTime에 대해 알아보려고 합니다. 단, 주의하셔야 할 점으로는 DateTime은 기기의 로컬에서 설정되어있는 시간과 날짜를 가져오는 것이기 때문에 본인이 절대로 변하지 않는 서버 시간을 파악할 때는 조금 부적절하다고 말할 수 있습니다. 은근히 사용자가 기기의 시간과 날짜를 정확하게 맞추지 않고 사용하는 경우가 많기 때문이죠 ㅎㅎㅎ 본론으로 들어가 보죠! 아래처럼 사용이 가능합니다. 변수 B~F처럼 본인이 원하는 포맷으로 뽑고 싶어도 표현이 가능하죠! yyyy 년도 MM 월 dd 일 hh 시간 mm 분 ss 초 // A = 2021-01-23 오후 11:04:21 var A = DateTime.Now.ToString(); // B.. 2021. 1. 23.
java 비밀번호 정규식 패턴 - 숫자,문자,특수문자 포함 java 비밀번호 정규식 패턴 안녕하세요:) 오늘은 비밀번호 로직을 만들 때 많이 사용하는 정규식 패턴에 대해 공부하도록 해요! 정규표현식 (정규식 패턴) 이란? 정규표현식(정규식 패턴) 은 문자열을 처리하는 방법 중에서 특정 조건의 문자를 검색하거나 치환하는 과정을 매우 간편하게 사용할 수 있도록 하는 수단입니다. 기본적인 표현식 (더 많은 표현이 있습니다.) 표현식 설명 ^ 문자열의 시작 $ 문자열의 끝 . 임의의 문자 * 앞 문자가 없을 수도 무한정 많을 수도 있음 + 앞 문자가 하나 이상 ? 앞 문자가 없을 수도 있고 하나 있음 \s 공백문자 \S 공백이 아닌 문자 \w 알파벳이나 숫자 \W 알파벳이나 숫자를 제외한 문자 \d 숫자만 \D 숫자를 제외한 문자 \ 역슬래시 다음에 문자가 오면 특수문.. 2021. 1. 17.
c# json 특정 값 삭제하기 안녕하세요:) c#에서 서버와의 통신을 할 때 json 타입의 형태로 많이 사용을 하는데요 이 json 데이터의 특정 컬럼을 삭제하거나 발라낼 때 사용할 수 있는 예제를 공부해보도록 하겠습니다. 우선 c#에서 json을 사용하기 위해서는 JSON.NET 이라는 오픈소스를 많이 사용합니다. 가장 널리 사용하고 있는것같아요. NuGet에서 설치가 가능하니 참고해주세요. 본론으로 들어가시죠 아래 json 이라는 변수의 컬럼에서 requestPW 컬럼 값만 삭제하고 나머지만 출력하고 싶다고 가정을 해봅시다 using Newtonsoft.Json.Linq; var json = @"{ 'requestID' : 'apple@gmail.com', 'requestPW' : 'apple1234' }"; JObject jO.. 2021. 1. 16.
블로그를 시작하며. WPF 란 무엇인가? 필자는 WPF로 개발자라는 직업에 도전했다. 아직은 주니어 개발자이기에 전문적은 지식은 많이 떨어진다 하지만, WPF를 공부하면서 대한민국이란 나라에선 많이 사용하지 않기에 공부하기 어렵다는 걸 항상 느끼며, 지금도 답답함을 느낀다. 그런 나의 답답함에서 조금이나마 내 지식을 공유하고 싶어서 블로그를 시작했고 사실 첫 블로그는 구글에서 시작하였으나 구글 블로그는 국문의 언어는 노출을 잘 시켜주지도 않을뿐더러 사용이 너무 불편해서 티스토리로 넘어온 이유도 있다. 그럼 시작해보자! WPF? Windows Presentation Foundation의 약자다 사람들은 말한다 왜 윈폼을 안 쓰고 WPF를 쓰냐고.. 나도 처음엔 그리 생각했다. 물론 지금도 그렇게 와 닿지는 않는다. 하지만 MVVM 패턴을 사용할 .. 2021. 1. 16.