Developer 607

엔클라우드24(ncloud24) 클라우드 서비스 분석

시장 포지션: 엔클라우드24(㈜웰데이타시스템)는 2011년 국내 최초 MSP(Managed Service Provider)로 시작하여 15년 이상 운영된 국내 최장수 클라우드 전문 기업이다. AWS, KT클라우드, 네이버클라우드, Azure, Zenlayer 등 주요 퍼블릭 클라우드를 모두 취급하는 멀티클라우드 MSP로서, KT·NHN·네이버 등 통신·포털 계열 CSP와 경쟁한다. 삼성SDS·KT클라우드·NHN클라우드 같은 대기업 계열 클라우드 사업자 및 메가존·베스핀글로벌 같은 대형 MSP와 비교할 때, 엔클라우드24는 고객맞춤형 멀티클라우드와 24×365 기술지원 체계를 앞세워 안정성과 비용 효율을 강조한다. 특히 국내외 게임사와 스타트업, 중소기업을 주요 고객으로 삼고, 클라우드 도입 컨설팅과 운영..

국내 vs 해외 IaaS 클라우드 인프라 시장 분석

1. 국내 vs 해외 IaaS 서비스 비교 (기술, 아키텍처, 가격, 공공 대응)1.1 기술 성숙도 및 인프라 아키텍처 비교해외 글로벌 사업자: AWS, Microsoft Azure, Google Cloud 등 글로벌 하이퍼스케일러들은 수년간 막대한 투자를 통해 최고 수준의 기술 성숙도를 이뤄왔습니다. IaaS 분야를 개척한 AWS는 다양한 인스턴스 유형, 컨테이너/서버리스, AI/ML 플랫폼 등 가장 폭넓은 서비스 포트폴리오를 제공하며 2024년 현재 전 세계 IaaS 시장에서 약 37.7%의 점유율로 1위를 차지하고 있습니다. Azure 역시 엔터프라이즈 솔루션과의 연계 강점을 바탕으로 23.9%의 점유율로 2위이며, Google Cloud는 데이터 분석 및 AI 역량을 앞세워 9.0%로 3위권을 형..

한국수목원정원관리원(KOAGI) 웹사이트 및 IT 시스템

1. 웹사이트 및 교육예약 시스템 개발/운영 이력설립 및 초기 구축: 한국수목원정원관리원(한수정)은 2017년 5월 설립되었으며, 이듬해 국립백두대간수목원(2018년)과 2020년 국립세종수목원을 개원하면서 기관 대표 웹사이트(koagi.or.kr)를 개설하여 대국민 서비스를 제공하기 시작했습니다. 초기 홈페이지는 수목원·정원 정보 제공, 공지사항/채용/보도자료 게시 등 기본 기능을 갖추었으며, 기관 설립 당시 외부 SI 업체에 위탁하여 구축된 것으로 보입니다 (※초기 구축 SI 업체는 공개 자료에서 확인되지 않음). 2021년 4월 법인 명칭이 “한국수목원관리원”에서 **“한국수목원정원관리원”**으로 변경되었고, 이에 따라 홈페이지도 명칭 변경에 맞춰 개편되었습니다.교육예약 시스템: 한수정은 산하 수목..

KITECH 구매 시스템 및 ERP 운영 개요

구매 시스템 기술 스택 및 구현한국생산기술연구원(KITECH)은 2010년대 중반 전용 전자구매 시스템을 도입하였으며, 현대적인 웹 기반 아키텍처로 구축되었습니다. 프런트엔드는 웹 접근성과 크로스 브라우저 지원에 강점이 있는 AJAX 기반 RIA 프레임워크인 WebSquare를 사용하고 있습니다. 백엔드는 Java EE 플랫폼을 기반으로 개발되었으며, 초기(2010년경)에는 WebSquare와 함께 자체 Java 프레임워크인 ProWorks가 사용되었습니다.이후 정부 IT 표준에 맞추어 전자정부 프레임워크(eGovFrame) 로 전환되었고, 특히 KITECH의 구매 시스템은 Java 8 + eGovFrame 3.8 환경에서 운영되는 것으로 알려져 있습니다. 이는 공공기관 개발 가이드라인을 준수하고 타 전..

