블로그

bukak2019

모각코 좋아하는 사람 절대 들어오지마세요 (Feat. 잔디심고갈래?)

🌱 잔디 심고 갈래? 2026년 개발자 플러팅혼자 코딩하지만 함께 몰입하고 있다는 감각을 전달하는 GitHub 기반 온라인 모각코 서비스서비스로 이동!💡 이런 서비스입니다늦은 밤, 혼자 코딩할 때 슬랙에서 동료의 파란 불을 보며 힘을 얻은 적 있으신가요?잔디 심고 갈래? 는 바로 그 느낌을 온라인 공간으로 옮겨왔습니다. 캠·마이크 없이 같은 공간에서 함께 코딩하는 경험을 제공합니다.핵심 가치🌍공동의 성장: 개발자들의 GitHub 활동이 모여 맵을 변화(예: 황무지를 숲으로 변화)시킵니다⏱집중의 시각화: 커밋, PR, 집중 시간이 실시간으로 반영됩니다🐾펫과 함께: 활동으로 얻은 포인트로 펫을 뽑고 성장시킵니다🤝느슨한 연대: 캠/마이크 없이, 같은 공간에서 함께 코딩하는 경험을 제공합니다✨ 주요 기능1⃣ 함께 성장하는 가상 세계모두의 활동이 모여 맵이 변화. 7일 시즌제로 주기적 리셋이 이루어지고, 테마가 변경됨.테마2⃣ 실시간 캐릭터 시스템GitHub 프로필·마스코트 캐릭터로 표현. 닉네임·집중시간·태스크 표시, 실시간 상호작용.3⃣ GitHub 활동 자동 연동 및 리더보드OAuth 간편 로그인, 30초 간격 자동 감지. 활동 시 포인트가 쌓이고, 포인트에 따라 맵 변화 게이지 상승.리더보드4⃣ 개인 성취 시각화잔디·캘린더를 통한 날짜별 집중시간·태스크·활동 내역 확인히팅맵 및 개인잔디포인트 획득에 따라 달라지는 개인 잔디에서 수집한 펫과 활동들을 확인 가능세부 활동해당 날짜에 진행한 깃허브 활동 상세 내역이나 자신의 Task(To-do)를 확인 가능5⃣ 펫 시스템 🐾포인트로 가챠·육성·진화(3단계). 대표 펫이 캐릭터 동행.펫과 캐릭터 이동펫 뽑기펫을 뽑아 새로운 펫들을 수집 가능펫 도감펫 도감을 통해 수집한 펫들을 관리하고, 대표 펫으로 설정하여 함께 이동 가능펫 밥주기펫에게 밥을 주어 다음 단계로 성장시켜, 도감 수집 가능

네이버부스트캠프잔심갈잔디심고갈래?모각코Github개발자플러팅

jhworld

2월 서바이벌 챌린지와의 첫 만남썰 푼다

1월에 단기심화과정이 끝나고 2월부터 야생에 던져진.. ㄴr 란 girl...강제성이 있는 100% 스터디나 커뮤니티에 가입되어야만 엉덩이가 무거워지는 P girl이었다.프로젝트에 집중한 나머지 알고리즘에 너무 손을 떼버려“인강으로 빠르게 복습해야지~” 하고 인프런에 들어가자마자 반겨주는인프런 2월 챌린지 배너심상치 않았다.그런데 참가비가 있네?나 가난한 1인가구 가장인데..어? 열심히만 하면 이 돈 다 내 것이 될 수 있다고..?(3백이었나 4백이었나 아무튼 x백 어쩌고)바로 신청 갈겼다.이것이 바로 인프런 챌린지와의 첫 만남이었다.해당 챌린지에 대해 설명을 듣기 위해 라이브에 참석했다.그리고 심상치 않은 어떤 그녀를 발견했다.그녀의 이름은 바로, 도라 (님)알 수 없는 끌림에 (솔직히 재밌어서) 모든 라이브를 본방사수했다 ㅋ얼떨결에 라이브까지 열심히 참여한 사람이 되어버렸다.아, 이것 또한 성취감인가.3주 동안 학습하면서 30분을 채워야 했기에1분이 모자르면 “하나 더! 하나 더!! 그래야만 살아남을 수 있어!”하면서 학습을 이어갔다.말 그대로 챌린지이기에 평일에만 하는 것이 아니라주말에도 “조금만 더! 조금만 더!” 이러고 있었다.덕분에 학습 분위기가 형성되었고 습관이 생겼다.또한 학습 시간도 점점 늘어나니챌린지에 감동받은 나를 발견할 수 있었다.그래서 열심히 주변 사람들에게 소개를 했고4월 챌린지도 아는 분과 같이 진행한다 ㅎ챌린지를 진행하면서 공부도 하는데 돈도 줘?아 물론 참가비도 내지만, 참가비보다 더 받을 수 있다.(생존만 한다면)아쉬운 점?언제 한 번 도라님이 아프셔서 걱정되었는데 그게 좀 슬펐달까?그리고 라이브 랜덤 포인트 뽑기에서나만 1000 이상 받은 적 없다는 것도 아쉽다랄까?아쉬운 점을 더 찾는다면 다음 3월 챌린지 후기에서 써보도록 하겠다. (참고로 상금 받았다 헤)인프런 챌린지 추천합니다!

커리어 · 자기계발 기타인프런챌린지인프런2월챌린지도라시몬

minsu

2월 서바이벌 챌린지 후기(사실 1월 챌린지도 포함)

취업을 준비중인데, 작년까지는 학원에 다니며 강제성이 있는 공부를 했다. 하지만 당장 올해 1월 1일부터는 혼자서 공부를 해야 했다. 마침 인프런에서 말 달리자 챌린지가 열려서 바로 참가했고 환급은 물론 기프티콘까지 받았다. 1월 챌린지 기간 동안 이틀 빼고 매일 공부하며 조금씩 기록한 것을 좋게 봐주신 것 같다. 자연스럽게 2월 챌린지도 관심을 가지게 되었고 서바이벌 형식의 챌린지인데, 생존자 수에 따른 상금을 준다고 해서 재미있을 것 같아 바로 신청했다. 이번에는 완강 여부와 상관없이 거의 매일 공부하는 것이었는데 사실 1월 챌린지로 이미 거의 매일 공부하는 습관이 잡혀서 미션이 어렵게 느껴지지 않았다. 또한 챌린지를 통해 단순히 매일 공부하는 습관만 잡은게 아니고 하루의 공부 루틴을 세울 수 있었다. 아침에는 꼭 필요하지만 잘 손이 가지 않는 CS 지식이나 프로그래밍 언어에 대해 공부하며 챌린지 미션을 제출하고, 그 후에는 포트폴리오를 제작하거나 제작하기 위한 지식에 대해 학습하는 것이다. 오늘은 3월 17일인데 3월 챌린지도 참여하며 똑같은 루틴을 지키는 중이다. 사실 온라인 교육 플랫폼에서 가장 중요한 것은 강의를 많이 팔아서 수익을 올리는 것일 것이다. 그런데 인프런은 이런 챌린지를 통해 사용자들이 정말로 학습하도록 도와준다는 점에서 진정한 교육 플랫폼이라고 느꼈다. 다음 달에도 인프런과 함께 달려보려고 한다.

챌린지

양성빈(Robert)

K2 컴파일러가 바꿔놓은 Java SAM 변환의 모든 것

