반응형

[JAVA] 점프 투 스프링부트 - https://wikidocs.net/book/7601

 

 

https://github.com/pahkey/sbb3/

 

GitHub - pahkey/sbb3: 점프 투 스프링부트3 책의 소스코드

점프 투 스프링부트3 책의 소스코드. Contribute to pahkey/sbb3 development by creating an account on GitHub.

github.com

 

점프 투 스프링부트

점프 투 스프링부트는 Spring Boot Board(SBB)라는 이름의 게시판 서비스를 만들어가는 과정을 설명한 스프링부트 입문서이다. 자바 설치부터 시작하여 서비스 운…

wikidocs.net

 

 

반응형
반응형

새로운 기술이 최첨단에서 주류가 되기까지의 속도는 점점 더 빨라지고 있다. 생성형 AI가 실험 단계에서 보편화 단계에 이르는 데 걸린 시간을 생각해 보라. 2년도 채 안 되는 기간은 기록적이다.

이런 성과로 인해 IT 리더는 압박을 받고 있다. 새로운 기회가 왔을 때를 대비해 기술 인프라뿐만 아니라 유지 관리 모드에 매몰되지 않을 팀을 보유해야 한다는 압박이다.

TEK시스템즈의 글로벌 서비스 수석 부사장인 리카르도 마단은 "일을 더 빨리, 더 잘 처리하는 기업이 시장 점유율을 차지한다. 빠르게 움직여야 한다는 경쟁 압박이 엄청난 상황이다"라고 말했다.

이는 과장이 아니다. TEK시스템즈의 2024 디지털 혁신 현황 보고서에 따르면 디지털 리더로 분류된 조직의 53%는 디지털 투자가 예상 ROI를 달성할 것이라고 확신했다. 반면 DX 후발주자로 분류된 기업의 경우 같은 응답률이 27%에 불과했다.

빠르게 움직여야 한다는 압박은 늘고 있지만, 대부분의 현대화 프로젝트는 달팽이 같은 속도로 진행된다. 최근 연구에 따르면 애플리케이션 현대화에는 평균 16개월이 소요되는 것으로 나타났다. 파운드리의 2024 CIO 현황 조사에서 인프라 및 애플리케이션 현대화가 올해 CIO의 예산 증가의 주요 원인으로 꼽힌 데서 알 수 있듯 그 속도는 충분히 빠르지 않다.

다행히도 현대화 프로젝트 일정을 단축할 방법은 있다. 베테랑 IT 리더가 IT 현대화 속도를 높이기 위한 8가지 전략을 소개한다.

1. 이벤트가 아니라 프로세스를 생각한다
현대화는 CIO의 할 일 목록에 항상 있는 항목이다. 따라서 IT 부서 일정의 표준 항목이 돼야 한다.

자문 회사 블루아워 테크놀로지의 사장 겸 CEO인 로버트 드보락은 "잘하는 기업은 현대화를 하나의 이벤트가 아닌 프로세스로 바꿨다. 현대화는 지속적인 프로세스가 돼야 한다. 그렇지 않으면 뒤처질 수밖에 없다. 준수할 프로세스가 있어야 하며, IT 부서 내에서 지속적으로 작동하도록 해야 한다"라고 말했다.

드보락은 IT 환경을 투자 포트폴리오처럼 관리하면서 구성 요소를 각각 구매, 보류, 판매로 분류했던 어느 CIO와의 일화를 언급했다. 이 CIO는 먼저 현대화해야 할 요소는 '판매'로 분류했고, '구매'와 '보류'에는 비즈니스를 주도하거나 비즈니스의 근간이 되는 요소를 넣었다. 드보락은 이 접근 방식이 생소했지만, 결국 지속적인 평가, 지속적인 현대화 및 합리화를 위한 효과적인 프로세스를 만들었다고 말했다.

2. 의사 결정의 기준이 되는 프레임워크를 만든다
IT 서비스 관리 기업이자 IBM 자회사인 킨드릴의 CIO인 마이클 브래드쇼는 주요 IT 의사 결정을 촉진하기 위해 5가지 핵심 원칙에 기반해 프레임워크를 개발했다.

