Xcodes를 사용할 때, 간단하게 터미널로 심볼릭 링크를 만들어주는 파이썬 스크립트.
Xcodes를 사용할 때, 간단하게 터미널로 심볼릭 링크를 만들어주는 파이썬 스크립트.
2023.04.25import os import sys from pathlib import Path # 사용 가능한 Xcode 버전을 검색하고 목록으로 반환하는 함수 def find_xcode_versions(): app_dir = Path('/Applications') xcode_versions = [entry for entry in app_dir.iterdir() if entry.is_dir() and entry.name.startswith('Xcode-')] return xcode_versions # 심볼릭 링크를 생성하는 함수 def create_symlink(version): xcode_symlink = Path("/Applications/Xcode.app") if xcode_symlink.is_symlink()..
스터디 github 가이드
스터디 github 가이드
2022.04.27서론 스터디를 하는 이유? (너무 길어서 내용을 접어두었으니, 읽어보실분은 펼쳐 보세요) 더보기 저는 스터디를 매년 2~3번씩 꾸준히 정기적으로 참여하는 편입니다. 12개월중 6~9개월정도는 되도록 스터디에 참여를 하고, 나머지는 휴식시간을 가지는데요. 곰곰히 생각해보면 스터디보다는 스스로 공부하는것이 훨씬 효율이 나겠지만(관리, 진도 등의 이유로) 저같은경우 보통 스터디를 하게 되면 같이 하는 공부 속에서 혼자 공부를 하게됩니다. 그냥 쉽게 말해 혼자 공부하게되면 대충 하다가 말게되는 게으름때문에.. 오히려 취업준비할때까지는 쳐다도 안봤는데.. 2017년에 일을 시작한 이후부터는 여유가 생겼는지 매년 빼지않고 꼬박꼬박 참여하는 편 입니다. 그런데 연차가 이제 조금씩 쌓이면서 주니어 티를 벗어나는 수준이..
.gitginore 갱신하기
.gitginore 갱신하기
2020.11.13git을 사용하다 보면, 뒤늦게 .gitignore 파일을 추가하거나, 사용중 .gitignore파일을 수정할 일이 생깁니다. 그럴땐 이렇게 처리하면 됩니다 $ git rm -r --cached . $ git add . $ git commit -m ".gitignore Update" git 범위 안의 캐시를 지우는건데요, 이렇게 커밋 후 원격으로 push 하면 원격 저장소에서도 .gitignore 내용에 따라 갱신이 됩니다. 출처 - stackoverflow.com/questions/1139762/ignore-files-that-have-already-been-committed-to-a-git-repository
OpenCV를 이용하여 투명한 이미지 반전시키기
OpenCV를 이용하여 투명한 이미지 반전시키기
2020.06.04얼마전 iOS 개발을 하며 다크모드 관련한 이슈가 생겼습니다. 예전에 개발된 App이다보니, 텍스트와 UI Element들은 간단하게 변경이 되었지만, 이미지파일은 그에 맞게끔 변환하기가 어려웠습니다. 그래서 간단한 아이콘들을 음영 반전을 통하여 변환하였는데, 처음에 시도한 코드는 다음과 같았습니다. import cv2 source_file = 'file_path.png' source = cv2.imread(source_file, cv2.IMREAD_UNCHANGED) source = ~source cv2.imwrite('file_path_negative.png', source) 그러자 이미지가 아래와 같이 반전이 되었으나, 배경색까지도 반전이 되어버려 살아났습니다. 그래서 결국, 픽셀 단위로 이미지를 ..
PDF에 워터마크 삽입하기 [2/2]
PDF에 워터마크 삽입하기 [2/2]
2019.01.23저번 포스트에 이어서 마저 작성합니다. 저번에 이미지를 PDF로 바꿔봤는데요, 오늘은 그 이미지 PDF를 페이지PDF에 합성하는 부분을 처리 해 보겠습니다. 다음은 샘플 pdf파일과 최종 완성 비교 사진입니다. 이제 시작 해 보겠습니다. 다음과같이 PyPDF2 라이브러리를 설치 해 줍니다(유명한 PDF 편집 라이브러리입니다) pip install pypdf2 PDF를 합성하는건 비교적 쉽습니다. 코드를 보시죠. from PyPDF2 import PdfFileReader, PdfFileWriter def PDFMerge(savePath, pdfPath, watermarkPdfPath): # pdf파일 불러오기 pdfFile = open(pdfPath,'rb') pdfReader = PdfFileReader..
PDF에 워터마크 삽입하기 [1/2]
PDF에 워터마크 삽입하기 [1/2]
2019.01.23연말에 프로젝트가 생겨서(+게을러져서), Deuluwa 프로젝트를 완성하지 못하고 새해를 맞이하고 있어 상당히 마음이 뒤숭숭합니다. mac 컴퓨터로 인쇄하는 모든 인쇄물에 워터마크를 삽입해달라는 요구였습니다. mac은 cups로 인쇄할 때, 모든 출력물을 PDF로 변환 후 인쇄시킵니다. 그래서 해당 프로젝트에서 제가 우선적으로 맡은부분은 PDF에 워터마크를 집어넣는 일이었습니다. 로직자체는 별 어려움이 없지만, 어떻게 집어넣어야 할지가 정말 막막했습니다. 자료를 조금 조사해본 결과, Windows는 spooler를 후킹해서 교체한다고 하는데 mac은 조금 다르게 접근을 해야했기 때문입니다. 결론적으로 해결방법을 찾기는 했는데, 이 이상은 본 주제에 벗어나기때문에 생략하기로 하고, 제가 파이썬을 이용해서 ..
[웹 명함 구축기] 0. 웹 명함 구축 계획
[웹 명함 구축기] 0. 웹 명함 구축 계획
2018.05.30안녕하세요? 요즘 이직 준비를 하던 중, 지인분들을 통해 프리 개발 제의가 들어와서 곰곰히 생각을 하다가.. 회사 명함이 아닌, 개인 명함이 있으면 좋겠다라고 생각을 했습니다.(뭔가 개발자스러운 모습 ㅋ.ㅋ) 그리고 생각을 하다가, 명함을 파서, 이름, 전화번호, 이메일, QR코드만 넣어서 아주 심플하게 만들고, QR코드는 저를 소개하는 웹 사이트로 이동시키면 정말 멋있겟다 싶어서 웹명함을 제작하기로 마음먹었습니다. 제가 웹개발은 어릴적에 네이버 마이홈으로 HTML 몇개 올려본 것 뿐이지만, 개발분야가 시간만 투자한다면, 중간이상은 간다고 생각하기에, 용감하게 도전 해 보았습니다. 그래서 많이 찾아보았고, 다른 개발자들의 웹 사이트를 보면서 저도 많이 생각 해 보았습니다. 그러다가 문득 과거에 저희 회사..
C와 C#의 가변인자
C와 C#의 가변인자
2018.05.17요새는 파이썬, 자바로 프로그래밍을 접하시는분들도 많아졌습니다. 하지만 저는 C언어로 프로그래밍을 처음 접했습니다. (좀 더 정확히 어렸을때 GTA에 Pawno라는 스크립터가 있었는데, 뭐 그것도 C언어 기반이었습니다) 보통 컴퓨터 언어 책을 사면 제일 먼저 해보는게 뭘까요? 바로 화면에 Hello World를 출력하는 프로그램을 만들어보는것입니다. (개인적으로 이런책은 별로 안좋아합니다. 눈에 확 띄는걸 좋아해서 대부분 바로바로 GUI먼저 익히고, 그 후에 본격적으로 언어공부를 하는 스타일입니다) C언어에서 Hello World를 출력하는 코드는 다음과 같습니다. #include int main(int argc, char *argv[]){ printf("Hello World!"); return 0; }..
코딩 스타일
코딩 스타일
2018.02.13코딩 스타일 https://namu.wiki/w/코딩%20스타일 구글 가이드 https://google.github.io/styleguide/ 어릴 때 리코더 배울 때 운지법 배우셨죠? 그것처럼 코드를 짤 때는 코딩 스타일이 있습니다. (https://namu.wiki/w/코딩%20스타일) 간단하게 설명해 드리면 그냥 프로그래머 간의 프로토콜이죠. 컴파일 단에서는 문법, 논리만 맞으면 잘 작동하고 상용에서도 문제가 없지만, 코딩스타일이 파일마다, 함수마다 다르다면 유지보수 하기가 정말 힘들어집니다. 불가능해질지도 모르죠…. 보통 기획이 아닌 경우에는 그냥 회사에서, 프로젝트에서 코딩하는 스타일에 맞춰가시면 됩니다. (규모가 크다면 가이드가 있을 것이고 작다면 선임개발자를 따라가면 되죠) 그게 아닐 경우에..
메서드 체이닝?
메서드 체이닝?
2017.11.19Method Chaining 메서드를 연속적으로 사용하는 패턴입니다. "http://herohjk.com/" 다음과 같은 URL을 대문자로 변환하고, 순수하게 도메인 주소만 가져오고싶을때, 아래와같이 코드를 만들 수 있습니다. (짬뽕문법입니다 수도코드정도로 이해해주시면됩니다) 123456789101112131415//herohjkUrl = "http://herohjk.com/" String GetDomainToUpper(String herohjkUrl){ String herohjkUrlUpper = herohjkUrl.toUppercase(); // "HTTP://HEROHJK.COM/" String herohjkUrlReplaceSlash = herohjkUrlUpper.Replace("/",""); ..