전체글114 패스워드 암호화를 어떤 방식으로 하면 좋을까? 목차개요단방향 암호화 (One-Way Encryption)양방향 암호화 (Two-Way Encryption)해시함수란?MD5SHA왜 MD5와 SHA와 같은 방식으로 비밀번호를 암호화 하면 안될까?Bcrypt란?결론1. 개요일반적으로 대부분의 사이트에서는 아이디와 비밀번호로 로그인을 하고 각각 개인정보들을 데이터베이스 저장을 한다.이러한 개인정보 중 비밀번호와 같이 노출되어서는 안되는 종류들이 그대로 데이터베이스에 저장되면 어떻게 될까?정답은 당연 문제가발생한다. 이러한 개인정보는 암호화해서 데이터베이스 저장응 해야하며 어떻게 패스워드를 암호화 하는 것이 좋을지 알아보자.2. 단방향 암호화 (One-Way Encryption)특징단방향 암호화는 주로 비밀번호 저장과 같은 경우에 사용된다. 이 방법은 원본 .. 2023. 12. 15. 라이브러리 vs 프레임워크 목차라이브러리(Library)란?프레임워크(Framework)란?라이브러리 vs 프레임워크결론1. 라이브러리(Library)란?응용 프로그램 개발을 위해 필요한 기능(함수)을 모아 놓은 소프트웨어특징독립성을 가짐.(다른 라이브러리랑 의존하지 않음)응용 프로그램이 능동적으로 라이브러리를 사용.내가 작성한 프로그램이 해당 라이브러리 기능이 필요할때 호출해서 사용.예시Browser환경에서 script src 로 불러들이는 js파일(JQuery, React 등)node.js 환경에서 npm으로 설치한 모듈Python 환경에서 pip로 설치한 패키지/모듈Java 환경에서 설치한 jar2. 프레임워크(Framework)란?응용 프로그램이나 소프트웨어의 솔루션 개발을 수월하게 하기 위해 제공된 소프트웨어 환경특징상호.. 2023. 12. 14. 객체의 결합도와 응집도 목차소프트웨어의 모듈 독립성결합도 (Coupling)응집도 (Cohesion)결론1. 소프트웨어의 모듈 독립성모듈화는 복잡한 시스템을 더 작고 이해하기 쉬운 부분으로 나누는 과정을 의미한다.모듈은 소프트웨어를 각 기능별로 나누어진 소스 단위를 말한다. 독립적으로 컴파일 가능한 프로그램 혹은 하나의 함수나 클래스도 모듈이 된다.보통 좋은 소프트웨어 일수록 모듈의 독립성이 높다고 한다.좋은 모듈화는 목적에 맞는 기능만으로 모듈을 나누게 되는데, 각각의 모듈은 주어진 기능만을 독립적으로 수행하기 때문에 재사용성이 높고 코드의 이해/수정이 용이하기 때문이다.예를들어 해당 모듈을 수정하더라도 다른 모듈에 끼치는 영향이 적게 되며, 오류가 발생하더라도 기능 단위로 잘 나뉘어 져 있기 때문에 손쉽게 문제를 발견해 해.. 2023. 12. 8. Junit5은 무엇일까? 목차JUnit은 무엇인가?JUnit5은 무엇인가?JUnit5의 주요 어노테이션JUnit5의 Assertions결론1. JUnit은 무엇인가?JUnit은 자바 프로그래밍 언어용 유닛 테스트 프레임워크다.Jetbrain에서 발표한 통계에 따르면 자바 개발자의 86%가 JUnit을 사용하고 있다고 한다.2. JUnit5은 무엇인가?JUnit5에서 5는 버전을 뜻하고 2017년 2월에 출시하여 많은 자바 개발자들이 사용하고 있는 테스트 기반 프레임워크이다.JUnit5은 자바8 이상부터 사용가능하며 JUnit Platform과 JUnit Jupiter, Junit Vintage 결합한 형태라고 보면 된다.JUnit Platform: 테스트를 실행해주는 런처와 TestEngine API를 제공함.Jupiter: T.. 2023. 12. 5. @Transactional에 대해서 알아보자 목차트랜잭션이란?스프링에서 @Transactional테스트 환경에서의 @Transactional결론1. 트랜잭션이란?우리말로 ‘거래’라는 뜻을 가지고 있으며 다음과 같다.단일한 논리적인 작업 단위논리적인 이유로 여러 SQL문들을 단일 작업으로 묶어서 나눠질 수 없게 만든 것이 트랜잭션이다.트랜잭션이 SQL문들 중에 일부만 성공해서 DB에 반영되는 일은 일어나지 않는다.A가 B에게 10000원 입금을 하는 상황을 가정해보자.A는 통장에서 10000원이 출금된다.B는 통장에서 10000원이 입금된다.이처럼 2가지 작업이 모두 정상적으로 성공해야만 하나의 상황으로 묶는 것을 트랜잭션이다.모든 작업들이 성공적으로 완료 되어야 결과를 적용하고, 어떤 작업에서 오류가 발생했을 때는 이전에 모든 작업들이 성공적이었더.. 2023. 12. 4. 스프링의 등장과 스프링 부트 목차개요스프링 프레임워크의 등장스프링의 역사스프링 프레임워크의 확대스프링 부트의 등장스프링 부트의 핵심 기능 5가지스프링 프레임워크와 스프링부트1. 개요초반에는 EJB(Enterprise Java Bean)라는 기술이 자바 진영의 표준 기술로 개발시장을 독점하고 있었다. EJB의 치명적인 단점으로 코드들이 EJB에 지나치게 의존적으로 개발을 진행해야한다는 것이다. EJB가 너무 복잡하면서 의존적으로 개발이 되다 보니 순수한 자바를 사용하자는 용도로 POJO(Plain Old Java Object)라는 용어가 나올 정도로 어렵고 제한적인 기술이다. 2. 스프링 프레임워크의 등장전설의 시작..2002년 로드 존슨이 EJB의 비즈니스 자체의 복잡함의 문제점을 지적하며 (J2EE Design and Develo.. 2023. 11. 30. 이전 1 ··· 6 7 8 9 10 11 12 ··· 19 다음