내 개인적인 면접 준비 전략과, 그리고 그동안 여러 동아리에서 면접 과정을 경험하면서 느꼈던 점들에 대해서 정리해보았다. 회사 면접에 대한 글은 아니다. 개발 동아리를 기준으로 한다. 또한 내가 면접 응시 경험이 그렇게 많지 않아서 신뢰성은 낮을 수 있다. 하지만 학교 내에서 여러 개발 동아리에 속해 있었다. 피면접자로 개발 동아리에서 면접에 응하기도 했고, 내가 운영진이자 면접관으로 면접에 참여하기도 했다. 내가 면접을 보는 면접관의 입장에서, 질문을 준비해야 할 일들도 많았다. 면접을 준비할 때 이런 질문들을 고려해보면 어떨까, 혹은 내가 면접에 응시해야 하는 일들이 있을 때 이런 질문들을 대비해보면 어떨까라는 내 개인적인 생각들, 혹은 들어봤던 면접 질문 중 좋은 질문들을 공유해보고자 한다. 참고로..
어느덧 누적 조회수가 7만 뷰를 달성했다. 그런 김에 그동안 블로그를 운영하면서 느낀 후기를 써보려고 한다. 원래 개발 블로그 운영 후기는 5만 뷰가 달성되었을 때 쓰려고 했다. 혹은 블로그 1주년 때 쓰려고 했다. 그때는 블로그도 막 활발하게 운영하고 있었을 때라, 활발하게 글을 쓸 때의 후기와 지금 수 개월 째 방치해두고 있었을 때의 후기는 달라질 수 밖에 없다. 하지만 이대로 안 쓰다간 2년 후에나 쓸 것 같아서, 나름 활발하게 블로그를 운영할 때의 기억을 되살려 후기를 남겨보고자 한다.블로그를 돌아보며1년 반 동안의 성과 백준 [17081번 RPG Extreme]문제 https://www.acmicpc.net/problem/17081 17081번: RPG Extreme 요즘 택희는 RPG 게임을 ..
수치해석을 모르면 푸틴이 미사일을 잘못 쏴요 우리 학교에는 학생들 사이에서 인기가 많은 교수님이 한 분 계신다. 강의 시간에 뜬금없거나 재밌는 이야기를 많이 해서, 호불호가 갈릴 지언정 취향에 맞는 사람들에게는 인기가 항상 높다(귀엽다는 평가가 많다). 교수님은 수치해석 강의 시간에 농담 삼아서 위 이야기를 자주 말하신다. 갑자기 뜬금없이 미사일 이야기가 나와서, 많은 학생들은 의아해하기도 한다. 갑자기 수치해석에 관한 수업에서 왜 미사일에 관한 이야기가 나오는가? 이를 알기 위해선 한 가지 역사적 사건을 꼭 알아야 한다. 패트리어트 미사일 격추 실패 사건 때는 1991년 2월 25일, 이라크 전쟁 시기. 지금도 그렇고, 미국은 동맹국 사우디 아라비아에 파병을 보낸 상태였다. 다란(Dhahran) 시에 ..
Solution Challenge 2024 GDSC Solution Challenge 2024에 참여하게 되었다. 사실 작년 2023년에도 참여했었는데, 이때는 나를 포함한 팀원 모두가 첫 프로젝트라 많은 시행착오가 있었다. 하필 HIBL의 프로젝트 시기와도 동일하게 겹치는 시기라, 어려운 프로젝트 두 개를 동시에 진행하는 시기였다. 그래서 갈등도 있었고, 고생도 많았다. 그래서 올해 참여할 지 말지를 많이 고민했다. 원래는 고민 끝에 올해는 스킵하기로 마음먹었다. 사실 스킵하기로 하고서 여러 모로 아쉬움이 많이 남기는 했었다. 작년에 너무 고생했던 기억이 있어서, 도전할 용기는 많이 꺾였지만, 누군가 밀어주었으면 하는 바램이 있었다. 그러다가 이전에 데브옵스 스터디를 하면서 알게 된 분에게 권유를 받게..
문제 상황 Flutter에서 iOS 빌드 시 다음과 같은 에러가 발생하였다. Launching lib/main.dart on iPhone 15 Pro in debug mode... Running Xcode build... Xcode build done. 6.2s Failed to build iOS app Uncategorized (Xcode): Command CodeSign failed with a nonzero exit code Could not build the application for the simulator. Error launching application on iPhone 15 Pro. Uncategorized (Xcode): Command CodeSign failed with a nonz..
바쁜 비버 지난 학기에 논리회로 과목을 수강하던 중, 기말고사 시험 문제로 ‘바쁜 비버’에 대한 문제가 출제되었다. 바쁜 비버는 컴퓨터 과학에서 꽤 중요한 개념이다. 특징도 여러 가지 재미있는 게 많아서, 이에 대해 글을 써본다. 본 글의 목차는 다음과 같다. 바쁜 비버 게임을 소개한다. 바쁜 비버 함수와 최대 시프트 함수를 소개한다. 바쁜 비버 함수의 계산 불가능성을 증명한다. 최대 시프트 함수를 중심으로 성질과 하한을 찾아가는 과정을 다룬다. 이 과정에서 아커만 함수, ZF 공리계, 콜라츠 추측과의 연관 관계를 다룰 것이다. 바쁜 비버로부터 파생된 함수들을 다룬다. 바쁜 비버 게임 바쁜 비버 게임은 1962년 Tibor Radó의 논문 On Non-Computable Functions에서 처음 소개되..
부동 소수점의 성질과 연산, 그리고 FPU 이 글에서는 컴퓨터에서의 부동소수점을 저장하고 연산하는 법과 그 성질에 대해서 다루어볼 것이다. 또한 부동소수점을 처리하는 하드웨어인 FPU에 대해서 가볍게 소개하며, 어떻게 실수형 연산을 처리하는지를 알아볼 것이다. 각 목차의 내용은 다음과 같다. 부동소수점의 저장을 다룬다. 이 과정에서 수의 정규화와 비정규화에 대해 다룬다. 부동소수점의 성질을 다룬다. 이 과정에서 머신 엡실론과 실수의 분포를 다룬다. 부동소수점의 연산을 다룬다. FPU에 대해서 다룬다. 이 과정에서 Sparc 어셈블리어를 이용해서 어떻게 FPU를 활용하여 연산을 처리하는 지 알아본다. 💻 컴퓨터의 수의 표현과 부동 소수점 부동소수점의 표현 컴퓨터에서 숫자 체계는 크게 두 가지로 나뉜다. 정..
Sealed Class로 상태 패턴 사용하기 Sealed Class란? Dart 3.0 버전부터 sealed란 키워드가 class modifier로 새롭게 추가되었다. sealed 클래스는 enum의 확장판으로, class를 enum처럼 사용할 수 있게 해준다. 공식 문서에서 sealed 클래스의 용법을 찾아보면 다음과 같다. sealed class Vehicle {} class Car extends Vehicle {} class Truck implements Vehicle {} class Bicycle extends Vehicle {} // ERROR: Cannot be instantiated Vehicle myVehicle = Vehicle(); // Subclasses can be instantia..
Token Login / Auth 구현하기 https://nx006.tistory.com/64 Session VS Token Authentication - feat. JWT 기술 Authentication 앱을 만들 때 회원가입/로그인 기능을 구현해야 할 때가 있습니다. 인증 및 인가된 사용자에게 앱의 기능을 사용할 수 있게 하기 위해서는, 로그인이라는 Authentication(인증) 기능을 거 nx006.tistory.com 이전 글에서 Session 로그인과 Token Login 방식에 대해서 알아봤습니다. 이번 글에서는 어떻게 하면 Flutter에서 Token 로그인 방식을 관리할 수 있는지, 클라이언트 관점에서 구현해보겠습니다. 이 방법은 코드팩토리 님의 Flutter 강의를 듣고서 정리한 글입..
BottomNavigationBar 사용하기 위와 같은 화면을 구성할 때 BottomNavigationBar를 많이 사용하게 됩니다. BottomNavigationBar은 TabBarView와 같이 사용하게 되는데, 사용자의 입력에 따라서 두 위젯의 index가 잘 맞아야 하기 때문에 은근히 구현하기 어려운 부분입니다. 이 글에서 TabBarView와 BottomNavigationBar를 이용해서 위와 같은 UI를 구현해보겠습니다. BottomNavigationBar와 TabBarView 이용해서 화면 전환 구현하기 StatefulWidget 만들기 우선, BottomNavigationBar를 담는 View부터 만들어야 하는데, 이를 TabView라고 하겠습니다. 당연히 사용자의 입력에 따라서 UI가 달..
최근, 한 작은 Flutter 커뮤니티에서, 코드 제너레이션(Code Generation)에 대한 논쟁이 있었습니다. 그래서 이번 글에서는 이 논쟁에서 제시된, 코드 제너레이션을 사용해도 되는지에 대한 갑론을박을 간단히 정리하고, 제가 왜 코드 제너레이션을 쓰기로 결정했는지 작성합니다. 코드 제너레이션이란? 코드 제너레이션(Code Generation), 혹은 코드 젠(Code gen)이나 코드 생성이라고 부르기도 합니다. 말 그대로 코드를 자동으로 생성하는 행위입니다. 그리고 코드를 자동으로 생성해 주는 도구를 Code Generator라고 합니다. 코드 제너레이션은 주로 반복되는 구조의 코드를 자동으로 생성할 때 많이 사용됩니다. 그래서 코드의 복잡성과 반복성을 줄여주고, 개발자가 매 반복되는 구조의..
23년 3분기 회고 항상 한 분기가 끝나면, 회고록을 작성하려고 합니다. 회고록을 작성하는 이유 회고록은 정말 여러 곳에서 작성을 하라고 강조를 하더군요. 그래서 저도 회고록은 놓치지 않고 작성하려고 하고 있습니다. 회고록을 작성하는 이유는 여러가지 이유가 있습니다. 가장 중요한 이유는 과거를 회고하면서 미래를 발전시킬 방법을 찾는 것입니다. 또 시간이 지난 후 내가 이때 무슨 생각을 했고, 어떤 일을 했는지 돌아본다면, 앞으로 무엇을 할 지에 대해서도 더 고민해볼 수 있습니다. 회고록을 작성할 때, KPT 회고법을 사용하면 좋다고 합니다. Keep: 현재 만족하고 있는 부분, 계속 이어나가고 싶은 부분, 잘한 부분을 회고합니다 Problem: 불편했던 부분, 개선이 필요하다고 느끼는 부분을 회고합니다 ..