일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 보안
- php
- centOS7
- 작업물 #영상편집 #서브컬쳐
- 코딩테스트
- 키워드 정리
- 기타정리
- 카카오가고싶다
- 작업물
- 일상
- 메모
- 에러해결
- ratchet
- php-fpm
- AWS
- 개인공부
- php artisan
- 시벌이슈
- 네이버싫어
- Backend
- 키워드
- linux #centos
- NGINX
- 복습 #회사
- centOS
- laravel
- MySQL
- vagrant
- error
- jquery
- Today
- Total
목록프로그래밍 (78)
개발을 간바루Joy 하게
어느 한 문제에 대하여 많은 해답이 있을 수 있다. 수학 문제만 하더라도 여러 풀이 방법이 존재한다. 예시로 1부터 100까지 더한 값을 구하라는 문제를 푼다면. 어떤 사람은 1부터 100까지 하나씩 더하는 사람이 있고 (1+100) + (2+99) + (3+98) + ... = 101*50 = 5050 와 같은 방법으로 푸는 사람도 있을 것이다. 어느 풀이 방식이 효율적일까? 당연히 두 번째 풀이 방식이 더 빠르고 간단하게 풀 수 있으므로 효율적이다. 알고리즘도 이와 마찬가지로 어느 한 문제에 대하여 많은 방법이 존재한다. 앞 절에서 자료구조에 따라 적용가능한 알고리즘이 다르다고 하였다. 같은 문제라도 어떤 자료구조를 사용하고 어떤 알고리즘을 선택하느냐에 따라 프로그램의 성능은 달라지게 된다. 프로그램..
//DOS(denial-of-service) 공격 이란? DOS는 번역하면 서비서 거부 공격으로 특정한 네트워크나 웹서비스에 정상적인 유저가 접근하지 못하도록 방해하는 것입니다. 일반적으로는 막대한 트래픽을 통해 웹서버에 과부하를 건다거나, 악의적인 요청을 보내 해당 리소스가 오작동을 일으키거나 정지시킵니다. 통상적으로 DOS공격은 유명한 사이트, 은행, 신용카드 지불 게이트웨이, 루트 네임서버 상대로 이루어집니다. // DDOS(Distributed Denial-of-Service)공격이란? DDOS는 번역하면 분산 서비스 거부 공격으로 기본적으로 DOS공격과 비슷하나 DOS공격은 단일 소스에서 공격하는 반면 DDOS 공격은 공격자가 여러대의 좀비pc를 사용하여 분산적으로 공격하는 방법입니다. DOS공..
//캐싱이란? 캐싱(Caching)은 캐시(Cache)라고 하는 좀더 빠른 저장메모리에 메모리들을 저장하고 접근하는 방식을 말합니다. 예를들면 과자를 먹으려면 먹을때마다 새봉지를 하나씩 뜯어야하는데 이과자를 좀더 빠르게 먹기 위해 새봉지를 뜯어 보관통에 보관해두고 먹고싶을때마다 보관통에서 꺼내먹으면 되는것처럼 매번 로딩을 해야 하는 파일들을 미리 로딩해두고, 응답을 해줄수 있는데 이를 캐싱(Caching)한다. 라고 말합니다. //캐싱의 종류 https://mingrammer.com/translation-the-hidden-components-of-web-caching/ 불러오는 중입니다...
자료형(data type)이란, 데이터의 집합과 연산의 집합을 의미한다. 종류로는 크게 두 가지로 나뉜다. 1. 기본 데이터 타입: 프로그램 내에서 기본적으로 제공하는 자료형으로, 정수형, 실수형, 문자형, 문자열 등이 있다. 2. 추상 데이터 타입(ADT: Abstract Data Type): 데이터 타입을 추상적(수학적)으로 정의한 것으로, 데이터나 연산이 무엇(what)인지는 정의되지만 데이터나 연산을 어떻게(how) 컴퓨터 상에서 구현할 것인지는 정의되지 않는다. 우리가 알아볼 스택(stack), 큐(queue), 트리(tree) 등은 우리가 직접 만들어서 사용하는 추상 데이터 타입의 예시이다. 사용자 입장에서는 ADT가 어떻게 구현되었는지 알 필요도 없다. 또한 캡슐화를 통해 정보 은닉을 했으므..
1.캐싱전략(백엔드 캐시 컨트롤 방법) laravel 에서 제공하는 memcache를 사용하고 있으며, 처음 화면이미지 로딩할때 s3에서 캐쉬로 저장하여 쓰고있다. 2. DOS, DDOS 방어는 어떤 방식으로? 비정상적인 라우트 요청이 들어올때 요청수를 제한시킨후 라우팅이 들어온 해당 ip주소를 차단시킨다. 3. 암호화 방법과 적용해야 하는 부분들 특정 문자열을 넣었을때 암호화 알고리즘을 통해 복잡한 문자열로 치환된다. 암호화에 적용해야될 부분들은 비밀번호 등 각종 민감한 개인정보에는 단방향 암호화가 적용되고 DB를 select를 하여 컬럼을 조회를 했을때 특정 컬럼이 검색이 안되게 할때 는 양방향 암호화가 쓰인다. 4. 사이트 성능 개선방법-프론트엔드 js,css등 불필요한 코드들제거, 배포할때는 압축..
일상생활에서 우리는 무언가를 정리하는 방법이 많이 존재한다. 그릇을 쌓아서 보관하거나, 사전에는 단어들이 정리되어있고, 마트 계산대에서는 줄을 서는 것과 같이 우린 어떤 사물들을 매번 정리하는 많은 방법들을 이용한다. 이와 마찬가지로 프로그램 내에서도 자료(data)를 정리하여 보관하는 많은 구조가 있다. 그 구조를 우린 "자료구조(data structure)"라고 한다. 자료를 저장했으면, 그 자료를 통해 주어진 문제를 해결해야 한다. 사전을 통해 우리는 모르는 단어를 찾듯이 프로그램에서도 자료를 통해 어떤 문제를 해결하는 절차가 존재한다. 그 절차를 알고리즘(algorithm)이라고 부른다. 즉, 프로그램은 자료구조와 알고리즘으로 이루어져있다. 그렇다면 프로그램 내부의 모든 명령어는 알고리즘이라고 할..