Any-ID 통합인증 솔루션

1. Any-ID SSO 솔루션의 주요 장점과 단점장점 (기술 특성과 도입 이점):사용자 편의성 향상: 한 번의 인증으로 여러 정부 웹사이트를 이용할 수 있어 로그인 절차의 반복을 제거합니다. 예를 들어 정부24에 로그인한 후 복지로 등 다른 사이트로 이동해도 추가 로그인 없이 서비스를 이용할 수 있습니다. 이는 다양한 기관 사이트마다 각각 로그인해야 했던 불편함을 해소합니다.다양한 인증 수단 지원: Any-ID는 모바일 신분증, 간편인증(민간 인증서), 공동/금융인증서, 민간 ID 계정 등 총 5종의 인증수단을 표준화된 UI로 제공합니다. 국민은 본인이 편한 방식을 선택할 수 있어 접근성이 높고, 특정 인증방식 장애 시 다른 수단으로 대체할 수 있어 카카오 장애 등 한 인증수단에 대한 의존 위험을 줄입..

공공기관 SI 프로젝트 시스템 설계 방식

1. 기능 설계 방식공공 SI 프로젝트에서는 요구사항 정의와 기능 설계를 체계적으로 진행합니다. 먼저 사업 제안요청서(RFP)와 이해관계자 인터뷰 등을 통해 요구사항을 수집하고 분석합니다. 수집된 요구를 명확히 정리한 요구사항 명세서를 작성하며, 여기에 시스템의 목표, 범위, 제약, 그리고 자료흐름도(DFD), 프로세스 명세서, ERD(Entity-Relationship Diagram) 같은 산출물이 포함됩니다. 이 명세서는 개발자뿐 아니라 모든 이해관계자의 합의를 거쳐 확정되며, 이후 설계∙구현의 기준이 됩니다.요구사항 명세서의 핵심은 기능 명세서로, 최종 시스템이 어떤 기능을 어떻게 수행하는지를 사용자 관점에서 상세히 기술한 문서입니다. 기능 명세서에는 화면 설계, 입력/출력, 업무 흐름 등이 서술되..

Legacy System 및 Spring Boot Migration 및 Cloud 전환 전략

1. Spring Boot로 전체 시스템 이행을 위한 전략적 접근2. Servlets 기반 구조를 Spring Boot 구조로 전환하는 방법3. Spring 4에서 Spring Boot 최신 버전으로 전환 시 고려사항4. MyBatis 3의 호환성 및 Spring Boot 연동 방안5. Tomcat 9을 내장 톰캣으로 전환하는 절차와 설정6. 성능 개선 측면에서 Spring Boot의 장점과 이행 시 유의점7. 클라우드 이행 관점에서 추천되는 아키텍처8. 단계별 마이그레이션 로드맵 제안 1. Spring Boot로 전체 시스템 이행을 위한 전략적 접근레거시 시스템을 Spring Boot로 마이그레이션할 때는 단계적이고 신중한 전략이 필요합니다. 먼저 현재 시스템의 아키텍처와 구성요소를 면밀히 분석하세요...

AJAX에서 REST(JSON) 대신 화면(String/JSP)을 리턴했을 때 발생한 문제와 개선

1. 배경기존 SI 프로젝트에서 삭제 기능을 AJAX로 호출하면서Spring Controller에서는 다음과 같이 화면을 리턴하고 있었다. return alertAndRedirect(model, "삭제되었습니다.", "/list.do"); 프론트에서는 $.ajax({ dataType: "json", ... }); 즉, AJAX는 JSON을 기대하는데 서버는 HTML/JSP를 내려주는 구조였다. 2. 실제 발생한 문제1) JSON 파싱 에러AJAX는 HTML을 JSON으로 파싱하려다 parsererror 발생→ success가 아닌 error 콜백으로 떨어짐하지만 DB는 이미 삭제 완료사용자 화면: "삭제 실패"실제 DB: 삭제 완료 2) 중복 삭제/운영 사고사용자는 실패한 줄 알고 다시 클릭→ 이미 삭제..