들어가며최근 Kotlin 버전을 1.8에서 2.3으로 올리고 코드를 작성하던 중, 흥미로운 현상을 발견했다.package me.sungbin.function fun main() { val filter: StringFilter = { s -> s.startsWith("A") } }StringFilter는 Java에서 정의한 함수형 인터페이스다. 그런데 이 코드가 Kotlin 1.8에서는 컴파일 에러가 나고, Kotlin 2.3에서는 정상 동작한다. 분명 Java SAM 인터페이스에 람다를 직접 대입하는 건 안 되는 걸로 알고 있었는데, 왜 지금은 되는 걸까? 이 글에서는 이 동작 변화의 원인을 파헤쳐 보고, Kotlin의 SAM 변환이 어떻게 발전해 왔는지를 정리해 본다.SAM 변환이란?SAM은 Single Abstract Method의 약자로, 추상 메서드가 하나만 있는 인터페이스를 말한다. Java 8에서는 이런 인터페이스를 함수형 인터페이스(Functional Interface) 라고 부르며, @FunctionalInterface 어노테이션을 붙여 명시한다.@FunctionalInterface public interface StringFilter { boolean filter(String s); }Java에서는 이런 함수형 인터페이스 타입이 기대되는 곳에 람다를 직접 전달할 수 있다. 이걸 SAM 변환(SAM Conversion) 이라고 한다.// Java — 람다를 함수형 인터페이스 타입 변수에 직접 대입 StringFilter filter = s -> s.startsWith("A");Kotlin도 Java와의 상호운용성을 위해 SAM 변환을 지원한다. 하지만 그 지원 범위는 Kotlin 버전에 따라 달랐다.Kotlin에서의 SAM 변환 역사Kotlin 1.0 - Java SAM에 대한 기본 지원Kotlin은 1.0부터 Java의 함수형 인터페이스에 대한 SAM 변환을 지원했다. 다만 지원되는 위치가 제한적이었다. 함수 인자로 전달할 때는 SAM 변환이 적용됐다.// Java 메서드: void applyFilter(StringFilter filter) { ... } // 함수 파라미터로 전달 — SAM 변환 적용 applyFilter { s -> s.startsWith("A") }SAM 생성자(SAM Constructor) 를 명시적으로 사용하는 것도 가능했다.// SAM 생성자 — 항상 가능 val filter = StringFilter { s -> s.startsWith("A") }하지만 변수 타입을 명시하고 람다를 직접 대입하는 것은 불가능했다.// Kotlin 1.x에서 컴파일 에러! val filter: StringFilter = { s -> s.startsWith("A") } // Type mismatch: inferred type is (String) -> Boolean but StringFilter was expectedKotlin 1.4 - Kotlin 인터페이스에 대한 SAM 변환 (fun interface)Kotlin 1.4에서는 fun interface 키워드가 도입되면서, Kotlin에서 정의한 인터페이스에도 SAM 변환을 사용할 수 있게 됐다.// Kotlin 1.4 이전에는 이게 안 됐음 interface MyFilter { fun filter(s: String): Boolean } val f = MyFilter { s -> s.startsWith("A") } // 컴파일 에러 // Kotlin 1.4부터 fun interface로 선언하면 SAM 변환 가능 fun interface MyFilter { fun filter(s: String): Boolean } val f = MyFilter { s -> s.startsWith("A") } // OK이 시점에서 많은 개발자들이 "Kotlin에서 SAM 변환이 안 된다"고 알고 있던 것은, 바로 이 Kotlin 인터페이스에 대한 SAM 변환이 안 됐던 것을 기억하는 경우가 많다. 하지만 fun interface 도입 이후에도, 타입을 명시한 변수에 람다를 직접 대입하는 것(val f: Type = { ... })은 Java SAM, Kotlin fun interface 모두에서 불가능했다. 1.4에서 가능해진 것은 SAM 생성자(val f = MyFilter { ... })와 함수 인자 전달 위치에서의 SAM 변환이었다.Kotlin 2.0 - K2 컴파일러와 SAM 변환의 확장그리고 마침내 Kotlin 2.0에서 K2 컴파일러가 정식 도입되면서, 이 제한이 해제됐다.// Kotlin 2.0+ (K2 컴파일러)에서는 이것도 된다! val filter: StringFilter = { s -> s.startsWith("A") }구 컴파일러는 왜 이걸 허용하지 않았을까?이유를 이해하려면, 구 컴파일러의 타입 추론 방식을 알아야 한다.구 컴파일러의 타입 추론 흐름구 컴파일러가 val filter: StringFilter = { s -> s.startsWith("A") }를 만났을 때, 내부적으로 다음과 같은 순서로 처리했다.우변의 람다 타입 결정: { s -> s.startsWith("A") }는 (String) -> Boolean 함수 타입으로 추론된다.좌변의 기대 타입 확인: StringFilter는 Java 인터페이스 타입이다.타입 호환성 검사: (String) -> Boolean != StringFilter -> Type mismatch!구 컴파일러는 SAM 변환을 특정 위치에서만 적용했다.함수 호출 시 인자로 전달하는 위치SAM 생성자를 명시적으로 사용하는 경우이는 구 컴파일러의 프론트엔드 아키텍처가 BindingContext라는 거대한 해시 테이블 기반 구조에 의존했기 때문이다. 타입 정보를 단계별로 수집하고 저장하는 이 방식에서는, 대입문의 기대 타입 정보를 람다의 타입 추론 단계에 자연스럽게 전달하기가 구조적으로 어려웠다.SAM 생성자로 우회하는 방법그래서 구 컴파일러에서는 SAM 생성자를 사용해 명시적으로 변환을 지시해야 했다.// SAM 생성자 — 컴파일러에게 "이 람다를 StringFilter로 변환해라"고 명시적으로 알려줌 val filter = StringFilter { s -> s.startsWith("A") }SAM 생성자는 컴파일러가 자동으로 생성하는 팩토리 함수처럼 동작하며, 람다를 해당 인터페이스의 구현체로 명시적으로 감싸준다.K2 컴파일러는 무엇이 다른가?완전히 새로 작성된 프론트엔드K2 컴파일러는 Kotlin 컴파일러의 프론트엔드(의미 분석, 호출 해석, 타입 추론 담당) 를 완전히 새로 작성한 것이다. 공식 문서에서는 이를 다음과 같이 설명한다.With the arrival of the K2 compiler, the Kotlin frontend has been completely rewritten and features a new, more efficient architecture. The fundamental change the new compiler brings is the use of one unified data structure that contains more semantic information.- K2 compiler migration guide구 컴파일러 vs K2 컴파일러의 내부 구조 차이구 컴파일러는 PSI(Program Structure Interface) 와 BindingContext에 의존했다.PSI는 소스 파일의 모든 정보를 담고 있어 크고 복잡하다.BindingContext는 바인딩 정보를 거대한 해시 맵 구조로 관리했다.변수 참조 하나를 조회하는 데도 여러 번의 맵 조회가 필요했다.K2 컴파일러는 FIR(Frontend Intermediate Representation) 이라는 새로운 트리 기반 데이터 구조를 사용한다.FIR은 PSI보다 간결하면서도 더 많은 의미 정보를 포함한다.트리 노드에서 직접 값을 접근하므로 해시 맵 조회가 필요 없다.타입 추론 시 기대 타입 정보가 자연스럽게 하위 노드로 전파된다.K2에서의 타입 추론 흐름K2 컴파일러가 동일한 코드를 처리할 때는 이렇게 동작한다.좌변의 기대 타입 확인: StringFilter가 기대된다.기대 타입 정보를 우변으로 전파: 람다에게 "네가 StringFilter가 되어야 한다"는 정보를 전달한다.SAM 변환 가능 여부 확인: StringFilter는 Java 함수형 인터페이스이고, 람다의 시그니처가 filter(String): Boolean과 일치한다.암시적 SAM 변환 적용: 람다를 StringFilter 구현체로 자동 변환한다.핵심 차이는 K2 컴파일러가 기대 타입(Expected Type) 정보를 적극적으로 활용한다는 것이다. 구 컴파일러에서는 대입문의 기대 타입 정보가 SAM 변환 판단에 반영되지 않았지만, K2에서는 기대 타입이 SAM 인터페이스인 모든 위치에서 암시적 SAM 변환이 가능해졌다.실제 코드로 보는 동작 차이다양한 케이스에서 Kotlin 1.x와 2.0+의 동작 차이를 정리해 보자.Case 1: 변수 대입// Java @FunctionalInterface public interface StringFilter { boolean filter(String s); }// Kotlin val filter: StringFilter = { s -> s.startsWith("A") }Kotlin 1.x: Type mismatchKotlin 2.0+: 정상 컴파일Case 2: SAM 생성자 (명시적)val filter = StringFilter { s -> s.startsWith("A") }Kotlin 1.x: 정상 컴파일Kotlin 2.0+: 정상 컴파일Case 3: 함수 인자로 전달fun applyFilter(filter: StringFilter) { /* ... */ } applyFilter { s -> s.startsWith("A") }Kotlin 1.x: 정상 컴파일Kotlin 2.0+: 정상 컴파일Case 4: 함수 반환 타입으로 사용fun createFilter(): StringFilter { return { s -> s.startsWith("A") } }Kotlin 1.x: Type mismatchKotlin 2.0+: 정상 컴파일Case 4에서 볼 수 있듯이, K2 컴파일러는 변수 대입뿐만 아니라 기대 타입이 명확한 모든 위치에서 SAM 변환을 적용한다.흥미로운 점은, Java 함수형 인터페이스뿐만 아니라 Kotlin fun interface에서도 변수 대입(val f: Type = { ... }) 방식은 1.x에서 동작하지 않았다는 것이다. 1.4에서 fun interface가 도입됐을 때 지원된 것은 SAM 생성자(val f = MyFilter { ... })와 함수 인자 전달이었고, 타입을 명시한 변수에 람다를 직접 대입하는 방식은 K2 컴파일러에서야 가능해졌다. 결국 K2의 기대 타입 기반 SAM 변환 확장은 Java SAM과 Kotlin fun interface 모두에 적용된 범용적인 개선인 셈이다.K2 컴파일러가 가져온 그 외의 개선들K2 컴파일러는 SAM 변환 외에도 다양한 타입 추론 개선을 포함하고 있다. 대표적인 것들을 간략히 살펴보자.스마트 캐스트 개선class Cat { fun purr() { println("야옹") } } fun petAnimal(animal: Any) { val isCat = animal is Cat if (isCat) { // Kotlin 2.0+: isCat 변수를 통해 animal이 Cat으로 스마트 캐스트됨 // Kotlin 1.x: 스마트 캐스트 불가 — 변수에 담긴 조건식은 인식하지 못했음 animal.purr() } }논리 OR 연산자와 스마트 캐스트interface Status { fun signal() { println("Signal received") } } interface Postponed : Status interface Declined : Status fun signalCheck(signalStatus: Any) { if (signalStatus is Postponed || signalStatus is Declined) { // Kotlin 2.0+: 공통 상위 타입인 Status로 스마트 캐스트 // Kotlin 1.x: Any로 캐스트되어 signal() 호출 불가 signalStatus.signal() } }인라인 함수 내에서의 스마트 캐스트interface Processor { fun process() { println("Processing...") } } inline fun inlineAction(f: () -> Unit) = f() fun nextProcessor(): Processor? = object : Processor {} fun runProcessor(): Processor? { var processor: Processor? = null inlineAction { if (processor != null) { // Kotlin 2.0+: processor가 non-null로 스마트 캐스트 // Kotlin 1.x: safe call 필요 (processor?.process()) processor.process() } processor = nextProcessor() } return processor }마무리정리하면, Kotlin 1.x에서 Java 함수형 인터페이스 타입 변수에 람다를 직접 대입하지 못했던 것은 구 컴파일러의 타입 추론 한계 때문이었다. Kotlin 2.0에서 도입된 K2 컴파일러는 프론트엔드를 완전히 재작성하면서 기대 타입 기반의 SAM 변환을 더 넓은 범위에서 지원하게 됐고, 그 결과 이전에 불가능했던 코드가 자연스럽게 동작하게 됐다. 이처럼 K2 컴파일러는 단순한 성능 개선뿐만 아니라, 개발자가 "당연히 될 것 같은데 안 됐던" 코드들을 실제로 동작하게 만들어 주는 의미 있는 변화를 가져왔다. Kotlin 2.0 이상을 사용하고 있다면, 한번 실무에 적용해보는 것도 좋은 방법 같다. 혹여나 틀린 지식이 있을 경우 바로 알려주시면 정정하겠습니다. 참고자료- https://kotlinlang.org/docs/k2-compiler-migration-guide.html- https://kotlinlang.org/docs/whatsnew20.html- https://kotlinlang.org/docs/fun-interfaces.html- https://kotlinlang.org/docs/compatibility-guide-20.html

