AI

AI 역량 수요가 가장 큰 폭으로 늘어난 것은 전혀 놀라운 일이 아니다. 여러 산업과 직무에서 AI 도입 경쟁이 벌어지면서 기업은 AI를 어떻게든 활용하려 분주하게 움직이고 있다. 2024년에는 AI 역량을 요구한 채용 공고가 500만 건을 웃돌았고, 2025년에는 1년 새 400만 건 이상 늘어났다. 이제 기술 분야 밖에서 일하는 지원자라도 프롬프트 엔지니어링, 자연어 처리, 프로그래밍·코딩용 AI 활용 등 일정 수준의 AI 역량을 갖춰야 하는 상황이다.

파이썬

파이썬은 데이터 분석, 웹 개발, 소프트웨어 개발, 과학 컴퓨팅, AI·머신러닝(ML) 모델 구축 등 여러 분야에서 활용되는 프로그래밍 언어이다. 소프트웨어 개발자, 웹 개발자, 데이터 사이언티스트, 데이터 애널리스트, ML 엔지니어, 사이버보안 분석가, 클라우드 엔지니어 등 다양한 IT 직무가 폭넓게 사용하는 다목적 언어이다. 기업 환경에서의 활용 폭이 넓기 때문에 꾸준히 수요 상위권을 유지하는 기술 역량이다. 2024년에는 파이썬 역량을 요구한 채용 공고가 1,500만 건을 조금 넘었고, 2025년에는 1,800만 건에 약간 못 미치는 수준까지 늘어났다. 더 많은 조직이 코딩에 AI를 활용하고 있지만, 여전히 복잡한 코드를 직접 작성하고, AI가 생성한 코드의 프롬프트를 다듬고 품질을 검증할 수 있는 숙련 개발자 역량이 필요하다.

알고리즘

많은 기업이 코딩과 프로그래밍 효율화를 위해 AI를 도입하면서, 이런 과정을 이끌고 제어하는 기준이 되는 알고리즘에 대한 의존도도 높아졌다. 알고리즘 중심의 사고에는 데이터베이스와 프로그래밍에 대한 깊은 이해, 고차원 비판적 사고, 문제 해결 능력이 필요하다. 알고리즘 역량을 요구한 채용 공고는 2024년에는 약 18만 건에 불과했지만, 2025년에는 200만 건이 넘었다. AI가 초급 업무 상당 부분을 넘겨받으면서, 기업은 AI 시스템을 설계·지도하고 효율적인 알고리즘을 구축할 수 있는 고급 인력을 찾고 있다.

CI/CD

CI/CD 역량은 AI 도입 이후 소프트웨어 개발 라이프사이클을 효율화하는 데 필수 기술로 떠올랐다. CI/CD 역량을 갖춘 전문가는 자동화·스크립팅 도구를 구축하고, 컨테이너화, 클라우드 통합, 자동화 테스트 같은 개념을 이해하고 활용할 수 있다. 2024년에는 CI/CD 역량을 요구한 채용 공고가 700만 건에 조금 못 미쳤고, 2025년에는 900만 건을 넘는 수준까지 증가했다.

구글 클라우드

구글 클라우드는 기업의 IT 솔루션을 구축·배포·관리하기 위해 널리 사용하는 클라우드 플랫폼으로, 구글은 구글 클라우드 역량과 지식을 인증하는 여러 자격증을 제공한다. 최근 몇 년 동안 많은 조직이 업무 도구, 서비스, 데이터 저장소를 구글 클라우드 기반 서비스로 이전해 왔다. 특히 대규모 데이터를 저장하고 처리해야 하는 AI 개발 환경에서 클라우드 도구는 필수 인프라로 자리 잡았다. 2024년에는 구글 클라우드 역량을 요구한 채용 공고가 약 350만 건이었지만, 2025년에는 530만 건을 웃도는 수준까지 늘어났다.

AWS