이 원칙은 데이터 중심, 플랫폼 우선, 클라우드 기반, 자동화 주도, 제로트러스트(처음부터 모든 것이 안전하도록 하기 위해)였다.

브래드쇼는 "이런 원칙은 의사 결정의 기준이 되고 우리를 안내하기 때문에 더 빠르게 움직일 수 있도록 도와준다. 원칙을 개괄하는 프레임워크가 있으면 프로세스에 얽매이지 않고 원칙 중심의 의사 결정에 집중할 수 있다"라고 설명했다.

그는 프레임워크가 일종의 포지션 페이퍼 역할을 한다고 말했다.

브래드쇼는 프레임워크가 IT 부서의 업무 속도를 높이는 데 어떻게 도움이 되는지 설명하기 위해 그의 팀이 기존 핵심 비즈니스 시스템을 현대화하기 위해 활용한 접근 방식을 예로 들었다. 기존에는 이런 이니셔티브에 비즈니스 프로세스 분석, 적합성 분석, 프로세스 리엔지니어링이 모두 포함돼 시간이 많이 소요됐다. 그러나 프레임워크와 플랫폼 우선 원칙을 따른 결과, IT 부서는 소프트웨어가 좋은 프로세스와 함께 제공된다는 것뿐만 아니라 비즈니스 부서와 협력하면 필요한 경우 워크플로우를 조정할 수 있다는 사실을 알게 됐다. IT 부서는 바로 2개의 최신 플랫폼을 선택하고 프로세스를 채택했다.

브래드쇼는 "덕분에 킨드릴은 매우 빠른 속도로 움직일 수 있었다"라며 IT 부서가 67개국, 약 9만 명의 직원을 대상으로 기존 방식보다 훨씬 더 빠르게 워크데이와 SAP를 구현하고 배포할 수 있었다고 밝혔다.

3. 가치에 따라 우선순위 지정
가이드하우스 디지털의 파트너인 브라이언 레이놀즈는 현대화 그 자체만으로는 좋은 결과를 얻을 수 없으며 속도도 향상되기 어렵다고 말했다.

그는 "움직임이 항상 진보는 아니라는 점을 인식해야 한다. 목적에 맞게 적용하지 않은 기술 현대화는 기껏해야 새로울 뿐이다. 올바른 현대화 노력에 집중하는 것이 성공을 이끄는 열쇠다"라고 말했다.

또한 그는 "함께 일하는 성공한 CIO들은 조직의 사명, 이해관계자, 경제, 문화에 도움이 되지 않는 현대화에는 관심이 없다. 오히려 시간을 내 경청하고 문제 경험과 과제가 어디에 있는지 파악하는 것이 중요하다는 사실을 알고 있다. 이들은 충족되지 않은 기업의 요구 사항을 중심으로 현대화 노력을 기울인다. 이를 통해 우수할 뿐만 아니라 매우 간단한 현대화 솔루션을 구축한다"라고 설명했다.

4. 현대화를 위한 토대에 집중한다
TEK시스템즈의 마단은 어떤 현대화 노력이 비즈니스 가치를 창출하는지 정확히 파악하고 빠르게 움직이는 데 필요한 리소스를 모을 수 있는 IT 리더라면 훌륭한 토대 위에 서있는 셈이라고 말했다.

토대를 구성하는 요소로는 먼저 IT와 비즈니스의 연계가 있다. 마단은 CIO에게 이런 연계가 없다면 필요하지 않거나 가치가 없는 현대화 이니셔티브를 쫓느라 시간을 낭비할 수 있다고 설명했다.

두 번째는 클라우드 컴퓨팅을 수용하는 것이다.

또 다른 핵심 요소는 프로젝트가 비즈니스에 제공하는 가치와 각 현대화 프로젝트가 다른 현대화 이니셔티브를 어떻게 가속화하는지에 따라 현대화 요구 사항을 평가할 수 있는 능력이다. 마단은 한 영역에서 상호 의존성을 제거하고 복잡성을 완화하는 현대화 프로젝트가 다른 영역을 훨씬 쉽고 빠르게 현대화할 수 있는, 일종의 승수 효과가 있다고 말했다.

