반응형

전체 글 156

공인중개사 2차 기출 문제은행 - 시험 추가

안녕하세요. 공인중개사 2차 A형 기출 문제은행, 시험 서비스가 추가되어 소개드려요! 기존 정보처리기사필기, 정보보안기사, 리눅스마스터2급, 공인중개사 1차 A형에 이어 공인중개사 2차 A형을 문제은행에 추가되어 소식을 알리기 위해 글을 씁니다! 앞으로도 매주마다 최대한 많은 문제를 넣으려고 노력하고 있습니다! 혹시라도 원하는 과목이 있다면 언제든지 댓글 또는 메일을 통해 말씀해주시면 빠른 시일내로 준비하도록 할게요! 문제은행 사용 방법 서비스는 크게 3가지로 시험기능, 추천문제, 랜덤모의고사가 있으며 로그인 시에는 풀었던 내용의 통계까지 제공하고 있어요! 아래 URL 링크를 통해 문제은행 서비스를 이용가능해요! https://www.exambomb.com 기사시험 문제은행(기출, 필기, 실기, 공무원,..

문제은행기출 2023.09.27

공인중개사 1차 A형 문제은행 기출 - 시험 추가

안녕하세요. 공인중개사 1차 A형 기출문제, 시험 서비스가 추가되어 소개드려요! 기존 정보처리기사필기, 정보보안기사, 리눅스마스터2급에 이어 공인중개사 1차 A형을 문제은행 또한 추가되어 많은 이용 부탁드립니다! 사용하시면서 필요한 점, 또는 개선이 필요한 점은 언제든지 말씀해주시면 감사하겠습니다 문제은행 사이트 소개 서비스는 크게 3가지로 시험기능, 추천문제, 랜덤모의고사가 있고 로그인 시에는 풀었던 내용의 통계까지 제공하고 있어요! 아래 URL 링크를 통해 문제은행 서비스를 이용가능해요! https://www.exambomb.com 기사시험 문제은행(기출, 필기, 실기, 공무원, 자격증) | 기출/문제 기사, 공무원, 군무원, 경찰 시험 및 자격증 시험대비 문제은행과 기출을 제공해요. 기출모의고사, ..

문제은행기출 2023.09.16

리눅스마스터2급 문제은행 기출 - 시험 추가

안녕하세요. 리눅스마스터2급 기출문제, 시험 서비스가 추가되어 소개드려요! 기존 정보처리기사필기, 정보보안기사에서 새로 리눅스마스터2급을 문제은행 또한 추가되어 많은 이용 부탁드립니다! 사용하시면서 필요한 점, 또는 개선이 필요한 점은 언제든지 말씀해주시면 감사하겠습니다 문제은행 사이트 소개 서비스는 크게 3가지로 시험기능, 추천문제, 랜덤모의고사가 있고 로그인 시에는 풀었던 내용의 통계까지 제공해요 아래 URL 링크를 통해 문제은행 서비스를 이용가능해요! https://www.exambomb.com 기사시험 문제은행(기출, 필기, 실기, 공무원, 자격증) | 기출/문제 기사, 공무원, 군무원, 경찰 시험 및 자격증 시험대비 문제은행과 기출을 제공해요. 기출모의고사, 시험, 시험문제풀기, 랜덤테스트 등 ..

문제은행기출 2023.09.16

리눅스 파일 내용 비교 diff 명령어 | Bandit Level 17 -> Level 18

문제 Level17. There are 2 files in the homedirectory: passwords.old and passwords.new. The password for the next level is in passwords.new and is the only line that has been changed between passwords.old and passwords.new NOTE: if you have solved this level and see ‘Byebye!’ when trying to log into bandit18, this is related to the next level, bandit19 리눅스 diff 명령어 diff 명령어는 두 파일을 한 줄씩 비교할 수 있는 명령어..

Bandit 2023.09.06

리눅스 ncat SSL 네트워크 통신 | Bandit Level 15 -> Level 16

문제 Level 15. The password for the next level can be retrieved by submitting the password of the current level to port 30001 on localhost using SSL encryption. Helpful note: Getting “HEARTBEATING” and “Read R BLOCK”? Use -ign_eof and read the “CONNECTED COMMANDS” section in the manpage. Next to ‘R’ and ‘Q’, the ‘B’ command also works in this version of that command… localhost 30001 으로 SSL 암호화를 사용..

