https://www.acmicpc.net/problem/1456

 

1456번: 거의 소수

어떤 수가 소수의 N제곱(N ≥ 2) 꼴일 때, 그 수를 거의 소수라고 한다. 두 정수 A와 B가 주어지면, A보다 크거나 같고, B보다 작거나 같은 거의 소수가 몇 개인지 출력한다.

www.acmicpc.net

정수론 문제는 처음이네요?

 

이 문제에서 요구하는 거의 소수란, 어떤 소수의 N제곱(N >= 2) 꼴이 되는 수라고 합니다.

즉, 8은 2의 3제곱이므로 거의 소수이며, 1024는 2의 10제곱이므로 거의 소수가 됩니다.

주어지는 [A ~ B]의 구간에서 거의 소수의 갯수를 구하는 문제입니다.

 

먼저 소수를 알아야하므로 에라토스테네스의 체로 소수를 모두 구합니다.

범위가 10^14까지인데, 어떤 소수의 제곱이 10^14이하가 되는거라 10^7까지의 소수만 구하도록 합니다.

 

그리고 2부터 1씩 증가하면서 i가 소수인지 확인을 합니다.

소수가 맞다면 i의 n제곱이 r이하일 동안에는 계속 i를 곱해줍니다.

이 과정에서 l 이상, r 이하일 동안은 카운팅을 진행합니다.

어차피 소수 i의 n제곱이고, 그 수는 다른 소수를 곱해서는 도달할 수 없는 수입니다.

 

이 과정에서 문제가 있었습니다.

i를 계속 곱하는 과정에서 수가 long 범위를 벗어나는 경우입니다.

어떤 소수를 n제곱 하면 long 범위를 초과했고, 음수 값이 되어 r을 넘는 값임에도 계속 반복문을 도는 문제가 있었습니다.

 

결국에는 WA를 받게되었고, i를 1번 덜 곱하는 방법으로 해결하였습니다.

i * i <= r 이라는 식을 i <= r / i 로 변경하여 곱셈을 진행하였고, 이 방법으로는 long 범위를 초과하지 않는다는 것을 확인했습니다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
 
public class Main {
    private final static int MAX = 10000001;
    private static boolean prime[] = new boolean[MAX];
    private static long l, r;
 
    private static void init() {
        for (int i = 2; i * i < MAX; i++) {
            if (prime[i]) continue;
 
            for (int j = 2; i * j < MAX; j++) {
                prime[i * j] = true;
            }
        }
    }
 
    private static void func() {
        init();
 
        int ret = 0;
        for (long i = 2; i * i <= r; i++) {
            if (prime[(int) i]) continue;
            long mul = i;
            while (mul <= r / i) {
                mul *= i;
                
                if (mul >= l) {
                    ret++;
                }
            }
        }
 
        System.out.println(ret);
    }
 
    private static void input() throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        l = Long.parseLong(st.nextToken());
        r = Long.parseLong(st.nextToken());
    }
 
    public static void main(String[] args) throws Exception {
        input();
        func();
    }
}
 
cs

알고리즘

1일 1알고리즘

 

RealMySQL 스터디

넥스터즈 운영진 일과 몇몇 일들이 겹쳐 이번주 분량을 채우지 못했다.

다음주에는 당연히 남은 분량을 채워야되겠고, 다음주는 확실하게 준비해야 될 것이다.

벌써 5주라는 시간이 흘렀고 시간이 좀더 지났을때 과거에 정리했던 내용들 보면서 적어도 이해할 정도는 돼야하지않을까 생각한다.

 

후기

블로그 포스팅에 변화를 가져가려고 한다.

매주 작성한 주단위 결산들을 보면서 무작정 찍어내는 것처럼 보여서 의미가 없다는 생각이 들었고,

월단위 포스팅으로 변경해도 무방하다는 생각이 들었다.

 

그리고 주단위로는 내가 공부한 내용 또는 알고리즘 포스팅을 할 계획이다.

얼마나 지켜질지는 지켜봐야겠지만 좀더 의미있는 포스팅을 하기 위함이다.

