본문 바로가기

전체 글39

Mac에서 PuTTy 안쓰고 터미널로 SSH 접근하는 방법 배경 외부에서 SSH로 서버에 접근해야해서 PuTTy를 설치하려 함. 하지만 이런 문제가 발생. 맥 전용 PuTTy는 유료. 맥 유저들은 PuTTy를 잘 사용하지 않는 것 같음. 사용한 사람들의 후기를 보니 평가가 별로였음. 따라서 다른 솔루션을 찾아보다가 맥을 쓰고 있으면 굳이 PuTTy 안쓰고 터미널에서 충분히 사용 가능하다는 글을 발견. ㅇ_ㅇ 그래서 터미널에서 SSH로 서버에 접근 성공! 두 가지 방법으로 접근 가능하니 원하는 방법을 선택하여 사용하셈. GUI로 실행하기 사실 GUI라는 느낌은 딱히 들지 않지만 ㅋㅋ 그나마... 무튼 아래 순서로 실행하면 됨. Spotlight Search (상단 메뉴바에 있는 돋보기) 클릭 terminal 검색한 후 terminal 실행 메뉴에서 Shell > .. 2024. 2. 22.
[C 기초] C언어 구문(Syntax) 구문이 뭔 말이지 다른 언어가 그렇듯, C언어를 작성할 때도 지켜야 할 규칙이 있음. 이를 구문(Syntax)이라 하는데, 문법이라 생각하면 됨. 간단히 살펴보자! 01. 주석 (Comments) 주석(Comments)은 메모라 생각하면 됨. 누군가에게 말로 아닌 글로 코드를 설명해주거나, 내가 나중에 까먹지 않기 위해 작성하는 메모. 또한 실행하고 싶지 않은 코드에다가도 주석처리 해주면 됨. C가 코드를 컴파일하는 과정에서 주석은 실행하지 않음. 주석은 한 줄 또는 여러 줄로 작성할 수 있음. 한 줄 주석은 주석으로 처리할 문장 맨 앞에 슬래시( / ) 2개를 연속으로 작성. 여러 줄 주석은 주석으로 처리할 문장 앞에 /*로 시작해서 맨 마지막에 */ 이걸로 닫아주면 끝. 아래 참고. 2024. 1. 30.
[C 기초] 환경설정 Intro (빠르게 글 쓰기 위해 음슴체로 작성하겠습니다. 양해부탁드림ㅇㅋ?) C언어를 갑자기 배워야 하는 상황이 생겼음. 하나도 모르는데 어떻게 배움? 막막하단 말이지. 그래서 일단 무작정 이것저것 자료 찾아보면서 C언어 기초에 대해서 학습하게 됨. 그런데 나 혼자만 알고 있기엔 뭔가 아까워서 C언어 뉴비들을 위해, 또한 내가 학습한 내용을 기억하기 위해 내가 학습한 내용을 글로 작성하기로 결심함. 누가 보겠냐만, 누가 되었든 내 글을 읽고 조금이라도 도움이 된다면 뿌듯할 듯. 환경설정 mac의 vscode에서 C언어를 실행하려 환경을 설정했음. 하지만 워낙 복잡해서 C언어를 시작도 하기 전에 좌절할까봐 여러분들을 위해 초 간단한 실행환경을 준비했음. 아래 사이트에 접속한 후 실행하면 됨. 회원가입을 .. 2024. 1. 30.
[스프링부트, 타임리프(Thymeleaf)로 파일게시판 만들기] #9 파일 업로드, 다운로드 게시판 스프링부트, 타임리프(Thymeleaf)로 파일게시판 만들기 #9 파일 업로드, 다운로드 게시판 다운로드 구현 지난글에서 업로드를 구현할 때 file 테이블에 외래키를 두어 file_board 테이블과 연동하도록 했습니다. 즉, 파일을 업로드 할 때 해당 게시판 번호인 'b_no'를 외래키로 받아 file 테이블에 FileVO 객체를 통해 저장하도록 했습니다. 게시글 상세내용에서 업로드한 파일을 확인하려면, 먼저 mapper를 통해 Database에서 해당 파일을 게시판 번호를 기반으로 조회해서 가져오면 됩니다. 그리고 컨트롤러와 detail.html에서 다운로드를 위한 작업을 해주면 됩니다. FileBoardMapper.java package com.example.demo.mapper; import j.. 2020. 3. 27.
[스프링부트, 타임리프(Thymeleaf)로 파일게시판 만들기] #8 파일 업로드, 다운로드 게시판 스프링부트, 타임리프(Thymeleaf)로 파일게시판 만들기#8 파일 업로드, 다운로드 게시판 파일업로드 구현 지난번까지 작성한 게시판에 파일첨부 및 다운로드 기능을 추가하겠습니다. 대략적인 흐름은 이렇습니다. 생성을 담당하는 insert.html에 파일첨부기능을 담당하는 태그를 작성하고, 태그의 th:action속성값으로 요청을 한 후, 요청을 받은 곳에서 파일 저장을 해야합니다. 하지만 컨트롤러에서 요청을 수행할 때 그냥 저장하는 코드를 작성하는 것이 아니라, 파일저장을 도와주는 객체(VO, Entity)와 Database에서 Table을 생성한 후 이를 통해 저장해야 합니다. 이제 작성하겠습니다. insert.html DOCTYPE html> 파일게시판 - 글작성 게시글작성 ... ... 지난번에 .. 2020. 3. 27.
[스프링부트, 타임리프(Thymeleaf)로 파일게시판 만들기] #7 Thymeleaf로 HTML페이지 작성 - 게시글 상세, 수정, 삭제 (7/n) 스프링부트, 타임리프(Thymeleaf)로 파일게시판 만들기#7 Thymeleaf로 HTML페이지 작성 - 게시글 상세, 수정, 삭제 Detail(게시글 상세) 작성 바로 진행하겠습니다. 지난번처럼 컨트롤러를 참고하며 작성하겠습니다. 우선, list.html에서 DB에서 자료를 가져와 출력하는 코드를 작성했습니다. 상세내용을 보기 위해 게시글을 클릭했을 때, 해당 게시글의 'b_no'를 가져오고 /fileBoard/detail/{bno} 이 URL에 'b_no'를 달아 'b_no'로 테이블을 조회해 작업을 요청하도록 코드를 작성했습니다. 그래서 컨트롤러를 다음과 같이 작성했습니다. @RequestMapping("/detail/{b_no}") private String fileBoardDetail(@Pat.. 2020. 3. 25.
[스프링부트, 타임리프(Thymeleaf)로 파일게시판 만들기] #6 Thymeleaf로 HTML페이지 작성 - 목록 출력, 게시글 작성 (6/n) [스프링부트, 타임리프(Thymeleaf)로 파일게시판 만들기]#6 Thymeleaf로 HTML페이지 작성 - 목록 출력, 게시글 작성 Thymeleaf를 이용해 HTML 페이지를 작성하려 합니다. 먼저 template 폴더에 하위폴더로 fileBoard폴더를 생성하세요. 여기에 Thymeleaf로 작업한 HTML페이지를 넣을겁니다. 이 폴더를 작성한 이유는 Controller에서 이 경로로 요청을 받겠다고 작성했기 때문입니다. 지난글에서 작성한 컨트롤러를 잠깐 확인해볼까요? @Controller@RequestMapping("/fileBoard")public class FileBoardController { @AutowiredFileBoardService fboardService; @RequestMapp.. 2020. 3. 25.
[스프링부트, 타임리프(Thymeleaf)로 파일게시판 만들기] #5 Controller 작성 (5/n) 스프링부트, 타임리프(Thymeleaf)로 파일게시판 만들기 #5 Controller 작성 html 페이지에서 요청받아 처리할 Controller를 작성합니다. 코드 내용이 생각보다 길기 때문에 오타에 주의하세요. Controller 패키지 내부에 작성합니다. FileBoardController.java package com.example.demo.controller; import java.util.ArrayList;import java.util.List; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired;import org.springframework.stere.. 2020. 3. 25.
[스프링부트, 타임리프(Thymeleaf)로 파일게시판 만들기] #4 MySQL에서 Database 및 xml형식 Mapper 작성 (4/n) 스프링부트, 타임리프(Thymeleaf)로 파일게시판 만들기#4 MySQL에서 Database 및 xml형식 Mapper 작성 이번에는 MySQL에서 Database와 Table을 생성하고 xml형식의 Mapper파일을 작성하겠습니다. Database 생성 ---(맥 사용자만)--- 맥 사용자라면 MySQL서버를 작동시켜야 합니다. 저는 터미널에서 다음 명령어로 작동시키겠습니다. Corini$ mysql.server start 입력하면 아래와 같이 정상적으로 진행됩니다. Corini$ mysql.server startStarting MySQL. SUCCESS! Corini$ ---(끄읏)--- 이제 다음 명령어로 여러분이 작업하고자 할 MySQL 계정으로 접속합니다. 저는 root계정으로 사용하며, 비밀.. 2020. 3. 25.