로고 이미지

고정 헤더 영역

글 제목

메뉴 레이어

로고 이미지

메뉴 리스트

  • 홈
  • 신시 人사이드
  • 분류 전체보기 (50) N
    • 신시웨이 인사이드 (16)
    • 보안 이슈 및 동향 (11) N
    • IT 동향 (1)
    • IT 일반 (7)
    • 기획 연재 (7)
    • 신시호(The Weekly IT News) (2) N
    • 이벤트 (6)

검색 레이어

로고 이미지

검색 영역

컨텐츠 검색

IT 일반

  • 문자열 처리 함수 strstr, strcasecmp Tip

    2020.12.08 by 신시웨이 | 공식 블로그

  • 암호화 패딩(Padding) & Base64 Encoding

    2020.12.07 by 신시웨이 | 공식 블로그

  • Java Object to CSV

    2020.11.26 by 신시웨이 | 공식 블로그

  • 대용량 처리를 위한 Virtual Scrolling

    2020.11.04 by 신시웨이 | 공식 블로그

  • REST 살펴보기

    2020.10.07 by 신시웨이 | 공식 블로그

  • 쿠버네티스 기본 개념

    2020.09.04 by 신시웨이 | 공식 블로그

  • CORS (Cross-Origin Resource Sharing) 이슈

    2020.08.31 by 신시웨이 | 공식 블로그

문자열 처리 함수 strstr, strcasecmp Tip

C/C++ 개발을 하면서 문자열 처리 함수를 사용할 때 원치 않는 결과를 얻는 경우가 있습니다. 이러한 데에는 여러 가지 상황이 있지만 가장 많이 범할 수 있는 상황은 고려하지 않았던 상황이 발생한 경우와 함수 내부 동작을 정확히 알지 못하는 경우에 문제가 발생합니다. 후자의 한 가지 예로 strcasecmp 함수를 들 수 있습니다. 이 함수의 내부 동작을 정확히 아는 개발자가 많지는 않을 것입니다. “_”(95)와 “A”(65) 두 문자열을 strcasecmp로 비교하면 어느 문자열이 크다고 나오는지 아시나요? 대부분의 개발자들은 아스키코드 표에 따라 “_”가 “A” 보다 크다고 이야기하겠지만 결과는 반대입니다. strstr : 스트링 안에서 원하는 스트링을 찾는 함수 strcasecmp : 비교할 스..

IT 일반 2020. 12. 8. 22:09

암호화 패딩(Padding) & Base64 Encoding

블록암호화(CBC, ECB, CFB, OFB)는 평문에 연속되는 Key Stream을 적용하여 1bit씩 암호화하는 스트림 암호화와 달리 블록 단위로 암호화가 이뤄지게 된다. 블록 암호화에는 CBC, ECB, CFB, OFB 모드가 있고 이때 CFB, OFB는 블록 암호화를 스트림 암호화처럼 구성해 평문과 암호문의 길이가 같기 때문에 패딩이 필요 없지만, CBC, ECB는 암호문이 블록의 배수가 되기 때문에 복호화 후 평문을 알기 위해서 Padding을 사용해야 한다. 즉, 패딩(padding)이란 암호화 하고자 하는 데이터가 블록의 길이보다 부족할 경우 패딩을 사용하여 완전한 블록단위로 만들어준 후 암호화를 해야 한다는 것이다. [아카데미] - 신입 보안 관리자가 꼭 봐야 할 암호화 상식 Ⅰ 신입 보안..

IT 일반 2020. 12. 7. 23:38

Java Object to CSV

Jackson 라이브러리를 사용하면 자바 객체에 담긴 내용을 Json 뿐만 아니라 CSV(Comma-Separated Values)로도 전환 할 수 있습니다. CSV는 엑셀로 파일을 바로 열어보려는 요구에서 주로 사용 되는데 자바 객체에 담긴 내용을 CSV로 전환하고 파일로 저장하는 방법을 알아 보고자 합니다. pom.xml jackson-databind, jackson-dataformat-csv를 추가한다. 그러나 jackson-databind에는 jackson-core, jackson-annotation 의존성이 있어, jackson-databind 만 있어도 된다. com.fasterxml.jackson.core jackson-databind com.fasterxml.jackson.dataforma..