내가 참고하기 위해 포스팅하는 것이지만

알고리즘이든 개발지식이든 글을 보고 유익함을 느끼는 분이 소수나마 있는걸 알기에 최대한 정확한 정보를 전달하기 위해 노력할 것이다.

'잡담' 카테고리의 다른 글

6월 회고  (2) 2023.07.02
5월 회고  (4) 2023.06.01
4월 3주차 결산  (0) 2023.04.24
4월 2주차 결산  (0) 2023.04.17
4월 1주차 결산  (4) 2023.04.10

알고리즘

1일 1알고리즘

 

RealMySQL 스터디

이번주차로 3주차가 진행되었다.

생각보다 내용이 어려웠고, 무엇보다 저번에 진행했던 내용들과 내가 정리했던 내용들을 기억하지 못한다는 문제점을 발견했다.

요즘 나에게 맞는 효율적인 공부법을 찾아보고 있지만 쉽지는 않은것 같다.

이번주차도 일단 다음주차 분량을 정했지만.. 아직.. 아무것도.. 정리하지 않았다. ㅎㅎ

 

Nexters 서버 관련

나는 Nexters 23기 운영진이고, CTO를 맡고있다.

CTO로서 홈페이지 관리를 하고있으며, 이번주는 모집이 공개되는 날이므로 이 일에 집중했다.

근데 코드를 수정하고 github에 업로드하는 과정에서 문제가 발생했다.

규칙이나 그런걸 미숙지한 상태라서 건드리면 안될 코드를 건드렸고, 복구하고 다시 올리는 과정을 거쳤다.

우리 운영진들 모두 인수인계를 받지 못한 부분이라 많이 당황했지만 수습중이다.

 

후기

모집일이 슬슬 다가오면서 바빠지고 있는데

문제는 아직 모집이 시작도 안됐다는 것이다.

우선 급한불은 끈것 같지만 앞으로 해야할 일들을 정리해나갈 것이다.

https://teamnexters.com/

 

NEXTERS : IT Community for Experts

 

teamnexters.com

넥스터즈 23기 모집이 곧 시작되니 지원 많이 해주시면 감사하겠습니다!

'잡담' 카테고리의 다른 글

5월 회고  (4) 2023.06.01
4월 4주차 결산  (2) 2023.05.01
4월 2주차 결산  (0) 2023.04.17
4월 1주차 결산  (4) 2023.04.10
3월 5주차 결산  (2) 2023.04.03

https://www.acmicpc.net/problem/27977

 

27977번: 킥보드로 등교하기

첫 번째 줄에 학교까지의 거리, 킥보드 충전소의 개수, 최대 충전소 방문 횟수를 나타내는 세 정수 $L, N, K$가 공백으로 구분되어 주어진다. 두 번째 줄에 $i$번째 충전소의 위치를 나타내는 $N$개

www.acmicpc.net

지인분이 출제한 대회문제가 백준에 등록되었습니다.

문제출제라니.. 무슨 문제를 만들어야하고, 테케는 어떻게 만드는지 모르는 입장에서 그저 신기하네요 ㅋㅋㅋ

다행히 제가 풀수있는 문제를 만들어 주셨습니다 ㅎㅎ

 

이 문제는 0에서 출발하여 L까지 정해진 배터리 용량으로 목적지까지 가야합니다.

충전소는 N개, A[i] 지점마다 있으며, 최대 K번 충전이 가능합니다.

이 때 최초 구매할 수 있는 배터리 용량의 최소를 구하는 문제입니다.

 

최종으로 구해야 하는건 배터리 용량의 최소이므로 이를 파라매트릭 서치로 구해야 합니다.

목적지까지는 갈 수 있어야하므로 최소 용량 l은 maxDis가 되겠고, 최대 용량 r은 출발지점에서 목적지까지의 거리 L이 되겠습니다.

maxDis는 출발지점과 첫 번째 충전소, 각 인접한 충전소들, 마지막 충전소와 도착지점 사이의 거리의 최대입니다.

