전체 글 13

[정보처리기사] 2024 3회 실기 공부법과 후기

정보처리기사란 있어도 메리트는 없는데 없으면 좀... 그렇다꼭 그게 아니더라도 겸사겸사 CS 공부랑 학교 자격증 장학금 타 먹을 생각을 했다. 나는 4학년이라 졸업은 해야겠는데 2회차 시험은 공부를 별로 못 해서 3회를 노렸고또 평일 풀타임 인턴 출근 때문에 시간 내기는 어려운데 아는 건 별로 없는 전공생이다. 정처기는 1년에 총 3회로, 1회가 가장 쉽고 3회가 가장 난해하니시험 응시 예정인 분들은 꼭 1회에 붙길...저도 알고 싶지 않았거든요 정보처리기사 실기 준비 방법교재는 수제비 기본서와 파이널 모의고사 책을 이용했고, 강의는 듣지 않았다. 공부 기간은 총 4주인데, 벼락치기가 되는 사람이면 모를까 나는 여유롭게 시작하는 것이 좋아서 그렇게 설정했다.책은 무조건 제본을 추천한다. 수제비 기본서2회..

[Firebase & React] 실시간 공지사항 등록 서비스

Firebase와 React를 이용한 실시간 공지사항 등록 서비스인턴 생활을 하면서 처음으로 받은 개발 업무이고, 부분 기능을 개발하여 실제 서비스에 이식하였다. 원래 백엔드(Spring Boot)를 공부했었고 공교롭게도 React와 Firebase 모두 한 번도 사용해본 적 없는 기술들이다.그렇지만 새로운 기술을 배우는 것을 좋아하고, 넓게 배워두면 분명 어딘가에서 도움이 된다고 생각했기 때문에 열심히 개발하였다.  GitHub Link GitHub - giikbukjin/firebase-notifier: Firebase와 React를 활용한 실시간 공지사항 등록 및 알림 서비스Firebase와 React를 활용한 실시간 공지사항 등록 및 알림 서비스. Contribute to giikbukjin/fi..

Backend/Frontend 2024.07.30

[notranslate] 코드 블럭까지 번역하라고는 안 했잖아

구글링을 할 때 외국 사이트를 많이 참고하는데, 구글 번역을 돌리면 코드 블럭까지 번역되어 깨지는 현상이 일어났다. 자바스크립트 코드를 북마크로 저장하여 간편하게 코드블럭 번역 제외하는 법을 알아보자. 크롬 코드블럭 번역 제외하기 1. 아무 사이트의 북마크나 만든 후 수정에 들어간다.2. 아래 내용을 입력한다.이름 : notranslate폴더 : bookmark barURL :javascript:(function(){ document.querySelectorAll('pre,code').forEach(function(e){ e.classList.add('notranslate'); })})(); 3. 번역하고자 하는 외국 페이지에서 방금 만든 북마크 클릭 후, 마우스 우클릭으로 구글 번역 실행4. ..

Settings 2024.07.09

[인프런 워밍업클럽] BE 1주차 발자국