AWS는 현재 가장 널리 쓰이는 클라우드 플랫폼이다. 여러 산업에서 클라우드 전략의 핵심 축을 담당하는 만큼, 플랫폼이 제공하는 방대한 서비스를 제대로 활용하기 위한 AWS 역량 수요도 크다. 클라우드 엔지니어, 데브옵스 엔지니어, 솔루션 아키텍트, 데이터 엔지니어, 사이버보안 분석가, 소프트웨어 개발자, 네트워크 관리자 등 수많은 IT 직무에서 공통으로 요구되는 역량이다. 2024년에도 AWS 역량은 높은 인기를 유지하며 1,200만 건이 조금 넘는 채용 공고에 요구사항으로 포함됐고, 2025년에는 1,370만 건을 넘었다.

분석 역량

AI가 초급·반복 업무 상당 부분을 대체하면서 IT 전문가에게는 더 높은 수준의 분석적 사고 역량이 요구되고 있다. AI가 내리는 판단이나 생성 결과가 항상 완벽하지 않기 때문에, 특히 숫자와 데이터 영역에서는 AI 환각과 오류를 가려낼 수 있는 인간의 시선과 분석 능력이 필요하다. 분석 역량은 이미 오래전부터 조직에 핵심으로 자리한 능력이다. 2024년에는 분석 역량을 요구한 채용 공고가 1,900만 건을 조금 넘었고, 2025년에는 2,100만 건을 웃도는 수준으로 늘어났다.

사이버 보안

AI 의존도가 높아지면서 기업의 보안 취약 지점도 함께 늘어나고 있다. 더 많은 제품과 서비스를 온라인으로 전환하고 AI를 통합하는 과정에서 공격자가 노릴 수 있는 지점이 많아진다는 의미이다. 사이버보안 역량을 요구한 채용 공고는 2024년 약 240만 건이었다가 2025년에는 400만 건을 넘는 수준까지 증가했다. AI를 보안 솔루션에 통합하든, AI를 악용한 새로운 고도화 공격을 막든, 보안은 AI 도입을 추진하는 조직이 최우선으로 고려하는 분야이다.

소프트웨어 문제 해결 역량

더 많은 조직이 기본적인 코드와 스크립트 작성에는 AI를 활용하고 있지만, 최종 결과물에서 결함, 보안 문제, 이상 징후를 찾아내는 일은 여전히 인간 IT 전문가의 몫이다. 소프트웨어 트러블슈팅 역량을 요구한 채용 공고는 2024년 900만 건이 조금 넘었고, 2025년에는 1,100만 건에 조금 못 미치는 수준까지 증가했다. 이 분야에는 소프트웨어 문제를 파악하고 고객·사용자의 문제를 해결하기 위한 커뮤니케이션 능력, 문제 해결 능력, 비판적 사고, 기술 역량이 모두 필요하다.

 

머신러닝

머신러닝은 AI 개발의 핵심 기술로, AI뿐만 아니라 자연어처리에 대한 높은 수준의 전문성이 요구된다. 기업은 AI 도입과 향후 확산을 뒷받침할 수 있는 ML 역량 보유 전문가를 확보하는 데 주력하고 있다. 머신러닝 역량을 요구한 채용 공고는 2024년 약 370만 건에서 2025년에는 500만 건을 넘었다. 기업이 AI 프로세스를 적극 도입하고, AI 시스템을 지원·유지할 인재를 찾는 흐름이 이어지는 한 머신러닝 역량을 갖춘 IT 전문가는 계속 높은 수요를 유지할 것으로 보인다.
dl-ciokorea@foundryco.com

ModelMapper**의 설정 코드를 해석해 드리겠습니다. 이 코드는 객체 간의 매핑 규칙을 세밀하게 제어하기 위한 설정입니다.

1. setFieldAccessLevel(AccessLevel.PRIVATE)

이 설정은 ModelMapper가 필드에 직접 접근할 때 접근 레벨을 PRIVATE으로 설정하는 역할을 합니다. 일반적으로 ModelMapper는 getter/setter 메소드를 통해 필드에 접근하지만, 이 설정을 활성화하면 private 필드에도 직접 접근하여 값을 매핑할 수 있게 됩니다. 이는 getter/setter가 없는 클래스를 매핑할 때 유용합니다.

2. setFieldMatchingEnabled(true)