Bandit 2023.09.03

리눅스 nc 데이터 전송 명령 | Bandit Level 14 -> Level 15

문제 Level 14. The password for the next level can be retrieved by submitting the password of the current level to port 30000 on localhost. 리눅스 nc 명령어 nc(NetCat) 설명 nc는 NetCat의 약자로 TCP 또는 UDP 프로토콜을 사용하는 네트워크 환경에서 데이터를 읽/쓰기를 하는데 사용되는 프로그램이다. 추가적으로 특정 서버의 포트 오픈을 확인하는데에도 사용되고, 방화벽 확인을 할 수도 있다. 하지만 포트를 특정지어 연결을 확인해야하니 확실한 포트랑 연결할 때 사용할 것 같다. nc 사용법 nc [옵션] [IP] [PORT] nc 옵션 종류 default : tcp로 IP / PORT..

Bandit 2023.09.02

리눅스 ssh key 접속 / RSA 공개키 암호화 | Bandit Level 13 -> Level 14

문제 Level 13. The password for the next level is stored in /etc/bandit_pass/bandit14 and can only be read by user bandit14. For this level, you don’t get the next password, but you get a private SSH key that can be used to log into the next level. Note: localhost is a hostname that refers to the machine you are working on. /etc/bamdit_pass/bandit14 에 패스워드가 저장되어있지만, bandit14만 읽기 권한이 있다. 이 단계에선 다음 ..

Bandit 2023.09.01

리눅스 압축 풀기 gzip, tar, bzip2 | Bandit Level 12 -> Level 13

문제 level12. The password for the next level is stored in the file data.txt, which is a hexdump of a file that has been repeatedly compressed. For this level it may be useful to create a directory under /tmp in which you can work using mkdir. For example: mkdir /tmp/myname123. Then copy the datafile using cp, and rename it using mv (read the manpages!) 오늘은 문제를 풀기위해서 필요한 내용이 굉장히 단순해요! 하지만 좀 푸는 과정이..

Bandit 2023.08.31

리눅스 문자 변환, 삭제 명령어 tr | Bandit Level 11 -> Level 12

문제 Level 11. The password for the next level is stored in the file data.txt, where all lowercase (a-z) and uppercase (A-Z) letters have been rotated by 13 positions 이 문제를 풀기 전에 알아야 할 리눅스 명령어를 공부해보도록 해요! 문제를 풀은 과정의 비하인드는 아래에 말해드리죠....ㅠㅠ 리눅스 tr 명령어 리눅스의 tr 명령어는 특정 문화를 변환 또는 삭제할 수 있게 해주는 명령어입니다! 지정한 문자 패턴을 변환 전과 변환 후를 특정하여 사용할 수 있습니다! tr 사용법 tr [옵션] [변환 전] [변환 후] tr 옵션별 사용법 default : 특정 문자열을 특정 문자열..

Bandit 2023.08.31

Bandit Level 9 -> Level 10 -> level 11 | 리눅스 문자만 추출 strings, base64 인코딩

문제 Level 9. The password for the next level is stored in the file data.txt in one of the few human-readable strings, preceded by several ‘=’ characters. Level 10.The password for the next level is stored in the file data.txt, which contains base64 encoded data 풀이 level 9 는.... 솔직히 말해서 정확한 풀이법을 모르겠어서.. 좀 알아봤습니다..(정답은 찾았지만 그래도 좀 더 완벽하게..ㅠㅠ) level 10의 data.txt 파일은 매우 지저분한 파일형태로 존재합니다.(binary 파일?!) ..

Bandit 2023.08.31

Bandit Level 8 -> Level 9 | 리눅스 중복 단어 제거 sort, uniq