5. 빠른 달성을 위해 애자일 원칙 적용
레거시 기술은 단일 구조일 수 있지만, 현대화를 위한 접근 방식이 '전부 아니면 전무'라는 식으로 투박해질 이유는 없다. 대신 전문가들은 애자일 원칙을 활용해 가능한 한 빨리 성과를 거두고 점진적으로 발전할 것으로 조언했다.

레이놀드는 CIO가 '작은 스토리'를 찾고 지속적인 통합 및 배포(CI/CD)를 구현해 이런 단일 구조를 현대화하는 속도를 높일 수 있다고 말했다.

가이드하우스의 아리짓 로이는 애자일 접근 방식을 취하고 대규모 프로젝트를 더 작은 결과물로 세분화하면 비즈니스가 더 빨리 이익과 ROI를 실현할 수 있다고 설명했다. 그는 "현대화를 역량과 서비스를 구축하기 위해 점진적으로 속도를 올리는 마라톤이라고 생각해야 한다"라고 조언했다.

6. 구축이 아닌 구매의 사고방식을 채택한다
IT는 모든 소프트웨어를 자체적으로 구축하던 초창기 시절과는 비교할 수 없을 정도로 발전했다. 오늘날 CIO는 대부분의 소프트웨어와 서비스를 구매하고, 시장에서 비즈니스를 진정으로 차별화하는 업무용 기능이나 프로그램만 구축하는 것이 더 낫다는 것을 알고 있다.

하지만 킨드릴의 브래드쇼는 일부 CIO가 너무 많은 비즈니스 프로세스를 '차별화 요소'의 범주에 넣어 팀이 필요 이상으로 많은 코드를 작성하고 시간을 더 쓰게 한다고 말했다.

그는 "차별화에 대한 정의가 광범위하기 때문에 모든 것을 직접 작성해야 한다고 생각하는 회사가 많다. 하지만 CIO로서 나는 앱을 개발하는 IT 조직이 필요하지 않다. 데이터를 관리하고 OEM 플랫폼 기반을 조율해 비즈니스 성과를 창출하는 조직이 필요하다"라고 설명했다.

7. 빨리 배우는 직원을 찾는다
일반적으로 레거시 기술을 최신 시스템으로 전환할 때 CIO에게는 새로운 기술이 필요하다. 많은 이들이 이 문제를 해결하기 위해 새로운 인재를 채용하려고 노력해 왔으며 지금도 그렇게 하고 있다. 스킬소프트의 CIO인 올라 댈리는 그러면 프로젝트가 몇 달씩 늦어질 수 있다고 말했다.

그녀는 "이제는 몇 달이라는 시간조차 없고 기술 인재도 부족하기 때문에 필요한 기술만 갖고는 채용할 수 없다"라고 언급했다.

이에 따라 댈리는 기존 직원의 숙련도를 높이는 데 초점을 맞추고 있다. 또한 속도를 높이기 위해 다른 직원보다 새로운 지식을 더 빨리 파악하고 적용할 능력을 갖춘 직원을 찾는 데 집중하고 있다. 댈리는 "새로운 지식을 빠르게 습득하고 배우고 싶어 하는 직원을 찾아내야 한다"라고 말했다.

댈리는 한 직원이 어떤 기술은 빠르게 습득하지만 다른 기술에서는 그렇지 못하며, 반대로 또 다른 직원은 한 분야에서 새로운 기술을 습득하는 속도가 느려도 다른 분야에서는 가장 빠르다는 것을 발견했다. 따라서 인재와 팀의 사일로를 허무는 것이 중요하다고 댈리는 설명했다.

어떤 팀에 속해 있든 스킬 향상에 특별한 재능이 있는 사람을 파악하기 위해 댈리는 해커톤을 개최하고 교육 이벤트를 계획하고 있다. 이는 "새로운 기술에 진정으로 끌릴 만한 사람을 찾고, 새로운 기술을 받아들이고 활력을 불어넣는 사람을 찾아내는 데" 도움을 준다. 그녀는 이런 사람들의 에너지와 열정을 통해 프로젝트를 빠른 속도로 진행할 수 있다고 덧붙였다.

