All(117)
-
[알고리즘] 순열(Permutation)
순열(Permutation)이란? 친구 3명(A, B, C) 중에서 2명을 뽑아 줄을 세운다면 어떻게 될까?이렇게 순서를 고려해서 고르는 경우를 순열이라고 부릅니다.예를 들어:A → BB → AA → CC → AB → CC → B 총 6가지죠. 순서가 바뀌면 다른 경우로 세는 게 포인트예요! 수학적으로는 이렇게 표현해요:nPr = n! / (n - r)! 즉, n개의 항목 중 r개를 순서를 고려해서 고르는 경우의 수입니다. 순열을 Java로 구현해 보자!흐름 설명어떤 항목들( `arr`)에서중복 없이 하나씩 골라( `visited`)r개가 되면 출력해요.코드public class Permutation { static char[] arr = {'A', 'B', 'C'}; // 선택할 항목들 s..
2025.06.25 -
[알고리즘] 조합(Combination)
친구 5명 중에서 2명을 골라 카페에 같이 갈 사람을 뽑는다고 생각해 볼게요.“철수, 영희”를 고르는 것과“영희, 철수”를 고르는 건 순서가 다르지만 결과는 똑같죠?이렇게 순서에 상관없이 선택하는 걸 조합(Combination)이라고 합니다.(+ 순서에 따라 구분하여 선택하는 건 순열) 수학적인 공식은 다음과 같습니다:nCr = n! / (r! * (n - r)!) 예를 들어5명 중 2명을 뽑는 경우의 수는:5C2 = 5! / (2! * 3!) = 10 그런데 팩토리얼로 다 해결될까요?작은 수에서는 괜찮지만 숫자가 커지면 문제는 달라집니다.예를 들어 100C50을 구하려면 100! 같은 엄청나게 큰 수를 계산해야 하고 이건 long 자료형도 쉽게 넘어서요.그래서 우리는 좀 더 프로그래밍 친화적인 방법을 ..
2025.06.25 -
SSAFY의 마지막, 가장 빛났던 순간 – 자율 프로젝트 이야기
SSAFY 12기 수료를 앞두고 있는 지금 시점에서 돌아봤을 때교육 과정에서 가장 인상 깊었던 프로그램을 꼽자면 단연 2학기 자율 프로젝트인 것 같습니다.단순히 기능을 구현하는 데 그치지 않고 직접 교보재를 신청해 개발하고 완성한 프로젝트를 영상 포트폴리오로 소개하는 과정까지 경험할 수 있었던 말 그대로 하나의 서비스를 처음부터 끝까지 만들어보는 실전적인 프로젝트를 진행할 수 있었습니다. 하고 싶은 걸 마음껏 할 수 있도록 교보재 지원SSAFY 자율 프로젝트의 가장 큰 장점은 교보재 신청 제도입니다. 단순한 센서 몇 개가 아니라 스마트워치, UWB 모듈, 각종 센서류 등 원하는 장비를 모두 신청할 수 있었고 SSAFY에서는 실제로 이를 아낌없이 지원해 주었습니다! (이 모든 IoT 장비들을 직접 구매하..
2025.06.02 -
[IT 개발자를 위한 필독서 SSAFYdia] 모놀리스를 넘어: MSA로 확장성과 안정성을 잡다
SSAFY 마지막 자율 프로젝트에서도 Backend/Infra 파트를 담당하면서 기존의 Monolithic 구조 대신 MSA(Microservices Architecture)를 도입하게 되었습니다.사실 처음에는 단순히 분산 아키텍처를 적용해보고 싶다는 호기심이 들어서 도입을 고려하게 되었습니다.기술적 호기심으로 시작했지만 막상 적용해 보니 생각보다 꽤 많은 이점을 체감할 수 있었습니다. 특히 MSA가 다음과 같은 상황에 잘 맞는 해답이라는 걸 알게 되었습니다:기능별로 서비스 경계를 명확하게 나눌 수 있다자주 바뀌는 기능은 다른 서비스에 영향 없이 배포할 수 있다장애가 나더라도 전체 시스템이 아닌 해당 서비스에만 영향을 줄 수 있다 왜 MSA였는가?기존 Monolithic 구조의 문제는 명확합니다:기..
2025.06.02 -
[IT 개발자를 위한 필독서 SSAFYdia] 자바 개발자가 쉽게 이해하는 JPA 개념 정리
개발하면서 SQL을 직접 쓰는 게 익숙해질 때쯤 사람들은 이런 생각을 하곤 합니다.“이걸 꼭 일일이 다 써야 해? 더 편하게 하는 방법은 없을까?” 사실 단순한 CRUD 작업, 예를 들면 회원 정보를 저장하거나 불러오는 일은 언제나 비슷비슷합니다. 그런데 매번 SQL을 직접 쓰자니 번거롭고 객체로 변환하는 코드도 반복되는 게 많죠. 그래서 등장한 게 바로 JPA(Java Persistence API)입니다.JPA는 자바 개발자가 SQL에 매달리지 않아도 객체 중심으로 코드를 짤 수 있게 도와주는 기술이에요. 저도 프로젝트를 진행하면서 JPA를 활용해 데이터베이스 연동 기능을 직접 구현해본 경험이 있어서 이번 기사에서는 JPA를 처음 접하시는 분들도 쉽게 이해할 수 있도록 기초 개념부터 차근차근 정리해보..
2025.05.06 -
SSAFY 12기 교육생이 직접 말하는 SSAFY 하길 잘했다고 느낀 순간 TOP 3!
제가 SSAFY에 입과하고 약 9개월이 흐른 지금 이 시점에서 느낀 점은그동안 정말 치열하게 하루하루를 보낸 것 같다는 것입니다. 하지만 시간이 지나고 돌아보니 SSAFY에 들어오길 잘했다는 확신이 들었던 순간이 많았던 것 같은데요.그래서 이번 기사를 통해 제가 SSAFY를 하길 정말 잘했다고 느꼈던 세 가지 순간을 나눠보려고 합니다.예비 SSAFY인들 혹은 지금 프로젝트로 지친 SSAFY인을 위한 소소하지만 공감이 되고 도움이 되는 내용이 되었으면 좋겠습니다. Top 1 개발 실력이 정말 많이 늘었다고 느껴졌을 때SSAFY를 시작하기 전 저는 모바일 앱 개발자로 실무 경험이 있었고 1학기 모바일 반에서 수업을 들었지만 백엔드 내용도 커리큘럼에 포함되어 있어서 수업을 듣고 프로젝트를 하면서 백엔..
2025.03.31