본문 바로가기

전체 글26

JUNCTION AISA 2024 후기 (정션후기) 국내에서 꽤 규모가 큰 JUNCTION AISA 2024에 다녀왔다 대회의 존재 여부는 작년에 알고 있었지만 기간을 놓쳐서 내년을 기약하며 팀을 모집하였다.작년 11월에 ABB 해커톤에서 우승했던 팀원들이 있어서 그 팀원들 그대로 나가고 싶었다. 개발 실력은 말할 것도 없고 무엇보다 함께 무언가를 만들고 고민할 때 즐거운 조합이었기 때문이다.2024는 작년과 다르게 경주에서 진행되었다. 부산이었다면 바다 구경도 할 생각이었는데 아쉽게 되었다.Day1첫날은 늦게 모이기도 했고 해커톤 주제에 대한 간략한 설명이 있었다.공식 언어가 영어라서 모든 세션은 영어로 진행되었고 최근에 영어 공부를 조금 한 덕분인지 문맥은 알아들을 수 있었지만 완벽하게 이해할 수 없는 부분이 종종 있어서 공부를 좀 더 해야겠다는 생각.. 2024. 8. 20.
2022 군장병 SW 해커톤 참여 후기  군 장병 SW 대회 후기 나는 이 대회를 입대할 때 부터 알고있었다. 먼저 군대를 간 동아리 선배들이 군 장병 SW 대회에서 큰 상을 타는 것을 보면서 나도 군대에 간다면 꼭 나가봐야겠다고 결심했었다. 다행히도 훈련소 때 180번 훈련병을 만나서 처음부터 아주 든든한 팀원을 얻게 되었다. 나랑 생각하는 부분도 많이 비슷하고 무엇보다 군대에서 열심히 노력하는 모습이 나에게 많은 자극이 되었다. 지금와서 생각해보면 군대에서 그렇게 같이 노력하는 사람이 없었다면 중간중간 많이 지쳤을 것 같다. 대회 주제 정하기 길지 않은 시간동안 심사하는 대회 특성상 눈에 띌 만한 기술적인 매력도가 있어야했다. 그래서 난 전 부터 도전해보고 싶었던 블록체인 분야를 도전해보기로 했다. 사실 나는 블록체인에 대해서 기초정도만.. 2022. 12. 4.
[Lv.2] 프로그래머스 피로도 (Javascript) 피로도 (Lv.2) 완전탐색을 이용해서 푸는 문제 문제설명 XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던전 탐험을 마쳤을 때 소모되는 "소모 피로도"가 있습니다. "최소 필요 피로도"는 해당 던전을 탐험하기 위해 가지고 있어야 하는 최소한의 피로도를 나타내며, "소모 피로도"는 던전을 탐험한 후 소모되는 피로도를 나타냅니다. 예를 들어 "최소 필요 피로도"가 80, "소모 피로도"가 20인 던전을 탐험하기 위해서는 유저의 현재 남은 피로도는 80 이상 이어야 하며, 던전을 탐험한 후에는 피로도 20이 소모됩니다. 이 게임에는 하루에 한 번씩 탐험할 수 있는 .. 2022. 8. 4.
정규식을 활용한 문자열 다루기 js에서 문자열 다루기 이번에 풀어본 문제의 조건은 다음과 같습니다. new_id의 모든 대문자를 대응되는 소문자로 치환합니다. new_id에서 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.)를 제외한 모든 문자를 제거합니다. new_id에서 마침표(.)가 2번 이상 연속된 부분을 하나의 마침표(.)로 치환합니다. new_id에서 마침표(.)가 처음이나 끝에 위치한다면 제거합니다. new_id가 빈 문자열이라면, new_id에 "a"를 대입합니다. new_id의 길이가 16자 이상이면, new_id의 첫 15개의 문자를 제외한 나머지 문자들을 모두 제거합니다. 만약 제거 후 마침표(.)가 new_id의 끝에 위치한다면 끝에 위치한 마침표(.) 문자를 제거합니다. new_id의 길이가 2자 이.. 2022. 7. 15.
제리책방 개발일기:: Grid Layout 적용기 북스타그램에서 영감을 얻은 제리책방의 메인페이지는 인스타와 비슷하게 격자 형태로 이루어져있다. 처음에는 반응형을 고려하여 격자형 레이아웃을 Flex로 구현하였다. Flex box에 flex-wrap: wrap 이라는 속성을주게되면 하위 콘텐츠들이 상위 콘텐츠의 Width를 벗어나면 바로 줄바꿈이 된다. 하지만 flex-box는 1차원 배치 속성이기 때문에 하위 콘텐츠들을 가운데 정렬한 상태에서 flex-wrap을 주게되면 코드는 다음과 같다. display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: center; 위와같이 격자가 깨져버린다. 이건 예전에 스타일링할 때도 자주보던 문제인데 이번 기회에 .. 2022. 5. 7.
OS 공부하는 Jerry :: Memory Memory PC에 저장되어있는 프로그램을 실행시키면 Process는 운영체제의 Memory 위에서 실행됩니다. 하나의 Process 가 하나의 Memory에서 실행된다면 단순하게 끝날 문제이지만 시분할 시스템 에서는 다양한 Process가 Memory에 동시에 올라와서 실행됩니다. 이때 모든 메모리 관리는 MMS(Memory Management System) 이 담당하게됩니다. 이때 Process는 Memory를 독차지하려고하고 MMS 는 관리를 효율적으로 하려고 하기 때문에 서로 충돌이 일어납니다. 이처럼 현대의 메모리 관리는 과거보다 훨씬 복잡해졌습니다. Source Code and Compiler 목적코드 변환 코드가 작성되면 일반적으로 Compiler가 해당 코드를 Compile 하여서 기계어인.. 2021. 12. 25.
OS 공부하는 Jerry :: 컴퓨터 구조 OS ( Operating System ) 작성시작: 2021-11-28(일) OS란? 우리들이 평소에 사용하는 노트북, 스마트폰, 스마트TV와 같은 전자기기에는 반드시 운영체제 가 내장되어있습니다. 모바일 기기에는 Android, IOS 등이 대표적이고 컴퓨터에는 MacOS, Window, Linux 등이 있습니다. 운영체제는 하나의 소프트웨어로서 컴퓨터의 부품들인 Hardware 들의 입/출력 동작을 제어하고 사용자에게 편의성을 주는 다양한 소프트웨어를 설치할 수 있는 환경을 제공합니다. 우리가 마트에서 구매할 수 있는 계산기는 제작될 때 탑제되어있는 수식계산의 기능외에는 할 수 있는것이 없습니다. 만약 기능을 추가하고싶다면 하드웨어를 뜯어서 다시 만들어야합니다. 하지만 컴퓨터에 새로운 기능을 추가하.. 2021. 12. 1.
DNS(Domain Name System) - 공부하는 네트워크 (7) 작성 시작 : 10월 9일 (토) 지금까지 네트워크에 대해 기본적인 내용을 정리하면서 IP 에 관련한 이야기를 많이 다뤘습니다. 하지만 인터넷의 사용자는 정작 IP 에 대해서 잘 몰라도 인터넷을 자유자재로 사용할 수 있습니다. 실제로 우리는 구글에 접속하고 싶다면 구글 웹 페이지를 호스팅하는 서버의 IP 를 검색창에 넣지 않고 www.google.com 을 입력합니다. 이러한 일이 가능한 이유는 DNS 가 www.google.com 을 구글 서버의 IP 로 변경해주기 때문입니다. 📖 DNS ( Domain Name System ) DNS 는 기본적으로 IP 주소와 Domain Name 을 매핑해주는 역할을 수행합니다. DNS 는 이런 기본적인 작업 이외에도 여러가지 역할을 수행할 수 있는데, 서버에 연동.. 2021. 10. 9.
NAT (Network Address Translation ) - 공부하는 네트워크 (6) 작성 시작 : 10월 2일 (토) 작성 완료 : 10월 9일 (토) 💻 NAT ( Network Address Translation ) IP 는 42억개의 경우의 수를 가지고 있지만 현대에 와서 42억개의 IP 는 턱없이 부족합니다. IP 주소 고갈 대책으로써 단기계획으로는 Class 와 Subnet 을 적용하여 대역을 나누고 체계적으로 관리하며 효율성을 증대시켰습니다. 장기계획으로는 IPv6 로 변환이 있습니다. 단기계획 과 장기계획 사이에는 IP 고갈을 해결하려고 만든 중기계획 이 존재하는데, 이 계획이 바로 NAT ( Network Address Translation ) 입니다. NAT 기술은 부족한 IP 를 사설 IP 와 공인 IP 로 나누는 것 부터 시작됩니다. NAT 가 내장된 Router나 .. 2021. 10. 9.
Switch - VLAN( Virtual Local Area Network ) 정리하는 네트워크 (5) 지금까지 공부한 내용을 바탕으로 Switch 는 Collision domain 을 분리해주는 역할을 주로 한다고 정리했습니다. 만약에 회사 본관에서 본관 네트워크 를 이용하다가 별관으로 파견을 나갈 일이 있어서 별관으로 가게된다면 네트워크는 별관 네트워크 를 사용해야합니다. 만약에 본관 네트워크와 연결하고싶다면 본관 네트워크의 Switch 에서 선을 뽑아서 별관 네트워크까지 연결해야합니다. 이는 굉장한 낭비입니다. 별관 네트워크 로 간 호스트 1개 때문에 Switch 한 대가 낭비되게 됩니다. 만약 같은 네트워크는 사용해야하는데 물리적으로 떨어져있는 상황이 한 개가 아니라면? 낭비되는 Switch 는 한대로 끝나지 않습니다. 이러한 문제를 해결하기 위해서 L2 Switch 에는 .. 2021. 10. 2.
Switch - STP ( Spanning Tree Protocol ) 스위치는 학습되지 않은 MAC 의 통신을 받을 때는 기본적으로 전체에게 넘기는 Flooding 을 하게됩니다. 두 개의 스위치가 서로연결되어있을 때 서로 Flooding 을 주고받게 되면 결국 돌고도는 Looping 이 발생하게됩니다. 이러한 상황을 방지하기 위해서 Switch에는 STP(Spanning Tree Protocol 이라는 기술이 적용되어있습니다. STP (Spanning Tree Protocol) STP 는 복수로 연결되어있는 스위치 사이에서 중복되는 연결을 비활성화시키고 있다가 장애가 발생하면 비활성화 되어있던 연결을 부활시키는 방식으로 Switch 간의 연결을 제어하는 프로토콜입니다. STP 의 간단한 원리 먼저 Switch 의 통신이 기준이 될 Root Switch 를 선정하고 나머지.. 2021. 10. 2.
IP와 Subnetting - 공부하는 네트워크(3) 이전 포스팅에서는 IP 를 Class를 활용해서 체계화하는 방법에 대해서 알아보았습니다. IP 의 Class 기능만으로는 세부적인 IP 할당이 어렵습니다. A 라는 회사가 회사 네트워크 운용을 위해서 B Class IP 인 134.44.xx.xx 를 할당받았다고 가정해본다면, B Class 에 할당 가능한 호스의 수는 216 - 2 = 65534 개 입니다. 한 회사가 사용하기에는 너무 많은 호스트 수 입니다. 추가적으로 호스트 범위가 넓으면 그 만큼 Broadcast domain 도 넓어지기 때문에 정상적인 네트워크 운용이 불가능합니다. 이러한 경우를 방지하고 보다 효율적인 IP 할당을 위해서 Subnetting 이라는 기술을 도입하게 되었습니다. Subnet Mask IP 를 한번 더 분류하는 Sub.. 2021. 9. 20.