백엔드kotlinjavak2-complier

송하경

2월 서바이벌 챌린지 후기 — 돈을 벌었습니다 (그게 전부가 아니에요)

챌린지에 참여하게 된 계기작년 12월에 첫 이직에 성공하여 AI 엔지니어로 전향한 지 얼마 되지 않아 배워야 할 건 산더미이고, 작업 해야할 양도 많은 상황이였다보니 잘 할 수 있을까? 라는 생각이 들었지만, "이왕 공부할 거, 보상도 받으면 좋지 않나" 라는 가벼운 마음으로 1월부터 인프런 챌린지 이벤트를 꾸준히 참여해 오고 있었다. 처음엔 그냥이었는데, 막상 해보니 생각보다 훨씬 강력한 동기부여가 된 것 같다.2월 서바이벌 챌린지는 2월 2일부터 25일까지, 딱 3주 동안 매일 최소 30분 이상 학습하고 인증하는 방식이었다. 735명이 함께 참가비를 냈고, 끝까지 살아남은 사람들이 총 6,615,000원을 나눠 갖는 구조. "매일 30분 이상" 이라는 조건이 핵심이었다. 부담스럽지 않으면서도, 매일 한다는 게 생각보다 어렵다는 딱 그 지점을 건드린 챌린지라는 게 느껴졌다.3주 동안 학습하면서 느낀 점자정이 기다려지는 신기한 경험챌린지가 진행되는 동안 매일 자정 이후에 "오늘의 생존자" 현황이 업데이트됐다. 처음엔 그냥 지나쳤는데, 어느 순간부터 자정이 되면 자연스럽게 해당 페이지를 찾아보게 됐다. 오늘은 몇 명이 떨어졌지? 이게 묘하게 재밌었다. 남들이 떨어졌다는 게 기쁜 게 아니라(물론 기쁘기도 했음), 어려운 걸 잘 해내고 있다는 증명 같은 느낌이랄까. 매일 밤 작은 성취감을 확인하는 루틴이 생겼다. 라이브 방송이 의외의 활력이 됐다중간중간 라이브 방송도 있었는데, 챌린지에 참여하고 있는 사람들이 모여서 도라님 중심으로 막 수다떠는 시간이 생각보다 좋았다. 도라님의 남다른 텐션에 도라버릴 뻔한 적도 있었지만 집에서 혼자 공부하고는 있지만 혼자가 아닌 것 같다는 느낌을 받아서 위안이 되면서 또 자극도 됐다.30분이 30분이 아니었다솔직히 처음엔 "30분만 하고 인증하면 되겠지" 라고 생각했다. 근데 막상 앉아서 시작하면 30분을 그냥 넘기는 날이 훨씬 많았다. 시작 자체가 제일 어렵다는 걸 다시 한번 느꼈다. 챌린지가 "일단 앉게 만드는" 트리거 역할을 해준 것 같다는 생각이 들었다.챌린지를 통해 생긴 변화회사에서 서비스를 개발하면서 공부가 곧 일이고, 일이 곧 공부인 상황이다. 그러다 보니 "퇴근 후 공부" 라는 게 의무감으로 느껴질 때가 많았다. 그런데 챌린지를 하면서 달라진 게 있다면, 공부를 하루 루틴의 일부로 받아들이게 됐다 인 것 같다. 그래서 "오늘 인증했나?" 라고 스스로 점검하는 습관이 생겼고, 챌린지가 끝나도 그 후유증(?)으로 고통(?)을 겪었지만 3월 챌린지를 시작하니 오히려 마음이 편해지는 기이한 현상을 경험했고 지금도 꾸준히 인프런 챌린지에 참여하고 있다. (4월 챌린지도 이미 신청했다. 이정도면 챌린지 중독인가...)좋았던 점 / 아쉬웠던 점좋았던 점학습 인증 과정이 복잡하지 않아서 부담이 없었다. 진입 장벽이 낮아서 오히려 더 꾸준히 하게 됐다.자정 이후에 발표되는 생존자 현황이 작은 게임 요소처럼 작동해서, 매일 미션을 잊어버리지 않게 해준 것 같다. (절대 탈락하지 않겠어!)혼자 공부하는 외로움을 함께 달려가는 느낌으로 바꿔줬다.챌린지 종료 후 22,500원을 돌려받았다. 액수가 크고 작고의 문제가 아닌, "해냈다" 는 걸 증명받은 느낌이였다.아쉬웠던 점챌린지가 종료된 이후에 갑자기 외부 동기가 사라지는 느낌이 있었다. 살짝 공백이 오는 느낌? 스스로 연결고리를 만들어두지 않으면 흐지부지될 수 있겠다 싶었다. (그래서 4월 챌린지도 신청한 것)마지막 소감솔직히 인프런 챌린지를 시작할 때 "공부 습관을 만들겠다" 라는 거창한 목표는 없었다. 그냥 어차피 해야 할 공부, 다른 사람들과 같이 하면 덜 힘들지 않을까 싶었다. 그런데 1월부터 2월, 3월, 그리고 4월까지 이어지는 걸 보면 이미 답이 나온 것 같다. 챌린지가 나를 바꾼 게 아니라, 챌린지가 내 안에 있던 무언가를 꺼내준 느낌. 지금 공부는 하고 싶은데 혼자는 흐지부지 작심삼일 될 것 같다면, 이런 챌린지를 통해 한 번쯤 함께 달려보는 것도 나쁘지 않다고 생각한다. (나는 다음 달에도 여기 있을 예정)

