전체 글 22

그래서 Git이 뭐고 GitHub가 뭔데?

컴공을 전공하면서 깃허브는 무조건 필수라고, 회사 취업해서도 많이 쓰이는 거니까 꼭 알아두라고 주변에서 강조를 많이했다. 그래서 git init... git add.. 등의 커맨드를 치면서 깃허브에 얼레벌레 코드들을 올릴 순 있었지만, GitHub을 잘 알지 못한 상태에서 겉햝기로만 사용하는 꼴이니 매우 찝찝했다. 그래서 이렇게 블로그를 통해 포스팅을 하게 되면 나도 이 글을 읽을 수도 있는 여러분들에게 정보를 드리기 위해 많은 자료를 찾아보고 정리하게 되니 이 기회에 깃허브라는 요 아이를 가능한 마스터(?) 해보도록 하겠다 ※물론 저도 배우면서 쓰는 입장이기 때문에 오류가 있을 수도 있는 점 양해 부탁드립니다. 오타, 오류 지적 환영합니다 :) 1. Git 이란? 2. Git의 동작원리 3. GitHu..

웹 해킹 | XSS란? ①

해킹에 대해 정말 찍먹도 아닌 손가락으로 소스만 살짝 찍어먹는 느낌으로 하는 중이지만 유튜브에 이것저것 자료 찾아보니 영어로 되어있는 자료들이 무척이나 많았다 역시 영어공부는 꾸준히 그 중 개인적으로 괜찮다고 생각한 유튜브 영상과 함께 해킹 관련 지식들을 정리해보고자 한다 :) 드림 핵이라는 플랫폼을 통해서도 해킹 공부를 하고있는데 정말 좋은 질의 내용들이 많으니 강력 추천! 앞으로 여러 유튜브 강의와 드림 핵에 있는 강의 내용, 구글링 및 책을 통해 이 블로그에 정리해서 써볼 예정이다 ※ 최대한 찾아보며 정리해보려고 하지만, 저도 배워가는 학생으로서 정리한 글이니 오류가 생길 수 있습니다. 오류가 있어도 양해 부탁드립니다! 오류 지적 정말 환영합니다 :) XSS란? CROSS-SITE SCRIPTING..

정보보안 2021.08.24

동빈나 | 정보보안과 해킹 기초 강좌 ①강 ②강 학습정리

