IT 지식
-
객체지향 프로그래밍 - 캡슐화(encapsulation)IT 지식 2021. 3. 21. 11:37
객체 지향 프로그래밍 객체 지향 프로그래밍(영어: Object-Oriented Programming, OOP)은 컴퓨터 프로그래밍의 패러다임 중 하나이다. 객체 지향 프로그래밍은 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, 즉 "객체"들의 모임으로 파악하고자 하는 것이다. 각각의 객체는 메시지를 주고받고, 데이터를 처리할 수 있다. 객체 지향 프로그래밍은 프로그램을 유연하고 변경이 용이하게 만들기 때문에 대규모 소프트웨어 개발에 많이 사용된다. 또한 프로그래밍을 더 배우기 쉽게 하고 소프트웨어 개발과 보수를 간편하게 하며, 보다 직관적인 코드 분석을 가능하게 하는 장점을 갖고 있다. 그러나 지나친 프로그램의 객체화 경향은 실제 세계의 모습을 그대로 반영하지 못한다는 ..
-
웹소켓에 대한 이해IT 지식 2021. 3. 14. 14:59
주니어 개발자로서 그동안 서버와 클라이언트 간의 통신은 http를 통해서만 이루어진다고 생각했었습니다. 하지만, 지금 제가 맡은 업무 중에서는 웹소켓을 통해 통신하는 방법도 있었습니다. 웹소켓은 주로 실시간 통신이 필요한 서비스를 개발할때 활용되는 방식입니다. 인터넷 자료를 찾아보시면, 채팅, 게임, 주식 등의 사례에서 웹소켓을 많이 활용하고 있다는 것을 알 수 있습니다. 오늘은 이러한 웹 소켓이 무엇인지에 대해 간략하게 이해하는 시간을 가져보도록 하겠습니다. 1. 웹 소켓의 등장 이유 초기 웹은 단순히 정보전달을 위한 문서를 보여주는 기능이 전부였습니다. http는 클라이언트의 요청에 따라 필요한 문서를 보여주기에 가장 적합하면서도 단순한 프로토콜이였죠. 하지만 인터넷과 기술이 발전하면서, 사람들은 웹..
-
암호화에 대한 이해IT 지식 2021. 3. 7. 16:34
저번 포스팅에서는 암호화가 무엇인지에 대한 소개 없이, 바로 암호화를 하는 방식에 대해 소개해드렸는데요. 오늘은 저번 시간에 이어서 암호화에 대한 이해와 그 방식에 대해 알아보는 시간을 가져보도록 하겠습니다. 1. 암호화란? 암호화라는 말의 의미는 우리가 일상적으로 쓰는 평문을 다른 사람들이 쉽게 이해할 수 없도록 암호문으로 바꾸는 과정을 말합니다. 반대로 암호화된 문장을 이해할 수 있도록 암호문을 평문으로 바꾸는 과정을 복호화 라고 합니다. 키(Key)와 알고리즘을 통해 암호화와 복호화가 이루어지며, 이러한 일련의 과정들을 암호화 시스템이라고 합니다. 2. 암호화의 방식 암호화의 방식에는 크게 대칭키 방식, 비대칭키 방식, 해쉬함수로 분류할 수 있습니다. 1) 대칭키 방식 대칭키 방식은 암호화 키와 복..
-
[TIL]자바스크립트로 암호화 하기IT 지식 2021. 2. 21. 16:11
평소 웹을 검색하다보면 로그인을 해야 하는 경우가 굉장히 많이 있습니다. 그때마다 우리가 꼭 입력해야하는 것이 바로 비밀번호인데요, 보통 사람들은 프론트에서 백으로 비밀번호를 넘겨 주면, 백엔드에서 알아서 암복호화 등의 과정을 거쳐 비밀번호를 관리해야 한다고 생각합니다. 하지만 이것은 굉장히 위험한 발상입니다. 이렇게 관리할 경우 실력있는 해커가 백엔드로 넘어가기 전의 비밀번호를 해킹할 수도 있고, 백엔드에 비밀번호가 1차적으로는 그대로 기록될 수 있기 때문에, 이 역시 해킹에 취약해집니다. 이렇기 때문에 프론트엔드에서도 암복호화를 할 수 있는 것이 중요한데요, 오늘은 자바스크립트로 간단한 암호화를 하는 방법에 대해 알아보도록 하겠습니다. crypto-js 라이브러리 활용하여 암호화 하기 암복호화 라이브..
-
웹 접근성에 대해IT 지식 2021. 2. 7. 12:19
어제 회사 동료분과 얘기를 하던 도중 웹접근성과 웹표준에 대한 이야기를 나누었습니다. 예전에 semantic tag를 배웠을 때, 웹 접근성을 고려하기 위해 semantic tag를 고려해야 한다는 피상적인 이야기만 들었는데, 이 웹접근성이 잘 지켜지지 않았을 경우에는 벌금까지 낼 수 있다는 이야기를 듣고는 좀 더 자세히 알아봐야겠다는 생각이 들었습니다. 그런 의미에서 이번주 포스팅은 바로 웹 접근성입니다. 1. 웹 접근성이란? 웹 접근성(web accessibility)은 장애인이나 고령자분들이 웹 사이트에서 제공하는 정보를 비장애인과 동등하게 접근하고 이용 할 수 있도록 보장하는 것으로 웹 접근성 준수는 법적의무사항 입니다. 출처: 한국 웹 접근성 인증 평가원 인터넷은 모든 사람들이 공평하게 이용할 ..
-
[TIL] 21/01/19 알고리즘 풀이IT 지식 2021. 1. 19. 11:59
오늘의 문제 - 프로그래머스 '체육복' 문제 소개 더보기 문제 설명 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다. 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 ..
-
[TIL] 21/01/18 알고리즘 풀이IT 지식 2021. 1. 18. 11:34
오늘의 문제 - 프로그래머스 '가운데 글자 가져오기' 문제 소개 더보기 가운데 글자 가져오기 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 제한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 sreturn abcde c qwer we 나의 풀이 초기 풀이 더보기 function solution(s) { var answer = ''; //단어를 추출하기 위해 단어를 하나하나 쪼개야 한다고 생각했습니다. let answerArr = []; s = s.split('') //그리고 가운데 글자의 위치를 파악하기 위해 중간 지점의 숫자도 설정해주었습니다. var n = parseInt((s.length - 1)..
-
[TIL] 21/01/15 알고리즘 풀이IT 지식 2021. 1. 15. 11:52
오늘의 문제 - 프로그래머스 코딩테스트 연습 '모의고사' 오늘 문제는 아쉽게도 해결하지 못해서 다른 분의 코드를 보면서 이해하는 쪽으로 공부를 했습니다. 문제 설명 더보기 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제..