공공·SI·클라우드·AI 시대에 개발자가 반드시 알아야 할 라이선스 3대 지뢰

GPL / CPAL / AGPL — 실무 위험 비교라이선스한 줄 요약GPL코드 전염 라이선스CPAL네트워크 사용시 소스 공개 강제AGPL클라우드 서비스 전체 소스 공개 강제 1️⃣ GPL — 상용 전염 리스크구조GPL 코드를 사용하면👉 내 코드도 GPL로 공개해야 함즉, GPL 코드 1줄 사용 → 전체 소스 GPL 공개 의무 왜 위험한가사내 시스템공공 시스템SI 납품물전부 소스 공개 의무 발생그래서:상황결과사내 서비스법무 거절공공 납품감리 지적상용 제품사업 불가GPL은 언제 안전?연구용개인 프로젝트오픈소스 공개 전제 프로젝트2️⃣ CPAL — 네트워크 공개 의무구조CPAL = GPL + 네트워크 조항서버에서 서비스하면소스 공개해야 함의미 사용자가 웹으로 접속 → 네트워크 사용 → 소스 공개 의무 그래서..

Developer 2026.01.12

MIT License 유래와 핵심 정리

1️⃣ 유래MIT License는미국 MIT(Massachusetts Institute of Technology)에서연구·개발 결과물을 자유롭게 공유하기 위해 만든 라이선스가장 단순하고 자유로운 오픈소스 라이선스 중 하나👉 목적:“제약 없이 쓰되, 책임은 사용자에게”2️⃣ 라이선스 성격 한 줄 요약상업적 사용 가능 + 소스 공개 의무 없음 + 고지만 하면 끝3️⃣ MIT License 핵심 특징항목내용상업적 사용가능수정가능재배포가능소스 공개 의무❌ 없음특허권 보호❌ 명시 없음라이선스 고지✅ 필요책임사용자 책임4️⃣ 반드시 해야 하는 것 (의무)MIT License 사용 시:원 저작권자 표시 유지MIT License 전문 포함👉 이 두 개만 하면 끝입니다.5️⃣ Apache 2.0과 차이항목MITApa..

Apache License 2.0 — 유래와 핵심 정리

1️⃣ 유래Apache License는Apache Software Foundation(ASF) 가Apache HTTP Server 같은 오픈소스 프로젝트를 배포하기 위해 만든 라이선스기업·상용 사용을 적극 허용하는 실무 친화 라이선스2004년에 현재 표준인 Apache License 2.0 발표.👉 목적:“오픈소스를 기업에서도 법적 리스크 없이 쓰게 하자”2️⃣ 라이선스 성격 한 줄 요약상업적 사용 가능 + 소스 공개 의무 없음 + 특허권까지 보호그래서 기업에서 제일 선호하는 라이선스 중 하나입니다.3️⃣ Apache 2.0 핵심 특징항목내용상업적 사용가능수정가능재배포가능소스 공개 의무❌ 없음특허권 보호✅ 포함라이선스 고지✅ 필요책임사용자 책임4️⃣ 반드시 해야 하는 것 (의무)Apache Licens..

커넥션 풀의 변천사[old vs modern]

과거에 주로 사용되던 Commons DBCP나 C3P0 같은 "옛날 스타일"의 커넥션 풀과 현재 표준인 HikariCP는 설계 철학부터 성능 최적화 방식까지 큰 차이가 있습니다.단순히 "더 빠르다"를 넘어, 어떤 기술적 포인트가 다른지 비교해 정리해 드립니다.1. 한눈에 보는 비교 (Old vs. Modern)구분옛날 스타일 (DBCP, C3P0)요즘 스타일 (HikariCP)철학풍부한 기능과 세밀한 옵션 제공극단적인 단순화와 성능 최적화라이브러리 크기상대적으로 무거움 (수 MB)매우 가벼움 (약 130KB)동기화 전략synchronized 등 무거운 락 위주Lock-free 설계 (ConcurrentBag)연결 검증testOnBorrow, validationQuery 위주maxLifetime 기반의 선..