이 설정은 필드 매칭을 활성화하는 코드입니다. ModelMapper는 기본적으로 getter/setter를 사용한 메소드 매칭 전략을 따릅니다. 하지만 이 설정을 true로 설정하면 getter/setter 대신 필드 이름을 기반으로 소스 객체의 필드와 대상 객체의 필드를 매칭합니다.

3. setMatchingStrategy(MatchingStrategies.LOOSE)

이 설정은 매칭 전략을 LOOSE로 설정하는 코드입니다. ModelMapper는 세 가지 매칭 전략을 제공합니다.

  • STRICT: 모든 소스 필드와 대상 필드의 이름이 정확히 일치해야 합니다.
  • STANDARD: 소스 필드와 대상 필드의 이름이 비슷해야 합니다. (예: user.name과 userName)
  • LOOSE: 소스 필드와 대상 필드의 이름이 대소문자나 구분자 없이 매칭됩니다. (예: userId와 user_id 또는 user-id) 이 전략은 가장 유연하며, 필드 이름이 정확히 일치하지 않아도 매핑이 가능합니다.

종합 해석

위 코드를 전체적으로 해석하면 다음과 같습니다.

ModelMapper가 getter/setter 없이도 private 필드에 직접 접근하여, 필드 이름만으로도 대소문자나 구분자 등에 상관없이 가장 유연하게 객체를 매핑하도록 설정한다.


package com.mysite.backend.config;

import org.modelmapper.ModelMapper;
import org.modelmapper.convention.MatchingStrategies;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class RootConfig {
    @Bean
    public ModelMapper getMapper(){
        ModelMapper modelMapper = new ModelMapper();
        // 1. setFieldAccessLevel : private 필드에서도 직접 접근하여 값을 매핑 할 수 있게 함
        // 2. setFieldMatchingEnabled : getter/setter 대신 필드이름 기반으로 소스 객체 필드와 대상 객체 필드를 매칭함
        // 3. setMatchingStrategy : 소스 필드와 대상 필드간 매칭 설정
        modelMapper.getConfiguration().setFieldAccessLevel(org.modelmapper.config.Configuration.AccessLevel.PRIVATE)
                .setFieldMatchingEnabled(true)
                .setMatchingStrategy(MatchingStrategies.LOOSE);
        return modelMapper;
    }
}
  1. Vite 프로젝트 초기화
    npm create vite@latest my_project
    cd my_project

  2. tailwindcss 설치
    npm install -D tailwindcss postcss autoprefixer
    npx tailwindcss init -p

  3. tialwindcss 설정 파일 변경
    => tailwind.config.js
    module.exports = {
    content: ["./index.html", "./src/*/.{js,ts,jsx,tsx}"],
    theme: {

     extend: {},

    },
    plugins: [],
    }

  4. src/index.css tailwind 지시어 추가
    @tailwindcss base;
    @tailwindcss components;
    @tailwindcss utilites;

'프로그래밍 > react' 카테고리의 다른 글

리엑트 tailwindcss 프로젝트 설정  (0) 2025.08.14
React 모듈 설치 여부 확  (0) 2025.06.29
리액트 프로젝트 생성  (0) 2025.04.06

