본문 바로가기

전체보기

(633)
[그냥사진] DJI 액션2 사진 샘플(Action2 Photo Samples) {2310} 액션캠에 많은 것을 바라면 안된다. 성능과 실력이 복합적으로 작용하여, 과도한 보정이 없이는 그냥 두고 볼수 없는 사진이 된다. 일단은 매우 광각이라 구도 잡기가 어렵고, 콘트라스트도 약해서, 흐리멍텅해보인다. 약간만 어두우면 매우 심한 노이즈가 발생하고, RAW파일의 관용도도 높지 않아서, 밝은 곳에서만 촬영을 해야한다.
[엑셀] PDF에 있는 표를 엑셀로 옮길때.. #3 PDF에 있는 표를 엑셀로 옮기는 방법에 대한 글은 이전에도 몇번 적은적이 있다. 이 중 최초에 올린 방법을 살짝 보완한 방법이다. PDF파일 안에 원하는 테이블이 덩그러니 하나 있을때 유효하다. [엑셀] PDF에 있는 표를 엑셀로 옮길때.. #2 PDF에 있는 표를 엑셀로 옮기는 방법 두번째. 꽤 오래전 PDF 표를 엑셀로 옮기는 방법에 대해 글을 적은 적이 있다. [엑셀] PDF에 있는 표를 엑셀로 옮길때.. 무자비한 PDF PDF에 있는 표를 엑셀로 옮길 sunnybong.tistory.com [엑셀] PDF에 있는 표를 엑셀로 옮길때.. 무자비한 PDF PDF에 있는 표를 엑셀로 옮길때.. 그냥 텍스트로 들어가지는 경우가 있다. 아니 거의 대부분 그렇다고 봐야한다. 아래와 같은 표가 있다고 하면,..
아이패드미니6, 그리고 배터리 교체 비용 아이패드 프로 12.9(5세대) 제품의 배터리 용량은 무려 10,770mAh이다. 배터리 교체비용은 185,000원이다. 아이패드미니6의 배터리는 5,078mAh이다. 배터리 교체비용은 185,000원이다. 배터리 가격이 당연히 용량이 큰게 비싸다고 하면, 교체 공임비가 비싸다는건데, 작아서 뜯기가 더 힘든가? 아니면 130만원이 훌쩍 넘는 프로는 애초에 이런 가격이 포함되어있던걸까? 스테이지매니저나 넣어달란 말이다. 그런데.. 이 딴걸 왜 찾고 있지..? 🤪🤪 끝.
[엑셀] 다중 조건에 따라 카테고리별 합계(부분합) 구하기 합계를 내야할 대상의 조건이 동일할때, 맨 처음 값에 대해서만 합계를 구하고 싶다. subtotal을 사용하면 간단하겠지만, 다른 방법을 생각해보자. 아래와 같은 표가 있다. 표를 수정할 수 없고, 피벗테이블을 사용하지 않을 때 사용할 수 있다. (거의 사용한 적은 없다.) 아래와 같이, 두개의 조건(차종, 브랜드)이 변경되는 행에만 countifs 함수를 통해 ok 텍스트를 넣도록 할 수 있다. =IF(COUNTIFS($B$3:B3,B3,$C$3:C3,C3)=1,"ok","") ok가 표기된 행에 대하여, 대수의 합계를 구해보자 =IF(COUNTIFS($B$3:B3,B3,$C$3:C3,C3)=1,SUMIFS($F$3:$F$15,$B$3:$B$15,B3,$C$3:$C$15,C3),"") 핵심은 조건이 변..
[엑셀] 중복값 없애고, 텍스트 목록 가로로 이어붙이기 아래와 같은 테이블이 있을때, 우측의 테이블에 차종을 하나, 브랜드 이름을 현대/기아.... 이런식으로 나열을 하고 싶다. 차종은 추가될때 마다 자동으로 들어가게 하고 싶다. 당신의 선택은 무엇인가? 중복값 없애고 동적으로 값 등록하기 편하긴 한데, 잘 안쓰게 되는 방법이긴 하다. 원리는 간단한데, 이미 등록된 행들에 같은 값이 있으면, 스킵을 하고, 처음 나오는 값을 등록하는 것이다. COUNTIF 함수에서 찾는 대상을 동적으로 설정하는게 핵심이다. 표 사이에 새로운 값이 들어와도 처리가 가능하다. IFERROR문은 사실 데코레이션인데, 더이상 새로운 값이 없으면, "-" 처리해준다. 실제로는 #N/A 에러가 뜰것이다. {=IFERROR(INDEX($B$3:$B$15,MATCH(0,COUNTIF($E$..
Windows 10용 OneNote 한글입력 씹힐때 해결방법 Windows 10용 OneNote 에서 한글 입력시, 입력이 되지 않고 씹히는 문제가 나에게 벌어지고 있다. 몇몇 글을 찾아본 결과, 로캐일을 설정할때, UTF-8 형식도 지정해주는 것이 괜찮은 해결책인 것 같다. onenote2016도 있는데, Windows 10용 OneNote가 왠지 더 정감이 가는건 왜인지 모르겠다. 제어판 → 국가 또는 지역 → 관리자 옵션 → 시스템로캘 변경 → 지역설정 으로 들어가자. 유니코드고 뭐시고, 잘 모르겠고, UTF-8 사용에 체크를 해준다. 체크이후 재부팅이 필요하다. 재부팅 이후, 아직까지는 씹힘은 발생하고 있지 않으나, 또 모를일이다. 한글 입력기를 추가 설치하는 해결방법도 있었으나, 입력기가 많으면, 다른 프로그램에서 더 혼란스러워질 수 있다. 그냥 onen..
[엑셀VBA] 버전, 언어 확인 사용중인 오피스 버전이나, 언어는 아래 코드를 통해 확인이 가능하다. debug.Print application.Version ' 16.0 debug.Print Application.LanguageSettings.LanguageID(msoLanguageIDUI) ' 1033 ' 1033 = English (United States) ' 1042 = Korean ' 1041 = Japanese ' 1049 = Russian ' 1036 = French ' 1031 = German ' 1034 = Spanish ' 2052 = Chinese (PRC) ' 1028 = Chinese (Taiwan) 사용중인 언어가 영어인경우, ARIAL 폰트를, 한글인 경우, 맑은 고딕 폰트를 적용하는 코드는 아래와 같다. ..
접이식 키보드 사용기(PISNET FOLDER, X-FOLDING TOUCH PRO) 아이패드를 쓰면서 몇가지 접이식 키보드를 사용해봤다. 확실히 말할 수 있는 점은 휴대성이 확실한 대신 사용성은 떨어지게 된다는 점이다. PISNET FOLDER 세월의 흐름때문에 좀 더러워졌는데, 만듬새는 참 좋은 제품이다. 무엇보다 키배치가 접이식 키보드답지 않게 참 잘 되어있다. 키감은 최근 몇년간 양산되는 저렴이 블루투스 키보드의 그것과 똑같다. 저렴이 블루투스 키보드들의 단점은 어느순간 몇개 키가 안눌리는 고장이 아주 심하다는 것인데, 역시 이 제품도 동일한 고장이 발생한다. 내 손가락이 이상한건지, 이번에는 a, w, e키가 안눌러진다. 이럴땐 방법이 없다. 버려야한다. X-FOLDING TOUCH PRO PISNET FOLDER보다 더 얇은 제품이다. 컬러때문인가 좀더 고급져보이는데, 얇은만큼..
환경변수(+path) txt파일로 만들기 일반적으로는 윈도우 환경변수를 건드려야할 일이 거의 없다 하겠지만, 개발프로그램을 사용한다거나, 포터블 프로그램을 사용한다면, path 정도는 등록을 해줘야 한다. 여러대 pc를 쓰다보면 이에 대한 sync를 맞추는 것도 꽤나 신경이 쓰이는데, 이때, 이건 어떨까? 명령프롬프트에서 set을 치면, 환경 변수 전체가 조회된다. 물론 이 용도는 아니겠지만.. set > c:\[txt파일을 저장하고싶은 경로]\[txt파일명].txt 환경 변수가 txt파일로 지정한 경로에 저장된다. >를 반드시 넣어줘야 한다. txt 파일에서 설정된 path를 확인할 수 있으니, 복사해서 다른 pc에 복사하면 되겠다. 끝.
큰 의미없는 NVME 외장SSD 케이스 알리 광풍에 혹해서 외장 SSD 케이스를 샀으니, NVME를 사는 앞뒤가 바뀐 일이 생기고야 말았다. NVME SSD는 불과 얼마전에도 엄청 비쌌는데, 요즘 가격이 많이 내렸다. 여러 제품이 보이지만, 중고사이트에서 NVME 256GB을 검색하니 PM9A1이 제일 많이 보인다. 아무래도 노트북에서 스토리지 업그레이드 하면서 쫒겨난 제품들이리라. PM9A1의 성능은 읽기 7000MB/s, 쓰기는 5000MB/s인 가성비가 좋은 놈이다. 외장 케이스에 씌우는 경우, (정확하게는 USB로 물려서 사용하는 경우,) 이런 스펙따위는 싸그리 쓸모가 없어진다. 물론 케이스는 잘못이 없다. 제품 설명에도 1000MB/s라고 적혀있다. 범인은 USB포트이다. 같은 USB-C 포트라고 해서 다 같은게 아니기 때문에, US..
파이썬3.11.5, 포터블로 환경 설정하기 ssd enclosure 얼마전 알리 세일을 하는데, NVME ENCLOSURE가 눈에 들어왔다. 딱히 필요는 없는데, 용도를 생각해 보니, 개발환경을 옮기면서 할 수 있도록 PORTABLE로 구성해 보는 것도 재밌을 것 같다는 생각이 들었다. 아나콘다를 포터블로 설치하면 한방에 끝날 일이지만, 헛짓거리를 시작한다. IDE는 VSCODE를 사용할 예정이므로, VSCODE를 PORTABLE로 설치한다. Portable Mode in Visual Studio Code Visual Studio Code supports a Portable Mode. code.visualstudio.com PYTHON을 다운받는다. Python Release Python 3.11.5 The official home of the ..
[엑셀] 엑셀2019 실행취소(Undo) 횟수 조정하기 실행취소(ctrl + z) 복사(ctrl + c), 붙여넣기(ctrl + v) 만큼이나 자주 쓰는 단축키가 실행취소(ctrl + z)가 아닐까? 하지만, 누구나 한번쯤 실행취소를 연타하다가, 멈춰서 당황한 기억이 있지 않는가? 분명 이전 버전에서는 옵션에 실행취소 횟수를 정하는 내용이 있었던 것으로 기억하는데, 2019버전에서는 안보인다. 나만 안보이는건지는 모르겠다. 레지스트리 수정 cmd 창을 열어 regedit를 쳐서, 레지스트리 편집기를 열어준다. 오피스2019 버전의 경우, 상단 주소창에, 아래 주소를 입력하면, 엑셀 레지스트리의 option폴더로 이동할 수 있다. 컴퓨터\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Excel\Options 위 이미지에..
usb외장하드(ssd) 인식 제어판 > 전원옵션에서, 고급전원관리 옵션을 통해 usb절전모드를 해제해주자. 그래도 잘 안된다면, 음... 글쎄.
cmd 창에서 python 입력시 윈도우 스토어 나올때, 어느날 갑자기, python 명령어를 실행했는데, 윈도우 스토어 창이 뜬다. 음... 이유를 알고 싶지도 않다. 해결책은 앱 및 기능 > 앱 실행 별칭에서 앱 설치 관리자 기능을 꺼두는 것으로 해결된다. 윈도우즈는 참... 어렵다. 끝.
외장하드, USB 드라이브 문자 변경 네이버 MYBOX와 외장하드를 동기화 하고 있는데, 어느날 보니 외장하드의 드라이브 문자가 변경되어, 동기화가 안되고 있다. 컴퓨터 관리의 디스크관리항목에서, 해당 외장하드 위에서 우측 버튼을 누르면 드라이브 문자관리를 변경할 수 있는 창이 뜬다. 변경을 눌러 바꿔주면 끝. 큰 의미는 없다. 끝.
AddThis 서비스 종료(services terminated) 한동안 블로그에 달아놨던 서비스인데, 종료되었다. 사이트 링크 버튼을 쉽게 달아주던 서비스였는데, 비즈니스모델이 없긴했지만 아쉽다. 좋은 무료서비스, 구린 유료서비스가 많지만, 특히 서비스에 임베딩시켜야하는 기능은 비싸더라도 안정성이 중요한걸 채택해야하나보다. 하루에도 수없는 이런류의 서비스들이 생기고 없어지고를 반복는데, 그들의 프로토타입은 미래의 그들을 성장시키는 밑거름이 될 것으로 믿지만, 나같은 프로토타입의 마루타들은 갈길을 잃는다. 더럽고 치사하면, 이런 간단한 서비스들은 직접 만들어서 사용하는 것이 나을 것 같다. 끝.
[사진장비] 액션캠. 액세서리지옥. DJI 액션2 마그네틱 어댑터 처음엔 이해가 안갔다. 자그마한 액션캠에 구지 액세서리가 필요한가? 그런데, 중고매물은 모두 액세서리가 한바가지씩 딸려있다. 그냥 미니 삼각대 하나이면 되지 않을까 생각했는데, 이 생각은 그리 오래 가지 못했다. 액션2를 사고 나서, 액세서리가 왜 필요한지 깨닫게 되는 시간은 그리 오래 걸리지 않았다. 일단 손으로 들기 참 애매한 크기이고, 어디 한군데 고정하려고 하면, 파츠가 필요했다. 나름 미러리스 카메라를 쓰면서 다양한 RIG나 홀더가 있었는데, 이건 참 신세계이다. 동영상의 특성상, 장시간 거치를 염두에 두기 때문이리라. 이번에 산건, 액션2의 장점이자 단점이라 할 수 있는, 마그네틱 어댑터인데, 파워포듈에는 고프로용 어댑터 하나가 전부인 관계로, 추가 구매를 했다. 최대한 다른 액세서리를 쓰지 ..
[엑셀VBA] Sheet와 WorkSheet type의 다른점 변수를 선언하다보면, type 중 Sheet와 WorkSheet가 뭐가 다른지 싶다. 살짝 구글링을 해본 결과를 기술해 두자면, Sheet는 WorkSheet를 포함한다. Sheet > WorkSheet Sheet를 구성하는 타입은 WorkSheet 외에도 더 있다. 단, 현재는 다 없어진(?)거나 다름없고, ChartSheet 아니면 WorkSheet만 남았다고 생각해도 무방하다 한다. WorkSheet : the sheet with the gridlines and cells Chart : the sheet which contains a single chart DialogSheet : deprecated Macro sheets : deprecated International Macro sheet : d..
[엑셀] 자동필터 전체 한방에 해제하기 자동필터를 푸는 단축키는 ALT → A → C 이다. 사실 오피스 프로그램의 연속으로 키를 누르는 단축키는 몇년이 지나도 익숙해 지지 않는다. VBA로 버튼을 만들어 두면 나름 편하게 써먹을 수 있다. 특히, 여러 열에서 필터를 걸어놨을 때 유용하다. 물론, 리본메뉴를 찾아 누르는 과정과 크게 다르지 않을지 모른다. Sub clearFilter() ' [with Table] Does not work where active cell is out of Tables. On Error Resume Next ActiveSheet.ShowAllData On Error GoTo Err_Check Err_Check: If Err.Number 0 Then MsgBox "오류번호 : " & Err.Number & vbCr..
[엑셀] 테이블(표) 영역 선택해서, 이름정의로 사용하기 데이터 시트의 경우, 영역(range)으로 사용하는 것보다 테이블(표)로 사용하는 경우 장점이 있다. 첫번째는 최하단에 데이터를 추가했을때 연결되는 수식에서 동적으로 추가된다는 것이고, 두번째는 데이터가 좀 늘어나면, 엑셀이 힘겨워하는 경우를 심심치 않게 볼 수 있는데, 이를 좀 더 완화할 수 있을 것이라는 기대감이 있다. 즉, 확실치가 않다. 각설하고, 주어진 상황은 아래와 같다. 데이터 시트가 있고, 이를 배열 함수로 요약하는 시트가 여러장 있었다. 나 역시도 귀찮아서, 테이블 대신 주로 영역으로 사용하고 있었는데, 어느순간, 계산 중이라는 프로그래스바가 생긴다. 테이블(표) 내에서 원하는 영역을 선택하는 것을 Structed references 이라고 하나보다. 범용적으로 쓰는 말인지 모르겠는데, ..
갤럭시 S9, 갤럭시 스마트폰 배터리 교체 비용 스마트폰은 배터리가 닳아서 교체를 하는 것보다 액정이 날아가서 교체하는 경우가 많다. 하지만, 이번에 쓰고 있는 갤럭시 S9, 액정보호필름없이도 꿋꿋이 잘 버텨주고 있다. 그러던 중, 난생 처음보는 배터리 교체 NOTIFICATION이 발생한다. 딱히 가지고 싶은 폰도 없으니, 배터리를 교체해서 더 오래 써볼 요량으로 가격을 검색하니 아래와 같다. https://s3-contents.s3.ap-northeast-2.amazonaws.com/web/THS/THS-THS-A20307-5d47aeea93947353a7a39a94-190828082538029.html S9(SM-G960)S9+(SM-G965)S8(SM-G950)배터리36,50039,00034,000수리비9,0009,0009,000KIT3,000..
[플러터] SearchBar Widget 사용하기 검색기능을 만들일이 있을지 모르겠지만, 예전에 슬쩍 봤었던, SearchBar Widget에 뭔가 신박한 무엇인가가.. 생겼나 살펴보았다. 다짜고짜, SearchBar 위젯을 달아본다. 입력창에 별다른 제한을 두지 않으니, 그닥 큰 생각을 할 필요는 없었다. 대충 숫자를 사용해서, string list를 만들고, 필터가 걸렸을때 사용할 빈 list를 만들었다. List list = [ "1", "2", //... 중간 생략 ]; List filteredList = []; 입력값에 제한을 둔다면 컨트롤러가 필요하겠지만, 이번엔 건드리지 않는 것으로 한다. var textcontroller = TextEditingController(); 복잡하지만, onChanged 이하 구문만 살펴보면 될 것이다. 입력된..
[플러터] Sheets로 이미지 URL의 EXIF 정보 얻어내기 Sheets를 DB로 사용하는만큼, 데이터를 손쉽게 추가할 수 있는 장점이 있다.(아니, 이미지 원본이 함께 저장되는 DB에서는 더 쉽게 처리할 수 있을 것 같기는 하다.) 웹에 올려진 이미지에서 EXIF 정보를 얻어내는 후처리가 필요한 경우에 아주 요긴하게 사용할 수 있을 것 같은 느낌이 있었으나, APPSCRIPT부터 시작해서, 꽤 오래전에 봤었던 내용을 찬찬히 복기해 보고 있자니, 생각보다 꽤 오랜 시간이 걸렸다. 사진 앨범의 특정사진을 탭했을때, EXIF 정보가 같이 노출되길 바랬던 본 프로젝트에서 전제되어있는 컨디션은 아래와 같다. _원본 이미지가 특정 경로에 올라가 있다. _특정열에 경로(URL) 정보가 들어가 있다. 물론 해당 경로상의 이미지는 EXIF 데이터를 가지고 있다. _Sheets의..
[플러터] 심플 애니메이션 Animated... 위젯을 쓰지 않고, 애니메이션을 사용하기 귀찮지만, 막상 하고 보면 마땅히 쓸 곳은 없고, 애매하다. Container Stateful Widget에서 SingleTickerProviderStateMixin 호출 class _MainPageState extends State with SingleTickerProviderStateMixin 컨트롤러와 애니메이션 변수 생성 late AnimationController animationController; late Animation animation; 그리고 초기화, @override void initState() { // TODO: implement initState super.initState(); animationController ..
[엑셀] 배열수식 테이블 슬라이스 - 동적인 합계 영역 설정 좀.. 딥한 내용이기는하지만, 단순하게 적어본다. 아래와 같은 테이블이 있을때, 원하는 과일에 대한 조건을 주고, (여기서는 이름으로만 처리), 월별 생산량을 구하는 수식을 짠다고 하면, 최초에 세팅한 합계영역이 계산되어 나올 것이다. 아래 그림처럼, "수량"이라는 이름으로 정의를 해놓았다면, 보라색 영역이 변경되지 않는다는 말이다. "수량"이라는 영역을 슬라이스처럼 동적으로 만들 수 있을까? 일단 생각나는데로 해본다. 월에 따라, 열문자가 변경되어야 하므로 이를 참조할 테이블을 하나 만든다. 1월부터 12월까지, 해당하는 열문자를 기재해줬다. 그냥 놔두면 흉하니까, 나는 "열번호"라는 이름으로 이름정의를 해둘 생각이다. 테이블을 이름정의로 바꾸는 매크로는 이전 글에 적었던 적이 있는 것 같다. [엑셀V..
[플러터] minSdkVersion 위치 특정 패키지를 사용하다보면, 최소한의 안드로이드 SDK를 00버전 이상으로 하라고 에러가 뜰 때가 있는데, app > build.gradle 파일을 보면, minSdkVersion 표기가 되어있지만, 음... 어딘가(flutter.minSdkVersion)를 참조하고 있다. 그냥 지우고 숫자를 입력해도 무방은 하다. defaultConfig { // TODO: Specify your own unique Application ID (https://developer.android.com/studio/build/application-id.html). applicationId "com.example.fluttertest" // You can update the following values to match yo..
[다트] 리스트 중복 제거 리스트에서 중복을 제거하는 방법이야 여러가지가 있겠지만, 아래 방법은 어떨까? toSet으로 중복을 제거하고, 다시 리스트로 바꿔주는 방법이다. List listSample = [1, 2, 2, 3, 4, 4, 23, 24, 324, 2353, 12, 1, 12]; main() { Set setSample = listSample.toSet(); print(setSample); // Console >> {1, 2, 3, 4, 23, 24, 324, 2353, 12} List setNewList = []; setNewList.addAll(setSample); print(setNewList); // Console >> [1, 2, 3, 4, 23, 24, 324, 2353, 12] print('newList\..
[플러터] Map 정렬하기 아래와 같은 dblist Map이 있다고 하면, Map dblist = { 0: [1, '가', 8, '나'], 1: [2, '마', 4, '바'], 2: [6, '자', 1, '치'], }; Map의 구성은 아래와 같다. print(dblist); //console >> {0: [1, 가, 8, 나], 1: [2, 마, 4, 바], 2: [6, 자, 1, 치]} 정렬을 위해 Key값을 리스트로 추출하는 방법은 아래와 같다. // 키 값을 리스트로 추출 var sortedKeys = dblist.keys.toList(growable: false); print(sortedKeys); //console >> [0, 1, 2] LinkedHashMap 사용을 위해서는 collection 패키지를 import ..
[플러터] 구글 Sheets 를 DB로 사용해서 갤러리 만들기 #2 갤러리앱 얼마전에 갤러리앱을 만들고 있다는 글을 썼었다. [플러터] 구글 Sheets 를 DB로 사용해서 갤러리 만들기 #1 플러터와 DB 이미지 갤러리라면, DB를 구성하고 이미지를 저장하고 관리하는 것이 여간 귀찮은 일이 아닐 것이다.(해본 적이 없어서 추정) 🤭🤭🤭🤭 Firebase로 youtube 리스트를 구성한 적이 있었 sunnybong.tistory.com 이번엔 만드는 과정은 아니고, 만들다 보니 debug 모드에서는 아무 문제없지만, release모드에서는 구글Sheets에 호출한 데이터가 불러와지지 않는다. - release 모드인만큼 API키를 별도로 생성해야하는 줄 알고, SHA-1까지 생성은 했으나, 음... 입력할 곳이 없다. - playstore에 출고할 때처럼, 개발자 key..
티스토리 자체광고, 이건가? 모든 글의 맨위, 티스토리 광고가 위치한다. 처음에는 구글에서 자동광고를 넣었나 했는데, 해당 위치에 본문광고를 넣어보니 놀랍게도, 두개가 연달아 보인다. 광고를 그렇게 수없이 달면서, 해당 위치는 양심상 달지 못했었는데, 훌...훌륭하다. 얼마전부터 카카오스토리 콘텐츠 화면에서도 광고가 같이 나오더니, 뭔가 투자를 회수하려는 전략이겠지만, 너무너무너무 아이디어가 짜친감이 없지 않다. 그래도 국내 탑티어 IT회사 아니던가.. 서버를 빌리는 입장에서는 뭐... 할말이 없다. 억울하면 대통령 되야지 뭐 끝.