▼ 참고한 유튜브 강의 출처 : 동빈나 정보보안과 해킹 기초 강좌 1강 - 해킹과 보안 (Information Security Basic Tutorial #1) https://www.youtube.com/watch?v=2WH_C9SmDw0&list=PLRx0vPvlEmdC1yeqsIBTSboDjMnU7wAwS 우리가 흔히 아는 최초의 컴퓨터는 에니악으로 알고있지만, 이미테이션 게임이라는 영화(실화바탕으로 한) 에 나오는 콜로서스 라는 기계를 최초의 컴퓨터로 인정하고 있는 추세라고 한다. 정보보안과 해킹 기초 강좌 2강 - 계정 관리 (Information Security Basic Tutorial #2) https://www.youtube.com/watch?v=4j_DxHVecr0&list=PLRx0vP..

정보보안 2021.08.23

[백준] 2442번, 2445번, 2446번, 2552번 [별찍기 (2)]

[2442] ▼지난 별찍기(1) 게시물에서 보여줬던 방식을 좀 더 응용한 것 뿐이다. (참고) 2439번, 2440번, 2441번 [별찍기 (1)] dip_the_source 2439번, 2440번, 2441번 [별찍기 (1)] 본문 백준 (C++) 2439번, 2440번, 2441번 [별찍기 (1)] #fdd4ff 2020. 12. 31. 00:15 Prev 1 2 3 4 5 6 7 Next source-coding.tistory.com =>첫째 줄에선 N-1개의 여백 빈칸과 (2x1)-1개의 *을 포함한 칸 -> · · · · · -> N째 줄에선 0개의 여백 빈칸과 (2xN)-1개의 *을 포함한 칸 #include using namespace std; int main() { int x; cin >>..

[백준] 2439번, 2440번, 2441번 [별찍기 (1)]

[2439번] 첫째 줄부터 다섯번째 줄까지 차례대로 별을 출력한다고 가정하자.->5x5 크기의 직사각형을 생각해본다. -> 첫째 줄에선 4개의 여백 빈칸, 1개의 *를 포함한 칸 ->둘째 줄에선 3개의 여백 빈칸, 2개의 *를 포함한 칸 -> · · · · · -> 다섯번째 줄에선 0개의 여백 빈칸, 5개의 *를 포함한 칸 => 첫째 줄에선 N-1개의 여백빈칸, 1개의 *를 포함한 칸 -> · · · · · -> N번째 줄에선 0개의 여백 빈칸, N개의 *를 포함한 칸 #include using namespace std; int main() { int x; cin >> x; for (int i = 1; i i; j--) { cout 둘째 줄에선 1개의 여백 빈칸 ,4개의 *를 포함한 칸-> · · · ·..

문자열을 나타내기 위한 클래스 "string"

c언어에서는 볼 수 없었던 string 클래스는 문자열 저장과 처리에 필요한 변수와 함수들이 정의되어있다. string 클래스를 사용하면 배열의 크기를 항상 신경써야 했던 c언어와는 다르게 문자열의 크기에 대해 신경하지 않아도 되는 장점을 갖고있다. 내부 구현을 몰라도 얼마든지 string 클래스 안의 멤버 함수들을 사용할 수 있다는 객체 지향의 장점까지 갖고 있다. +)그리고 c언어에서 처럼 char형 배열을 선언하지 않아도 된다. string 객체인 경우, 문자열 입력 시에 공간이 부족하면 자동적으로 크기에 맞추어 공간이 재할당됨. 우선 string 클래스를 사용하기 위해선 이라는 이름의 헤더파일을 포함시켜야 한다. string클래스는 std 이름 공간에 속해있기 때문에, using namespace..

[백준] 11720번

1. 틀린 이유 여러 개의 숫자를 구분할 줄 알아야했다. 배열을 사용하면 될 것같아서 int 배열형으로 이용했지만 그렇게 되면 54321을 입력하면 5, 4, 3 ... 이런식으로 배열이 입력되는 것이 아닌, 배열의 0번째에 54321이라는 숫자가 들어가는 꼴이 되버린다. 2. 필요한 개념 아스키 코드를 이용한다면 깔끔하게 코드를 짤 수 있다. char형으로 배열을 받게되면 54321을 입력할 경우 각각 '5', '4', '3' .. 이런식으로 각자 배열을 받을 수 있다. 총합을 계산할 때만 배열이 char형이었므로, 아스키코드 '0'의 값인 48을 빼준다면 숫자 값으로 총합을 더할 수 있게 되는 것이다. ▼ 다음은 아스키 코드 표의 일부다. 3. 고친 코드 #include using namespace ..

[백준] 10953번

1. 틀렸던 이유 콤마를 어떻게 해결하는 것때문에 애를 먹었다. 처음엔 cin 과 cout를 혼용해서 콤마를 나타나게끔 해야하나 싶은 생각도 했었다. 아니면 문자열 함수 get이라던지 그런 것들을 이용해야하나 생각도 했다. (하지만 아직 그 부분에 대해 개념이 부족하다.) 2. 필요한 개념 생각보다 간단하다. 문자를 받을 수 있는 변수를 하나 더 추가해주면 된다. 그렇게되면 문자는 문자대로 받고 정수로 받게 된 a,b만 따로 계산해서 출력하면 되니 간편했다. 3. 고친 코드 #include using namespace std; int main(){ int a; int b; int n; char c; cin >> n; for (int i=0; i> a >> c >>b; cout