화이트박스 테스트 화이트 박스 테스트는 모듈의 원시 코드를 오픈 시킨 상태에서 원시코드의 논리적인 모든 경로를 테스트하여 테스트 케이스를 설계하는 방법 1) 기초 경로 검사 - 테스트 케이스 설계자가 절차적 설계의 논리적 복잡성을 측정할 수 있게 해주는 테스트 기법 2) 제어 구조 검사 - 조건 검사 / 루프 검사 / 데이터 흐름 검사 블랙 박스 테스트 블랙 박스 테스트는 소프트웨어가 수행할 특정 기능을 알기 위해서 각 기능이 완전히 작동되는 것을 입증하는 테스트 - 동치 분할 검사 : 프로그램의 입력 조건에 타당한 입력자료와 타당하지 않은 입력 자료 개수를 균등하게 하여 테스트 케이스를 정하고, 해당 입력 자료에 맞는 결과가 출력되는지 확인하는 기법 - 경계값 분석 : 입력 조건의 중간값보다 경계값에서..
전체 글
Data Engineering과 Cloud Native 기술에 대해 Dive Deep 하는 만능 플랫폼 엔지니어가 되는 것을 목표로 하고 있습니다. 경험했던 내용과 공부했던 내용을 기록합니다. 🐻❄️☁️https://leetcode.com/problems/3sum/ 3Sum - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 1. 시간초과난 브루트 포스 풀이 ㅋㅋ -10^5 0 and nums[i] == nums[i-1] 조건문을 각각의 for문에 넣어주었더니 통과했다 class Solution: def threeSum(self, nums: List[int]) -> List[List[int]]: result = [] n = len(nums) nums.sort()..
https://www.acmicpc.net/problem/21610 21610번: 마법사 상어와 비바라기 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기 www.acmicpc.net 삼성기출에 있는 문제 ! 유형 : 구현 조건이 여러개가 있는데 하나씩 문제를 잘! 읽으면서 구현해야 될듯 처음에 놓쳐서 삽질한게 몇개 있다 - 1번행과 n번행이 이어져있는 걸 까먹고 구름 이동할때 배열 인덱스 초과하면 어떡하지 ? 혼자 고민했다 - 그리고 대각선 거리 1에 물이 있는 바구니 수를 세서 바구니 수 만큼 물을 더해주는 것 자잘한 부분에서 실수할 수 있는 것 같지만 다른 삼성 기..
https://www.acmicpc.net/problem/1935 1935번: 후위 표기식2 첫째 줄에 피연산자의 개수(1 ≤ N ≤ 26) 가 주어진다. 그리고 둘째 줄에는 후위 표기식이 주어진다. (여기서 피연산자는 A~Z의 영대문자이며, A부터 순서대로 N개의 영대문자만이 사용되며, 길이 www.acmicpc.net stack 자료구조형을 사용해서 풀었다 1. 숫자면 stack에 쌓는다 단 여기서는 숫자대신 ABC... 알파벳 대문자로 표기하고 있는데 이를 ord() 함수를 사용해서 아스키코드 값을 출력해준다 A가 아스키코드로 65이므로 이를 뺀 값으로 피연산자들을 모은 리스트의 인덱스로 사용했다 ex) num[ord('A') - 65] 2. 연산자면 pop 두번해서 피연산자들 꺼내고 연산한다 3...
서비스 거부 공격 Dos:Denial of Service 1) Ping of Death Ping 명령을 전송할 때 패킷의 크기를 인터넷 프로토콜 허용 범위 이상으로 전송하여 공격 대상의 네트워크를 마비시키는 서비스 거부 공격 방법 2) SMURFING 스머핑 스머핑은 IP나 ICMP의 특성을 악용하여 엄청난 양의 데이터를 한 사이트에 집중적으로 보냄으로써 네트워크를 불능 상태로 만다는 공격 방법 3) SYN Flooding TCP 는 신뢰성 있는 전송을 위해 3-way handshake 를 거친 후에 데이터를 전송하게 되는데, SYN Flooding은 공격자가 가상의 클라이언트로 위장하여 3-way-handshaking 과정을 의도적으로 중단시켜서 공격 대상지인 서버가 대기 상태에 놓여 정상적인 서비스를..
Secure SDLC (Software Development Life Cycle) SDLC에 보안 강화를 위한 프로세스를 포함한 것 방법론 1) CLASP : SDLC 초기 단계에서 보안을 강화하기 위해 개발된 방법론 2) SDL : 마이크로소프트 사에서 안전한 개발을 위해 SDLC를 개선한 방법론 3) Seven touchpoints : 소프트웨어 보안의 모범사례를 SDLC에 통합한 방법론 소프트웨어 개발 보안 요소 기밀성 : 시스템 내의 정보와 자원은 오직 인가된 사용자만 접근할 수 있음 무결성 : 시스템 내의 정보는 오직 인가된 사용자만 수정할 수 있음 가용성 : 인가된 사용자는 시스템 내의 정보와 자원을 언제든지 사용할 수 있음 SQL 삽입 injection 웹 응용 프로그램에 SQL을 삽입하여 ..
https://www.acmicpc.net/problem/25591 25591번: 푸앙이와 종윤이 베다수학 곱셈법을 쓰는 과정에서 구하는 $a$, $b$, $c$, $d$, $q$, $r$을 첫 줄에 공백으로 구분해서 출력한다. 둘째 줄에 곱셈 결과의 앞의 두 자릿수, 뒤의 두 자릿수를 공백으로 구분해서 출력한다. www.acmicpc.net 어제 CPC(중앙대 프로그래밍 대회) 열린대서 구경가봤다.. 대회 첨 참여해보는데 실시간으로 랭킹 두두두두 올라가고 ㅋㅋ 신기하고 재밌는 경험이었다 사실 하나 풀고 릿코드 감 문제는 구현문제이고 딱히 어려운건 아닌데 문제를 읽고 빨리 이해하는 능력이 중요한것 같다.. 코테나 대회에서는 ! # a n, m = map(int, input().split()) a = 10..
https://leetcode.com/problems/trapping-rain-water/ Trapping Rain Water - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 백준에도 빗물이라는 문제가 있는데 동일하다 https://www.acmicpc.net/problem/14719 14719번: 빗물 첫 번째 줄에는 2차원 세계의 세로 길이 H과 2차원 세계의 가로 길이 W가 주어진다. (1 ≤ H, W ≤ 500) 두 번째 줄에는 블록이 쌓인 높이를 의미..