[싸피셜이 알려드림: SSAFY편] SSAFY 12기 1학기 최종 관통 프로젝트 회고
·
SSAFY
안녕하세요, SSAFY 12기 싸피셜 기자 안수진입니다!SSAFY의 1학기는 단순한 학습으로 끝나지 않습니다.그동안 배운 내용을 종합적으로 적용해보는 최종 관통 프로젝트가 기다리고 있는데요!말 그대로 1학기 학습 내용을 "관통"하며 실력을 확인하고, 협업 경험을 쌓는 중요한 프로젝트랍니다. 저는 이번 프로젝트에서 전공 Java반으로 참여하며, 부동산과 여행 두 가지 주제 중 하나를 선택해야 했는데요,조금 더 도전적인 주제를 선택하고 싶어서 부동산 프로젝트를 진행하게 되었어요!여행 관련 프로젝트는 간접적으로 접해본 경험이 많았던 반면, 부동산은 낯설고 새롭게 배울 것이 많을 것 같아 흥미롭게 시작할 수 있었습니다. SSAFY의 프로젝트는 페어 프로그래밍 시스템으로 진행되며,최종 관통 프로젝트 역시 2인 페..
[싸피셜이 알려드림: SSAFY편] SSAFY 1학기 후기
·
SSAFY
이번 달은 벌써 1학기 교육과정의 마지막 달인데요! 시간 참 빠르죠?이번 기사에서는 SSAFY 1학기 교육 후기를 통해 제가 얼마나 성장했는지, 그리고 2학기에 대한 기대를 나누어 보려고 합니다. 🌟 SSAFY 입과의 계기와 첫걸음저는 졸업을 하고 취업 코테를 준비하면서 알고리즘에 대한 학습 부족을 느끼고 있던 찰나에SSAFY에 입과하게 되었다는 것 기억하시나요? 하지만 SSAFY는 입과 했다고 끝이 아닙니다!!!! 1학기 동안 SW 역량 테스트 A등급, 과목평가 및 월말평가 기준 충족 등 여러 목표를 달성해야 했죠.치열하게 노력했던 순간들을 떠올리니 감회가 새롭습니다.... 💯 1학기 성과: 노력의 결실🏆 4회차 월말 평가 우수저는 사실 1학기 수료할 때 모든 평가에서 평가 우수를 받아보자!! 하..
[싸피셜이 알려드림: 기술편] Servlet이 뭘까?
·
SSAFY
안녕하세요! SSAFYcial 12기 기자단 안수진입니다.최근 저는 Backend 커리큘럼을 통해 Spring을 학습하고 있습니다.이전에도 Spring Boot를 사용하여 서비스를 개발한 경험이 있지만,그때는 깊이 있는 이해 없이 개발을 진행한 것 같다... 아직 많이 부족하다는 것을 많이 느끼는 요즘이에요...🤣이번 기회에 Servlet의 동작 원리부터 Spring으로 발전하는 과정을 차근차근 살펴보며, 함께 지식을 쌓아가 봅시다! 💡 Servlet의 탄생📌 초기 웹 서비스웹 서비스가 처음 등장했을 때, 제공되는 페이지는 주로 정적 콘텐츠로 구성되었습니다.HTML 파일을 단순히 클라이언트에게 제공하는 방식이었죠. 이 방식은 데이터가 변하지 않는 상황에서는 괜찮았지만, 사용자 요청에 따라 동적 콘텐..
[백준] 2096. 내려가기 (DP/Java)
·
코딩 테스트/Baekjoon
[백준] 2096. 내려가기📌 풀이 과정3개의 열과 N개의 행으로 이루어진 숫자판이 주어진다.맨 윗줄에서 시작하여 맨 아랫줄로 내려오면서 합계의 최댓값과 최솟값을 구해야 한다.단, 한 칸 아래로 이동할 때, 같은 열 또는 인접한 열로만 이동 가능하다.처음에는 각 열에서 이동 가능한 경우의 수를 모두 고려한완전 탐색으로 코드를 작성했지만.. 시간 초과가 떴다...완전 탐색으로 풀면 3^N의 연산을 해야 하며, 이는 시간 제한(1초) 내에 처리할 수 없는 연산량이었다.따라서, DP를 사용해야 한다!!!! 🥹디피.. 싫어.... ❤️‍🔥 점화식최댓값과 최솟값을 각각 계산해야 하기 때문에 두 개의 DP 배열을 사용했다.maxD[x][y]: x행, y열까지 내려왔을 때 얻을 수 있는 최대 합minD[x][y..
[싸피셜이 알려드림: SSAFY편] 벌써 13기 모집? 알려줄게 SSAFY의 모든 것!!
·
SSAFY
안녕하세요! 오늘은 SSAFY 13기 모집이 곧 시작되는 것을 맞이해SSAFY의 5개 캠퍼스와 교육 커리큘럼, 그리고 교육생들이 누릴 수 있는 혜택에 대해 자세히 소개해드리려고 합니다! 😊저는 현재 SSAFY 12기에 입과하여 벌써 4개월 차에 접어들었는데요, 다음 달이면 1학기 최종 관통 프로젝트를 앞두고 있다는 게 정말 믿기지 않네요! 시간이 너무 빨리 가는 것 같아요.저 역시 처음에는 SSAFY 지원자로서 긴장하고 설렜던 기억이 납니다.그래서 오늘은 제가 직접 경험한 것들과 함께, 지원 전에 미처 몰랐던 정보들까지 속속들이 파헤쳐여러분들께 SSAFY의 모든 것을 알려드릴 예정입니다! 끝까지 함께해 주세요! 😄 💖 SSAFY의 5개 캠퍼스를 소개합니다SSAFY 캠퍼스는 서울, 대전, 광주, 구미..
[싸피셜이 알려드림: 기술편] Socket 통신이 뭘까?
·
SSAFY
안녕하세요! SSAFYcial 12기 기자단 안수진입니다.오늘은 여러분과 함께 네트워크 통신의 핵심적인 개념인 소켓 통신에 대해 알아보려고 합니다! 😊네트워크가 어떻게 연결되고, 서버와 클라이언트가 서로 데이터를 주고받을 수 있는지 궁금하지 않으신가요?소켓 통신은 우리가 인터넷을 사용하면서 데이터를 주고받을 수 있게 해주는 중요한 기술이랍니다.그렇다면, 소켓 통신이 무엇인지, 왜 필요한지, 그리고 어떻게 작동하는지에 대해 함께 탐구해볼까요? 😍 🚀 소켓 통신이란?네트워크 상에서 데이터를 주고받기 위한 연결의 종단점을 나타내는 소프트웨어 구조IP 주소와 포트 번호를 조합하여 통신 상대를 식별합니다.즉, 서버와 클라이언트의 IP 주소, 포트번호, 연결 상태 등을 기록하는 파일 디스크립터 라는 정보를 관..
[싸피셜이 알려드림: SSAFY편] SSAFY 12기 싸피셜이 알려주는 SSAFY 지원 꿀팁!
·
SSAFY
안녕하세요! SSAFY 12기 싸피셜 기자단 안수진입니다 😆오늘은 SSAFY 지원 꿀팁과 SSAFY의 장점에 대해 이야기를 나눠볼 텐데요.SSAFY 지원을 고민 중이시거나, 후기가 궁금하신 분들은 정말 잘 찾아오셨어요!제가 SSAFY 12기를 지원하면서 준비했던 과정과 후기를 상세하게 알려드릴 테니, 참고하시면 큰 도움이 될 거예요.또한 SSAFYcial 기자단이 작성한 SSAFY 생활에 대한 다양한 글들도 꼭 한번 찾아보시는 걸 추천드립니다.참고로 저는 SW 전공자로 지원했다는 점도 함께 기억해 주세요 😉 💁🏻‍♀️ 왜 SSAFY인가? SSAFY만의 장점?1. 매월 100만원의 지원금2. 신한·KB국민·하나·우리·NH농협 등 국내 5대 은행과 업무 협약3. 150여 개의 SSAFY 채용 우대 기..
[백준] 13397. 구간 나누기 2 (이분탐색/Java)
·
코딩 테스트/Baekjoon
[백준] 13397. 구간 나누기 2📌 풀이 과정배열을 M개 이하의 구간으로 나눌 때, 각 구간의 점수(최댓값-최솟값)의 최댓값 중 최솟값을 구하는 문제다.이 문제도 이분 탐색을 활용하는 문제인건 파악했으나.. 코드 작성하기 까지 조금 헤맸다. 이분 탐색을 활용하는 이유구하고자 하는 것이 최댓값의 최솟값특정 값으로 가능한지 여부를 판단할 수 있다. (Yes/No 문제)값이 커질수록 구간을 M개 이하로 나누기 쉽다.이분 탐색 범위최소값: 0 (구간의 점수가 가질 수 있는 최솟값)최대값: 배열의 최댓값 - 최솟값 (전체 배열에서 가능한 최대 점수) 판단 방법mid값을 구간의 최대 점수라 하자.배열을 순회하면서 현재 구간의 점수(최댓값 - 최솟값)이 mid를 초과하면 새로운 구간 시작이렇게 나누어진 구간의 ..
[프로그래머스] 징검다리 (이분탐색/Java)
·
코딩 테스트/Programmers
[프로그래머스] 징검다리 📌 풀이 과정n개의 바위를 제거한 후에 만들 수 있는 "바위 사이의 최소 거리들 중 최댓값"을 구하는 문제이다.쉽게 말해, 바위를 제거해서 바위 사이 간격을 최대한 크게 두면서도그 중에서 제일 작은 가격이 얼마인지 구하면 된다.제거할 바위의 조합을 구해서 완탐으로 풀어도 될 것 같은데... 시간 초과가 난다 ㅇㅋ그렇다면 이 문제를 어떻게 이분탐색으로 풀 수 있을까..!!!먼저 왜 이분 탐색을 사용해야하는지 알아보자.왜 이분 탐색을 쓸까?0부터 도착점까지 모든 거리를 시도해보면 너무 오랜 시간이 걸리게 된다.중간값부터 시도하면서 범위를 절반씩 좁혀가는 게 효율적이게 된다.int low = 0 # 최소 간격의 가능한 최솟값 (바위 사이가 붙어있는 경우)int high = dist..
[Android Studio] 앱 구동 속도 개선을 위한 SQLite 활용법
·
프로젝트
빠른 개발을 위해 SQLite를 사용하기로 했지만 개발하는 과정에서 마주했던 문제들이 있었다.SQLite는 앱 실행 시 모든 데이터를 새로 입력하고 데이터베이스를 생성하는 방식이라초기 데이터가 많은 경우 로딩 시간이 오래 걸린다는 단점이 있었다.오늘은 이 단점을 해결해 나간 과정에 대해서 작성해보도록 하겠다!! 🤔 첫번째 의문점보통 SQLiteOpenHelper 클래스를 상속받아 앱 실행 시onCreate() 메서드를 통해 처음 데이터베이스를 생성하고 테이블을 정의하여 초기 데이터를 입력할 수 있다. 술안주 월드컵 앱은 다수의 메뉴 데이터와 이미지 경로, 위치 정보 등을 데이터베이스에 저장해야 하는데, 앱 실행 시마다 데이터를 새로 입력하고 데이터베이스를 생성하는 방식은 로딩 시간이 오래 걸려 비효율적..