개발 335

List 와 Array

리스트(List)와 배열(Array)에 관하여 혼동하여 많이 사용하였습니다. 이 2가지의 차이가 무엇이 있는가.... 에 대해 찾아보니 너무 잘 정리해놓은 블로그가 있는데 https://wayhome25.github.io/cs/2017/04/17/cs-18-1/ 배열(Array)과 리스트(List) · 초보몽키의 개발공부로그 자바의 배열은 기능적으로 한계가 많습니다. 배열의 크기를 배열을 생성할 때 지정하는 것이나, 배열의 크기를 변경할 수 없는 것은 몹시 불편한 일입니다. 또 배열에서 설정된 엘리먼트의 개수를 알아낼 수 없는 것도 불편합니다. 그렇다고 배열이 쓸모가 없는 것은 아닙니다. 데이터의 크기가 확정적일 때 배열을 사용하는 것이 메모리나 처리속도 면에서 좋습니다. 또한 배열은 다른 데이터 스트럭..

개발/잡다개발 2019.09.10

XSS 란

XSS(Cross-site Scripting)란 무엇일까요? SQL injection와 같이 함께 고전적인 취약점 공격 방법입니다. 사이트에 스크립트를 삽입하는 방법인데 게시판에 뭐 이런 스크리트를 삽입하는 방법입니다. 자, 이런 방법을 사용하여, 쿠키나 세션 등을 탈취합니다. 다른 사용자의 쿠키나 세션을 탈취하면, 그 사용자인 것 처럼 권한을 얻어, 다양한 공격을 시도할 수 있습니다.

개발/잡다개발 2019.09.03

SQL INJECTION

SQL Injection 은 쌍팔년도부터 사용된 굉장히 오래된 해킹 기법입니다. 굉장히 원리는 간단합니다. 유저는 로그인을 할 때 ID와 Password를 사용하여, 로그인을 진행합니다. 그렇다면 로그인 할 때 사용한 ID와 Password가 당연히 DB에 저장이 되겠죠? DB로 데이터를 던질 때, 정상적인 user id 와 password를 던지는 것이 아니라 SELECT user FROM user_table WHERE id='admin' AND password=' ' OR '1' = '1'; 와 같은 쿼리문을 던져서, 이 아이디와 패스워드가 맞다고 db에서 인식하게 하여 해킹을 시도하는 방법입니다. 방어하는 방법은 처음에 로그인을 할 때, 이게 진짜 로그인 아이디와 비밀번호 form이 맞는지 검증해주..

개발/잡다개발 2019.09.02

hadoop 하둡이란

여기 귀엽게 생긴 코끼리와 함께 있는 하둡이라는 것을 알아봅니다. 여기저기 지나다니면서 하둡이라고 몇번 들어봤는데 빅데이터 분석을 할 수 있는 소프트웨어라고 합니다. 좋은 컴퓨터 하나로 모든 것을 연산하는 대신, 여러대 컴퓨터를 병렬로 이용해서 처리 속도를 올리는 분산처리 프레임워크입니다. 얘가 알아서 데이터 유실을 방지해주고, 데이터 무결성을 유지하고 등등 빅테이터 처리를 할 때 손이 많이가는 부분을 대부분 해줍니다. 항상 모든 것에는 장단점이 있죠 장점부터 볼까요 오픈소스라 공짜 저렴한 구축 비용 일부 장애가 생겨도, 모든 데이터가 손상되는 것이 아님 뭐 이런 장점들이 있는데 단점은 무엇일까요? HDFS에 저장된 데이터 변경 불가(장점이라고 할 수도 있겠네요) 세팅하기 귀찮음(전문적으로 세팅해주는 업..

개발/잡다개발 2019.08.19

비밀번호 암호화

그냥 심심해서 비밀번호는 어떻게 저장되는지가 궁금해서 써봅니다. 아이디가 : abc 비밀번호가 a1s2d3f4 라고 했을 때 서버에 비밀번호로 "a1s2d3f4" 이렇게 평문으로 저장하는 경우는 없고, 다 암호화된 값으로 저장하겠죠? 예전에는 있었다고 들었습니다... 자, 그렇다면 여러가지 비밀번호 암호화 알고리즘 같은 것들이 있을텐데, 뭐가 있을까요? 1. 단방향 해시 단방향 해시 라는 것이 있는데 "a1s2d3f4" 라는 비밀번호를 넣으면 "asdf122fasdl;vkavcj3810" 뭐 이런 것으로 변환된다고 합니다. 서버가 털린다고 하더라도, 내 비밀번호 "a1s2d3f4"가 그대로 노출되지 않습니다만 단방향 해시는 변환되는 값이 정해져있기 때문에 "asdf122fasdl;vkavcj3810"에서..

개발/잡다개발 2019.08.19

RESTful API란

RESTful API라고 굉장히 많이 들어봤습니다. REST(REpresentational State Transfer)의 뜻에 대해 알아보려고 하는데 좀 더 자세한 설명은 아래의 링크에 잘 정리되어 있어서 퍼왔습니다. https://brainbackdoor.tistory.com/53 RESTful API란 ? 개발 공부를 시작하고 자주 접하고 그냥 지나친 개념 중에 하나이다. 면접 질문으로도 자주 나온다고 하고, 실제로 채용공고 필요 역량에도 REST 등 인터넷 기반 프로토콜/ 기술에 대한 이해를 요구하고 있는 기.. brainbackdoor.tistory.com 저는 간단하게 설명해보려고 합니다. REST의 특성으로 여러가지가 있는데 1) 유니폼 인터페이스(Uniform Interface) 2) Sta..

개발/잡다개발 2019.08.18