그리고 계산의 편의를 위해 배열에 도착지점인 L을 추가합니다.

이 문제는 충전소의 위치가 정렬된 상태로 주어지므로 정렬로직이 필요 없습니다.

 

그러면 배터리 용량이 m이라고 했을 때, 충전소를 K번 이하 방문하면서 목적지점인 L 까지 갈 수 있는지 확인합니다.

L에 도착했을 때 충전소를 K번 이하로 방문할 수 있다면 ret을 갱신하고 범위를 작게 맞춰서 최적 해를 구합니다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <iostream>
#include <algorithm>
#define MAX_N 100001
using namespace std;
 
int list[MAX_N];
int L, N, K, maxDis;
 
void func() {
    int l = maxDis;
    int r = L;
 
    int ret = 0;
    while (l <= r) {
        int m = (l + r) / 2;
 
        int now = m;
        int pos = 0;
        int cnt = 0;
        for (int i = 0; i < N; i++) {
            if (list[i] - pos > now) {
                cnt++;
                now = m;
            }
            now -= (list[i] - pos);
            pos = list[i];
        }
 
        if (cnt <= K) {
            ret = m;
            r = m - 1;
        }
        else {
            l = m + 1;
        }
    }
 
    cout << ret << '\n';
}
 
void input() {
    cin >> L >> N >> K;
 
    int pre = 0;
    for (int i = 0; i < N; i++) {
        cin >> list[i];
        maxDis = max(maxDis, list[i] - pre);
        pre = list[i];
    }
    maxDis = max(maxDis, L - pre);
    list[N++= L;
}
 
int main() {
    cin.tie(NULL); cout.tie(NULL);
    ios::sync_with_stdio(false);
 
    input();
    func();
 
    return 0;
}
cs

 

'algorithm > binarysearch' 카테고리의 다른 글

boj 18113 그르다 김가놈  (0) 2022.10.09
boj 2295 세 수의 합  (0) 2022.06.28
boj 2110 공유기 설치  (0) 2021.04.13
boj 7453 합이 0인 네 정수  (0) 2021.01.22
boj 2143 두 배열의 합  (0) 2021.01.22

알고리즘

1일 1알고리즘

 

RealMySQL 스터디

1주차에 비해 내용이 많이 어려웠다.

크게 InnoDB 스토리지 엔진의 특징과 InnoDB 버퍼 풀에 대한 내용이었고, 나는 당연히 처음보는 개념들이었다.

일단 처음보는 내용들이라 내용정리는 최대한 많이 해보려고 했고, 그 과정에서 이해해보려고 했지만 생각보다 어려웠다.

다행히도 스터디원 모두가 어려워했던 내용이라 집단지성으로 의견을 나누면서 진행되었기 때문에 이해되는데 많은 도움이 되었다.

다음주 내용도 얼른 정리 해야되는데.. 아직 하나도 못해서 걱정이네 ㅎㅎㅎ

 

후기

요즘 너무 늦게자는것 같은데.. 일찍 자야할텐데 생각보다 할일이 많은것 같다.

막상 깨어있는 시간에 비해 얻어가는게 많지 않다는 생각이 들어서 효율적으로 공부할 수 있도록 노력해야겠다.

두달째 알고리즘 안올리는중 ㅎㅎㅎ.. 정신차리자

'잡담' 카테고리의 다른 글

4월 4주차 결산  (2) 2023.05.01
4월 3주차 결산  (0) 2023.04.24
4월 1주차 결산  (4) 2023.04.10
3월 5주차 결산  (2) 2023.04.03
3월 4주차 결산  (0) 2023.03.27

알고리즘

1일 1알고리즘

 

RealMySQL 스터디

스터디 1주차가 시작되었다.

스터디 시작 전에 각자 개념을 정리하여 GitHub에 pr을 올리고, discussions에 질문들을 등록했다.

이번주 스터디에서 느낀건 토론방식인데 대화에 참여할 수 없는 주제가 많았다는 점이다.

그만큼 내가 모르는게 많다는 건 사실이고, 많이 배울수 있겠다는 생각에 오히려 좋다는 생각은 들었다. 하지만 민폐는 안되는게 맞다.

처음 해보는 방식인데 괜찮았던것 같고, 다음 주차에는 더 준비 잘해야겠다는 생각이 들었다.

 

후기

저번에 PCCP 시험 후기글을 포스팅했었는데 이게 이벤트 당첨이 되어 키보드를 배송받았다. ㅎㅎ 감사합니다! 인생 살만하다고 느껴요.

프로그래머스에서 썸머 인턴 모집이 시작되었다고 메일이 왔다.

똑같이 코딩테스트를 보고, 면접보는 방식은 이전에 하던 방식과 동일한데

나는 PCCP 시험에서 LV4 등급을 받았으므로 코딩테스트에서 면제라고 하더라.

페이지를 들어가서 확인하니 PCCP LV4부터 코딩테스트가 면제된다는 공지가 있었다.

PCCP 시험은 매달 진행되니 한번 해보는 것도 괜찮을것 같다.

'잡담' 카테고리의 다른 글

4월 3주차 결산  (0) 2023.04.24
4월 2주차 결산  (0) 2023.04.17
3월 5주차 결산  (2) 2023.04.03
3월 4주차 결산  (0) 2023.03.27
3월 3주차 결산  (0) 2023.03.20

알고리즘

1일 1알고리즘

 

후기

스터디를 시작했다.

스프링 공부는 어느정도 했지만 DB는 sql문 정도만 몇개 하는 정도였고, 구조나 다른 부분들은 거의 모르는 수준이었다.

공부 해야하는데.. 라고 생각만 하다가 시간이 어느정도 흘러버렸었는데 마침 지인이 스터디를 모집하고 있었다.

어느정도 강제성이 있어야 열심히 한다는걸 알기에 기회라고 생각해서 시작하게 되었다.

진행 방식도 마음에 들고, 이번 기회에 깊게 공부해봐야 겠다는 생각을 했다.

'잡담' 카테고리의 다른 글

4월 2주차 결산  (0) 2023.04.17
4월 1주차 결산  (4) 2023.04.10
3월 4주차 결산  (0) 2023.03.27
3월 3주차 결산  (0) 2023.03.20
코딩전문역량인증시험(PCCP) 후기  (6) 2023.03.19

알고리즘

1일 1알고리즘

 

후기

요즘 스트레스 받는일이 많아서 그런지 피로가 누적됐는지 정신없던 한주였다.

이번주는 쉬었으니 다음주부터 다시 달릴 예정이다.

'잡담' 카테고리의 다른 글

4월 1주차 결산  (4) 2023.04.10
3월 5주차 결산  (2) 2023.04.03
3월 3주차 결산  (0) 2023.03.20
코딩전문역량인증시험(PCCP) 후기  (6) 2023.03.19
Nexters 22기 회고  (2) 2023.03.14

알고리즘

1일 1알고리즘

 

후기

오랜만에 프로그래머스 문제를 풀었는데 확실히 백준이랑 뭔가 많이 다른것 같다.

내가 원하지 않는 데이터 형식, IDE 사용 금지 등 제약이 걸리니 풀이 속도도 느려지는것 같다.

여태 IDE에 얼마나 많은 의존을 했었는지 생각을 다시 하게되었고, C++로 알고리즘을 하던 내가 Java에는 아직 익숙한게 아니라는걸 깨달았다.

글 목록을 보니 또 결산만 차곡차곡 쌓이고 있는데 문제풀이도 얼른 올려야겠네 ㅎㅎ

'잡담' 카테고리의 다른 글

3월 5주차 결산  (2) 2023.04.03
3월 4주차 결산  (0) 2023.03.27
코딩전문역량인증시험(PCCP) 후기  (6) 2023.03.19
Nexters 22기 회고  (2) 2023.03.14
3월 2주차 결산  (0) 2023.03.12

코딩역량인증시험은 민간 자격증으로 프로그래머스에서 작년부터 운영하고 있다.

프로그래머스에서 매칭되는 기업들은 이 자격증을 필수 or 우대 조건으로 활용하는 것으로 보인다.

 

우선 시험은 코딩필수역량인증시험(PCCE), 코딩전문역량인증시험(PCCP) 두 개로 나뉜다.

전공자 / 비전공자 대상으로 나뉘어져있지만 접수는 둘다 되는 것으로 보인다.

코딩필수역량인증시험(PCCE)은 비전공자를 대상으로 진행하는 시험이다.

시험 시간이 50분이고, 인증서 유효기간이 7년이다.

문제는 빈칸 채우기, 디버깅, 코드작성으로 이루어진다고 한다.

사용 언어는 파이썬, 자바, C++이지만 샘플 문제에는 파이썬만 나와있다.

 

코딩전문역량인증시험(PCCP)는 전공자를 대상으로 진행하는 시험이다.

시험 시간은 120분이고, 인증서 유효기간은 2년이다.

문제는 알고리즘 문제로 주어진다.

사용 언어는 파이썬, 자바, 자바스크립트, C++로 선택할 수 있다.

 

내가 응시한 PCCP의 합격기준은 우선 400점 이상을 받아야 한다.

합격을 하게되면 등급이 주어지는데,

400 ~ 499점은 LV1

500 ~ 599점은 LV2

600 ~ 749점은 LV3

750 ~ 899점은 LV4

900 ~ 1000점은 LV5

이렇게 등급이 나뉘어져 있다.

 

코테를 안본지 오래되기도 했고, 요즘 기업들의 코딩테스트 유형을 확인할 수 있지 않을까 하는 생각과 나의 현재 실력을 테스트해보고 싶어서 신청하게 되었다.

저번주에 신청한거라 준비된 것도 없어서 무난하게 LV3을 목표로 도전해보았다.

 

시험은 온라인으로 진행되었고, 화면공유, 웹캠으로 정면 촬영, 모바일캠으로 측면 촬영을 시험내내 해야 한다.

알고리즘 유형은 구현, 정렬, 문자열, dp 정도가 나왔고, 난이도는 다른 블로그에서 본 것처럼 LV2 ~ LV3 정도인 것 같다.

1, 2번을 각각 5분컷 내고나서 쉽다고 생각했지만

3번에 문자열이 나왔고, String 정렬 등 아이디어가 떠오르지 않아 많은 시간을 소모했고, 결국 비효율적인 로직으로 마무리했다. 역시 문자열 어려워..

4번은 나름 어렵지 않게 했던것 같다.

4문제를 다 풀고 30분 정도가 남았지만 검산과정 없이 바로 제출했더니 문제를 틀렸었던 과거가 떠올라서 검산을 한번씩 진행한 후에 최종제출했다.

 

시험 결과는 정말 빠르게 나온다.

30분 이내에 성적확인이 가능하고, 합격 시 카톡으로 연락까지 해준다.

결과는 LV4가 나왔다.

감점이 좀 많이 된 것을 보니 3번은 확실하게 틀리지 않았을까 생각이 들었다.

생각보다는 잘 나온것 같고, 재밌었는 경험이었다.

다음에는 LV5를 목표로 도전해봐도 좋을 것 같다.

 

 

코딩역량인증시험 관련은 아래 링크에서 확인할 수 있다.

https://certi.programmers.co.kr/

 

코딩역량인증시험

코딩 역량에 대한 객관적 측정을 위해 체계적으로 설계된 프로그래머스 코딩역량인증시험

certi.programmers.co.kr

 

'잡담' 카테고리의 다른 글

3월 4주차 결산  (0) 2023.03.27
3월 3주차 결산  (0) 2023.03.20
Nexters 22기 회고  (2) 2023.03.14
3월 2주차 결산  (0) 2023.03.12
3월 1주차 결산  (3) 2023.03.05

나는 Nexters 22기 회원으로서 모든 세션 일정을 마무리했다.

이에 나의 활동을 돌아보며 회고를 하려고 한다.

 

나는 싸피 활동 기간에 프로젝트를 경험했었지만 1학기의 나는 게을렀고, 2학기의 나는 조급했다.

싸피는 취업을 위한 프로그램이기 때문에 실제로 교육생들 중에는 취업 준비로 프로젝트에 소홀하거나 취뽀하여 퇴소하는 경우가 많다.

팀원이 취업으로 퇴소함으로 팀원 구성에 변동이 생기고, 어느새 번아웃이 와서 프로젝트에 집중을 하지 못하는 경우가 있었다.

하지만 넥스터즈는 중간에 나가는 인원이 웬만하면 없고, 취준생일 때보다는 편하게 프로젝트에 집중할 수 있겠다는 생각이 들었다.

그리고 싸피활동 내내 있었던 아쉬움을 덜어내기 위함 등 여러가지 이유로 넥스터즈에 지원하게 되었다.

 

모집

동아리 활동 모집이지만 자소서 항목이 생각보다 많았다.

많은 지원자들 중에서 합격/불합격을 가려내야하니 요구하는 것들이 많을 수밖에 없다고 생각했다.

내가 합격이 되기위해서는 어떤 부분을 어필해야할지, 다른 지원자들보다 내가 앞선다고 생각하는 부분이 뭔지 생각했지만

무엇보다도 꾸준함을 어필하는게 좋겠다고 생각했다.

 

현재 나의 커밋내역

나는 2021년 7월 26일부터 1일 1알고리즘을 실천하고 있다.

난이도와 상관없이 하루에 한 문제는 무조건 풀어야한다는 나만의 규칙을 만들었다.

그날 푼 문제를 깃허브에 바로 업로드 하기 때문에 자연스럽게 1일 1커밋도 실천되었다.

지원 당시 400일 넘게 지속중이었고, 이것이 나의 꾸준함을 증명할 것이라고 생각했다.

커밋을 하나하나 찍어본다해도 상관없었다. 진짜 한 문제씩 다 올린게 맞으니까.

 

https://imksh.com/108

 

넥스터즈 지원자 서류 검토 후기

넥스터즈라는 IT 연합동아리 회장을 하고 있으며, 신규 회원 모집 서류 검토 단계에서 가졌던 생각을 담아 둔 글입니다. 그렇기에 내용이 다소 주관적일 수 있는 점 유의해 주시기 바랍니다. 부

imksh.com

결과적으로도 이를 운영진분들이 좋게 봐주셔서 합격한 것 같았다.

위 CEO님의 블로그 글에서 생각보다 나의 멘탈을 걱정하셨다는 말을 들었지만 나는 진짜 아무렇지도 않았다.

내 멘탈이 무너진건 면접 들어가자마자 CEO님이 등장했을때다. 형이 왜 거기서 나와?

머릿속이 텅 빈다는 느낌을 이때 받게 되었다. 면접때 내가 무슨말을 했었는지 기억이 안나지만 합격해서 정말 다행이다.

면접 때 기억에 남는 게 있었다면 정말 모든것을 다 뒤져본것처럼 내 레포에 없는 프로젝트를 언급해 주시더라. 소름돋았다.

 

정규 세션

1주차때 아이디어 소개 시간 이후에 팀빌딩이 이루어졌다.

생각보다 백엔드를 필요로하는 팀이 많지 않아서 당황스러웠던 기억이 있다.

나는 개인의 기술적인 성장이 주 목표였기에 네트워킹 목적이 7~80%이상 차지할 것 같은 팀들은 과감하게 제외했다.

그렇게 들어가고싶은 팀이 두 팀정도 있었고, 첫번째로 희망한 팀에 들어가게 되어 너무 좋았다.

PM님이 멤버를 뽑을때 Java Spring 하시는분으로 맞춰서 뽑아주셔서 너무 감사했다.

 

정규세션은 알차게 진행된 것 같다.

팀빌딩, 작업부터 UT, 컨퍼런스, 넥버닝, 레크레이션 등 여러 세션이 있었다.

저번기수는 오후부터 다음날 오전까지 넥나잇이 있었다고 하지만 이번기수는 오전부터 저녁까지 진행하는 넥버닝으로 교체되어 진행되었다.

나는 밤을 새는것보다는 오전부터 작업하는걸 더 선호하기 때문에 만족했다.

물론 이번기수 때는 새벽에 작업하는날이 많긴 했지만.. ^^

이렇게 보니 2달이라는 시간동안 정말 열심히 하긴 한 것 같다.

 

이번 활동에서 세웠던 목표로는 새로운 기술을 활용해보는것과 배포를 내가 맡아서 진행하는 것이었다.

우선 기술로는 firebase console에서 dynamic link를 등록하고, 앱에서 링크공유가 될 수 있도록 구현을 완료했다.

물론 클라이언트와 통신은 되지않아 기능 테스트를 진행하지 못한건 아쉬움에 남는다.

푸쉬알림을 위해 Messaging도 활용했지만 다른분이 맡았어서 추가적인 학습이 필요할 것 같다.

그리고 나는 싸피 교육생시절에 배포를 경험한 적이 없다. 다 다른 팀원분이 맡아주셨다.

실습코치가 되고나서 수동배포부터 시도를 했지만 Jenkins를 활용한 자동배포는 실패했었다.

Docker에서 Jenkins를 설치하고, Jenkins에서 Docker를 설치했는데 어떠한 문제로 docker not found만 영원히 쳐다보다가 끝난 기억만 있다.

이번에는 Jenkins는 아니지만 GitHub Actions를 활용하여 자동배포를 성공했다.

회사에서 GitHub Actions를 활용해보긴 했지만 이해가 되지는 않았었고, 복붙하는 수준이었지만

이번에는 확실히 어떠한 상황에서 무슨 로직이 포함되어야 하고 이런부분들을 이해할 수 있었다.

 

배포 말고도 GitHub Actions에서 할 수 있는 것들을 많이 시도해봤다.

예를들면 Slack에 알림이 가도록 workflow를 작성했고, pr 요청 시 build check까지 내가 맡아서 진행했다.

조금이라도 Actions에 익숙해지도록 많은 것들을 시도해봤다.

 

목표를 최종발표까지 출시로 잡았지만 달성하진 못했다.

직장 다니면서 진행하는 프로젝트다보니 시간이 부족하다는 것을 느꼈다.

볼륨이 생각했던 것보다 컸고, 기획 단계에서 우선순위를 확실하게 잡았어야했다.

생각보다 오래걸렸고, 다 할 수 있을줄 알고 내버려둔 것이 안일한 판단이었다고 생각한다.

 

마무리

우선 싸피에서는 개발자들끼리 모여서 프로젝트를 했었지만 넥스터즈에는 디자이너분들도 계신다.

이번에 디자이너분들과 함께 프로젝트한게 처음이었는데 템플릿이 있었던것처럼 만들어지는게 너무 신기했다.

그 어려운 캐릭터 디자인을 1시간에 1캐릭터 하신다는 얘기를 듣고 소름이 돋았다.

지금까지 프론트엔드 개발자가 피그마에 작업한것만 봤어서 그런지 '다름' 이라는걸 확실히 알게되었다.

 

그리고 앱 개발도 처음이다.

웹, Unity, 오픈소스 프로젝트 경험이 있지만 배포에 어려움이 없었다.

하지만 앱은 스토어에 등록을 해야하고 심사를 거쳐야한다.

이 과정에서 시간이 꽤 소모되었고, 평소보다 개발을 빠르게 진행해야한다는 것을 깨달았다.

다음 앱 프로젝트를 할때는 이 부분도 고려해서 일정관리 해야겠다는 생각이 들었다.

 

프로젝트 결과는 만족스럽지 못한것 같다.

기간 내에 출시를 못했다는 아쉬움도 있었지만 무엇보다도 설계 단계에서 제대로 짚고넘어가지 못한 부분이 많다는 것을 느꼈다.

QA 과정에서 30개가 넘는 변경사항이 발생했고, 이는 설계나 코드작성 과정에서 실수가 많았다는 것을 나타낸다.

나라는 사람의 현실이 취업한지 1년도 안됐고, 아직 ssafy라는 시스템에 갇혀있는 응애라는 것을 다시 깨닫게 해주었다.

22기 활동 기간에는 내 부족한 점을 파악했다면,

23기 활동 기간에는 부족한 부분 보완하고, 실력을 더 키워서 임해야겠다는 생각이 든다.

 

하지만 이번 활동으로 좋은 팀원들을 만났다.

시작부터 풀악셀로 달렸었던 백엔드, 누구보다 UI에 진심인 야행성 iOS,

묵묵하게 할일 다하는 FM Android, 디자인의 신세계를 보여준 디자이너까지 부족함이 없었다.

정말 다들 새벽 늦게까지 안자고 작업하는 모습들이.. 리스펙한다.

창업 준비하느라 새벽까지 개발하시는 와중에도 프로젝트에 꾸준히 참여하신 분도 계셨다.

어떻게 개발을 하루에 15시간씩 하는거지 아직 믿겨지지 않고, 대단하다고 느꼈다.

나랑 같은 파트를 맡으신 분이라서 내 작업량이 늘어난건 사실이지만 나는 작업을 많이하려고 들어왔기 때문에 오히려 좋았다.

무엇보다 가장 리스펙하는건 아직 학생인데 이런 동아리에 참여해서 프로젝트하는 분들이다.

나는 학생때.. 알고리즘 말고는 할줄아는게 없었고, 사이드 프로젝트를 시도할 생각조차 안했었기 때문이다.

그 외에도 팀원들이 매 미팅, 세션마다 높은 텐션을 보여주었고, 덕분에 내가 금방 적응할 수 있었다.

아무것도 모르는 내 의견 들어주고 받아줘서 감사하고, 닦달 견뎌줘서 너무 감사하다.

 

마지막으로 나에대한 생각인데

분명 처음에는 즐기려고 들어왔지만 어느순간 너무 진지하게 임하는 나를 볼 수 있었다.

업무에 대한 스트레스였는지, 다른 개인적인 것들의 영향인지 모르겠지만 마냥 즐길수만은 없겠다고 생각했다.

아직 주니어 개발자일 뿐이지만 다른 서버 개발자분들의 코드를 보고, 동기부여가 많이 된 것 같다.

내가 진행했던 프로젝트를 리펙토링하면서 얼마나 더해야 조금이라도 따라갈 수 있는 수준이 될까 생각하는 시간을 가져도 괜찮을 것 같다.

23기 활동은 더 보완된 상태에서 개발할 수 있도록 노력해야겠다.

 

Nexters 22기

WWW: 언제 어디서 뭐해

프로미스8팀

모두 고생하셨습니다!!

'잡담' 카테고리의 다른 글

3월 3주차 결산  (0) 2023.03.20
코딩전문역량인증시험(PCCP) 후기  (6) 2023.03.19
3월 2주차 결산  (0) 2023.03.12
3월 1주차 결산  (3) 2023.03.05
2월 4주차 결산  (0) 2023.02.26

알고리즘

1일 1알고리즘

 

후기

회사에서 프론트가 끝나지 않는다..

대신 넥스터즈를 통해 백엔드 경험을 쌓았고, 앞으로도 리펙토링 및 추가개발 진행할 예정이다.

슬슬 다른 일들로 인해 바빠질텐데 다른 공부들도 미리미리 해야할것 같다. 근데 쌓여있는게 너무많네 ^^..

'잡담' 카테고리의 다른 글

코딩전문역량인증시험(PCCP) 후기  (6) 2023.03.19
Nexters 22기 회고  (2) 2023.03.14
3월 1주차 결산  (3) 2023.03.05
2월 4주차 결산  (0) 2023.02.26
2월 3주차 결산  (0) 2023.02.19

+ Recent posts