728x90
반응형

개발 255

Mac 개발 적응기 001 - macOS 용 패키지 관리자 Homebrew(홈브루)

개발을 하다 보면 다양한 개발용 패키지들을 설치하고 삭제하게 된다. 이를 위해서 Mac에서 많이 사용하는 패키지 관리자로 Homebrew가 있다. https://brew.sh/index_ko Homebrew The Missing Package Manager for macOS (or Linux). brew.sh 설치 방법은 홈페이지에 있는 커맨드를 그냥 터미널에 복붙 하면 열심히 설치를 진행한다. 중간중간 패스워드를 입력해줘야고, 생각보단 설치가 오래 걸린다..! 설치가 완료되면 환경변수 추가 하라고 친절하게 명령어도 알려주니 추가해주면 설치는 완료된다. Homebrew docs 링크는 아래와 같다. https://docs.brew.sh/ 설치하고 패스 추가하면 아래와 같이 간단하게 필요한걸 설치할 수 있..

개발 2021.05.26

M1 맥북에 Flutter 첫 세팅.... android, ios, web 빌드

이번에 M1 맥북에 flutter 첫 세팅을 진행했습니다. flutter가 크로스컴파일이 되지만... 맥북이 없으면 ios를 할 수 없는 게 아쉬웠는데... 맥북에선 가능하니...! 설정하는 법은 정말 많이 있어서 생략하겠습니다. 저는 Android Studio에서 진행하였습니다! 최근 기준인 v2.0.1로 설치를 했습니다. flutter.dev/docs/get-started/install/macos macOS install How to install on macOS. flutter.dev 최근에 v2가 되면서 웹에서도 개발이 강화된 걸로 듣긴 했는데 빌드 리스트에 크롬이 보이는 게 재밌더군요~ 원래 윈도우에서도 있었는지는 기억이 잘 안 나네요... ㅎ android 애뮬의 경우 아래 링크에 있는걸 받아..

개발 2021.03.10

개발전 ICloud 연동 끄기

아직 맥북에 적응을 하지 못하고 있지만... 처음 XCode를 설치하고 Ios App build를 하는데 벌써 문제가 생겼다... 사실 큰(?) 문제는 아니고.. 잘 되는데... 이상하게 맥북을 재부팅을 하고 나면 XCode에서 그 프로젝트를 다시 열 수 없었다... 그냥 새로 프로젝트를 생성하면 잘 되는데... 재부팅만 하고 나면 안 되길래.. M1 최적화가 안되서 그런가 하면서 쓰다가... 알람 중 ICloud 용량 5G가 가득 찼다는 경고가 계속 뜨는 걸 확인하고 보니... XCode 프로젝트가 Cloud에 업로드가 되는데 용량이 부족하면서 파일업로드가 실패되면서 프로젝트 구성 파일들에 문제가 생기는 것으로 추측이 되었다... 그래서 ICould 동기화를 해제 한 뒤에는 이런 문제가 발생하지 않았다..

개발 2021.02.28

[Python, Algorithm] 두 수의 합

출처: 파이썬 알고리즘 인터뷰 info > enumerate() > 인자의 index와 값을 튜플 형태로 전달 for i, n in enumerate(li): print(i, n) for tu in enumerate(li): print(tu) print: 1 a 2 b 3 r 4 1 5 d (0, 3) (1, 'a') (2, 'b') (3, 'r') (4, 1) (5, 'd') 방법 1) brute-force 방법 모든 조합 조회 ( O(n^2) ) def two_sum_bruteForce( nums : [int], target : int) -> [int]: for i in range(len(nums)): for j in range(i + 1, len(nums)): if nums[i] + nums[j] ..

개발 2020.10.02

[Python, Algorithm] sorted() sort

출처: 파이썬 알고리즘 인터뷰 Python에서는 기본적으로 Timsort를 사용한다. Timsort는'실제 데이터는 대부분 이미 정렬되어 있을 것이다'라는 가정하고 실제 데이터에서 고성능을 낼 수 있도록 설계된 알고리즘이다. sorted() 사용 sorted() 함수는 입력받는 String or List를 List로 반환한다. str01 = 'aieosdkdslerb' print(sorted(str01)) print: ['a', 'b', 'd', 'd', 'e', 'e', 'i', 'k', 'l', 'o', 'r', 's', 's'] key 지정 sorted() 함수는 정렬을 위한 key 옵션이 있다. ex1) len 지정 key로 len을 지정하면 길이가 짧은 순으로 정렬된다. list01 = ['aa..

개발 2020.09.30

[Python, algorithm] 애너그램(Anagram)

출처: 파이썬 알고리즘 인터뷰 문제: 애너그램, 문자의 위치만 바뀌었을 때 같은 단어를 만들 수 있음. 1. dictionary에 존재하지 않는 키를 삽입하면 error가 발생하기 때문에 defluat를 생성한다. anagrams = collections.defaultdict(list) 2. 각 단어를 sorted()를 통해 정렬 후 다시 join하여 key 생성 print( sorted('abc')) print( sorted('bca')) print( ''.join(sorted('abc'))) print( ''.join(sorted('bca'))) 즉, 아래와 같이 'abc'와 'bca'는 같은 key를 생성한다. print: ['a', 'b', 'c'] ['a', 'b', 'c'] abc abc 3...

개발 2020.09.30

[python, algorithm] 가장 흔한 단어 찾기

출처: 파이썬 알고리즘 인터뷰 문제: 금지된 단어를 제외한 가장 많이 나온 단어를 찾기 여기서도 정규식을 활용하여 문제 풀이가 가능하다. str01 = 'aaa bbb dfsdfe ds#@fds ff!@!ffd df 234$# #@$ @$##@@' print(str01) print(re.sub(r'[^\w]', ' ', str01)) 정규식에서 \w는 단어 문자를 뜻하며 위와 같이 하면 문자가 아니면 전부 공백으로 처리할 수 있다. print 결과 아래와 같이 여러 문자들은 없어진다. aaa bbb dfsdfe ds#@fds ff!@!ffd df 234$# #@$ @$##@@ aaa bbb dfsdfe ds fds ff ffd df 234 이외에도 소대문자 통일 및 금지된 단어 제외를 하는 방법을 순서대..

개발 2020.09.29
728x90
반응형