문제 The password for the next level is stored in the file data.txt and is the only line of text that occurs only once 풀이 data.txt 파일에 단 한번 나타나는 특정 텍스트가 다음 레벨로 가는 비밀번호이다! 이번에 우리가 알아야할 내용은 파일안에 특정 문자가 한번만 나오도록 바꿔주는게 문제인 것 같다. 어떻게 문제를 풀면 될까?! 곰곰히 생각해보면 몇가지 키워드를 우리가 알 수 있다. 리눅스 파일에서 중복 단어 제거! 리눅스 파일에서 한번만 나온 단어 출력! 이 내용을 구글링을 한 결과 너무 바로 나와서 놀랐다. 바로 sort 와 uniq 명령어 두개를 통해 풀 수 있는 문제였다! (여기까지 힌트를 얻었다면, ..

Bandit 2023.08.30

Bandit Level 7 -> Level 8 | 리눅스 특정 단어 찾기 vi, grep

문제 The password for the next level is stored in the file data.txt next to the word millionth. 풀이 data.txt 파일에 millionth라는 단어에 비밀번호가 숨겨져 있다! 파일에 millionth라는 단어를 검색해보자! 이 문제는 생각보다 단순하게 접근할 수 있다고 생각했다. 특정 단어만 파일에서 찾으면 되어서 두가지로 접근해보려한다. 리눅스 vi 단어 찾기 리눅스의 vi 에디터에서는 특정 단어를 찾는 기능이 있다. 바로 명령모드에서 /[단어] 를 이용한 검색법이다. 이 단어를 사용한 예시는 아래 글에서 담고 있으니 필요하면 보도록 하자! https://youngari.tistory.com/entry/Bandit-Level-5..

Bandit 2023.08.30

Bandit Level 6 -> Level 7 - 리눅스 특정 파일명 검색

문제 The password for the next level is stored somewhere on the server and has all of the following properties: owned by user bandit7 owned by group bandit6 33 bytes in size 풀이 서버 어딘가에 3가지 조건을 만족시키는 파일에 비밀번호가 있다! 소유주가 bandit7인 파일! 그룹소유가 bandit6인 파일! 33 bytes 크기 파일! 서버 어딘가에 있는 특정 파일을 찾는다라 .... 갑자기 좀 막막한 느낌이 들었지만, 지난 시간에 배운 ls -laR 을 통해 전체 파일을 검색할 수 있다고 생각하니 한번 도전할 마음이 생겼다! 일단... ls -laR로 파일을 조회한다면 ..

Bandit 2023.08.28

Bandit Level 5 -> Level 6 - 리눅스 하위 폴더 파일 찾기

문제 Level5. The password for the next level is stored in a file somewhere under the inhere directory and has all of the following properties: human-readable 1033 bytes in size not executable 풀이 inhere 디렉터리 어딘가에 3가지 조건을 만족시키는 파일에 비밀번호가 있다! 읽기 가능한 파일! 1033 bytes 파일! 실행파일 아님! 일단 inhere 안에 내부 파일 구조를 들여다봤다. 띠용...?! 20개의 디렉터리가 있고, 하나를 열어봤는데 또 10개 정도씩 파일이 있는 것을 확인했다... 이전 문제는 노가다라도 가능했지만, 이건 좀 심해보인다......

Bandit 2023.08.28

Bandit Level 4 -> Level 5 - 리눅스 파일 정보 명령어 'file'

문제 Level4. The password for the next level is stored in the only human-readable file in the inhere directory. Tip: if your terminal is messed up, try the “reset” command. 풀이 inhere 디렉터리에 사람이 읽기 가능한 파일이 하나있다! 항상 똑같이 기본적으로 inhere 디렉터리안으로 들어가는 명령어를 쳐야한다. 이정도는 이제 쉽게 할 수 있고, 지난 시간에 공부한 내용으로 파일들까지 알아보도록 하자. 흠.... 파일이 10개나 있는데 하나씩 열어보는 무식한 짓은 하기 싫다. 만약 해보고 싶다면 아래 명령어를 10번 입력해보자 cat ./-file00 리눅스 명령어 fi..

Bandit 2023.08.28

Bandit Level 3 -> Level 4 - 리눅스 숨김 파일 읽기

문제 Level3. The password for the next level is stored in a hidden file in the inhere directory. Level4. The password for the next level is stored in the only human-readable file in the inhere directory. Tip: if your terminal is messed up, try the “reset” command. 풀이 inhere 디렉터리의 숨겨진 파일에 패스워드가 있다! 자! 이 문제들을 풀기 전에 리눅스의 디렉터리안에 파일에 대해 알아보아야한다! 파일의 두가지 형태를 먼저 알아보도록 하자! 리눅스 일반파일 리눅스의 명령어에서 디렉터리 안에 내용을 ..

Bandit 2023.08.28

Bandit Level 1 -> Level 2 -> Level 3 - 리눅스 명령어 구조, more

문제 Level1. The password for the next level is stored in a file called - located in the home directory Level2. The password for the next level is stored in a file called spaces in this filename located in the home directory 풀이 사실 Level 0 -> Level 1을 풀었다면 Level 1 -> Level 3이 순식간에 풀리는 것 같다. (물론 그 이후도 비슷할 수 있는데, 일단 두 단계를 묶어서... 풀이해보고 있어요.) Bandit2 계정의 패스워드를 찾는 방법은 "-" 라는 파일에 담겨있다. Bandit3 계정의 패스워드를 ..

Bandit 2023.08.27

Bandit Level 0 -> Level 1 - 리눅스 cat, 파이프, grep 찾기

문제 The password for the next level is stored in a file called readme located in the home directory. Use this password to log into bandit1 using SSH. Whenever you find a password for a level, use SSH (on port 2220) to log into that level and continue the game. 풀이 문제를 해석해보면 우리는 이 순서로 해결할 수 있음을 알 수 있다! home 디렉터리에 readme 라는 파일에 다음 레벨로 갈 수 있는 패스워드가 있다. 이 패스워드를 통해 bandit1 아이디로 로그인해라! 그러면 다음 레벨로 이동하여 계..

Bandit 2023.08.27

Bandit Level 0 - log into the game using SSH

문제 The goal of this level is for you to log into the game using SSH. The host to which you need to connect is bandit.labs.overthewire.org, on port 2220. The username is bandit0 and the password is bandit0. Once logged in, go to the Level 1 page to find out how to beat Level 1. 풀이 level 0 문제는 문제를 풀기 위해 게임을 실행시키는 것이랑 같은 의미다. SSH을 이용하여 bandit.labs.overthewire.org 의 2220포트로 연결하면 된다. 나는 putty를 사용해서 연..

Bandit 2023.08.27

리눅스 유저 정보 및 권한 명령어 (rwx, chmod)

유저 정보 확인 uid / gid 리눅스의 유저 ID는 두가지가로 나타낼 수 있어요! uid : User ID gid : Group ID 이 아이디는 모두 숫자로 관리되며 id 라는 명령어로 확인할 수 있어요! 아래 사진은 kali 라는 계정의 id를 확인한 사진이에요.. uid, gid는 모두 1000이며 이 id 값은 리눅스에서 숫자로 갖고 있으며, 문자인 kali로 관리하지 않아요!. 이제 계정을 바꿔 root 계정을 확인해보도록 할께요. (id root로도 바로 확인할 수 있어요) switch user의 약자인 su 명령어를 통해 계정을 바꿔보세요! su root로 root라는 계정으로 바꾸라는 명령을 내리고 password를 입력이 나온다면 password를 입력하면 root 계정으로 변경됨을 ..

리눅스 2023.08.27

typescript를 사용해야하는 이유 | 프론트엔드개발

오늘은 javascript에서 typescript로 바꿔야할 이유를 코드를 통해 알아보도록 할게요! Javascript vs Typescript 차이점 1. JavaScript는 동적 타입 언어 / TypeScript는 정적 타입 언어로 대표적인 차이점! 2. 이 두 언어 사이의 주요 차이점은 타입 시스템에 있어요. TypeScript는 개발자가 변수, 함수 매개변수, 반환값 등에 명시적인 타입 정보를 제공할 수 있도록 해줘요. 이는 코드의 가독성을 높이고 오류를 사전에 감지하여 개발자의 실수를 줄일 수 있게 됩니다! 이제 JavaScript 코드를 TypeScript로 변환해야하는 몇 가지 예시를 살펴보겠습니다. Typescript로 변환 예시 1. 변수 및 매개변수의 타입 명시 JavaScript에서..

프론트엔드 2023.08.26

정보보안기사시험 문제은행 기출 풀기

안녕하세요! 이번에 문제은행 서비스 ExamBomb에 정보보안기사 문제은행이 추가됐어요! 정보보안기사 시험을 준비하시는 분에게 이동 중에도 간편하게 복습을 할 수 있는 서비스를 만들어보았어요. 기존 정보처리기사필기에서 정보보안기사 문제 490문제 기출 5회 분이 추가되었으니 아래 사이트 또는 검색창에 ExamBomb 문제은행을 검색하여 많이 이용해주세요! https://exam-bomb-service.vercel.app/start/subject/%EC%A0%95%EB%B3%B4%EB%B3%B4%EC%95%88%EA%B8%B0%EC%82%AC 기사 필/실기 문제은행(기출문제, 시험) | Exam Bomb. 기사 필/실기 시험대비 문제은행을 제공해요. 기출문제, 시험 등 다양한 문제가 준비됐어요. exam-..

문제은행기출 2023.08.26

robots.txt는 무엇일까? - 적용방법, 역할

robots.txt가 무엇인지, 어떻게 적용하는지, 그리고 역할에 대해서 알아보는 시간을 갖도록 할게요! 검색엔진에 노출되기 위해 사이트를 네이버서치어드바이저, 또는 구글서치콘솔을 사용한 분이라면 당연히 알고 있을거라고 생각해요. robots.txt도 SEO(검색엔진최적화)를 위해서 꼭 있어야하는 존재인만큼 다뤄보도록 하겠습니다! robots.txt는 무엇일까? 구글 서치 콘솔에서는 아래와 같이 설명하고 있습니다. robots.txt는 크롤링해서는 안 되는 사이트 내 URL 또는 디렉터리를 검색엔진에 알려주는 텍스트 파일의 이름입니다. 특정 크롤러(또는 모든 크롤러)에 대해 개별 URL 또는 전체 디렉터리를 차단하는 규칙이 포함되어 있습니다 위의 글을 읽어보면 알겠지만, 이 파일은 봇을 차단 또는 사이트..

프론트엔드 2023.08.26

Nextjs SEO(검색엔진최적화) - Meta tags

오늘은 메타태그 설정을 통해 SEO에 영향을 미치는 요소를 알아보도록 할게요! 모든 내용은 mdn web docs의 내용을 기반으로 설명할테니 하단 레퍼런스도 참고해주세요. 예시는 저의 프로젝트 사이트인 문제은행 Exambomb에서 확인할 수 있어요! https://exam-bomb-service.vercel.app/ 기사 필/실기 문제은행(기출문제, 시험) | Exam Bomb. 기사 필/실기 시험대비 문제은행을 제공해요. 기출문제, 시험 등 다양한 문제가 준비됐어요. exam-bomb-service.vercel.app Meta Tittle 먼저 타이틀에 대한 설명이에요. 페이지 제목은 SEO에 큰 영향을 줍니다. 권장사항으로는 15자 이내로 유저의 주목을 이끌수 있는 "훅"이 바로 이 부분입니다. 유..

프론트엔드 2023.08.24

리팩터링 2판 - 07. 테스트 구축하기

리팩터링은 분명 가치 있는 도구이지만, 정말 생각지못하게 실수를 저지르기 마련이에요. 그렇기때문에 그러한 부분을 견고하게 잡아줄 테스트 구축이 매우 중요하답니다. 이제 테스트를 통해 우리는 어떤 효율을 기대해야하는지 알아볼까요?! 자가 테스트 코드의 가치 모든 테스트를 완전히 자동화하고 그 결과까지 스스로 검사하게 만들자. 우리는 작성한 테스트코드를 수시로 확인해야해요. 테스트를 수시로 확인하면 우리가 어느 부분을 수정했기에 오류가 발생했는지 곧바로 체크할 수 있으니깐요. 실제로 기능 구현에 집중하는 시기에 테스트 코드를 작성했었다면, 화면을 보지 않아도 테스트 코드의 작동만을 통해서 우리는 정답을 알 수 있어요! 실제로 최근 저도 저희 서비스의 공공데이터 영역의 테스트 코드를 작성했어요. 확실히 테스트..

스터디 2023.07.18

리팩터링 2판 - 06. 코드에서 나는 악취 (코드스멜) 2탄

오늘도 지난 시간에 이어서 다시 코드스멜 2탄을 하려해요! 오늘 내용에서 되게 많은 내용을 제거시켰는데, 대부분이 클래스를 활용한 방법이여서 뺏어요! 제가 javascript에서 클래스를 자주 쓰지 않기도 하고, 실제 적용을 어떤식으로 나타낼지 난감하기도해서 그랬으니 이해해주세요! 그럼 이제 시작해볼까요!! 긴 매개변수 목록 함수의 매개변수가 많아지면 그 자체로 이해하기 어려워져요! 우리는 최대 2개로 매개변수를 최소화하려고 해요. (어쩔수없으면 3개…?!?) 또한 매개변수 중 하나로 플래그 형태를 자주 쓰지않나요? (주로 true, false를 통해 나누는) 저는 아래처럼 함수안에서 타입별로 무언가를 나누는 함수를 작성했었어요! const getDurationTimeBy = (distance:numbe..

스터디 2023.07.16

정보처리기사 기출 문제은행 - 문제 서비스 기능 추가

안녕하세요! 오랜만에 정보처리기사 기출 문제은행 서비스 업데이트 관련하여 추가된 내용을 공유하려해요! 지금까지 블로그로만 홍보하여 유입된 서비스 사용유저들의 통계를 공유하려해요. 또한 업데이트를 통해 더 많은 이용자가 늘면 좋겠다고 생각하여 업데이트 내용을 공유해드려요! https://exam-bomb-service.vercel.app/ Exam Bomb - 정보처리기사 문제은행 정보처리기사 시험대비 문제은행 서비스입니다. 시험형식 풀기는 로그인 전용 서비스, 문제 형식은 로그인 제한 없는 서비스입니다. exam-bomb-service.vercel.app 문제은행 서비스 유저 통계 총 가입유저 : 50명 총 테스트친 수: 232회 총 시도한 문제 수 : 7708회 총 푼 문제 수 : 3595회 총 정답 ..

문제은행기출 2023.07.14

리팩터링 2판 - 05. 코드에서 나는 악취 (코드스멜)

오늘은 리팩터링 2판 3단원의 코드스멜 단원을 읽으며 드는 생각을 나눠보려해요~ 그리고 내용을 읽어보면서 팀문화에 녹여낼 수 있다면 좋겠다는 점도 써보고싶어요! 기이한 이름 기이한 이름 단원에서 설명하고자하는 바는 N년차 개발자들의 최대 고민인 변수(함수)명 짓기에 해당해요. 해당 파일을 작성하고 있는 본인은 당연하다고 생각한 "이름 짓기"도 처음보는 사람 입장에선 전혀 이해가 안가는 경우가 있을거에요. 저는 최대한 코드의 맥락을 통해 어떤 역할을 담당하는지 나타내고자 스스로 "리팩터링"을 진행하며, “코드리뷰”를 통해 다시 한번 체크하고 넘어가고 있어요! 대표적으로 아래와 같은 함수를 리팩터링을 통해 효과를 얻을 수 있어요! {getDurationTimeBy(distance)} // 결과값 : 00분 ..

스터디 2023.07.13

리팩터링 2판 - 04. 리팩터링하는 시기 및 고려할 문제 (YAGNI!)

이번 내용을 읽으면서는 다음과 같은 내용을 나누고 싶었어요. 언제 리팩터링을 하면 좋을지 명확하게 정할 수 있는 개발자, 그리고 적용할 수 있는 문화를 갖춰가는 개발팀이 되기 위해서 리팩터링을 언제할지 생각해보면 좋겠어요. 2.4 언제 리팩터링해야 할까? 리팩터링을 하는 시기는 생각보다 자주 일어나요. 저자는 거의 한시간마다 한 번은 한다고 말해요! 하지만 뭐든지 시기가 중요한게 아니라! 자연스럽게 본인의 개발 스타일에 맞게 리팩터링을 하는 시기를 녹여내는게 중요한거겠죠?? 저는 책을 읽으며, 그리고 직접 최근에 계속해서 적용해보며 앞으로 새로운 기능 개발을 할 때, 이렇게 하려고 해요! 보이스카웃트 원칙! 기능을 쉽게 추가할 수 있도록 리팩터링 기능 구현 (기능 중심 개발) 자가 리팩터링 (컴포넌트 분..

스터디 2023.07.10
반응형