Developer/DB 2026.01.02

🤖 AI 무료 vs 유료, 정말 돈 낼 가치 있을까?

오늘은 ai 무료/유료 어떤 차이가 있는지 한번 같이 고민해보면 좋을 것 같습니다 :) "AI 유료 버전… 월 3만원씩 내고 쓸 만한가요?" ━━━━━━━━━━━━━━━━ 🔍 주요 3개 AI 완벽 비교 ━━━━━━━━━━━━━━━━ ┌─────────────────────┐ │ 1️⃣ ChatGPT (OpenAI) │ └─────────────────────┘ [ 무료 - GPT-4o mini ] - 비용: 0원 - 성능: 중간 수준 - 제한: 3시간마다 약 10-15회 - 특징: 간단한 질문은 OK [ 유료 - ChatGPT Plus ] - 비용: 월 $20 (약 27,000원) - 모델: GPT-4o (최신 최강 모델) - 제한: 3시간마다 80회 (거의 무제한) - 추가 혜택: ✅ DAL..

클래스풀 IP 주소 체계에 대해서 설명해주세요.

백엔드와 관련된 질문이에요.클래스풀 주소 체계(Classful Addressing) 은 IP 주소를 규격화된 크기별로 구분시키는 방식입니다. IP 주소를 클래스(A,B,C 등)별로 규격화(유형화)시켜, 쉽게 식별할 수 있도록 합니다.IPv4 주소는 4바이트(32비트)이며, 1바이트씩 끊어서 표기합니다. 이때 각 바이트를 옥텟이라고 부르며, 각 옥텟은 0부터 255까지의 숫자를 표현할 수 있어요. ex) 0.0.0.0 ~ 255.255.255.255A 클래스는 초기 비트가 0(2진수)으로 시작하는 1옥텟을 네트워크 주소로 사용하며, 3옥텟을 호스트 주소로 사용합니다. 호스트 주소의 0과 255는 특수한 용도(전자는 네트워크 식별, 후자는 브로드캐스트 주소)로 사용되므로, A 클래스에는 2^7개의 네트워크 ..

대칭키 및 비대칭키 암호화 방식에 대해서 설명해주세요.

평문을 암호화하고 복호화하는 경우 키를 사용할 수 있는데요. 이때, 암복호화에 사용하는 키가 동일한 경우 대칭키 암호화(Symmetric Key Cryptography) 라고 하며, 암복호화에 사용하는 키가 서로 다른 경우를 비대칭키 암호화 혹은 공개키 암호화(Asymmetric Key Cryptography) 라고 합니다.대칭키 암호화는 비대칭키 암호화에 비해서 속도가 빠르다고 알려져 있습니다. 하지만, 대칭키를 교환하는 과정에서 탈취 위험성이 존재할 수 있습니다. 또한, 대칭키 암호화 방식에서는 각 통신 참여자 쌍마다 다른 키가 필요할 수 있는데요. 이 경우 통신 대상이 많아질수록 대칭키의 수가 많아지므로 키 관리가 복잡해질 수 있습니다.비대칭키 암호화에는 공개키와 개인키가 존재합니다. 일반적으로 이..

핸드폰 분해 삼성 갤럭시 노트8 (SM-N950N) -초소형 분산 임베디드 제어 시스템

좋습니다. SM-N950N (갤럭시 노트8) 기준으로, 실제로 중고 시장에서 거래되는 부품만 목록으로 정리합니다.(반드시 정상 작동 확인 후 판매 권장합니다.)✅ 1) 상단 모듈 및 센서 부품명거래성참고 후면 듀얼 카메라 모듈 (광각 + 망원) 📈 매우 잘 팔림 센서/렌즈 상태 중요 전면 카메라 모듈 📈 판매 가능 AF 여부 체크 홍채/IR 센서 모듈 📉 수요 낮음 일부 리퍼 장비용 근거리 조도/근접 센서 플렉스 📉 거의 없음 고장 잦음 ✅ 2) 메인보드 주변부 주의: 메인보드 자체는 ..