react 프로젝트 생성 실행 순서

  1. npm create-react-app projectName --template typescript

  2. chance luxon @fontsource/material-icons 설치
    npm i chance luxon

  3. 개발 의존성
    npm i -D @types/chance @types/luxon

  4. tailwindcss 설치
    postcss, autoprefixer도 함꼐 설치 해 준다.
    npm i -D postcss autoprefixer tailwindcss@3

  5. tailwindcss 구성
    npx tailwindcss init -p

  6. daisyui 설치
    tailwindcss는 저수준 CSS 컴포넌트를 지원하지 않으므로, daisyui를 설치
    npm i -D daisyui@3

  7. @tailwindcss/line-clamp 설치
    npm i -D @tailwindcss/line-clamp

  8. tailwind.config.js 설정

    1) content 설정
    content:["./src/*/.{js.jsx,ts,tsx}"]

    2) safelist, plugins 설정
    /*
    line-clamp로 시작하는 클래스 이름을 동적으로 조합하더라도
    정상으로 동작하도록 트리 쉐이킹 대상에서 제거하는 코드
    */
    safelist : [{pattern:/^line-clamp-(\d+)$/}]
    3) line-clamp, daisyui 플러그인 등록
    plugins : [require('@tailwindcss/line-clamp'), require('daisyui')]

    /* @type {import('tailwindcss').Config} _/
    module.exports = {
    content: ["./src/*
    /_.{js.jsx,ts,tsx}"],
    theme: {
    extend: {},
    },
    safelist:[{pattern:/^line-clamp-(\d+)$/}]
    plugins: [require('@tailwindcss/line-clamp'), require('daisyui')],
    }

  9. index.css에 tailwindcss 기능 반영
    index.css 상단에 base, components, utilities 추가
    @tailwind base;
    @tailwind components;
    @tailwind utilities;

  10. 타입 스크립트 코드 작성

'프로그래밍 > react' 카테고리의 다른 글

Vite에서 TailWindCss 설치하기  (0) 2025.08.20
React 모듈 설치 여부 확  (0) 2025.06.29
리액트 프로젝트 생성  (0) 2025.04.06
  1. 터미널 열기: 프로젝트 디렉토리에서 터미널을 열거나 VS Code와 같은 IDE에서 터미널을 사용합니다.
  2. npm list 명령어 실행: 터미널에 npm list를 입력하고 엔터 키를 누릅니다.
  3. 결과 확인: 명령어 실행 결과로 설치된 모듈 목록이 표시됩니다. 만약 특정 모듈이 목록에 없다면, 해당 모듈은 설치되지 않은 것입니다.

참고사항

  • npm list --depth=0: 최상위 레벨의 모듈만 표시합니다.
  • npm list --depth=1: 한 단계 아래의 모듈까지 표시합니다.
  • npm list --depth=2: 두 단계 아래의 모듈까지 표시합니다.

'프로그래밍 > react' 카테고리의 다른 글

Vite에서 TailWindCss 설치하기  (0) 2025.08.20
리엑트 tailwindcss 프로젝트 설정  (0) 2025.08.14
리액트 프로젝트 생성  (0) 2025.04.06
  1. ES6 코드를 ES5 코드로 변환 해 주는 사이트
    https://babeljs.io/repl
  2. ES6_TEST directory 생성
    npm init 실행
  3. babel 요소 설치
    npm install --save-dev @babel/core @babel/cli @babel/preset-env core-js
  4. npm 명령어
    1) npm init : 프로젝트 초기화
    2) npm install : package.json의 패키지 설치
    3) npm install --save [패키지명] : 패키지를 프로젝트 의존성으로 추가
    4) npm install --save-dev [패키지명] : 패키지를 프로젝트 개발 의존성 수준으로 추가
    5) npm install --global [패키지명] : 패키지를 전역 수준으로 추가
    6) npm update --save : 프로젝트 패키지 업데이트
    7) npm run [스크립트명] : package.json의 스크립트 명령 실행
    8) npm uninstall --save [패키지명] : 패키지 삭제
    9) npm cache clean : 캐시 삭제
  1. 호스트명 확인
    mycomputer:~$hostname
    mycomputer

  2. 호스트명 변경
    mycomputer:~$sudo hostnamectl set-hostname ubuntudev
    [sudo] mycomputer 암호 :

  3. 터미널 종료 혹은 시스템 재부팅 후

  4. 호스트명 확인
    호스트명이 변경 된 것을 확인 할 수 있다.
    ubuntudev:~$hostname
    ubuntudev

'프로그래밍 > 우분투' 카테고리의 다른 글

우분투 설치 후 root 비밀번호 변경  (0) 2025.05.31
mysql 백업 및 복원 방법  (0) 2022.07.13
jenkins 셋팅  (0) 2022.07.06

mycomputer:~바탕화면$sudo password root
[sudo]mycomputer 암호:
새 암호 :
새 암호 재입력 :

mycomputer:~바탕화면$su
암호 :
root@mycomputer:/home/mycomputer/바탕화면#

루트로 변경 되면 $ 표시가 #으로 변경 됨.

'프로그래밍 > 우분투' 카테고리의 다른 글

우분투 호스트명 변경  (0) 2025.05.31
mysql 백업 및 복원 방법  (0) 2022.07.13
jenkins 셋팅  (0) 2022.07.06

+ Recent posts