IT 일반 2020. 11. 26. 16:02

대용량 처리를 위한 Virtual Scrolling

1990년대의 CS 모델 프로그램들이 2000년대 이후에는 Web 모델 프로그램들로 전환이 많이 이루어지고 있습니다. 이러한 추세에 맞추어 대량의 데이터를 처리하는 알고리즘 및 기법들도 새로운 환경에 변화되고 있습니다. 일반적으로 데이터베이스에 저장된 데이터를 조회하여 사용자 화면에 표출할 때 조회한 데이터를 그리드 페이지에 출력하여 페이징 처리하게 되는데 이때 대량의 데이터를 조회하여 출력할 경우 스크롤 이동 시 딜레이 현상이 발생하게 되는데 이러한 현상을 개선하고 최소화하기 위해 Virtual Scrolling 기법이 많이 활용되고 있습니다. 우리가 Web browser로 대량의 데이터를 다룰 때 화면에 표기되는 html element들을 오브젝트 개수만큼 생성하게 되면 클라이언트 자원을 많이 소모하..

IT 일반 2020. 11. 4. 13:56

REST 살펴보기

단순히 하나의 브라우저만 지원하던 예전과 달리, 멀티 플랫폼, 멀티 디바이스 사용이 당연시되는 지금의 서버 프로그램은 여러 웹브라우저뿐만 아니라 아이폰, 안드로이드 등의 어플리케이션과의 통신에도 대응해야 한다. 특정 플랫폼이나 디바이스에 의존적인 서버를 만들지 않기 위해서는 범용적인 사용성을 보장하는 서버 디자인이 필요하다. 이를 위해 고안된 것이 REST 이다. REST의 기본 원칙을 성실히 지킨 서비스 디자인을 “RESTful 하다.” 라고 표현하며, 이러한 원칙을 지켜서 설계된 API를 “Rest API”라고 한다. REST는 Representational state transfer의 약자로, 월드와이드웹과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처 스타일이다. 이는 Hypermedi..

IT 일반 2020. 10. 7. 21:28

쿠버네티스 기본 개념

최근 컨테이너 가상화 기술이 발달하면서 DB보안 또한 컨테이너 기술에 맞는 환경 구축을 요구하는 고객사자 점차 증가하고 있고, 최근 고객사 환경이 AKS(Azure Kubernetes Service) 기반 Docker Container에 Weblogic이 설치된 MS Azure Cloud 환경에서 DB 접근 제어 솔루션을 gateway 방식으로 접속하여 DB에 접속하는 방식으로 구성해야 한다는 요구사항이 있었습니다. 해당 요구사항의 출발점은 WAS가 여러 곳에서 DB로 접속되는 포인트를 Gateway를 통하여 하나의 IP에서 DB로 접속해야 된다는 요구사항이었고 WAS의 가용성을 최대한 보장하라는 것이었습니다. 위 요구사항을 충족하기 위해서 다음과 같은 시스템 구성을 했습니다. 그림에서 보는 바와 같이 ..

IT 일반 2020. 9. 4. 00:10

CORS (Cross-Origin Resource Sharing) 이슈

CORS(Cross-origin resource sharing) 이슈는 웹 개발 초기에 누구나 한 번쯤 겪을 수 있는 상황입니다. 필자의 경우 기존 개발 환경에서 vue.js를 도입 하였을 때 아래와 같은 경고 문구를 보며 당황했던 기억이 있습니다. 이번 기회에 경고 문구를 뜯어보며 CORS에 대해 한 발짝 다가가 볼까 합니다. Access to XMLHttpRequest at ‘http://192.168.xxx.xxx:8080/api/sign/login’ from origin ‘http://localhost:8080’ has been blocked by CORS policy: Response to preflight request doesn’t pass access control check: No ‘Ac..

IT 일반 2020. 8. 31. 15:17

페이징

이전
1
다음
이용 약관 개인정보보호정책 뉴스레터 신청

서울특별시 송파구 법원로 9길 26(문정동) 에이치비지니스파크 D동 4층 T (02) 6281-9613

ⓒ 2020 SINSIWAY. All rights reserved.

페이스북 인스타그램 유투브 메일

티스토리툴바