8. 속도를 높이기 위해 생성형 AI 사용을 준비한다
가트너는 "2027년까지 생성형 AI 도구가 레거시 비즈니스 애플리케이션을 분석하고 적절한 대체품을 만드는 데 사용돼 현대화 비용을 70% 절감할 것"이라고 예측했다.

가트너의 IT 소싱, 조달 및 벤더 관리팀의 수석 디렉터 고문인 라지브 굽타는 생성형 AI가 전체 프로세스의 속도를 획기적으로 높일 수 있다고 말했다. 그는 "이것이 바로 생성형 AI의 '블랙 스완 효과'다. 생성형 AI의 가장 큰 용도 중 하나는 우리가 여전히 사용하고는 있지만 문서화되지 않은 수백만 줄의 코드를 해결하는 것이다"라고 설명했다.

오늘날 IT 리더와 그 팀은 레거시 코드를 최신 언어로 변환하는 데 어려움을 겪고 있다. 그 과정에서 데이터 흐름을 잃는 경우도 많다. 또한 코볼(COBOL) 같은 오래된 프로그래밍 언어에 익숙한 인력을 충분히 확보하기도 어렵다. 하지만 생성형 AI와 대규모 언어 모델은 많은 현대화 프로젝트의 속도를 지연시키는 이 문제를 해결하는 데 도움을 줄 수 있다.

굽타는 "LLM은 코드를 크롤링해 문서, 프로세스 흐름, 비즈니스 로직을 찾아낼 수 있다"라며, 기술 대기업이 이 서비스를 수행할 제품을 개발하고 있지만 사용할 준비를 하는 데까지 1년 정도 걸릴 것으로 예상한다고 언급했다.

하지만 굽타와 가트너 연구원들은 이 기술이 현대화 작업을 혁신할 수 있다고 입을 모았다. 가트너 수석 부사장인 데릴 플러머는 전망 발표에서 "대규모 언어 모델의 성숙은 CIO가 비용 효율적인 방식으로 레거시 비즈니스 애플리케이션을 현대화할 수 있는, 신뢰할 수 있고 오랫동안 기다려 온 메커니즘을 찾을 기회를 준다"라고 말했다. 그는 "IT 리더는 생성형 AI LLM에서 생성된 결과물을 테스트하는 전용 테스트 부서를 만들고, 변경 관리 및 숙련도 향상 프로세스를 구축해 현대화 주기 동안 인력이 생산성을 극대화하도록 지원할 수 있다"라고 덧붙였다.

 

https://www.ciokorea.com/news/331812

반응형
반응형

https://www.news1.kr/articles/5357954

 

취약층 의대 보낸 '서울런' 인강…"AI로 맞춤 학습 강화"(종합)

(서울=뉴스1) 오현주 기자 | #.김모군은 어린시절 폐질환 치료를 위해 학교를 그만두고 홀로 시간을 보냈다. 병원비 지출이 크고 집안형편도 넉넉하지 않았지만 '서울런' 인강으로 마음을 다잡고

www.news1.kr


#.김모군은 어린시절 폐질환 치료를 위해 학교를 그만두고 홀로 시간을 보냈다. 병원비 지출이 크고 집안형편도 넉넉하지 않았지만 '서울런' 인강으로 마음을 다잡고 공부에 집중했다. 결국 지난해 대학수학능력시험(수능)에서 3개를 틀리고 올해 의과대학 신입생이 됐다. 

서울시 온라인 공공 교육 플랫폼 '서울런'에서 인터넷 강의를 들은 취약계층 10명 중 6명이 올해 대학 입학에 성공했다. 특히 서울런 수강생 10명 중 SKY(서울대·고려대·연세대) 등 서울 시내 11개 대학과 의약계열·교육대학·사관학교 합격자는 1년새 56%가량 늘었다. 

