전체 글

    [백준/C++] 2493 탑

    문제 KOI 통신연구소는 레이저를 이용한 새로운 비밀 통신 시스템 개발을 위한 실험을 하고 있다. 실험을 위하여 일직선 위에 N개의 높이가 서로 다른 탑을 수평 직선의 왼쪽부터 오른쪽 방향으로 차례로 세우고, 각 탑의 꼭대기에 레이저 송신기를 설치하였다. 모든 탑의 레이저 송신기는 레이저 신호를 지표면과 평행하게 수평 직선의 왼쪽 방향으로 발사하고, 탑의 기둥 모두에는 레이저 신호를 수신하는 장치가 설치되어 있다. 하나의 탑에서 발사된 레이저 신호는 가장 먼저 만나는 단 하나의 탑에서만 수신이 가능하다. 예를 들어 높이가 6, 9, 5, 7, 4인 다섯 개의 탑이 수평 직선에 일렬로 서 있고, 모든 탑에서는 주어진 탑 순서의 반대 방향(왼쪽 방향)으로 동시에 레이저 신호를 발사한다고 하자. 그러면, 높이..

    C++ make_pair 함수 편하게 쓰기

    요즘 문제를 풀면서 다른 사람의 코드를 보는게 매우 중요하다는걸 느끼고 있어서 맞았더라도 다른 사람들의 코드를 보곤 한다. (메모리 개선이나 풀이 방법의 효율성을 보려고) 이때... 매번 make_pair를 치는게 귀찮다고 생각하던 와중 이걸 구조체로 (중괄호로 묶어서) 바로 넣을 수 있다는 점을 발견했다... https://www.acmicpc.net/board/view/41506 (관련 백준 게시판 글) 해당 게시글에도 적혀있지만, 알면 알수록 C++의 기능이 굉장히 다양하고, STL 을 어떻게 효과적으로 사용하는지, 또 각각의 특징이 어떠한지에 대해서 조금씩 더 배워가는 요즘인 것 같다. queue q; //기존에 사용한 방법. q.push(make_pair(a,b); // 구조체를 사용한 방법. ..

    WhenWhen 개발기 - 3

    이번주도 열심히 비대면으로 회의하고, 개발중인 whenwhen팀... 이제 줌으로 회의하고 진행하는 것도 조금씩 익숙해지는 것 같다고 여기는 요즘이다. 줌으로 회의하고, 비대면으로 회의할 때의 가장 큰 단점은 아무래도 마주하고 이야기를 나누는 것이 아니고, 비언어적인 의사소통을 나누지 못하다보니... 서로 같은 말을 다르게 표현해서 그걸 계속 반복한다던가 이야기의 핵심을 찾지 못하는 것이다. 여러모로 참 어려운 일들이라고 생각한다. 코로나가 장기화되고, 델타 변이, 요즘은 델타 플러스라는 새로운 변이가 또 나왔다는데... 어쩌면 내 생각보다 이러한 비대면 사회가 더욱 장기화될 수 있다고 생각하니, 온라인 상황에서 협업하고 돕는 것들을 조금 더 잘 익히는 것이 필요하지 않나 싶다. 그 중에서 내가 스스로 ..

    [React / Spring] CORS 이슈 해결하기

    CORS 이슈란? CORS(Cross-Origin Resource Sharing)는 클라이언트와 서버의 포트가 다른 상태에서 클라이언트 측에서 서버 측으로 무언가를 요청했을 때 브라우저가 보안상의 이유로 요청을 차단하는 문제입니다. 가령 클라이언트 측의 포트가 3000이고 서버 측의 포트가 8000이라면 보안상의 이유로 차단됩니다. 웹개발시에 빈번하게 발생하는 에러로, 아래와같이 웹 브라우저에서 ajax, axios 등을 사용해 도메인의 서버에 url(Data)를 호출할 경우 나타내는 보안문제를 말합니다. SOP이란? Same-origin policy의 줄임말로 같은 Origin에만 요청을 보낼 수 있게 제한하는 보안 정책을 말합니다. Orgin의 구성은 다음과 같습니다. URL Schema (Ex. h..

    WhenWhen 개발기-2

    여전히 열심히 개발중인 WhenWhen 팀... 지금 열심히 만드는 것은 소셜로그인 기능이다. 소셜 로그인기능을 공부하는 과정에서 정말 열심히 읽는게 로그인과 관련된 문서인거같은데, 현재 만들고 있는 소셜로그인 기능이 구글과 카카오라서 두 기업의 문서들을 정말 열심히 읽고있다. 특히 카카오의 경우에는, 내용이 정말 친절하게 나와있어서 구글 관련된 내용을 이해하는데에도 많은 도움이 되었다. 역시 개발자로서 단순히 '내가 알아보기 쉬운' 개발을 하는 것 뿐만 아니라, 사용자, 그리고 다른 개발자 역시 이해하기 쉽도록 개발하는 것이 무엇보다 중요함을 깨닫는 요즘이다. https://developers.kakao.com/docs/latest/ko/kakaologin/common Kakao Developers 카..

    WhenWhen 개발기 -1

    기존에 있던 내용들을 기반으로, 열심히 업데이트중이다. 기본적으로 기존에 다 못채웠던 부분들을 채우고, 수정하는 과정들에서 더 많이 배우는 것 같기도 하고... 코로나 4단계라서 팀원들과 못만난 채로 진행하는 점이 가장 아쉬운듯. 또, 이번 개발 과정에서 React Hook을 개인적으로 계속 공부하고 있는게 많은 도움이 되는 것 같다. 오픈소스에서 css를 직접 수정하기도 했고. 원래는 swift를 사용하다가, 그리고 협업 채널을 swit으로 바꿨다. 사실 사용하다보니 swit이 훨씬 쓰기 편하고, (내 기준에서는) 협업에 필요한 내용들이 잘 갖춰져있는듯. 이거 이외에도, 실제로 지금 개발에 있어서 여러가지 정리되고 있는것들이 많아서, 사용된 기술들도 한번 정리해볼까 싶다. (지금은 moment.js를 ..

    멋쟁이 사자처럼 아이디어톤, WhenWhen!

    올해 멋사에서도 개발을 함께 진행해보게 되었는데, 이번에는 WhenWhen이라는 서비스를 개발하게 되었다. 이번 기수에서는 디자이너나 기획자를 추가로 뽑아서 진행한 만큼, 작년에 진행한 것 보다 디자인이나 기획 부분에서 많은 도움을 받으며 진행할 수 있어서 더 좋았던 것 같다. 개발 배경 일정을 맞출때 각자 매번 카카오톡에 물어보는 것이 힘들다. → 한번에 각자 일정을 정리하고, 만나기 좋은 날을 확인하는 서비스가 있으면 좋지 않을까? 개발 진행 과정 사실상 개발 진행 과정이 정말 빡빡했다... 우리팀은 기존에 디자이너/ 기획자가 없는 4인 팀이어서 중간에 기획자를 모셔오고, 시험 끝난 이후에야 개발이 진행되어서 기획부터 개발까지 한 10일... 정도 안에 진행해야 했다. 리엑트나 개발 경험이 기존에 있..

    교생실습 끝! + 지금까지 정리

    교생실습이 드디어 끝났다.... 사실 28일에 끝났지만 직후 몸살이 나서... (이건 진짜 체력문제라 운동이 필요한듯) 지금 후기를 쓴다. 교생실습은 결과적으로 잘 끝냈다! 4주간 학생들이랑 수업도 여러번 진행하고, 여러가지로 정말 많은 것을 배워갈 수 있던 기회라고 생각한다. 이젠 앞으로 기말고사나, 스프링 공부나... 멋사 아이디어톤 등등 여러가지 일들이 더 남았고, 그 사이에 있었던 (그리고 쌓아뒀던) 포스팅들을 정리해서 올려보고자 한다. 본전공이 교육이니만큼, 나중에는 교육과 관련된 서비스를 만들어볼 수도 있지 않을까? 선생님들이랑도 이런 부분으로 많이 이야기를 나눠봤었는데, 나중에 개인적으로라도 한번 진행해봐도 좋을 것 같다.

    교생실습과 밀린 게시글

    티스토리를 다시 열심히 쓰기로 다짐한지 좀 지난 것 같다. 해놓은 것을 정리하고, 머릿속에 있는걸 글로 꺼내가는 과정이 필수적이라는 것을 느껴가는 요즘이다. 사실 멋쟁이사자처럼 운영진을 하면서도 느끼는 것들이 있어서 적어두려고 생각해둔 것들도 있다. 엄청 밀린거지만... 스캔온이랑 동방 프로젝트도 정리해놔야되는데... (동방 프로젝트 같은 경우는 공식적으로 정리해놓은 것이 있어서 그거 참고해서 정리하려고 한다) 사실 요즘 정리가 점점 늦춰지고 있는 이유는 교생선생님으로 학교에 왔기 때문이다. 아무래도 사범대생이다보니 졸업을 위해서는 교직실습이 필수인지라... 그나마 공부는 뺴놓지 않고 계속 하는데... 정리하고 잠에 들면 아마 4시간도 못잘거라서.. (수업을 위해서는 최소 4시간은 넘게 자야한다는 사실을..

    HTTP 웹 기본 지식 - 3 HTTP 기본

    모든 개발자를 위한 HTTP 웹 기본 지식 (김영한) 강의를 정리합니다. 현재에는 HTTP로 거의 모든 데이터를 주고받으며, HTTP의 시대라고 말할 수 있는 시대이다. HTTP 역사 ★ HTTP1.1이 가장 중요한 버전. 이후에 나온 HTTP 2와 3은 성능이 개선된 것에 가싸우며, 3의 경우에는 TCP 대신에 UDP를 사용해서 속도가 빨라졌다. (TCP의 경우에는 3 way handshake 등으로 속도가 그리 빠른건 아님!) HTTP 특징 클라이언트 서버구조 서버요청 - 응답대기 (Request Response 구조) 응답요청에 대한 결과를 만들어서 응답. 클라이언트와 서버를 분리하여 생각하는 것이 중요함. 비지니스 로직/ 데이터 → 서버에 집중 UI 사용성 → 클라이언트에 집중 양쪽이 독립적으로 ..