본문 바로가기

전체 글

(263)
HackerRank [Recursion] The Power Sum /알고리즘 해커랭크 문제 주소 : https://www.hackerrank.com/challenges/the-power-sum/problem The Power Sum | HackerRank Split up a number in a specified manner. www.hackerrank.com 문제 : X값과 N값이 주어졌을때 X값을 자연수의 N승만큼 한 값을 합해 만들 수 있는 케이스의 수를 구하는문제 보기에 나오는 예를 보면 X가 100 N이 2로 주어졌을경우 자연수의 2승의 합으로 100을 만들 수 있는 경우는 10^2, 6^2+8^2, 1^2+3^2+4^2+5^2+7^2 이와같이 3가지 방법으로 표현이 가능하다 풀이 1. 먼저 X루트 N을하면 어떤 값을 N승 했을 때 X보다는 작은 최대값을 구할 수 있다 예) 위의..
윈도우10 윈도우 시작시 서비스시작 안됨 / 윈도우 빠른시작 / windows service Onstart not work 우선 빠른시작에 대한 간단한 설명 말그대로 부팅을 빠르게 도와주도록 하는 기능이며 마지막 상태를 저장해 두었다가 부팅시 그 상태를 읽어와서 부팅을 빠르게 해주는 기능인데 이로 인해 생긴 문제가 있었다(윈도우 재시작시에는 적용되지않는다) 빠른시작 관련 추가 잡담 더보기 옛날 윈도우 95,~98 이런시절에 피시는 부팅눌러놓고 화장실을 다녀오든 뭘 해야 할 정도로 부팅시간이 제법 걸렸다 (그래서 특히 주로 학교갔따와서 집에오면 제일먼저 하던건 컴터 전원버튼누르기 였었다) 이후 윈7이 나오고 ssd가 나오면서 부팅이 거의 누르면 바로 켜지는 속도까지 왔다 아무리 늦어도 1분을 넘진 않는다 그런데 이러한 상황에서 굳이 빠른시작기능이 왜 필요했던걸까..? 필자의 회사 PC기준으로 이 기능을 사용하고 사용하지않고 속..
안드로이드 타이머 중지/시작, 타이머 재시작 / android timer stop and go 기본적으로 안드로이드에선 timer와 timertask를 만들고 timer가 schedule 함수를 통해 timertask를 주기적으로 호출되게 한다 그런데 이 특정작업을 하는 timertask는 한번 cancle()명령으로 멈출 경우 다시 schedule함수로 시작 할 수 없다 찾아보니 자바에서는 "이 멈추어진 타이머 테스크가 다시 실행 될 일이 없을꺼라 생각하며 다시 실행되야 하는경우는 올바르지 않는 코딩 상황이다" 라고 표현하였다 그런데 원래 타이머는 잠깐 멈췄다 실행하고 다들 하지 않는가...? 여튼 그래서 우회한 재시작법에 대해 알아보자 해결방법으론 간단하게 timertask를 매번 새로 생성시키는 것이다 아래 예제를 보고 이해해보자 public class MainActivity extends ..
내 첫번째 회사이야기.. * 주니어 개발자들이 이 글을읽고 나같은 일을 겪지 않았았으면 혹은 이런쪽은 괜찮으니 가봤으면 하는 마음으로 작성합니다 특정업체에 대한 비판이 목적은 아닙니다 * 매우 주관적일 수 있습니다 참고만 하시길 바랍니다 ● 소개 첫 회사는 의료영상쪽 SW 업체였고 SW연구원으로 입사하였는데 2013년 당시 중소기업 평균 정도의 연봉이였고 연봉은 퇴직금포함(월급 1/13), 수습3달(월급 70%지급), 야근식대 지원(2시간 이상 초과근무시 만원), 월1회 토요일 당직근무(9시 출근 13시퇴근) 당직비(3만원) 별도 지급 그리고 10인 이하 소기업이였으며 개발자는 나를 포함하여 3명이였다 ● 입사계기 당시 퇴직금 포함을 반영하더라도 중소기업 평균 연봉은 되었다, 학부생 시절 관심있어하던 영상처리분야를 사용하였다, ..
델파이 시스템종료, 시스템재시작 하는 가장 간단하고 정확한 방법 / delphi reboot or shutdown windows 델파이에서 시스템 종료, 재부팅 하는 가장 간단하고 정확한 방법 uses ShellAPI; ShellExecute(0, 'open', 'shutdown.exe' , '-r -t 00', nil, SW_HIDE); //시스템 재시작 ShellExecute(0, 'open', 'shutdown.exe' , '-s -t 00', nil, SW_HIDE); //시스템 종료 *** 추가로 WINAPI중에 ExitWindowsEx함수를 이용한 방법도 있는데 이것으로 리부팅 했을경우 윈도우10부터 빠른부팅이라는 기능때문에 정상적으로 재부팅되지 않고 로그오프-> 시작만 된다 따라서 시스템파일이 변경되거나 재부팅을 해서 무언가 윈도우를 리셋을 해 주고 싶은 경우엔 WINAPI를 사용 하면 안되고 ShellAPI를 사용해..
윈도우10 일부 아이콘 깨짐현상 / windows10 icon crash 위와같이 갑자기 일부 아이콘들이 하얀 네모로 깨져서 보일 때 @echo off taskkill /f /im explorer.exe attrib %userprofile%\appdata\local\iconcache.db -s -r -h del /q %userprofile%\appdata\local\iconcache.db start explorer.exe exit 위 내용을 메모장에 복사 붙여넣기 한 후 icon.bat 이런식으로 "임의의 파일명.bat" 으로 저장한다 그 후 관리자 권한 실행하면 바로 아이콘들이 정상적으로 표출된다 틀린내용이나 질문은 댓글로 남겨주세요
델파이 서비스 디버깅 / delphi service deburgging 윈도우10, 델파이 2010기준으로 설명되었습니다 TMI 내 이야기 더보기 회사 프로젝트 중 윈도우 서비스 프로젝트가 있는데 특정 문제가 있어서 확인이 필요한 상황이였다 로그로 찍긴 한계가 있고 디버깅을 꼭 해보고 싶다 하는 경우가 있었다 구글링을 해보니 windowsXP나 이전 버전에서는 서비스가 간단히 디버깅하도록 지원하였는데 현재 윈도우7도 서비스가 종료된 마당에 XP가 웬말인가.. 더 찾아보니 다행히 디버깅방법이 있었다 서비스를 빌드해서 서비스로 등록시킨 뒤 시작 시킵니다 그 프로젝트에서 Run-> Attach to Process를 누릅니다 위 사진과 같이 실행중인 프로세스 목록이 뜨는데 여기서 찾아서 Attach를 할 경우 서비스도 디버깅이 가능하고 브레이크 포인트도 걸립니다 다만! 서비스가 이..
안드로이드 소스코드 난독화, 최적화 / Android Proguard rules(optimization, Obfuscated) 안드로이드(자바)는 Managed Code 특성상 기본적인 디컴파일 툴로 디컴파일이 쉽게 된다 그러므로 외부로 나가는 라이브러리(.aar) 혹은 앱(.apk, .abb)는 난독화가 필수라고 볼 수 있다 (난독화 테스트를 위해 JD-Gui를 받아놓자 다운로드 링크) 그러므로 난독화 방법을 알아보자 안드로이드 프로젝트에서 build.gradle을 열어주면 위와 같이 화면에 보이는데 중간쯤 "androud {" 경로 하위에 "buildTypes {" 하위 "releases {"를 보게 되면 minifyEnabled 값이 false로 되어있는데 이것만 true로 바꿔주면 된다 해당 값은 난독화 뿐만 아니라 최적화 작업도 자동으로 진행된다 만약 디버그앱도 난독화가 필요하다면 아래와 같이 buildTypes 하위에..