구종원 서울시 평생교육국장은 21일 오전 서울시청 청사에서 서울런 진로·진학 실태 조사를 발표하는 간담회를 열고 "지난해 서울런 회원인 고3 이상 학생 중 수능 응시자는 1084명이고, 이중 682명이 대학에 합격했다"며 "서울대를 비롯한 시내 11개 대학·의약학 계열·교대·사관학교 등 특수목적 계열 대학 진학 인원도 지난해 78명보다 56.4% 증가한 122명"이라고 말했다. 

서울시가 2021년 8월 도입한 '서울런'은 기초생활수급자 또는 중위소득 50% 이하 차상위계층 가구의 만 6∼24세에게 유명 사설 인터넷 강의와 1대1 멘토링을 무료로 지원하는 프로그램이다. 

메가스터디·이투스·밀크티(T) 같은 교과목·EBS·자격증(에듀윌, 해커스), 독서(윌라 오디오북) 분야 강의를 각각 1개씩 선택해 최대 4개의 학습 사이트 수강을 지원한다. 

2021년 처음 도입된 서울런의 지난해 입시 결과는 크게 개선됐다. 2월 19일부터 3월 6일까지 지난해 수능을 본 서울런 회원 1084명을 대상으로 설문조사를 한 결과, 올해 대학 합격자(682명)는 전년 대비 48% 증가했다. 합격자 비율이 63%로, 서울런으로 입시를 준비한 10명 중 6명이 대학에 붙었다. 

주요 명문대를 간 학생들도 늘었다. 서울 내 11개 학교와 특수목적 계열(의·약학계열, 교대, 사관학교, 과학기술 특성화 대학)에 입학한 학생(122명)은 전년대비 34명 증가했다. 서울 소재 11개 대학 합격자(106명)는 35명 늘었고, 의대 진학자는 6명에서 9명으로 증가했다. 

학교별로 살펴보면 △서울대 12명 △고려대 12명 △연세대 10명 △서강대 4명 △성균관대 5명 △한양대 7명 △중앙대 15명이다. 

특히 서울대·고려대 합격생이 큰 폭으로 늘었다. 각각 전년대비 8명·7명씩 올랐다. 

지난해 삼육대에 떨어진 뒤 올해 한양대 새내기가 된 이채연 학생은 "첫 대입 실패로 좌절하고 있을 때 서울런이 정말 큰 도움이 됐다"며 "스스로도 놀랄 만큼 제가 생각한 한계를 훌쩍 넘었다"고 전했다. 

서울시는 서울런이 교육 사다리 복원 사업이라고 강조했다. 구종원 국장은 "경제력이 학업의 허들 되지 않게 하는 게 서울런의 철학"이라며 "서울런 도입 후 사교육비를 줄였고, 비율도 무려 (서울런 회원의) 42%"라고 설명했다. 

서울런은 올해도 안정적인 대학 진학 성과를 위해 주요 기능을 추가한다. 대표적으로 인공지능(AI) 기반 학습진단 프로그램을 도입한다. 

학생에게 EBS 문제집 문항 80만개 중 개인 맞춤 문제를 주고 자주 틀리는 문제는 계속 풀 수 있도록 한다. 예를 들어 학생이 특정 문제를 틀렸을 경우, AI가 난이도가 하향 조정된 문제를 주고, 취약 부분으로 진단 받은 과목의 기본 개념 강의를 추천한다. 한 달간 학습 데이터를 모아 AI 월간 리포트도 제공한다. 

공부를 열심히 하는 학생 200명을 위한 '서울런 집중 지원반'도 올해 처음 생긴다. 최대 30권의 학습 교재를 지원하고, 매주 4시간의 멘토링을 진행한다.

반응형
반응형

토스가 꿈꾸는 React Native 기술의 미래

https://toss.tech/article/react-native-2024

 

토스가 꿈꾸는 React Native 기술의 미래

토스 프론트엔드 챕터는 어떻게 React Native 기술을 발전시켜 나갈 예정일까요?

toss.tech

 

https://youtu.be/6H9WQDRFZYg

 

반응형
반응형

[python] pip install prettytable, 표 형태로 데이터를 보여준다. 

 