첫 걸음인프런 워밍업 클럽 1기 BE에서 자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지] 강의를 수강하며 작성하였다.강의 학습HTTP와 APIHTTP란 다른 컴퓨터로 데이터를 보내기 위한 데이터 표준이다.API는 정해진 약속에 따라 특정 기능을 수행하는 코드이다. HTTP Method 중 하나인 GET은 쿼리를 통해 정보를 보낸 후 데이터를 요청한다.→ /add?number1=10&number2=20 Controller는 API가 실행되는 입구와 같다.@GetMapping("/add")public int addTwoNumbers(@RequestParam int number1, @RequestParam int number2) { return ..

[Elice Cloud Track] 쇼핑몰 프로젝트를 마치며

학교와 자격증 등등 바쁜 현생이 계속되고 부트캠프가 지쳐 갈 무렵, 팀 프로젝트가 시작되었다.엘리스트랙에서 이제까지 진행했던 작은 프로젝트들과는 다르게 제대로 된 '팀 백엔드 프로젝트'였다.팀을 구성하고 주제를 정하려는데 사다리 타기 팀장이 되었다. 갑자기 책임감이 생겼다.팀원분들도 열정이 넘쳐 보여 나는 이번 한 번만 더 힘내 보기로 했다. 온라인 1인 가구 식료품 쇼핑몰 : SingleShop식료품을 대량으로 구매하기 어려운 1인 가구를 대상으로, 1인분에 맞는 식품을 판매하는 쇼핑몰 웹 사이트를 제작하였다.로그인 및 회원가입, 카테고리, 주문, 상품, 장바구니로 나누어 개발을 진행하였다.내가 맡은 부분은 '상품' 코드이다. JDK, Spring Boot, MySQL을 이용해 개발하였다.  협업 방식..

[Temurin] Mac Brew에서 JDK 버전 관리하기

Temurin을 이용한 JDK 버전 관리 새로운 강의 수강을 준비하며 환경설정을 하고 있었는데, 그 동안 마구잡이로 깔아둔 JDK들이 종류도 버전도 뒤죽박죽이었다.이 기회에 깔끔하게 통일하여 설치하고, 이후 버전 관리도 쉽게 할 수 있는 방법을 찾아보았다.  Mac을 사용하게 되면서 공식 홈페이지에 들어가 다운로드 파일을 받는 것보다 터미널을 이용해 프로그램을 설치하거나, 버전을 관리하는 일이 많아졌다.Brew를 이용하면 명령어 한 줄로 프로그램 설치가 가능하기 때문이다. 기존에 Brew를 통해 JDK를 설치하기 위해서는 AdoptOpenJDK이 사용되었지만 지원이 종료되었다.그 대신, Temurin을 사용하여 JDK를 설치하고 버전 관리를 해보려고 한다.  JDK 설치먼저, AdoptOpenJDK를 사..

Settings 2024.04.27

[BOJ 1253] '좋은' 투 포인터

백준 1253. ‘좋은 수’ 구하기 (시간 제한 2초) 주어진 N개의 수 중에서 다른 두 수의 합으로 표현되는 수가 있다면 그 수를 ‘좋은 수’라고 한다. N개의 수 중 좋은 수는 총 몇 개인지 출력하시오. 1번째 줄에는 수의 개수 N(1 ≤ N ≤ 2,000), 2번째 줄에는 N개의 수의 값(Ai)이 주어진다. (|Ai| ≤ 1,000,000,000, Ai는 정수) // 예제 입력 10 1 2 3 4 5 6 7 8 9 10 // 예제 출력 8 시간 복잡도 for문으로 배열을 모두 돌며 ‘좋은 수’를 모두 찾으려면 O(n)의 시간 복잡도가 필요하다. ‘좋은 수’ 하나를 찾는 알고리즘의 시간 복잡도는 O(n^2)보다 작아야 한다. 만약 O(n^2)보다 크다..

[BOJ 11659] 구간 합 구하기

구간 합이란 시간복잡도를 줄이기 위해 합 배열을 미리 생성하는 알고리즘이다.기존 배결의 특정 범위의 합을 구하는 시간 복잡도는 O(N)이지만, 합 배열을 미리 구해 놓으면 시간 복잡도가 O(1)이 된다.합 배열의 기본 공식은 S[i] = S[i - 1] + A[i]이다.i에서 j까지의 구간 합 또한 S[j] - S[i - 1]로 나타낼 수 있다. 백준 11659. 구간 합 구하기 4(시간 제한 0.5초) 수 N개가 주어졌을 때, i번째 수에서 j번째 수의 합을 구하는 프로그램 첫째 줄에 수의 개수 N(1 ≤ N ≤ 100,000)과 합을 구해야 하는 횟수 M(1 ≤ M ≤ 100,000)이 주어진다.둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다.셋째 줄부터 M개의 줄에는 ..

Big-O 표기법 활용하기

알고리즘 과목을 처음 배워도, 코딩테스트를 처음 시작하려고 해도 꼭 나오는 개념이 있다.바로 시간 복잡도를 표현할 수 있는 Big-O 표기법이다.문제만 풀 줄 알면 됐지 하고 넘어간다면, 시간 초과 오류와 마주칠지도 모르겠다. 이론은 이해하겠는데, 대체 코딩테스트 문제를 풀 때 어떻게 활용하라는 거야?   시간 복잡도란? 알고리즘의 연산 횟수, 즉 성능을 수학적으로 표현해주는 표기법이다.일반적으로 1초에 1억 번의 연산을 수행한다고 가정한다.Big-O 시간 복잡도는 항상 최악일 때, 즉 데이터의 크기가 가장 클 때를 기준으로 한다.(Big-Ω는 최선일 때, Big-Θ는 보통일 때를 나타낸다.) 실제 러닝타임보다는 알고리즘의 성능을 예측하는 것이 목표이기 때문에 상수는 고려하지 않는다.반복문이 여러 개 있..

개발 블로그를 다시 시작한 이유

그동안 여러 플랫폼에서 여러 블로그를 만들었지만, 제대로 꾸준히 활용하지는 못 했다. 어떤 글을 적어야 하는지도 잘 모르겠고, GitHub Pages같은 경우 마크다운으로 글 쓰기, 사진 넣기 등이 귀찮아 몇번 쓰고 말아버렸다. 새로운 블로그를 만들었으니, 동기부여하기 위해 개발 블로그를 하면 좋은 점과 무엇을 적어야 하는지에 대해 조사해보았다. 강의를 들었는데 머릿속에 남는 게 없는 이유 단순히 강의를 듣고 코드를 따라 치는 것은 비효율적인 공부법이라고 한다. 고민하고 생각하는 시간이 적어 뇌에 자극이 가지 않으니 기억에도 남지 않고, 심지어 모두 이해했다는 착각을 불러일으키기도 한다. 강의를 다 들었는데, 막상 혼자 개발하려고 하면 스스로 구현하지 못하는 경우가 대부분이다. 그렇다면, 어떻게 공부해야..