이것저것 8

2023 Let us go 찍먹톤 참가 후기..

wwdc23 주제로 해커톤이 열린다는 소식을 듣고.. 참가신청을 했었는데 운좋게(?) 참여하게 될 수 있었다 Xcode 15 베타에서 작업했는데 생각보다 버그도 없었고 (물론 나중에 버그생김^^) 팀원들 모두 SwiftUI를 사용해본 적이 없었는데, 해보자! 하고 시작하게 되었는데... 앱이 일단은.. 단순한 UI로 구성되어 있어서 그런지 UI 작업은 크게 어렵지 않았고, 재미있었다. 뭣... 오토레이아웃을 안잡아도 된다고? 너무 신기했다 복잡한 UI도 스택만으로 그려지나..? 생각하긴 했지만 다 방법이 있겠지! 문법같은 것들도 다른 부분이 있어서.. 별거 아닌 부분에서 애먹기도 하고.. 확실히 경력이 좀 더 많은 분들은 훨씬 금방 적응하셔서 작업하는 것 같았다. 문제는.. 프로젝트도 스유도 아니었다 깃..

이것저것 2023.06.12

SOLID (SRP, OCP, LSP, ISP, DIP)

SOLID (SRP, OCP, LSP, ISP, DIP) 1. SRP (Single-Responsibility Principle), 단일 책임 원칙 소프트웨어 요소(클래스, 모듈, 함수 등)는 각각 하나의 책임을 가져야 한다. 클래스를 변경해야 하는 이유는 단지 ‘응집도’여야 한다. 높은 응집도 → 낮은 결합도 // 낮은 응집도 → 높은 결합도 …. 이 중 높은 응집도가 지향되어야 한다. 여러 객체 책임질 때의 문제점 : ex) 야구게임 점수 계산기 → 다른 구기종목(농구게임)도 계산하도록 점수 계산기가 사용되어버린다? 야구게임의 규칙이 변경되었을 경우 점수 계산기를 변경했을 때, 농구게임에 영향을 줄 수 있음 2. OCP (Open-Close Principle), 개방-폐쇄 원칙 소프트웨어 요소는 확장..

이것저것 2022.12.06

BGM, 효과음 무료로 다운받는 곳

효과음 무료로 받는 곳 알아보다가 찾은 사이트 https://freesound.org/ 우측 상단의 Register - 회원가입 후 로그인, search sounds 라고 되어있는 검색 창에서 원하는 사운드를 검색하면 된다. 모든 파일을 조건없이 무료로 사용할 수 있는 것은 아니고, 저작권이 몇 종류가 있다. 1. zero (cc0) 별다른 제약없이 사용가능, 특히 '상업적' 용도로도 사용 가능. 2. attribution (by) 복사, 재배포 가능, 파일을 변형하거나 리믹스도 가능 상업적 용도로도 사용 가능 단, 출처를 표기하고 파일을 변경할 경우 고지해야 함. 3. attribution noncommercial (by-nc) 복사, 재배포 가능 리믹스, 파일 변형 가능 상업적 용도로 사용 불가능 출..

이것저것 2022.07.09

비전공자) 7기 부스트캠프 2차 코딩테스트 후기

하얗게.. 불태웠따… 2차 테스트에는 구현문제 3문제, 관련된 서술형 문제가 나왔다 서술형에 대해서는 말하면 안될 것 같으니 논외로 하고 허접인 본인에게는 1차도 어려웠지만 2차는 더 어려웠다 난이도는 개인적으로 백준 골드5 이상이라고 생각이 든다 문제 자체가 크게 어려운 건 아닌데.. 역시나 아직 문법에 미숙해서 ㅠㅠ ide 도움없이 원하는대로 코드를 작성하기가 힘이 들었다 결국 1번문제에 시간을 다 잡아먹었고.. 그래도 예외적인 부분까지 완벽하게 구현한 것 같다 1.5솔을 예상해봄 2차 시험에서는 제출 결과가 어떤지 따로 나오지가 않아서 직접 예외적인 부분에 대해 테스트케이스를 추가해서 확인했다 현재 내 수준에서는 어려운 문제였다고 생각하는데 한 문제를 제대로 풀어서 뿌듯~했다 떨어질 확률이 높아보이..

이것저것 2022.07.02

비전공자) 7기 부스트캠프 1차 코딩테스트 후기+결과

응애개발자들의 꿈의 부트캠프 중 하나인 부스트캠프.. 1차 코딩테스트를 보고 왔는데 다음 기수의 누군가에겐 도움이 될 수도 있을 것 같아 후기를 남겨보자면.. 첫째로 cs문제 우선 cs문제가 참고하라고 했던 cs50에 나오는 범위와 조금 달랐음 난이도의 문제는 아닌 것 같은데, cs50에선 다루지 않았던 운영체제나 네트워크 등과 관련된 문제들도 나왔다. 대놓고 이제부터는 전공자 중에서 뽑겠다는 의도이거나, cs50에 무엇이 있는지 출제자들이 확인을 안했던 것 같음 비전공자들에게 교육의 기회를 주고자 하는 마음이 있다면 사전에 공부해야 할 cs의 범위라도 최소한 알려주었으면 좋았을텐데 하는 아쉬움이 많이 남았다. 둘째로 알고리즘(?) 문제 자가진단 문제와 수준이 너무 많이 달랐다. 모든 지원자들의 의견은 ..

이것저것 2022.06.29

네이버 부스트캠프 웹,모바일 자가진단 함수 구현

어제 설명회에서 자가진단이란 걸 해보라길래.. 해봤는데 재미있었음! 함수 구현하는 문항도 있던데 따로 제출하는 건 아닌듯..?하여 만든 코드가 아까워서 올려봅니다 문제는 아래와 같음.. 긁어와도 되나? 자연수가 들어있는 배열 arr가 매개변수로 주어집니다. 배열 arr안의 숫자들 중에서 앞에 있는 숫자들부터 뒤에 중복되어 나타나는 숫자들 중복 횟수를 계산해서 배열로 return 하도록 solution 함수를 완성해주세요. 만약 중복되는 숫자가 없다면 배열에 -1을 채워서 return 하세요. ▶입출력 예 #1 arr = [1, 2, 3, 3, 3, 3, 4, 4]에서 3은 4번, 4는 2번씩 나타나므로 [4, 2]를 반환합니다. ▶입출력 예 #2 arr = [3, 2, 4, 4, 2, 5, 2, 5, 5..

이것저것 2022.06.09

유클리드 호제법 - 최대공약수, 최소공배수를 구해보자

최대공약수(GCD, great common divisor), 최소공배수(LCM, least common multiple)를 유클리드 호제법을 이용해 구해보자. 먼저, 유클리드 호제법의 정의는 다음과 같다. 두 수가 서로(互) 상대방 수를 나누어(除)서 결국 원하는 수를 얻는 알고리즘을 나타낸다. 2개의 자연수(또는 정식) a, b에 대해서 a를 b로 나눈 나머지를 r이라 하면(단, a>b), a와 b의 최대공약수는 b와 r의 최대공약수와 같다. 이 성질에 따라, b를 r로 나눈 나머지 r'를 구하고, 다시 r을 r'로 나눈 나머지를 구하는 과정을 반복하여 나머지가 0이 되었을 때 나누는 수가 a와 b의 최대공약수이다. => 상대 수와 나머지 값에 대해... 나머지가 0이 될 때까지 나머지를 구하는 과정을..

이것저것 2022.04.22