pip install prettytable

 

 

https://pypi.org/project/prettytable/

 

prettytable

A simple Python library for easily displaying tabular data in a visually appealing ASCII table format

pypi.org

시각적으로 매력적인 ASCII 테이블 형식으로 표 형식의 데이터를 쉽게 표시하기 위한 간단한 Python 라이브러리

A simple Python library for easily displaying tabular data in a visually appealing ASCII table format

 

from prettytable import PrettyTable

# Create a PrettyTable object
table = PrettyTable()

# Define the table's columns
table.field_names = ["Name", "Age", "City"]

# Add rows to the table
table.add_row(["Alice", 30, "New York"])
table.add_row(["Bob", 25, "Los Angeles"])
table.add_row(["Charlie", 35, "Chicago"])

# Print the table
print(table)

 

# HTML 형식으로 테이블 표시


# HTML 형식으로 테이블 표시
# PrettyTable은 HTML 형식으로 테이블을 인쇄합니다 <table>. ASCII 형식과 마찬가지로 실제로 문자열 표현을 얻을 수 있습니다 
# get_html_string(). . HTML 인쇄는 ASCII 인쇄 와 동일한 방식으로 fields, start, 및 인수를 지원합니다.

print('\n\n',table.get_html_string(attributes={"id":"my_table", "class":"red_table"}))

반응형
반응형

전역 NaN 속성은 Not-A-Number(숫자가 아님)를 나타냅니다.

 

function sanitise(x) {
  if (isNaN(x)) {
    return NaN;
  }
  return x;
}

console.log(sanitise('1'));
// Expected output: "1"

console.log(sanitise('NotANumber'));
// Expected output: NaN

 

반응형
반응형

[python] 한글 자음 확인해서 치환하기 

 

""" 한글 자음인지 확인 
"""
# Define the list of Korean initial consonants (초성)
INITIAL_CONSONANTS = [
    'ㄱ', 'ㄲ', 'ㄴ', 'ㄷ', 'ㄸ', 'ㄹ', 
    'ㅁ', 'ㅂ', 'ㅃ', 'ㅅ', 'ㅆ', 'ㅇ', 
    'ㅈ', 'ㅉ', 'ㅊ', 'ㅋ', 'ㅌ', 'ㅍ', 'ㅎ'
]

def is_korean_char(ch):
    """Check if the character is a Korean syllable."""
    return 0xAC00 <= ord(ch) <= 0xD7A3

def get_initial_consonant(ch):
    """Extract the initial consonant from a Korean syllable."""
    if not is_korean_char(ch):
        return None  # or you could return an empty string or raise an exception
    
    # Calculate the index for the initial consonant
    initial_index = (ord(ch) - 0xAC00) // (21 * 28)
    return INITIAL_CONSONANTS[initial_index]

# Example usage
sentence = "안녕하세요"
initials = [get_initial_consonant(ch) for ch in sentence if is_korean_char(ch)]
print(''.join(initials))  # Output: ㅇㄴㅎㅅㅇ
반응형
반응형

https://pypi.org/project/chardet/

 

Project description

Chardet: The Universal Character Encoding Detector

 
 
 
Detects
  • ASCII, UTF-8, UTF-16 (2 variants), UTF-32 (4 variants)
  • Big5, GB2312, EUC-TW, HZ-GB-2312, ISO-2022-CN (Traditional and Simplified Chinese)
  • EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP (Japanese)
  • EUC-KR, ISO-2022-KR, Johab (Korean)
  • KOI8-R, MacCyrillic, IBM855, IBM866, ISO-8859-5, windows-1251 (Cyrillic)
  • ISO-8859-5, windows-1251 (Bulgarian)
  • ISO-8859-1, windows-1252, MacRoman (Western European languages)
  • ISO-8859-7, windows-1253 (Greek)
  • ISO-8859-8, windows-1255 (Visual and Logical Hebrew)
  • TIS-620 (Thai)

Note

Our ISO-8859-2 and windows-1250 (Hungarian) probers have been temporarily disabled until we can retrain the models.

Requires Python 3.7+.

반응형

+ Recent posts