JVM에서 GC 대상 객체를 판단하는 기준은 무엇인가요?

GC(Garbage Collection)는 자바의 메모리 관리 방법의 하나이며, JVM의 힙 영역에서 동적으로 할당했던 메모리 중에서 필요 없어진 객체를 주기적으로 제거하는 것을 의미합니다. GC는 특정 객체가 사용 중인지 아닌지 판단하기 위해서 도달 가능성(Reachability) 라는 개념을 사용하는데요. 특정 객체에 대한 참조가 존재하면 도달할 수 있으며, 참조가 존재하지 않는 경우에 도달할 수 없는 상태로 간주합니다. 이때, 도달할 수 없다는 결론을 내린다면 해당 객체는 GC의 대상이 됩니다.도달 가능성은 어떻게 판단하나요? 🤓힙 영역에 있는 객체에 대한 참조는 4가지 케이스가 존재하는데요. 힙 내부 객체 간의 참조, 스택 영역의 변수에 의한 참조, JNI에 의해 생성된 객체에 대한 참조(네이티..

Node와 Element의 차이에 대해 설명해주세요.

Node와 Element의 핵심적인 차이점에 대해 설명드리겠습니다.Node는 DOM을 구성하는 가장 기본적인 구성 단위입니다. Node에는 여러 가지 타입이 존재합니다. "Document Node"는 HTML 문서 전체를 나타내는 루트 노드이며, "Element Node"는 HTML 태그를 나타내고, "Text Node"는 텍스트 내용을, "Comment Node"는 주석을 나타냅니다. 이처럼 Node는 DOM 트리의 모든 구성 요소를 포함하는 포괄적인 개념입니다.반면 Element는 Node의 특정 타입 중 하나로, HTML이나 XML 태그로 표현되는 객체를 의미합니다. 쉽게 말해, 모든 Element는 Node이지만, 모든 Node가 Element인 것은 아닙니다. Element는 id, class,..

시스템 콜이란 무엇인가요?

운영체제는 사용자가 실행하는 프로그램이 하드웨어 자원에 직접 접근하는 것을 방지해 자원을 보호합니다. 왜냐하면, 프로그램이 CPU, 메모리, 하드 디스크에 마음대로 접근하고 조작할 수 있다면, 자원이 무질서하게 관리 될 수 있으며 한 프로그램의 실수가 전체 컴퓨터에 영향을 주기 때문입니다. 운영체제는 프로그램들이 자원에 접근하려 할 때 오직 자신을 통해서만 접근하도록 하여 자원을 보호합니다.따라서, 프로그램은 자원에 접근하기 위해서 운영체제에게 도움을 요청해야 합니다. 그리고, 프로그램의 요청을 받은 운영체제는 응용 프로그램 대신 자원에 접근해 요청한 작업을 수행합니다. 이러한 과정은 이중 모드로 구현되는데요. 이중 모드(Dual Mode) 는 CPU가 명령을 실행하는 모드를 사용자 모드와 커널 모드로 ..

CPU 스케줄링에 대해서 설명해주세요.

CPU 스케줄링은 운영체제가 프로세스들에게 공정하고 합리적으로 CPU 자원을 배분하는 것을 의미합니다. 만약 CPU 스케줄링이 없다면, 반드시 실행되어야 할 프로세스들이 실행되지 못할 수 있으며, 당장 급하지 않은 프로세스가 실행되는 등 무질서한 상태가 발생할 수 있습니다. CPU 스케줄링은 선점형과 비선점형 방식으로 구현할 수 있으며, 다양한 스케줄링 알고리즘이 존재합니다.선점형 스케줄링과 비선점형은 각각 어떤 특징이 존재하나요? 🤓선점형 스케줄링(Preemptive Scheduling) 은 프로세스가 CPU를 사용하고 있더라도 운영체제가 프로세스로부터 자원을 강제로 빼앗아 다른 프로세스에 할당할 수 있는 방식입니다. 해당 방식은 응답 시간이 낮으며, 효율적이지만 컨텍스트 스위칭 오버헤드가 발생할 수..