본문 바로가기
반응형

분류 전체보기42

[리눅스 책 추천] 개발자 필수역량 리눅스 공부이유 및 방법 ※ 서평단 선정을 통해 책을 제공받고 솔직한 후기를 작성했습니다. 2022년 10월 개발자를 하겠다고 아무것도 모르고 부트캠프를 등록했다. 3개월 부트캠프 수료 후 SI/SM 회사에서 1년 1개월 근무 후 현재는 정보보안 공부를 하고 있다. 컴퓨터 공부를 한지 2년이 되어간다. 짧은 기간이지만 내가 다시 22년으로 돌아간다면 리눅스를 더 공부할 것 같다. 프로그래밍 언어, 웹, 정보처리기사, DB, CS 여러가지를 공부하고 있지만  기초는 리눅스인 것 같다. 리눅스(Linux)는 컴퓨터 운영 체제 중 하나로, 오픈소스 소프트웨어로서 누구나 자유롭게 사용, 수정, 배포할 수 있는  OS다. 리눅스가 어디에 쓰이는지 살펴보자. (코딩 자율학습 리눅스 입문 with 우분투 책 35p) 1.서버 IT 서비스를 .. 2024. 9. 9.
[정보보호기업탐방] 주식회사 스패로우 안랩에 이어 주식회사 스패로우 기업탐방을 다녀왔다. 스패로우는 파수의 자회사다. 스패로우는 모토는 '소프트웨어의 가치를 높이는 글로벌 기업이 되겠습니다.'이다. 또한 소프트웨어의 보안과 품질을 책임을 지는 상품들이 있다. 제품들은 다음과 같다.1.  SAST(Static Application Security Testing)- 소스코드 보안 약점 점검도구2. SAQT(Static Application Quality Testing)- 소스코드 품질 분석 도구3. DAST(Dynamic Application Security Testing)- 웹 애플리케이션 취약점 동적 분석 도구4. SCA(Software Composition Analysis)- 오픈소스 관리 도구  인사이트 1. 제품과 서비스를 자세히 설명.. 2024. 8. 26.
[python] 파이썬으로 구구단 가로 출력, 로또 번호 만들기 도커가 끝나고 파이썬으로 넘어왔다. 기억으로 남기고 싶은 실습 2가지를 기록해본다. 1. 구구단 가로 출력그동안 세로 출력은 많이 해봤는데 가로출력은 처음이었다.  내가 처음에 구현한 코드다.for i in range(1, 10): for j in range(2, 10): if j  이렇게 했더니 다음과 같이 출력이 됐다. 출력은 했는데 정리가 잘 안된 느낌이었다. for i in range(1,10): for j in range(2,10): print(j, 'x', i , '=',j*i, '\t',end='') print() 구분자와 \t(탭)을 이용해서 코드를 짜면 깔끔하게 출력이 되었다.  구분자는 sep 속성을 통해 변경을 할 수 있다. 디폴트는 공백이다. 2. 로또 번.. 2024. 8. 22.
[정보보호기업탐방] 안랩 기업탐방 한국정보보호산업협회에서 주관하는 정보보호기업탐방을 다녀왔다. 바로 정보보호기업 1등 안랩을 탐방했다. 들어갔을 때 받은 명찰이다! 다시 반납했다~ 강의실에서 처음으로 받은 선물이다. 쿠키와 양산이었다. 층마다 휴게실이 있었는데, 10층 휴게실을 보여주셨다~ 구내식당 밥이당 맛있어서 깜짝 놀랐다~ 인사이트 1. 안랩의 조직문화는 유연하고 자유롭다. 2. 정보보호기업도 ESG에 신경을 많이 쓴다. (기억할 키워드 : 넷제로, 그린워싱) 3. 정보보안도 시대마다 발전하고 달라진다. 4. 공격자들은 생각지도 못한 방법으로 공격을 한다. 5. 생산성 AI 기술을 많이 써보자. (많이 써봐야 보안에도 적용할 수 있다.) 덤으로 오늘 정보보안 특강 때 퀴즈를 맞춰서 받은 선물이다~! 안랩은 환경을 많이 생각하는 것 .. 2024. 8. 21.
[도커] python 이미지 만들고 실행하기(vscode Remote -SSH 이용) 이전 수업에서는 도커허브에서 이미지를 가져와서 실행하는 방법을 알아봤다.직접 빌드해서 실행하는 방법을 배웠다.  MobaXterm 이용해서 ssh 접속을 했지만 이번에는 vscode를 통해 접속을 했다.  vscode 에서 이용하려면 Remote - SSH을 설치해야 한다.   vscode를 이용해서도 원격접속할 수 있다는 걸 처음 알았다.  기본적으로 3개의 파일과 폴더 1개를 만들어 도커 이미지를 만들었다. 폴더 : templates파일 : .dockerignore , app.py, Dockerfile파일구조 한개씩 알아가보자.1. Dockerfile도커 이미지를 만드는 명령어들이 있는 파일이다.  다음과 같이 작성을 했다. 1. 베이스 이미지 선택 (명령어 : FROM)2. 필요로 하는 명령어 컨테.. 2024. 8. 20.
[도커] docker로 mysql 연결 후 환경변수, volume 옵션 사용하기 nginx를 실행 했을 때 사용했던 옵션-d와 -p를 복습해보자. docker run -d -p 80:80 nginx -d는 데몬화를 의미하고 -p는 포트바인딩을 의미한다.  mysql을 연결하기 위해서는 -e, -v 옵션들을 더 알아야 한다. 차근차근 알아보자. nginx와 마찬가지로 mysql도 위와 같은 방법으로 run을 하고 로그를 확인하면 다음과 같은 에러가 발생한다. docker run -d -p 3306:3306 mysqldocker logs   에러 메시지를 보면 환경변수에 ROOT 비밀번호를 설정해야 한다.  이때 알아야 하는 옵션이 -e이다. 여기서 e는 environment variable이다.  옵션 -e를 넣어서 다시 해보자.  docker run -d -p 3306:3306 -e.. 2024. 8. 19.
[도커] docker 에서 Nginx 실행하기 'hello wolrd'를 해본 후 다음은 nginx를 이용해 웹서버를 실행하는 것을 배웠다. 먼저, 아래 명령어를 실행하면docker run nginx  이렇게 멈추지 않는 걸 알 수 있다. 이유는 웹서버는 사용자가 요청할 때 페이지를 줘야하기 때문이다. 이걸 무한 대기/반복을 한다.docker run hello-world는 화면에 헬로우를 출력하면 끝이기 때문에 바로 멈췄던 것이다.  Ctrl + c로 빠져나온 후 데몬화를 해야지 백그라운드에서 실행하고 프롬프트를 사용할 수 있다. docker run nginx에 명령어에 -d 옵션을 주면 된다.docker run -d nginxdocker exec curl 127.0.0.1 옵션을 주고 실행 후 docker exec curl 127.0.0.1을 .. 2024. 8. 19.
[도커] ubuntu22.04에서 docker 설치 후 hello world 출력하기 Linux를 배우고 도커기초를 시작했다. 전에는 Rocky Linux로 배웠는데, 이번에는 ubuntu22.04를 설치 후 실습을 진행했다.  도커란 컨테이너 기반의 오픈소스 가상화 플랫폼이다. 도커의 핵심기술로는1. 도커 이미지(Docker Image)2. 도커 레지스트리(Docker Registry)3. 도커 데몬(Docker Daemon)4.도커 클라이언트(Docker Client)이다. 컨테이너에서 가장 중요한 키워드는 '공간을 격리'이다. 오늘 수업을 배우면서 도커 데몬(Docker Daemon)이 매우 실용적으로 느껴졌다. 도커 데몬은 컨테이너의 생성, 실행, 모니터링 등을 관리한다. 이 데몬은 백그라운드에서 동작하며, 도커 클라이언트의 명령을 받아 컨테이너를 관리한다.  ubuntu22.04.. 2024. 8. 19.
시스템보안 개론 SeSAC(청년취업사관학교)와 한국정보보호산업협회가 주관하는 사이보보안 양성과정에 참여를 하게 되었다. 교육 첫날진행이 됐다. 개발경력은 있지만 비전공자이고 보안에 대한 지식들은 별로 없다. 첫날에는 시스템보안(System Security)에 대해 배웠다. 시스템보안은 각종 위험으로부터 시스템의(OS 등) 안전한 상태를 유지 하는 것이다.  보안의 뼈대가 되는 기본적인 개념은 6가지가 있다. 1. 계정관리2. 세션관리3. 접근제어4. 권한 관리5. 취약점 관리6. 로그 관리 운영체제(Unix, windows)마다 관리가 조금씩 다르다. 그리고 가상머신 실습을 해보았다. 처음 접해보는거라 당황했지만 차근차근 잘해갔다. 2024. 8. 6.
동적 계획법(DP:Dynamic programming) 개념 및 구현 동적 계획법은 복잡한 문제를 작은 하위 문제로 나누어 해결하고, 그 결과를 저장하여 동일한 하위 문제가 다시 나타날 때 재활용함으로써 연산을 줄이는 알고리즘 설계 기법이다. DP는 다음과 같은 두 가지 중요한 특징이 있다.  1. 최적 부분 구조 : 문제의 최적 해결 방법이 하위 문제들의 최적 해결 방법으로 구성될 수 있다. 2. 중복되는 부분 문제 : 동일한 작은 문제들이 반복적으로 계산된다.  또한 DP에는 메모이제이션(탑다운), 타뷸레이션(바텀업) 2가지 방법이 있다.비효율적인 재귀를 이용한 비보나치 수열 구현public class FibonacciRecursive { public static void main(String[] args) { int n = 10; // 예를 들어 1.. 2024. 5. 27.
반응형