티스토리

web developer
검색하기

블로그 홈

web developer

take-it-into-account.tistory.com/m

code recode

구독자
3
방명록 방문하기

주요 글 목록

  • [PostgreSQL] CROSS JOIN LATERAL CROSS JOIN LATERALPostgreSQL에서 CROSS JOIN LATERAL이 있습니다.LATERAL은 영어 발음으로 "래터럴" 뜻: "측면의", "옆으로"라는 의미가 있어서, SQL에서 각 행(왼쪽)별로 서브쿼리를 실행하는 느낌이랑 잘 맞음!✅  LATERAL이란?LATERAL은 서브쿼리가 왼쪽 테이블의 각 행을 참조할 수 있도록 해줍니다.보통 JOIN LATERAL 또는 CROSS JOIN LATERAL과 함께 사용됩니다.각 행별로 동적 서브쿼리를 실행해야 할 때다른 테이블과 결합하면서 조건이 복잡할 때하위 쿼리에서 LIMIT을 써야 할 때✅ JOIN vs LEFT JOIN vs CROSS JOIN LATERAL 차이 비교 항목 JOIN (INNER JOIN)LEFT JOINCROSS .. 공감수 0 댓글수 1 2025. 3. 13.
  • [java] 로그인 시 HttpSession에 저장한 사용자 정보, JSP EL로 어디서나 접근하기 로그인 시 HttpSession에 userinfo 객체를 저장했다면, 같은 세션을 공유하는 모든 요청에서 JSP에서 ${userinfo.user_id}로 접근 가능합니다. 즉, 사용자가 로그인한 뒤, userinfo가 세션에 저장되었다면, board.do이든 board_view.do이든 요청 경로와 상관없이 동일한 세션에 저장된 데이터를 사용할 수 있습니다.HttpSession은 사용자와 서버 간의 지속적인 상태를 관리하는 객체입니다. 사용자가 로그인 시점에 userinfo를 세션에 저장했다면:세션의 유지:브라우저는 세션 ID를 쿠키에 저장하고, 모든 요청마다 이 세션 ID를 서버로 전달합니다.서버는 전달받은 세션 ID를 통해 해당 사용자의 HttpSession 객체를 식별하고, 저장된 데이터를 제공합니.. 공감수 0 댓글수 0 2024. 11. 22.
  • [java] Form 전송 시 트랜잭션 예외 발생에 따른 PrintWriter를 통한 업데이트 실패 알림 및 페이지 이동 처리 javaScript$("form[name=formData]").attr("method", "post");$("form[name=formData]").submit();serviceImpl.java serviceImpl.java 에서 update가 실패한 경우 throw new IllegalArgumentException 시킨다.// 데이터베이스 업데이트 메서드 (예시)@Override@Transactional(rollbackFor = Exception.class)private int updateDatabase(DataType data) { int flag = 0; try { ... if(list!=null && list.size()>0) { .. 공감수 1 댓글수 2 2024. 10. 29.
  • [Linux] JEUS 자바 버전 확인 ps -ef | grep jeus ps -ef | grep jeus 명령어는 Unix/Linux 시스템에서 프로세스 정보를 검색하는 데 사용됩니다. 이 명령은 현재 실행 중인 프로세스 중에서 특정 문자열(여기서는 jeus)을 포함하는 프로세스를 찾아 출력합니다. 각 부분의 기능은 다음과 같습니다.ps -efps: 현재 실행 중인 프로세스 목록을 출력하는 명령어입니다.-e: 모든 사용자의 프로세스를 나열합니다. (-A와 동일)-f: 프로세스에 대한 **전체 형식(full format)**으로 정보를 표시합니다. 더 많은 정보를 포함한 결과를 볼 수 있습니다.UID (사용자 ID)PID (프로세스 ID)PPID (부모 프로세스 ID)C (CPU 사용량)STIME (프로세스 시작 시간)TTY (터미널)TIME.. 공감수 0 댓글수 0 2024. 10. 24.
  • [java] AJAX 통신에서 Impl의 트랜잭션 예외 발생 시 예외 처리와 롤백 처리 1. 예외처리serviceImpl.java serviceImpl.java 에서 update가 실패한 경우 throw new IllegalArgumentException 시킨다.// 데이터베이스 업데이트 메서드 (예시)@Override@Transactional(rollbackFor = Exception.class)private int updateDatabase(DataType data) { int flag = 0; try { ... if(list!=null && list.size()>0) { for(int=0; i controller에서 String 타입의 메서드가 return 을 가지고 있는 상황이다. Impl 에.. 공감수 2 댓글수 2 2024. 9. 24.
  • [java] try-catch를 이용한 직접 예외 처리와 @ControllerAdvice를 통한 공통 예외 처리 1. 서비스 단에서 커스텀 예외와 일반적인 예외를 throw서비스 계층에서는 예외를 발생시키기만 하고, 컨트롤러에서 처리하도록 합니다. 커스텀 예외 : 비즈니스 로직에 맞는 예외를 정의하고 서비스에서 명시적으로 발생시킬 수 있습니다.일반적인 예외 : Java 표준 예외나 라이브러리에서 제공하는 예외를 발생시킬 수 있습니다. 예를 들어, 데이터 검증이나 null 처리 같은 경우에는 *IllegalArgumentException*이나 *NullPointerException*을 사용합니다.@Servicepublic class UserService { public User getUserById(Long userId) { if (userId == null) { // 일반적인 .. 공감수 1 댓글수 1 2024. 9. 19.
  • [egov] 트랜잭션 처리방식2 - Declarative Transaction Management Declarative Transaction Management1-1. 정의Spring 프레임워크의 트랜잭션 관리 기능을 활용하여 트랜잭션을 선언적으로 관리하는 방법입니다. 이를 통해 개발자는 코드 내에서 직접 트랜잭션 경계를 설정하지 않고, 애노테이션을 사용하여 트랜잭션을 설정할 수 있습니다.1-2. 애노테이션 기반 트랜잭션 관리의 기본 개념애노테이션 사용:@Transactional 애노테이션을 메서드 또는 클래스에 붙여서 트랜잭션을 설정합니다.이 애노테이션은 Spring의 PlatformTransactionManager를 사용하여 트랜잭션을 관리합니다.자동 트랜잭션 처리:@Transactional 애노테이션을 사용하면, 트랜잭션의 시작, 커밋, 롤백을 Spring이 자동으로 처리합니다.애노테이션의 속성.. 공감수 1 댓글수 2 2024. 9. 13.
  • [egov] 트랜잭션 처리방식1 - Programmatic Transaction Management 1. Programmatic Transaction Management1-1. 정의egovframeWork에서 Programmatic Transaction Management는 트랜잭션 관리를 개발자가 직접 코드 내에서 제어하는 방식을 의미합니다. 이는 선언적 트랜잭션 관리와 대비되는 개념으로, 선언적 트랜잭션은 주로 XML 설정 파일이나 애노테이션을 통해 관리되지만, Programmatic Transaction Management는 트랜잭션의 시작, 커밋, 롤백 등을 코드에서 명시적으로 처리합니다.1-2. 주요 특징개발자가 트랜잭션의 흐름을 직접 제어:트랜잭션의 경계를 코드 내에서 명확히 정의하고, 시작, 커밋, 롤백 등을 개발자가 원하는 시점에 명시적으로 처리할 수 있습니다.세밀한 제어 가능:트랜잭션의.. 공감수 1 댓글수 1 2024. 9. 13.
  • [egov] 트랜잭션 관리 1. 트랜잭션 관리 설정 이 설정 파일은 Spring 프레임워크에서 트랜잭션 관리를 설정하는 데 사용되는 XML 파일입니다. 여기에서 중요한 요소는 트랜잭션 관리(트랜잭션 롤백, 커밋 등)를 자동으로 처리하기 위한 Advice와 포인트컷(Pointcut)입니다. 각 용어의 의미를 설명하면 다음과 같습니다.(1) Advice (조언)advice는 AOP(Aspect-Oriented Programming, 관점 지향 프로그래밍)에서 사용되는 개념으로, 실제 로직에 개입하여 특정한 동작을 추가하는 기능입니다. 여기서는 트랜잭션 관리와 관련된 Adv.. 공감수 1 댓글수 1 2024. 9. 12.
  • [egov] 트랜잭션 서비스 트랜잭션 서비스eGovFramework에서 제공하는 트랜잭션 서비스는  Spring 트랜잭션 서비스를 채택하여 가이드하고 있다. 트랜잭션 서비스인 DataSource Transaction Service, JTA Transaction Service, JPA Transaction Service은 요약하면 다음과 같다.DataSource Transaction Service: 단일 데이터베이스에서 트랜잭션을 관리하며, JDBC를 통해 직접 데이터베이스와 상호작용.JTA Transaction Service: 여러 자원 관리자 간의 트랜잭션을 관리하는 분산 트랜잭션 서비스.JPA Transaction Service: JPA 기반 ORM으로 객체 지향적으로 트랜잭션을 처리.(1) DataSource Transacti.. 공감수 1 댓글수 2 2024. 9. 12.
  • [java] 세션(Session)이란? 세션(Session)이란?세션은 웹 애플리케이션에서 사용자가 서버와의 상호작용 상태를 유지하기 위해 사용되는 서버 측 저장소입니다. HTTP는 기본적으로 상태를 유지하지 않는(stateless) 프로토콜이기 때문에, 매번 요청이 서버에 도착할 때마다 서버는 이전 요청이 무엇이었는지 기억하지 못합니다. 이를 해결하기 위해 세션과 쿠키 같은 메커니즘을 사용하여 사용자 상태를 유지합니다.1. 세션의 주요 개념1-1. 세션 생성 및 식별웹 애플리케이션은 사용자가 사이트에 처음 접속할 때 세션을 생성하고, 서버는 고유한 세션 ID를 할당합니다. 이 세션 ID는 클라이언트(브라우저)에 쿠키로 저장되거나 URL 리라이터(URL Rewriting)를 통해 전달됩니다. 서버는 이후의 모든 요청에 대해 이 세션 ID를 참.. 공감수 0 댓글수 0 2024. 9. 11.
  • [java] JSON 데이터 파싱 JSON 데이터 파싱userInfoData JSON에서 information 배열 안의 Subject 객체에서 privacy 배열의 value 값을 가져오는 방법을 org.json.simple 라이브러리를 사용하여 구현할 수 있습니다 jsonuserInfoData :{ "url":["https://localhost:8080/test"], "id":"testId", "physical":{"height":"180", "weight":"80"}, "gender":["man", "woman"], "information":[ { "url":["https://localhost:8080/test"], "language":"KR", .. 공감수 2 댓글수 1 2024. 9. 10.
  • [sql] Oracle DBMS의 구조와 SQL 처리 과정 1. Oracle DBMS (데이터베이스 관리 시스템)의 구조Oracle DBMS (데이터베이스 관리 시스템)의 구조는 여러 주요 구성 요소로 이루어져 있으며, 데이터의 저장, 관리, 처리, 보안 등을 담당합니다. 다음은 Oracle DBMS의 기본적인 구조에 대한 요약입니다. 1. 인스턴스 (Instance)Oracle DBMS의 인스턴스는 데이터베이스와 상호작용하는 메모리 구조와 백그라운드 프로세스를 포함합니다.메모리 구조:SGA (System Global Area): SGA는 데이터베이스 서버의 공유 메모리 영역으로, 데이터베이스 버퍼 캐시, 공유 풀, 리두 로그 버퍼 등 중요한 정보를 포함합니다. 데이터베이스 버퍼 캐시는 데이터베이스 블록을 메모리에 저장하여 디스크 I/O를 최소화하며, 공유 풀은.. 공감수 1 댓글수 0 2024. 8. 27.
  • [egov] egovFramework 페이지네이션 기능 1. 개요 PaginationInfo 페이징 처리를 위한 데이터들을 담고 있는 빈 클래스인데, Tag 클래스에서 여기 담긴 정보를 기반으로 페이징을 렌더링한다.PaginationRenderer 포맷에 따라 페이징을 렌더링하는 역할을 담당한다.PaginationManager 어떤 PaginationRenderer를 사용할지를 담당한다. 렌더링에 필요한 데이터는 PaginationInfo에 담겨 있다.2. PaginationTag PaginationInfo는 페이징 처리를 위한 데이터들을 담고 있는 빈 클래스인데, Tag 클래스에서 여기 담긴 정보를 기반으로 페이징을 렌더링한다./* * Copyright 2008-2009 MOPAS(Ministry of Public Administration and Secu.. 공감수 0 댓글수 5 2024. 8. 13.
  • [java] custom 페이징 처리와 페이지 네비게이션 구현 Controller컨트롤러에서 Service를 호출하여 데이터를 JSP로 전달@Controllerpublic class BoardController { @Resource(name = "BoardService") private BoardService boardService; @RequestMapping(value = "/board.do") public String selectBoard( ModelMap model, @RequestParam(defaultValue = "1") int page, @RequestParam(defaultValue = "10") int pageSize ) throws Exception { // P.. 공감수 0 댓글수 0 2024. 8. 9.
  • [oracle] 인덱스 힌트(Index Hint) 1. 인덱스 힌트(Index Hint)Oracle에서 인덱스 힌트(Index Hint)는 쿼리 옵티마이저가 특정 인덱스를 사용하도록 지시하는 힌트입니다. 인덱스 힌트를 사용하면 쿼리 성능을 최적화할 수 있으며, 옵티마이저가 잘못된 인덱스를 선택하는 것을 방지할 수 있습니다.  인덱스 힌트가 필요하지 않은 경우옵티마이저의 최적화: 오라클 옵티마이저는 기본적으로 가장 효율적인 실행 계획을 선택합니다. 인덱스를 생성하면 옵티마이저가 이를 고려하여 최적의 실행 계획을 선택합니다.쿼리가 단순한 경우: 쿼리가 단순하고 옵티마이저가 인덱스를 잘 사용하는 경우, 힌트를 추가할 필요가 없습니다.인덱스 힌트가 유용한 경우잘못된 실행 계획: 옵티마이저가 특정 인덱스를 사용하지 않거나, 잘못된 실행 계획을 선택하는 경우.특정.. 공감수 2 댓글수 4 2024. 8. 7.
  • [oracle] EXPLAIN PLAN을 활용한 쿼리 성능 최적화 기법 1. EXPLAIN PLAN 명령이란EXPLAIN PLAN 명령은 데이터베이스에서 특정 쿼리의 실행 계획을 보여줍니다. 실행 계획은 쿼리가 실행될 때 데이터베이스가 수행하는 단계별 접근 방식을 설명하며, 이를 통해 쿼리 성능을 최적화할 수 있는 인사이트를 얻을 수 있습니다. 여기서는 Oracle 데이터베이스를 예로 들어 설명하겠습니다.2. Oracle에서 EXPLAIN PLAN 사용실행 계획 생성: EXPLAIN PLAN FOR 명령을 사용하여 실행 계획을 생성합니다.EXPLAIN PLAN FORSELECT DECODE(dv, '1차', '1', '2차', '2', '3차', '3', '4차', '4') AS ORDER_NO, name, gradeFROM tbl_boardWHERE sta.. 공감수 1 댓글수 4 2024. 8. 7.
  • [oracle] 오라클 트리거(trigger) : 기본부터 실용 예제까지 1. 트리거(trigger) 정의오라클(Oracle) 데이터베이스에서 트리거(trigger)는 특정 이벤트가 발생했을 때 자동으로 실행되는 PL/SQL 블록입니다. 트리거는 데이터베이스의 데이터 무결성을 유지하고, 특정 조건이 충족될 때 자동으로 작업을 수행하도록 설정할 수 있습니다.트리거를 사용하는 이유는 다음과 같습니다:데이터 무결성 유지:트리거는 데이터의 정확성과 일관성을 보장하기 위해 사용됩니다. 예를 들어, 데이터 삽입, 업데이트 또는 삭제 시 특정 조건을 검사하거나 수정하여 데이터 무결성을 유지할 수 있습니다.자동화된 작업 수행:트리거를 사용하면 데이터 변경 시 자동으로 특정 작업을 수행할 수 있습니다. 예를 들어, 새로운 레코드가 삽입될 때 관련된 로그를 기록하거나, 특정 필드를 자동으로 업.. 공감수 0 댓글수 0 2024. 7. 26.
  • [jquery] Select 박스에서 '직접 입력' 옵션으로 입력란 토글하기: 표시와 숨김 기능 구현 Select 박스에서 '직접 입력' 옵션으로 입력란 토글하기1. html  형식 선택 1번 2번 3번 4번 5번 직접 입력 2. jsfunction syncInputWithSelect() { // select 박스의 첫번째 option 값으로 초기화 var selectBox = $("#selectBox"); selectBox.val(selectBox.find('option:first').val()); // input 태그의 값 var inputValue = $("#inputText".. 공감수 2 댓글수 0 2024. 7. 24.
  • [java] SHA-256 암호화 [단방향] SHA-256 (Secure Hash Algorithm 256-bit)해시 함수:SHA-256은 암호화 해시 함수입니다. 이는 데이터를 고정된 크기의 해시 값(256비트)으로 변환합니다.입력 데이터의 크기와 상관없이 항상 256비트의 해시 값을 출력합니다.목적:데이터 무결성 확인을 위해 사용됩니다. 입력 데이터가 변경되면 해시 값도 완전히 달라지므로, 데이터의 변경 여부를 쉽게 감지할 수 있습니다.비밀번호 저장 시 해시 값을 사용하여 비밀번호 자체를 저장하지 않고도 인증을 수행할 수 있습니다.디지털 서명과 인증서에서 데이터의 무결성을 보장하기 위해 사용됩니다.작동 방식:입력 데이터를 처리하여 고정된 256비트 길이의 해시 값을 생성합니다.동일한 입력은 항상 동일한 해시 값을 출력하지만, 입력 데이터의 작.. 공감수 1 댓글수 0 2024. 7. 23.
  • [java] AES-256 암호화, 복호화 [양방향] AES-256 (Advanced Encryption Standard 256-bit)암호화 알고리즘:AES는 대칭 키 암호화 알고리즘입니다. 즉, 동일한 키가 암호화와 복호화에 사용됩니다.AES-256은 256비트 길이의 키를 사용하여 데이터를 암호화합니다.목적:데이터의 기밀성을 유지하기 위해 사용됩니다. 이를 통해 전송 중인 데이터나 저장된 데이터를 보호할 수 있습니다.암호화된 데이터는 지정된 키 없이는 복호화할 수 없기 때문에, 데이터 유출 시에도 원본 데이터를 안전하게 보호할 수 있습니다.작동 방식:블록 암호화 방식으로, 입력 데이터를 128비트 크기의 블록으로 나누어 암호화합니다.여러 암호화 모드(CBC, ECB, GCM 등) 중 하나를 사용하여 데이터 블록을 처리합니다.AES-256 암호화, 복호.. 공감수 1 댓글수 0 2024. 7. 22.
  • [Linux] cron 작업 스케줄러 사용법 (1) cron, crontab 차이 cron: 이 용어는 UNIX 계열 운영체제에서 시간 기반 작업 스케줄링을 담당하는 데몬(백그라운드 서비스)을 의미합니다. cron 데몬은 백그라운드에서 실행되며, 설정된 시간에 특정 작업을 자동으로 수행합니다.crontab: 이 용어는 cron 테이블(cron table)의 줄임말로, 사용자가 시간 기반 작업을 스케줄링하기 위해 사용하는 파일 또는 명령어를 의미합니다. crontab 명령어를 사용하여 작업 스케줄을 추가, 삭제, 수정할 수 있습니다.원격 서버에서 크론 작업이 추가되어 있는지 확인하는 방법은 간단합니다. crontab -l 명령어를 사용하여 현재 사용자에 대한 크론 작업 목록을 확인할 수 있습니다. 이 명령어는 해당 사용자의 모든 크론 작업을 출력합니.. 공감수 2 댓글수 0 2024. 7. 18.
  • [sql] LISTAGG 함수 오라클 쿼리에서 여러 행의 데이터를 ','로 이어주는 방법은 LISTAGG 함수를 사용하는 것입니다. LISTAGG 함수는 여러 행의 값을 하나의 문자열로 결합해줍니다. 다음은 예시입니다.SELECT LISTAGG(column_name, ', ') WITHIN GROUP (ORDER BY column_name) AS concatenated_stringFROM table_name;이 쿼리는 table_name 테이블에서 column_name 열의 값을 쉼표와 공백으로 구분하여 하나의 문자열로 결합합니다. 예를 들어, column_name에 'A', 'B', 'C'라는 값이 있으면 결과는 'A, B, C'가 됩니다.concatenated_string----------------A, B, C 공감수 1 댓글수 0 2024. 7. 18.
  • [sql] 각 컬럼의 데이터를 합산한 쿼리 해당 테이블의 각 컬럼의 count 값 가져오는 쿼리는 다음과 같습니다.(1) 서브쿼리를 사용한 카운트 합산 SELECT (SELECT COUNT(*) FROM validity WHERE mon01_usgqty LIKE '1@%') + (SELECT COUNT(*) FROM validity WHERE mon02_usgqty LIKE '1@%') AS total_countFROM dual;이 쿼리는 다음과 같이 작동합니다:validity 테이블에서 mon01_usgqty 컬럼이 '1@%'로 시작하는 값을 카운트합니다.validity 테이블에서 mon02_usgqty 컬럼이 '1@%'로 시작하는 값을 카운트합니다.두 개의 서브쿼리 결과를 더하여 total_count라는 별칭으로 반환합니다.(2) .. 공감수 2 댓글수 0 2024. 6. 20.
  • [VS Code] SonarLint 자바 소스 코드 영향 분석 도구 SonarLint 다운로드 [외부망] SonarLint을 다운로드할 수 있는 공식 링크는 다음과 같습니다 https://marketplace.visualstudio.com/items?itemName=SonarSource.sonarlint-vscode해당 페이지에 접속하여, 페이지에서 오른쪽 상단에 위치한 "다운로드" 버튼을 클릭합니다.다운로드가 시작되면, .vsix 파일을 원하는 디렉토리에 저장합니다. 이 파일이 SonarLint 확장을 설치하는 데 사용될 것입니다.SonarLint .vsix 파일 다운로드 [내부망]SonarLint의 .vsix 파일을 직접 다운로드할 수 있는 공식 링크는 다음과 같습니다: https://github.com/SonarSource/sonarlint-vscode/releas.. 공감수 0 댓글수 0 2024. 6. 18.
  • [java] 배열을 문자열로 변환하여 AJAX를 통해 Java로 보내는 과정 1. jQuery 버전 확인Ajax에서 배열을 전송할 때, traditional: true 옵션을 사용해야 하는 경우는 jQuery 1.4 이전의 버전에서 jQuery.param() 함수를 사용할 때입니다. jQuery 1.4 이전 버전에서는 param() 함수가 기본적으로 배열을 전송할 수 있는 형태로 시리얼라이즈하지 않기 때문에, 배열을 전송할 때 traditional: true 옵션을 명시적으로 설정해야 했습니다.하지만 jQuery 1.4 이후 버전부터는 param() 함수가 기본적으로 배열을 다룰 수 있는 방식으로 업데이트되어서, 일반적으로 traditional: true 옵션을 따로 지정하지 않아도 됩니다.2. params 객체를 JSON 문자열로 직렬화하여 AJAX 요청으로 서버에 전송 배열을.. 공감수 0 댓글수 0 2024. 6. 17.
  • [javaScript] 3개월 전 날짜 구하기 / Date 객체의 프로토타입 메서드 확장 Date 객체의 모든 인스턴스에서 사용할 수 있는 새로운 메서드 yyyymmdd를 정의해보았다.Date.prototype.yyyymmdd = function(month) { // 현재 날짜에서 month를 뺀 새로운 날짜 생성 let date = new Date(this); date.setMonth(date.getMonth() - month); // 년, 월, 일 값을 가져와서 두 자리 형식으로 변환 let yyyy = date.getFullYear().toString(); let mm = (date.getMonth() + 1).toString().padStart(2, '0'); let dd = date.getDate().toString().padStart(2.. 공감수 0 댓글수 0 2024. 6. 5.
  • [egov] dispacther-servlet.xml / 로그인 체크 Interceptors 설정 1. web.xml 설정 appServlet org.springframework.web.servlet.DispatcherServlet contextConfigLocation /WEB-INF/config/egovframework/springmvc/dispatcher-servlet.xml 1 action *.do2. dispacther-servlet.xml 설정 3. AuthenticInterceptor.xml 설정 // 세션인증방식package com.example;import javax.servlet.http.HttpServletRequest;import javax.se.. 공감수 1 댓글수 2 2024. 5. 28.
  • [excel] 날짜 형식 변환 (TEXT 함수, YYYY-MM-DD) TEXT 함수를 사용하면 서식 코드를 사용하여 숫자에 서식을 적용하는 방식으로 숫자 표시 방법을 변경할 수 있습니다. 이 함수는 숫자를 더 읽기 좋은 형식으로 표시하거나 숫자를 텍스트 또는 기호와 결합하려는 상황에서 유용합니다.  =TEXT(서식을 지정할 값, "적용할 서식 코드") 수식설명=TEXT(1234.567,"$#,##0.00") 1000 단위 구분 기호 및 소수점 두 자리가 있는 통화(예: $1,234.57). Excel에서 값을 두 개의 소수 자릿수로 반올림함을 알 수 있습니다. =TEXT(TODAY(),"YYYY/MM/DD")YYYY/MM/DD 형식의 오늘 날짜(예: 2024/05/03) =TEXT(TODAY(),"YYYY-MM-DD") YYYY-MM-DD 형식의 오늘 날짜(예: 2024-.. 공감수 1 댓글수 0 2024. 5. 3.
  • [python] 문자열 슬라이싱 문자열 슬라이싱 String[start:end:step] start: 부분 문자열의 시작 인덱스입니다. 이 인덱스의 문자는 부분 문자열에 포함됩니다. 시작 인덱스를 생략하면 기본값인 0이 지정됩니다. end: 부분 문자열의 끝 인덱스입니다. 이 인덱스의 문자는 부분 문자열에 포함되지 않습니다. end가 생략되거나 지정된 값이 문자열 길이를 초과하면 기존 문자열의 길이와 동일하다고 가정합니다. step: 현재 문자에서 step간격으로 문자를 추출합니다. step을 생략하면 기본값인 1로 설정됩니다. >>> mystring = 'hello world' >>> len(mystring) 11 >>> 다음 코드를 실행하면 11이라는 값이 반환되는데, 이는 ‘hello world’라는 문자열이 총 11개의 글자로 .. 공감수 1 댓글수 4 2024. 4. 8.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.