커리어 · 자기계발 기타인프런서바이벌챌린지학습습관2월챌린지후기

[무료] 벡터DB 기반 AI 학습 + 게시판 API 실습까지! 코드마스터40 대규모 업데이

안녕하세요, 개발자 여러분! 👋 혹시 무료로 체계적인 코딩 교육을 받을 수 있는 플랫폼을 찾고 계신가요? 코드마스터40 (https://codemaster40.com) 이 대규모 업데이트를 진행했습니다!이번 업데이트의 핵심은 바로 벡터 데이터베이스(Vector DB) 도입과 게시판 API 실습 강화입니다. ━━━━━━━━━━━━━━━━━━━━ 🧠 벡터 DB 도입으로 학습 품질 대폭 향상! 이번에 벡터 데이터베이스를 적용하여 학습 콘텐츠 검색과 추천 시스템이 완전히 달라졌습니다. ✅ AI 기반 맞춤형 학습 추천 - 내가 부족한 부분을 AI가 분석하여 딱 맞는 콘텐츠를 추천✅ 의미 기반 검색 - 단순 키워드가 아닌, 문맥을 이해하는 스마트 검색✅ 학습 효율 극대화 - 비슷한 개념끼리 자동 연결되어 체계적으로 학습 가능 ━━━━━━━━━━━━━━━━━━━━ 📋 게시판 API 실습 대폭 강화! 실무에서 가장 많이 구현하는 게시판(CRUD) API를 완벽하게 마스터할 수 있도록 업데이트했습니다. ✅ 입력(Input) 처리 - Request Body, Path Variable, Query Parameter 등 다양한 입력 방식 학습✅ 출력(Output) 처리 - Response 구조 설계, HTTP 상태 코드, 페이징 처리 등 실무 패턴✅ API 명세서 작성 - Swagger/OpenAPI를 활용한 문서화까지 한번에!✅ 에러 핸들링 - 실무에서 바로 쓸 수 있는 예외 처리 패턴 ━━━━━━━━━━━━━━━━━━━━ 📊 코드마스터40의 현재 규모 🔹 총 1,007개 학습 콘텐츠🔹 16개 카테고리 (Java, Spring Boot, Python, React, 알고리즘, DB, DevOps 등)🔹 AI 모의면접 - 4단 꼬리질문으로 실전 면접 대비🔹 플레이그라운드 - 코드 에디터, 퀴즈, 코딩 챌린지🔹 40일 로드맵 - 체계적인 학습 커리큘럼 ━━━━━━━━━━━━━━━━━━━━ 💡 이런 분들께 추천합니다! 코딩 부트캠프 비용이 부담되는 취준생- Spring Boot + REST API를 실무 수준으로 익히고 싶은 분- AI/벡터DB 같은 최신 기술 트렌드를 학습하고 싶은 분- 알고리즘부터 DevOps까지 풀스택으로 공부하고 싶은 분- 면접 준비가 필요한 개발자━━━━━━━━━━━━━━━━━━━━ 🎯 100% 무료입니다! 유료 결제 없이 모든 콘텐츠를 무료로 이용할 수 있습니다.지금 바로 시작해보세요! 👉https://codemaster40.com 궁금한 점이 있으시면 댓글로 남겨주세요!함께 성장하는 개발자 커뮤니티가 되었으면 좋겠습니다. 🚀

웹 개발무료코딩교육벡터DB게시판APISpringBoot코드마스터

nysims

💌3월 작심삼일 챌린지 후기 이벤트💌

작년부터 Grafana랑 Claude 관련 강의를 들어야지 들어야지 하면서 위시리스트에만 넣어두고 있었는데, 챌린지 공지 보고 이때 아니면 또 미루겠다 싶어서 바로 신청했습니다.저는 퇴근 후에 공부하는 건 도저히 못 하겠어서, 아예 새벽 5시에 일어나서 출근 전에 강의 듣는 방식으로 했습니다. 솔직히 처음 3~4일은 진짜 힘들었습니다. 알람 끄고 다시 눕고 싶은 걸 억지로 참았는데, 일주일 정도 지나니까 그냥 눈이 떠지더라고요. 새벽에 듣는 게 확실히 머리가 맑아서 집중이 잘 됐습니다. 특히 Grafana는 원래 업무에서 쓰고 있던 거라 강의 내용을 바로 적용해볼 수 있어서 좋았고, Claude도 그동안 대충 쓰고 있었는데 활용 방법을 제대로 알게 되니까 업무할 때 확실히 달라졌습니다.생활 패턴이 바뀐 게 제일 큽니다. 새벽에 일어나려면 밤에 일찍 자야 되니까 자연스럽게 11시 전에 눕게 됐고, 출근 전에 이미 공부를 했다는 게 은근히 뿌듯해서 하루가 좀 다르게 느껴졌습니다.다른 분들이 미션 제출하는 거 보면서 자극받은 것도 컸습니다. 혼자였으면 중간에 분명 빠졌을 텐데, 다들 하고 있으니까 나도 해야지 하는 마음이 생기더라고요. 3주가 짧기도 하고 긴건 같기도 했습니다. 활동적인 챌린지는 조금 부담스럽웠습니다. 그래서. 지금도 4월 챌린지에 도전하고 있습니다.

이벤트작심삼일

"AI 역량"은 대체 뭘 말하는 걸까? ①

AI시대에 들어서면서 뉴스나 유튜브와 같은 매체들을 보면 늘 나오는 이야기가 있다. "AI 역량은 이제 선택이 아닌, 살아남기 위한 필수불가결한 조건"이 바로 그것이다. 이제 AI는 기술 전문가의 영역이 아니게 되었고, 그 덕분에 이제는 AI가 기업에서 그저 생산성을 높이기 위한 도구로 취급되는 것을 넘어 사람을 대체할 수 있는 수단으로까지 여겨지고 있다. 실제로 AI로 인력을 감축했다거나, AI로 인해 취업이 어려워졌다는 뉘앙스의 뉴스는 흔하지 않게 찾아볼 수 있다. 기업과 다양한 분야의 전문가들은 AI시대에 살아남기 위해서는 AI 역량이 필요하다고 약속이라고 한 것처럼 한 목소리로 이야기한다. 나는 여기서 한 가지 의문이 들었다. 도대체 "AI 역량"이라는 것은 무엇을 말하는 것이며, 그 역량에는 어떠한 능력이 포함되는가? 한 가지 분명한 것은 AI 역량은 그저 "도구를 잘 쓰는 것" 그 이상의 역량이라는 것이다. 많은 사람들이 "도구를 잘 쓰는 것"에만 집중하는 경향이 있는데, 이는 AI 역량의 일부로써 도움은 되지만 큰 비중을 차지하지는 않는다는 점을 먼저 확실하게 짚고 넘어가고 싶다. 결론을 먼저 이야기하자면, "AI 역량"의 기초는 ①AI가 할 수 있는 것들이 무엇인지 그 능력을 이해하고, 그중에서도 업무 절차에서 활용할 수 있을만한 능력이 무엇인지 생각을 확장하여 ②AI를 시스템의 일부로써 위임할 수 있는 영역, 사람과 AI과 협업할 수 있는 영역, 사람이 직접 개입해야 하는 영역이 어디인지를 확정 짓는 능력이라고 볼 수 있다. 이제부터 하나씩 차근차근 알아보도록 하자. ① "AI의 능력"을 이해하는 것이 가장 먼저다. AI가 할 수 있는 일들을 전혀 모르면 내가 가지고 있는 문제를 AI로 어떻게 풀어나갈 수 있는지 생각이 막히게 되므로 가장 먼저 요구되는 내용이다. 다만, 이를 이해하기 위해서는 AI 모델에 대한 이해가 필요하다고 생각될 수도 있는데, 그건 AI 엔지니어의 관점이지 우리가 실제로 갖추어야 하는 실무적인 관점에서의 AI 역량과는 거리가 멀다. AI가 할 수 있는 일들에 대해 이해하면 그 능력을 토대로 업무에서 어떤 식으로 활용할 수 있는지 자연스럽게 생각이 열리게 된다. 간단한 예를 들어보자. 먼저, AI는 글을 쓸 수 있는 능력이 있다. 글이라고 하는 것은 다양한 형태가 있기 때문에 이에 대한 생각의 연장선으로써 "마케팅 카피 작성하기", "업무 이메일 작성하기"와 같이 실무에서 사용할 수 있겠다는 것까지 도달하는 것은 전혀 어렵지 않다. 이를테면 나는 소프트웨어 개발자이자 AI 스타트업을 준비하고 있는데, 이를 위해 "사업계획서 초안 작성"을 맡길 수 있으며, 소프트웨어 개발자로서 "소프트웨어 기획서 초안 작성"과 같은 식으로 활용하기도 한다. 조금 더 사례를 살펴보자. AI는 글을 쓰는 것뿐만 아니라 "이해"를 할 수 있는 능력이 있다. 정확히는 "이해하는 것처럼 보이는" 능력이다. 여기서 "이해"라고 하는 것은 현상이나 글을 접했을 때 맥락을 이해하고 요약, 개선안 도출, 이를 토대로 다른 절차를 수행하거나 결론을 낼 수 있는 능력을 말한다. 이를 바탕으로 실무에서는 "회의록 요약", "제품 기획서 요약 및 개선안 도출" 등으로 활용할 수 있다. 이처럼 AI의 능력을 이해하면, 실무에서 적용할 수 있는 일들이 무엇이 있을지 자연스럽게 생각이 확장될 수 있다는 것에 주목할 필요가 있다. ② AI 중심으로 파이프라인을 재설계하면 노동집약적인 과정을 드라마틱하게 줄이는 것이 가능하다. 마지막으로 이 글에서 논의하고자 하는 능력은, AI를 현행 시스템의 일부로 도입하여 AI 중심으로 파이프라인을 재구성하거나 설계하는 것이다. 이를 위해서는 "AI에게 위임할 수 있는 영역은 어디인가?"를 명확하게 확정 지을 수 있어야 한다. 이는 실제로 AI를 업무에 도입했을 때, 성과에도 영향을 미치는 중요한 사안이다. 남들이 AI를 도입한다고 해서 무조건적으로 AI를 도입하려고 하는 것은 오히려 생산성이 떨어지거나 비용만 증가하는 악효과를 불러올 수 있기 때문에, AI를 도입하기에 앞서 현재 수행 중인 업무 절차를 바탕으로 AI를 도입할 수 있는 영역이 어느 부분인지 정리하는 것은 아주 중요하다고 볼 수 있다. 이를 위해 내가 현재 마주하고 있는 문제나 수행하고 있는 업무를 직접 글로 작성하여 해당 글을 바탕으로 이 과정에서 "AI에게 위임할 수 있는 부분이 어디인가?"를 심층적으로 논의해 볼 수 있다. 단, 이는 "현재 당신이 수행하는 업무 절차에 대해 명확하게 이해하고 있으며 글로 정리할 수 있는 상태"를 가정으로 한다는 점에 유의할 필요가 있는데, 이는 곧 특정 분야의 도메인 전문가가 비전문가보다 AI를 더 잘 활용하는 것이 가능하다는 것을 의미한다. 간단한 예를 들어서, 뉴스 기사를 작성하기 위해 기본적으로 [후보 주제 수집 → 주제 선정 → 자료 수집 → 초안 작성 → 수정 및 개선 → 최종 검토 → 공개]라는 파이프라인을 거친다고 가정해 본다면, AI에게 위임이 가능한 부분과 사람과 AI가 협업하는 부분, 사람이 직접 결정해야 하는 부분은 어디일까? 먼저 "후보 주제 수집"은 AI가 할 수 있다. "웹 검색" 기능이 있는 AI라면 "인터넷에 접속할 수 있는 능력"이 있기 때문에 웹을 돌아다니며 현재 주요 현안이 어떠한 것들이 있는지 빠르게 파악하여 사용자에게 보고할 수 있다. 그다음 "주제 선정"은 사람이 한다. 주제를 선정하기 위해 AI와 논의를 나눌 수는 있지만 이는 글의 실제 내용에 영향을 미치는 것인 만큼 사람이 결정하는 것이 적절하다. 통계 및 사례, 대량의 "자료 수집"은 AI에게 맡길 수 있다. 특히나 자료 수집 같은 경우에는 노동집약적이기 때문에 AI에게 맡기는 것이 더 적절하다. 예를 들어 이 글의 초입부에 있는 "실제로 AI로 인력을 감축했다거나, AI로 인해 취업이 어려워졌다는 뉘앙스의 뉴스"는 AI에게 가져오도록 할 수 있다. AI는 글을 쓸 수 있으므로 "초안 작성"도 AI에게 지시할 수 있다. 다만 이 경우에는 문체, 강조하고자 하는 키워드, 글의 구성 방식 등을 지정하는 것이 바람직하다. 이는 "프롬프트 엔지니어링"과 직결되는 내용이므로 생략한다. "수정 및 개선"은 사람과 AI가 함께 협업한다. AI가 작성한 초안을 바탕으로 마음에 안 드는 부분과 개선사항을 논의하여 글을 다듬는다. "최종 검토"는 사람이 "해야만" 한다. 만약 AI에게 완전하게 의존하여 검토를 사람이 하지 않고 외부로 공개한다면, 이로 인해 발생할 수 있는 모든 책임에 대해서는 사람이 진다는 것을 반드시 명심할 필요가 있다. 마지막으로 "공개"는 AI가 하도록 할 수 있다. 사람이 글에 대해 최종 승인을 내리면 AI는 "외부 서비스와 연동할 수 있는 능력"이 있기 때문에 글을 플랫폼에 게시하는 것이 가능하다. 이처럼 AI에게 위임할 수 있는 영역과 사람이 판단해야 하는 영역을 명확하게 구분하고 파이프라인을 재구성하면 결론적으로는 생산성이 향상되고 비용도 크게 감소하게 된다. 결국 AI 역량이란, 단순하게 AI를 사용하는 능력이 아니라, “AI의 능력을 이해하고, 문제에 맞게 배치하며, 그 결과를 인간이 통제하는 능력”이다. 여기까지가 <"AI 역량"은 대체 뭘 말하는 걸까?>에 대한 첫 논의이며, AI 역량에 대해서는 아직 이야기하지 않은 것들도 있기 때문에 다음 글에서는 아직 이야기하지 않는 역량들에 대해 논의하게 될 것이다.

AI 실무 활용AIAI-역량

임동근

비전공 독학 개발자의 40일 도전 — 직접 만든 CS 학습 플랫폼 CodeMaster 공개

🚀 안녕하세요, 비전공 독학 개발자입니다CS 전 분야를 40일 안에 정복하겠다고 선언합니다.그리고 그 무기는 제가 직접 만든 플랫폼, CodeMaster입니다.📚 CodeMaster가 뭔가요?codemaster40.com — 직접 설계하고 직접 구현한 CS 학습 플랫폼입니다.✅975개 이상의 학습 콘텐츠✅16개 CS 카테고리 — Java, Spring, Python, 알고리즘, OS, DB, 네트워크, 클린코드, 보안, DevOps, 개발도구, 협업&Git, HTML/CSS, JavaScript, React, AI 활용✅ AI 학습 도우미 챗봇✅ AI 코드 리뷰어 (Monaco Editor 탑재)✅ AI 모의 면접 시뮬레이터 (레이더 차트 분석)✅ TensorFlow.js 이미지 분류기✅ YOLO 기반 번호판 인식 데모✅ Pyodide 기반 데이터 분석 플레이그라운드 (브라우저에서 Python 실행!)남이 만든 플랫폼으로 공부하는 게 아니라, 직접 만든 플랫폼으로 직접 공부합니다.🗺 홈 화면 — 16개 카테고리 한눈에아래는 실제 CodeMaster 메인 화면입니다. 총 975개 콘텐츠, 16개 카테고리로 구성되어 있습니다.📅 40일 로드맵 — D1부터 D40까지하루 평균 19개 콘텐츠, 총 1016개 콘텐츠로 구성된 체계적인 40일 로드맵입니다.D1 — Java 입문 & 기초 문법 (6시간)D2 — Java 객체지향 OOP (8시간)D3 — Java 핵심문법 & 컬렉션 (7시간)D4 — Java 함수형 & 스트림 (6시간)D5 — Java 멀티스레딩 (5시간)D6 — Java JVM & GC (5시간)D7 — Java 디자인패턴 & 테스트 (6시간)... D40까지 계속됩니다 🔥매일 이 로드맵을 따라가며 학습 기록을 블로그에 남깁니다.🔬 데이터 분석 플레이그라운드Pyodide(WebAssembly 기반 Python 런타임)를 사용해서 서버 없이 브라우저에서 바로 pandas, numpy, matplotlib를 실행합니다.백엔드 서버 비용 0원. 브라우저만 있으면 됩니다.🛠 기술 스택프론트엔드 — Next.js 14 App Router, TypeScript, Tailwind CSS데이터 분석 — Pyodide (WebAssembly Python)인증 — Google OAuth, Kakao OAuth (PKCE)DB — Supabase PostgreSQL (RLS 적용)AI — Claude API, TensorFlow.js, YOLO11배포 — Vultr VPS, Nginx, PM2, Cloudflare DNS📆 40일 계획하루 평균 3~4개 카테고리씩 정복합니다.매일 학습 기록을 이 블로그에 남깁니다.40일 후에는 CS 전 분야를 커버한 상태로 면접장에 들어갑니다.✍ 마무리"직접 만든 플랫폼으로 직접 공부한다."이것이 제가 생각하는 진짜 개발자의 학습법입니다.👉 플랫폼 구경하러 가기: https://codemaster40.com

CodeMaster독학개발자CS학습포트폴리오PythonNextJSAI

최동준

스팸 메일과 섞인 뉴스레터, 이제 그만 독립시켜 주세요!

안녕하세요. 다들 긱뉴스(GeekNews)나 요즘 IT와 같은 직무 관련, 개발 관련 뉴스레터 몇 개씩은 구독하고 계실 텐데요. 혹시 메일함에 차곡차곡 쌓아두기만 하고 막상 잘 안 읽게 되지 않으신가요?저도 성장을 위해 여러 뉴스레터를 구독했지만, 쇼핑몰 주문 완료 메일이나, 스팸/광고 메일과 뒤섞이다 보니 결국 나중에 한 번에 지워버리는 일이 반복되더라구요! 이런 불편함을 해결하려고 뉴스레터 메일만 따로 분리해 읽기 편하게 만들어주면서 읽을 동기 부여도 주는 리딩 플랫폼, 봄봄을 만들게 되었습니다. 평소 저와 비슷한 아쉬움을 느끼셨던 분들께 도움이 될거 같습니다! 이메일함과 분리된 '투데이' 페이지복잡한 메일함에 들어갈 필요 없이, 내가 구독한 뉴스레터의 새 아티클들만 피드 형태로 모아볼 수 있습니다. 하루에 한 번 '투데이' 탭만 가볍게 훑어봐도 그날의 트렌드를 놓치지 않고 확인할 수 있습니다. 텍스트 본연에 집중할 수 있는 뷰어글을 읽을 때 방해가 되는 시각적 요소들을 최소화해 텍스트 몰입도를 높였습니다. 나중에 실무에 참고하고 싶은 인사이트는 북마크해 둘 수 있고, 하이라이트를 치거나 메모를 남기며 나만의 지식을 차곡차곡 기록할 수 있습니다.습관 형성을 돕는 동기 부여 요소뉴스레터를 꾸준히 읽도록 돕기 위해 함께 읽고 코멘트를 공유하는 '읽기 챌린지'를 운영하고 있습니다. (실제 참여자분들의 만족도가 아주 높으니 꼭 한번 참여해 보시기를 추천해 드립니다.)또한, ‘이달의 독서왕’이라는 랭킹을 통해 다른 유저들과 건강한 자극을 주고받으며 습관 형성을 이어갈 수 있습니다. 연속 읽기 기록(Streak)을 쌓고, 성취도에 따라 귀여운 '봄이' 캐릭터가 조금씩 성장하는 과정을 보는 소소한 재미도 챙겼습니다.웹은 물론 안드로이드, iOS 앱으로도 이용하실 수 있습니다. 모바일에서 이용하실 경우 아티클 도착 알림을 통해 더욱 잊지 않고 보실 수 있게 도와드리고 있습니다!평소에 유익한 뉴스레터들을 더 잘 챙겨 보고 싶으셨거나, 인박스 관리가 번거로우셨던 분들이라면 가볍게 한번 써보시면 좋을 것 같습니다.👉 봄봄 한번 둘러보기👉봄봄 앱스토어 바로가기👉 봄봄 플레이스토어 바로가기사용해 보시고 주시는 다양한 피드백과 의견은 언제나 환영입니다. 긴 글 읽어주셔서 감사합니다!

뉴스레터챌린지봄봄뉴닉데일리바이트뉴스트렌드IT

ds3400

[일본IT취업연계] 풀스택 개발 과정 모집! 정보처리산업기사 취득

[정보처리산업기사] 자바(JAVA) 기반 풀스택 개발자 과정 모집개발자 취업을 준비하는 분들을 위한자격증 + 실무 + 취업 연계형 국비지원 과정 안내드립니다. [과정 개요]과정명 : 정보처리산업기사 취득 자바 기반 풀스택 개발 과정개강일 : 2026년 6월 09일교육기간 : 2026.06.09 ~ 2026.11.20교육시간 : 09:10 ~ 17:50 (주간)교육장소 : 부산진구 중앙대로 668, 에이원프라자 6층 [과정 특징]정보처리산업기사 취득 가능과정평가형 자격 취득 과정학력·전공 무관 지원 가능교육 이수 + 평가를 통한 자격증 취득 2.자바 기반 풀스택 개발 교육JAVA 프로그래밍 기초 및 심화웹 개발 (프론트엔드 + 백엔드)데이터베이스 설계 및 활용실무 프로젝트 및 포트폴리오 제작 3.취업 연계 지원국내 IT기업 취업 지원일본 IT기업 취업 연계 가능협약기업 연계 및 취업 컨설팅 제공 [교육 혜택]국민내일배움카드 적용 과정매월 훈련장려금 지급 (약 20~80만원)취업 지원 및 컨설팅 제공 [지원 대상]IT 개발자 취업을 목표로 하는 분비전공자이지만 개발을 배우고 싶은 분자격증 취득과 실무 역량을 함께 준비하고 싶은 분국내 및 일본 취업을 고려 중인 분 [문의 및 접수]교육기관 : 동성인재개발교육원문의전화 : 051-933-3400홈페이지 : https://www.dshrd.or.kr/course_a.html?eduPart=1해당 과정은 정원 마감 시 조기 종료될 수 있으니관심 있는 분들은 빠르게 문의해보시길 바랍니다

풀스택일본취업일본취업연계일본취업비자일본IT취업IT학원자바학원부산자바학원부산IT학원동성인재개발교육원부산개발자학원

ds3400

[부산국비IT학원] 일본IT취업연계! 정보처리산업기사 취득 자바 개발과정

일본 IT 취업에 필수인 정보처리산업기사,학력·경력 제한 없이 과정평가형 자격으로취득 가능한 풀스택 개발자 과정 본 과정은 일본 IT 기업 취업을 목표로하는 국비지원과정으로,JAVA 기반 풀스택 개발 역량과 함께정보처리산업기사 자격증을 ‘과정평가형’으로취득할 수 있는 과정입니다. 일반적으로 정보처리산업기사는관련학과 2년제 이상 졸업 요건이 필요하지만,동성인재개발교육원에서 진행하는 본 과정을 이수하면 ✔ 학력·전공·경력 무관✔과정평가형 자격 취득 가능✔ 기존 검정형 대비 높은 자격 취득률이라는 큰 장점이 있습니다. 일본 IT 취업과 정보처리산업기사일본 IT 취업 시 정보처리산업기사 보유자 선호비자 발급 및 채용 과정에서 전문성 증빙 자격JAVA 기반 개발 역량 + 국가기술자격 = 취업 경쟁력 강화본 과정은 자격 + 실무 + 취업 방향성을 함께 준비합니다. <훈련 대상>일본 IT 취업을 목표로 하는 분정보처리산업기사 자격 취득이 필요한 분학력·전공 제한 없이 자격증을 취득하고 싶은 분JAVA 기반 개발자로 커리어를 시작하고 싶은 분※ 국민내일배움카드 발급 대상자 <수료 후 진출 분야>일본 IT 기업 개발자JAVA / 웹 / 풀스택 개발자IT 서비스·솔루션 개발 직무 교육 장소동성인재개발교육원부산광역시 부산진구 중앙대로 668, 에이원프라자 6층서면역 인근 문의 및 접수☎ 051-933-3400https://www.dshrd.or.kr/course_a.html?eduPart=1방문 상담 가능 (사전 문의 권장)

풀스택부산IT학원부산자바학원부산리액트학원동성인재개발교육원부산일본취업학원일본IT취업일본취업비자

하늘소녀

Do it! HTML + CSS 웹 표준의 정석 - 겨울 방학 맞이 기초 언어 스터디(6)

#지난주에 이어서...CSS로 화면을 설계하고,자바스크립트로 동작을 붙였다면,6주차는 드디어 웹 문서를 ‘직접 조작하는 단계’로 들어섰다. # 자바스크립트와 객체자바스크립트가 왜 객체 기반 언어인지 이해하는 장이다.객체의 개념자바스크립트의 내장 객체브라우저와 관련된 객체* 이제 코드가 단순한 명령어 모음이 아니라속성과 기능을 묶은 구조(객체)로 보이기 시작했다.웹 브라우저 자체도 하나의 거대한 객체 시스템이라는 점이 인상적이었다.# 문서 객체 모델(DOM) 다루기드디어 DOM 등장.문서 객체 모델 이해하기DOM 요소 접근하기내용 수정하기이벤트 처리하기노드 추가·삭제class 속성 추가·제거* 여기서부터 진짜 “웹을 조작한다”는 느낌이 들었다.HTML은 구조,CSS는 디자인,JavaScript는 동작이라고 배웠지만DOM을 배우고 나니이 세 가지가 완전히 연결되는 지점이 보였다.버튼을 클릭하면특정 요소를 찾아내용을 바꾸고클래스를 추가해 스타일을 변경하는 흐름이제야 비로소“프론트엔드의 기본 구조”가 머릿속에서 연결됐다.# 6주차를 마치며 – 완주!처음엔 단순히“HTML부터 다시 정리해보자”는 마음으로 시작한 스터디였는데,6주를 마치고 보니 웹이 어떻게 만들어지고, 어떻게 동작하는지 한 사이클을 다 돌았다는 느낌이다.6주후 내가 얻은 것웹의 구조 이해 (HTML)화면 설계 능력 (CSS)로직과 상호작용 (JavaScript)문서 조작 능력 (DOM)이제는 단순히 코드를 따라 치는 게 아니라“왜 이렇게 동작하는지”를 설명할 수 있는 단계까지 온 것 같다.정말 긴 여정이었지만, 매주 기록을 남기며 공부한 덕분에 흐름이 훨씬 또렷하게 정리됐다.

웹 퍼블리싱HTMLCSSjavascript웹표준스터디DOIT

Go Hard

🚀 인위적인 번들거림을 제거한 고충실도(High-fidelity) AI 업스케일러 공개

 기존 AI 화질 개선 툴들이 보여주는 특유의 부자연스러운 매끄러움(Plastic look)에 아쉬움을 느껴 직접 제작한 GoHard AI Upscaler를 소개합니다. 단순히 해상도를 키우는 것을 넘어, 원본이 가진 고유의 질감을 보존하는 데 집중했습니다.✨ 핵심 가치 (Core Values)High-fidelity AI Upscaling: 공격적인 노이즈 제거 대신, 실제 사진과 같은 자연스러운 입자감과 구조적 디테일을 복원합니다.Clean and Intuitive UI: 복잡한 설정 없이 작업에만 집중할 수 있도록 직관적이고 깔끔한 인터페이스를 갖췄습니다.Safe & Private Environment: 사용자의 데이터는 외부 서버로 전송되지 않습니다. 로컬 환경 또는 안전하게 격리된 Google Colab에서만 처리됩니다.💻 핵심 로직 (Python 기반)IT 커뮤니티(OKKY, 벨로그 등)의 성격에 맞춰 기술적 원리를 엿볼 수 있는 핵심 코드 일부를 공유합니다.# 고충실도 텍스트 보존 엔진 예시 from gohard_engine import FidelityModel from tracker_web import log_app_usage def process_high_res(image_path): # 인위적인 스무딩을 억제하고 디테일을 재구성 upscaler = FidelityModel(mode="texture_priority") log_app_usage("upscaler_v1", "high_res_task") return upscaler.run(image_path)🚨 치명적인 단점과 기술적 한계이 프로그램은 완벽하지 않습니다. 고충실도(High-fidelity) 구현을 위해 구조적으로 감수해야 했던 치명적인 단점 한 가지가 존재합니다. 이 기술적 병목 현상이 발생하는 구체적인 이유와 제작 과정에서의 비하인드는 아래 영상에 솔직하게 담았습니다.(배포된 실행 파일은 철저한 검증을 거쳤으므로 안심하고 사용하셔도 됩니다.)치명적인 이유 확인 (유튜브): https://youtu.be/vXHdwpibqEo개발자 양심 가이드: 이 프로그램이 도움이 되었다면, ‘체리피커’가 되기보다 개발자의 양심을 담아 GitHub Star 하나만 부탁드립니다! ⭐

AI 코딩AIPYTHONopensource파이썬GoogleColabPhotography

moldcam

[취업연계 무료교육] 서울시 매력일자리사업 AI·SW 보안 테스트 엔지니어 취업 연계과정

 안녕하세요, 여러분! 서울특별시 동부여성발전센터에서[서울시 민간기업 맞춤형 매력일자리 사업]AI·SW 보안 테스트 엔지니어 취업 연계과정 교육생을 모집중입니다. 서울시에서 지원하는 ‘매력일자리 사업’을 통해👉무료 직무교육 + 인턴십 + 취업 연계까지 한 번에 지원받을 수 있는 과정으로,IT 기업으로의 취업을 준비하고 계신 분들이라면 실무 경험과 취업 기회를 동시에 잡을 수 있는 좋은 기회입니다.  ✅ 매력일자리 사업이란?서울시가 운영하는 대표 일자리 지원 프로그램으로,👉직무교육 + 실무 경험 + 민간 취업 연계를 동시에 지원하는 사업입니다.단순 교육이 아니라👉실제 취업까지 이어지는 구조가 가장 큰 특징입니다. 특히 본 과정은 최근 중요성이 높아지고 있는AI 및 SW 보안·테스트 분야를 중심으로 구성되어 있어비전공자도 기초부터 차근차근 학습하며실무에 바로 투입 가능한 역량을 쌓을 수 있습니다. IT 기업으로의 취업을 준비하면서“무엇을 준비해야 할지 막막했던 분들”,“실무 경험이 부족해 고민이었던 분들”께특히 도움이 되는 과정이니 많은 관심과 참여 부탁드립니다 😊  🎯 모집 대상서울시 거주자만 18세 ~ 39세 미취업 청년 25명👉대학 또는 대학원에 재직 중인 자는 사업 참여에 배제됩니다IT / 디지털 분야 취업을 희망하는 분👉 “전공자 아니어도 가능” 📅 모집 개요1⃣ 접수 기간 : 26년 3월 17일(화) ~ 4월 17일(금) 18:00까지2⃣ 면접일 : 26년 4월 24일(금)*서류심사 후 개별 안내 예정이며, 추후 일정은 변동 될 수 있습니다3⃣ 교육 기간 : 26년 5월 시작 예정*상기 일정은 추후 변동될 수 있으며, 변경 시 별도 안내 예정4⃣ 교육 장소 : 서울특별시 동부여성발전센터(2호선 건대입구역 도보 5분)📚 교육 내용 (실무 중심)이번 과정은 이론 위주가 아니라👉현장에서 바로 쓰는 실무 교육 중심으로 진행됩니다. 👉 주요 교육 내용SW 보안 테스팅 기초보안 테스트 프로세스애플리케이션 구조 이해공격 기법 및 취약점 분석테스트 전략 및 시나리오 설계 등💼 교육 이후 (핵심 포인트🔥)교육만 하고 끝나는 게 아닙니다.👉 교육 수료 후✔ 기업 인턴십 연계✔ 실제 현장 근무 경험✔ 취업까지 이어질 수 있는 기회 제공실제로 매력일자리 사업은👉인턴 → 정규직 전환까지 연결되는 구조로 운영됩니다.💰 참여 혜택✔ 교육비 및 자격증 취득비 전액 지원✔ 교육 참여 수당 지급(80% 이상 출석 시)✔ 인턴십 3개월 인건비 지원✔ 취업 연계 제공👉 “돈 내고 배우는 교육 ❌”👉지원 받으면서 취업 준비하는 과정🚀 이런 분들께 특히 추천IT 취업 방향을 아직 못 잡은 분실무 경험이 부족한 취준생국비교육만으로 부족하다고 느낀 분“교육 + 취업”을 한 번에 해결하고 싶은 분❗ 왜 지금 지원해야 할까?서울시 지원 프로그램이라 신뢰도 높음경쟁률 높은 인기 사업 (조기 마감 가능)AI·디지털 직무 확대 중 (미래 유망 분야)👉 실제로 매력일자리는AI 등 신기술 직무까지 확대되며 취업 연계 기능이 강화되고 있습니다.📩 지원 방법👉 아래 링크에서 상세 확인 및 신청교육 프로그램 신청 | 동부여성발전센터 주의동부여성발전센터 홈페이지에서 수강신청(가접수) 후필히 신청서류를 모두 작성하여 edujob@swtesting.or.kr 로 발송하셔야 합니다. 

무료교육취업지원취업준비취업연계국비교육국비지원AI교육IT교육보안교육매력일자리

ICT TMD

[무료교육] AI 모델링 실무(AICE) 교육생 모집

🌴 제주도민을 위한 특별한 기회!비전공자도 가능한 AI 데이터 분석 자격증AI 기초부터 데이터 분석까지, AICE 자격증 취득을 위한 실전 중심 교육! “AI 자격증, 어떻게 준비해야 할지 모르겠어요.”“비전공자인데도 가능할까요?”“혼자 공부하다가 포기한 경험이 있어요.”👉 이런 고민이 있다면 이번 교육이 기회입니다! 🗓 교육 일정- 기간 : 2026.05.06(수)~26.06.08(월)- 시간 : 월,수,금 14:00 ~ 18:00( ※ 공휴일이 있는 날은 화요일로 수업 대체)💻 교육 방식- 온라인 실시간 교육 (ZOOM) 👥 교육 대상- 만 17세 이상 제주도 거주자 누구나 📚 교육 내용- AI 기초 및 데이터 분석 개념 이해- Python 기반 데이터 분석 실습- AICE 자격증 필기 및 실기 대비- 기출문제 풀이 및 실전 대비 🎁 교육생 혜택✔ 수강료 100% 무료 (국비지원)✔ 응시료 100% 환급✔ 학습 콘텐츠 제공 (PDF 교재 + 온라인 영상)✔ 출석 이벤트 (상품권 증정)✔ 합격 축하금 지급  📌 신청 기간4/8(수) ~ 4/19(일)※ 조기 마감이 될 수 있으며, 선발 과정을 통해 선발 예정입니다.(교육일정 전체 참석 가능자, 교육신청서 상세 기입여부, 제주특화분야 교육 활용 등) 🧡🧡🧡신청링크 : https://forms.gle/a75RryuKMCK7zz9LA ☎ 문의 (제주 ICT이노베이션)☎ 064-904-1443카카오채널) http://pf.kakao.com/_kxexkvb

AI 크리에이티브AI무료교육AI교육AICEAI자격증데이터분석제주교육AI기초국가공인자격증온라인교육

위랩스페이스

[풀스택_인프라] LG CNS AM Inspire Camp 5기 모집

 고용노동부 K-Digital Training 과정LG CNS AM Inspire Camp 5기 모집 중 LG CNS 현직자와 함께하는 실전 프로젝트 과정.과정 설계부터 멘토링, 결과물 완성까지 직접 경험합니다.LG CNS AM 5기에서 실력으로 증명하는 엔지니어로 성장하세요. 차별화된 취업 스펙 쌓으러 가기 ▶ [ Click! ]   LG CNS AM만의 특별한 교육 혜택 📌 혜택01 | LG CNS 공식 수료증- 교육 과정을 완주한 수료생에게 LG CNS 공식 수료증을 수여 📌 혜택02 | LG CNS 채용 가산점 부여- LG CNS 및 자회사 지원 시 우수 수료생 한정 취업 가산점 부여 기회 제공 📌 혜택03 | 훈련장려금 지급- 훈련장려금 총 180만원 이상(월 최대 30만 원) 지급 📌 혜택04 | LG CNS 전문가 멘토링- LG CNS 현업 전문가와 함께하는 실무 프로젝트 멘토링 📌 혜택05 | 취업지원 / 맞춤형 프로그램 지원- 성공적인 취업을 위한 전문가의 채용 특강 및 이력서, 고퀄리티 포트폴리오 컨설팅 진행 📌 혜택06 | 교육용 장비 및 서비스 제공- LG 교육용 노트북 대여 및 클라우드 (AWS) + 메타버스 + AI 서비스 이용료 지원 📌 혜택07 | 차별화된 맞춤 교육 진행- 전공/비전공자 개별 지도- 개인별 강점 기반 포트폴리오 지원   LG CNS AM 과정을 수료하면 이렇게 성장해요! ✨프론트엔드 엔지니어“완성도 높은 인터페이스로 서비스의 첫 인상을 완성해요.”사용자 경험을 고려한 화면(UX/UI)을 설계하고, 반응형 웹 기반으로 구현합니다. ✨백엔드 엔지니어“안정적이고 확장 가능한 데이터 흐름을 설계해요.”서비스 로직을 설계하고, 데이터 처리 및 API 서버를 구축합니다. ✨클라우드 엔지니어“확장성과 안정성을 갖춘 클라우드 환경을 구성해요.”인프라 환경에서 서비스를 설계·배포·운영합니다. ✨데브옵스 엔지니어“개발과 운영을 자동화해 안정적인 서비스를 제공합니다.”CI/CD 파이프라인을 구축하고, 효율적인 배포와 운영 환경을 구현합니다.   LG CNS AM 5기, 지금 모집 중이에요! ✅ 기간 및 일정· 모집 마감 : ~ 05.05(화) 23:59※ 우선 선발 기회 제공(선착순)· 교육 기간 : 26.05.15 (금) ~ 26.11.13 (금) ✅ 수업 방식/장소· 온라인 : 메타버스 강의장· 오프라인 : 동국대 서울캠퍼스 ✅ 모집 대상· 국내외 대학(원) 졸업(예정)자· 내일배움카드 발급 가능자 ✅ 접수 방법[랜딩페이지 접속] → [우측 상단 '지금 지원하기' 클릭] → 지원서 작성/제출 ✅ 수강료· 교육비 자부담금 50만원 (*정책 변경으로 인한 자부담금 발생) ✅ 교육 문의· 카카오톡 1:1 문의하기 : https://pf.kakao.com/_wbxkln

kdt국비교육프로젝트부트캠프엔지니어취업lgcns풀스택개발it

채널톡 아이콘