Spring Boot 예제: 초간단 게시판

이 예제에는 스프링 시큐리티를 사용하였습니다. 시큐리티와 관련된 내용은  스프링 시큐리티 관련 글을 참고하세요.   개요 Spring Boot의 기본 기능(Thymeleaf, 시큐리티 포함)을 이용해서 전통적 형태의 웹 게시판을 만들었습니다. 게시판은 웹 프로그래밍에 있어서 필수라고 볼 수 있는 CRUD(Create, Read, Update, Delete)를 연습하기에 적당한 예제입니다. 이 게시판은 로그인 환경을 가정하여 만들었습니다. 로그인 관련 부분은 더보기…

Thymeleaf: 요소 반복하기 (th:each)

Thymeleaf  관련 글 보기 Thymeleaf에서 특정 요소를 for문처럼 반복하는 방법으로 th:each가 있습니다. <table> <thead> <tr> <th>No.</th> <th>username</th> <th>title</th> <th>date</th> </tr> </thead> <tbody> ……………….. </tbody> </table> <tbody> <tr th:each=”article, i: ${list}”> <td th:text=”${article.seq}”></td> <td th:text=”${article.username}”></td> <td sec:authorize=”isAuthenticated()”> <a th:href=”${‘/board/read/’ + article.seq}” th:text=”${article.title}”></a> <span class=”text-blue” th:if=”${i.count eq i.size}”>[1등]</span> </td> <td sec:authorize=”!isAuthenticated()” th:text=”${article.title}”></td> 더보기…

Spring Boot: 시큐리티(Security) – 4 – 로그인 폼을 거치지 않고 컨트롤러에서 로그인

깃허브에서 전체 코드 보기 – https://github.com/ayaysir/spring-boot-security-example-1   로그인 폼을 거치지 않고 컨트롤러에서 로그인 처리를 하는 방법입니다. 외부 소셜 로그인 기능과 스프링 시큐리티를 연동하고자 할 때 사용할 수 있습니다.   아래 메소드를 컨트롤러 내에 삽입합니다. /** * 로그인 폼을 거치지 않고 바로 로그인 * @param username * @return */ @RequestMapping(“/loginWithoutForm/{username}”) public String 더보기…

iPhone XR, iPhone XS & XS Max, iPhone X에서 복구 모드로 들어가는 방법

장비를 효과적으로 문제를 해결하려면 iPhone을 복구 모드로 설정해야 합니다.  복구 모드에 있을 때 iPhone XS, XR, XS Max 또는 X는 iTunes 또는 macOS Finder (Catalina 이상)를 사용하여 직접 복원 할 수 있습니다. 복구 모드를 효과적으로 사용하려면 USB 케이블과 최신 버전의 iTunes 또는 MacOS Catalina 이상이 설치된 컴퓨터가 필요합니다. 복구 모드를 더보기…

Spring Boot: “네이버 아이디로 로그인하기” 연동하기 (1)

깃허브에서 전체 코드 보기 – https://github.com/ayaysir/spring-boot-security-example-1   네이버 개발자 센터: 네이버 아이디로 로그인하기 튜토리얼 네이버 개발자 센터: 네이버 아이디로 로그인하기 API   1. API 신청 네이버로 로그인한 후, 개발자 센터의 애플리케이션 신청 페이지에 가서 애플리케이션을 신청합니다. 애플리케이션 이름을 입력한 뒤 사용 API를 네아로 (네이버 아이디로 로그인) 을 선택하고, 제공 정보 선택에 더보기…

웹 사이트 예제: 음악 스케일 목록

웹사이트 바로가기 이 웹사이트의 기능은 다음과 같습니다. 스케일 목록을 데이터베이스에서 읽어서 테이블 형태로 나열 (PHP) 각 목록을 클릭하면 스케일의 정보와 악보, 소리듣기 기능을 제공 (abcjs 이용) 스케일의 정보는 이름, 별칭(Alias), 설명(Description), 중요도(Priority), 패턴이 있음 악보 및 사운드 생성은 스케일의 Pattern 정보를 이용하여 생성 (PHP 음악 스케일 구하기) 조옮김(Transpose), 이명동음 표시기능 더보기…

자바: 텍스트 파일 입출력 (예제 – 간단한 로그 기록)

텍스트 파일 읽기 (BufferedReader 사용) 텍스트 파일을 읽는 순서는 다음과 같습니다. File 인스턴스를 생성 File 인스턴스를 파라미터로 하는 FileReader 인스턴스 생성 FileReader 인스턴스를 파라미터로 하는 BufferedReader 생성 BufferedReader에서 읽은 텍스트를 임시로 저장하는 String 타입의 변수 생성 while문과 버퍼리더의 readLine() 을 이용해 텍스트 파일을 한 줄씩 읽음 BufferedReader를 close() 시킴   더보기…

자바스크립트 + abcjs: 악보 출력, Synth 플레이어 삽입

abcjs.net 은 인터넷 브라우저에 악보를 출력하는 자바스크립트 라이브러리입니다. https://www.abcjs.net/abcjs_basic_5.9.1-min.js [다운로드] https://www.abcjs.net/abcjs-audio.css [다운로드] <!DOCTYPE HTML> <html> <head> <link href=”abcjs-audio.css” media=”all” rel=”stylesheet” type=”text/css” /> <script src=”abcjs_basic_5.9.1-min.js” type=”text/javascript”></script> </head> <body> <div id=”notation”></div> <div id=”audio”></div> <script type=”text/javascript”> ……… </script> </body> </html> var cooleys = ‘X:1\nT: Cooley\’s\nM: 4/4\nL: 1/8\nR: reel\nK: Emin\nD2|:”Em”EB{c}BA B2 EB|~B2 AB dBAG|”D”FDAD 더보기…

QBasic: 배열(Arrays), 함수(SUB, FUNCTION), 종합예제 (完)

배열 (Arrays) 일반적으로 변수 하나 당 자료를 한 개씩만 저장할 수 있습니다. 하지만 한 개의 변수에 여러 개의 자료를 저장하고 싶을 때도 있습니다. 이렇게 동일한 유형의 데이터로 구성되고 정렬된 유한한(finite) 데이터 항목 모음(collection)을 배열(array)이라고 하며 개별 데이터를 요소(element) 혹은 원소라고 칭합니다. 전체 배열에 하나의 이름만 할당되며, 인덱스(index)를 지정하여 개별 요소를 더보기…

QBasic: 반복문 (WHILE, DO … WHILE, FOR LOOP)

프로그램의 실행에는 기본적으로 세 가지의 제어 구조가 있습니다.  순차적 (Sequential) 선택 또는 의사결정 또는 조건부 (Selective or decision making or conditional) 반복 (Repetitive or iterative or looping) 1, 2번이 지금까지의 과정이며, 이 글에서는 3번에 대해 다뤄볼 것입니다.   예를 들어 불면증 때문에 잠을 잘 자기 위해 100마리의 양을 세는 프로그램을 더보기…