이 문서는 html로 작성되었습니다.

<!DOCTYPE html>

 

 

<!DOCTYPE html>
<html>
    <head></head>
    <body>웹 프론트엔트 개발을 시작합니다.</body>
</html>

 

- html로 감싸진 부분은 html로 작성된 코드입니다.

- body 웹 프론트엔드 개발을 시작합니다.

<>는 태그.

 

'웹 개발 > HTML+CSS+Js' 카테고리의 다른 글

input태그 type  (0) 2024.04.02
코드 바르게 정렬하기  (0) 2024.04.02
HTML 태그  (0) 2024.03.21
Ruby, jekyll설치  (0) 2024.03.21

https://rubyinstaller.org/downloads/

 

Downloads

Which version to download? If you don’t know what version to install and you’re getting started with Ruby, we recommend that you use the Ruby+Devkit 3.2.X (x64) installer. It provides the biggest number of compatible gems and installs the MSYS2 Devkit

rubyinstaller.org

시스템 종류에 맞는 항목으로 다운받기

 

루비 설치하면 cmd창이 뜨는데 루비에서 선택해서 설치하는 화면이다.

엔터 눌르면 알아서 다운해줬음

 

루비 설치 후에 cmd창에서

gem install jekyll bundler

 

설치 완료되면

jekyll -v

 버전 확인하기

 

'웹 개발 > HTML+CSS+Js' 카테고리의 다른 글

input태그 type  (0) 2024.04.02
코드 바르게 정렬하기  (0) 2024.04.02
HTML 태그  (0) 2024.03.21
HTML <!DOCTYPE html>  (0) 2024.03.21

문자열과 변수의 값을 화면에 출력하는데 사용한다. 

이때 문자열에 HTML태그를 포함할 수 있다.

 

 

<!DOCTYPE html>
<html>
    <head>
        <meta charset = 'utf-8'>
    </head>
    <body>
        <h3>
            <?php
            echo '고양이와 토끼';
            ?>
        </h3>
            <?php
            $filename = "cat.jpg";
            echo "<img src = '$filename'>";
            echo "<br>";

            $filename = "rabbit.jpg";
            echo "<img src = '$filename'>";
            ?>
    </body>
</html>

 

이미지가 없어서..ㅎㅎ

이미지 태그

<img src="이미지경로"/>

 

작은 따옴표와 큰 따옴표 차이

작은 따옴표는 무조건 문자취급

큰 따옴표는 내용 파싱 후 변환이 필요한 데이터를 변환한 뒤 문자로 처리

 

약식 표기

<?=$id?> = <?php echo $id?>

<?=$name?> = <?php echo $name?>

 

'웹 개발 > PHP' 카테고리의 다른 글

PHP 기초  (0) 2024.03.14

2024.01.15 - [Android Studio/DB접속 어플] - APM(Apache, PHP, MySQL)

 

APM(Apache, PHP, MySQL)

xampp는 통합 설치 프로그램 https://www.apachefriends.org/download.html Download XAMPP Includes: Apache 2.4.58, MariaDB 10.4.32, PHP 8.0.30 & PEAR + SQLite 2.8.17/3.38.5 + multibyte (mbstring) support, Perl 5.34.1, ProFTPD 1.3.6, phpMyAdmin 5.2.1,

gombinimbi.tistory.com

 

<?php는 php프로그램의 시작을 나타낸다.

echo문은 ""안에 있는 내용을 브라우저 화면에 출력하는 기능

문장 끝에는 ; 붙여야 한다.

?>는 php프로그램의 끈을 나타낸다.

 

//는 주석

/*~*/ 는 주석

 

상수 - 주어진 값을 일정하게 가진 것.

문자열, 정수, 실수

 

변수 - 입력하는 값에 따라 내용이 변하는 것.

$로 시작하고 영문 소문자와 숫자, 밑줄(_)을 조합해서 만든다.

특수문자, 한글, 공백 사용 금지, 숫자로 시작 금지

 

 

<br> 줄바꿈(HTML태그)

 

'웹 개발 > PHP' 카테고리의 다른 글

echo문 기초  (0) 2024.03.14

프로그래머스는 처음 사용해봐서 처음에 살짝 당황;;

 

2024.03.05

두 수의 합

class Solution {
    public int solution(int num1, int num2) {
        int answer = -1;
        
        answer = num1 + num2; 	
        return answer;
    }
}

 

 

두수의 차

class Solution {
    public int solution(int num1, int num2) {
        int answer = 0;
        answer = num1 - num2;
        return answer;
    }
}

 

 

나이 출력

class Solution {
    public int solution(int age) {
        int answer = 0;
        answer = 2022 - age + 1;
        return answer;
    }
}

 

 

두 수의 곱

class Solution {
    public int solution(int num1, int num2) {
        int answer = num1 * num2;
        return answer;
    }
}

 

 

몫 구하기

class Solution {
    public int solution(int num1, int num2) {
        int answer = num1/num2;
        return answer;
    }
}

 

 

숫자 비교하기

class Solution {
    public int solution(int num1, int num2) {
        int answer = 0;
        if(num1 == num2)
            answer = 1;
        else
            answer = -1;
        return answer;
    }
}

//삼항 연산자 이용하기
int answer = (num1 == num2) ? 1 : -1;
(조건문) ? true결과 : false결과

 

 

2024.03.07

 

두 수의 나눗셈

class Solution {
    public int solution(float num1, float num2) {
        int answer = 0;
        float fanswer = num1/num2;
        answer = (int)(fanswer * 1000);

        return answer;
    }
}

 

이 문제 진짜 기발한 풀이로 푼 사람이 있었음. 

class Solution {
    public int solution(int num1, int num2) {
        int answer = 0;
        return num1 * 1000 / num2;
    }
}

 

 

분수의 덧셈

class Solution {
    public int[] solution(int numer1, int denom1, int numer2, int denom2) {
        int denom3, numer3 = 0;

        denom3 = denom1 * denom2;
        numer3 = (numer1*denom2) + (numer2*denom1);

        int max = 1;

        for(int i=1; i<=denom3 && i<=numer3;i++)
        {
            if(denom3 % i == 0 && numer3 % i ==0)
                max = i;
        }



        numer3 = numer3/max;
        denom3 = denom3/max;

        int[] answer = {numer3,denom3};
        return answer;
    }
}

 

 

배열 두 배 만들기

class Solution {
    public int[] solution(int[] numbers) {
        int[] answer = numbers.clone();
        for(int i =0; i< numbers.length; i++)
        {
            numbers[i] = numbers[i] * 2; 
            answer[i] = numbers[i];
        }

        return answer;
    }
}

 

 

2024.03.11

 

나머지 구하기

class Solution {
    public int solution(int num1, int num2) {
        int answer = -1;
        answer = num1%num2;
        return answer;
    }
}

 

 

중앙값 구하기

import java.util.*;
class Solution {
    public int solution(int[] array) {
        int[] arrays = array;
        Arrays.sort(arrays);
        int num = 0;
        num = (array.length/2);
        int answer = arrays[num];
        return answer;
    }
}

 

 

최빈값 구하기

import java.util.*;
class Solution {
    public int solution(int[] array) {
        int answer = 0;
        Arrays.sort(array);
        int max = array[array.length -1];
        int cnt[] = new int [max + 1];
        for(int i = 0; i <array.length; i++)
        {
            cnt[array[i]]++;
        }
        //Arrays.sort(cnt); // 이 부분이 있고 없고 차이가 왜 생기는 지?? 
        //경우에 따라 정상처리되는 경우가 있고 안되는 경우도 있음 ㅜㅜㅜㅜㅜ
        
        max = cnt[0];
        for(int i = 1; i<cnt.length; i++)
        {
            if(max<cnt[i])
            {
                max = cnt[i];
                answer = i;
            }
            else if(max == cnt[i])
            {
                answer =-1;
            }
            
        }
        return answer;
    }
}

 

 

짝수는 싫어요

 public int[] solution(int n) {
        int[] answer = {};
        answer[0] = 1;
        if(n%2 == 0)
            for(int i = 1; i<(n/2) -1; i++)
            {
                answer[i] = answer[i-1] + 2;
            }
        else
            for(int i = 1; i<n/2; i++)
            {
                answer[i] = answer[i-1] + 2;
            }
        
        return answer;
    }

 

 

2024.03.12

 

피자 나눠 먹기(1)

class Solution {
    public int solution(int n) {
        int answer = 0;
        if(n%7 == 0)
            answer = n/7;
        else 
            answer = n/7 +1;
        return answer;
    }
}

 

 

피자 나눠 먹기(2)

class Solution {
    public int solution(int n) {
        int answer = 0;
        for(int i  = 1;i <100;i ++)//i피자 개수 	//while(true)로 실행시키면 break;없어도 됨
        {
            if((i*6)%n==0)
            {
                answer = i;
                break;
            }
        }
            
        return answer;
    }
}

 

피자 나눠 먹기(3)

class Solution {
    public int solution(int slice, int n) {
        int answer = (n%slice == 0)? n/slice : n/slice+1;
        
        return answer;
    }
}

 

 

배열의 평균값

class Solution {
    public double solution(int[] numbers) {
        double answer = 0;
        for(int i = 0; i<numbers.length; i++)
        {
            answer += numbers[i];
        }
        answer /= numbers.length;
        return answer;
    }
}

 

 

2024.03.13

 

옷가게 할인 받기

class Solution {
    public int solution(int price) {
        double answer = 0;
        if(price>=100000 && price<300000)
            answer = price*0.95;
        else if(price>=300000 && price<500000)
            answer = price*0.9;
        else if(price>=500000)
            answer = price*0.8;
        else
            answer = price;
        return (int)answer;
    }
}

 

 

아이스 아메리카노

 

class Solution {
    public int[] solution(int money) {
        int[] answer = {0,0};
        int americano = 5500;
        answer[0] = money/americano;
        answer[1] = money%americano;
        return answer;
    }
}

 

배열 뒤집기

 

class Solution {
    public int[] solution(int[] num_list) {
        int[] answer = new int[num_list.length];
        int j = 0;
        for(int i = num_list.length - 1; i >= 0; i--)
        {     
            answer[j] = num_list[i];
            j++;
        }
        
        return answer;
    }
}

 

각도기

 

class Solution {
    public int[] solution(int[] num_list) {
        int[] answer = new int[num_list.length];
        int j = 0;
        for(int i = num_list.length - 1; i >= 0; i--)
        {     
            answer[j] = num_list[i];
            j++;
        }
        
        return answer;
    }
}

 

짝수의 합

 

class Solution {
    public int solution(int n) {
        int answer = 0;
        for(int i = 0; i<=n;i++)
        {
            if(i%2 == 0)
                answer += i;
        }
        return answer;
    }
}

 

머쓱이보다 키 큰 사람

 

import java.util.*;
class Solution {
    public int solution(int[] array, int height) {
        int answer = 0;
        Arrays.sort(array);
        for(int i = 0; i<array.length; i++)
        {
            if(array[i]>height)
            {
                answer += 1;
            }    
        }
        return answer;
    }
}

 

배열 원소의 길이

 

class Solution {
    public int[] solution(String[] strlist) {
        int[] answer = new int[strlist.length];
        for(int i = 0; i<strlist.length; i++)
        {
            answer[i] = strlist[i].length();
        }
        return answer;
    }
}

 

length와 length()의 차이점

.length 배열의 길이
.length() 문자열 길이

 

2024.03.14

 

중복된 숫자 개수

 

class Solution {
    public int solution(int[] array, int n) {
        int answer = 0;
        for(int i = 0; i < array.length; i++)
        {
            if(array[i] == n)
                answer++;
        }
        return answer;
    }
}

 

편지

 

class Solution {
    public int solution(String message) {
        int answer = message.length() *2;
        return answer;
    }
}

 

양꼬치

 

class Solution {
    public int solution(int n, int k) {
        int answer = 0;
        if(n/10 != 0)
        {
            k -= n/10;
            answer = n*12000 + k*2000;
        }
        else
            answer = n*12000 + k*2000;
        return answer;
    }
}

 

문자열 뒤집기

 

class Solution {
    public String solution(String my_string) {
        String answer = "";
        
        StringBuffer sb = new StringBuffer(my_string);
        answer = sb.reverse().toString();
        
        return answer;
    }
}

https://yangbox.tistory.com/58

 

StringBuffer(StringBuilder) 클래스 기본 및 사용

StringBuffer(StringBuilder) 클래스 기본 및 사용 StringBuffer(StringBuilder) 클래스는 문자열에 대한 많은 편의기능을 제공한다. 그래서 필요에 따라 문자열을 작업할 때 String 객체가 아닌 StringBuffer(StringBuild

yangbox.tistory.com

 

 

세균 증식

 

class Solution {
    public int solution(int n, int t) {
        int answer = n;
        for(int i = 0; t>i; i++)
        {
            answer *= 2;
        }
        return answer;
    }
}

 

 

직각삼각형 출력하기

 

import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
		String star = "";
        for(int i = 0;i<n;i++)
        {
            star += "*";
            System.out.println(star);
        }
    }
}

 

repeat()함수를 사용하면 간단하게 해결 가능

for(int i=1; i<=n; i++){
            System.out.println("*".repeat(i));
        }

 

String 메서드 중 하나로 String 문자열을 파라미터의 주어진 횟수만큼 반복한다.

파라미터가 0이면 빈 문자열 반환

파라미터가 음수면 illegalArgumentExceptionthrow에러 반환

파라미터가 1이면 문자열을 그대로 반환

 

짝수 홀수 개수

class Solution {
    public int[] solution(int[] num_list) {
        int[] answer = {0,0};
        for(int i = 0; i<num_list.length; i++)
        {
            if(num_list[i]%2 == 0)
                answer[0] +=1;
            else
                answer[1] +=1;
        }
        return answer;
    }
}

 

 

2024.03.18

 

문자 반복 출력하기

 

class Solution {
    public String solution(String my_string, int n) {
        String answer = "";
        for(int i = 0; i<my_string.length(); i++)
        {
            for(int j = 0; j<n; j++)
            {
                answer += (my_string.charAt(i)); 
            }
            
        }
        return answer;
    }
}

 

 

특정 문자 제거하기

 

class Solution {
    public String solution(String my_string, String letter) {
        String answer = "";
        char Letter = letter.charAt(0);
        for(int i = 0; i<my_string.length(); i++)
        {
            if(my_string.charAt(i) != Letter)
            {
                answer += my_string.charAt(i);
            }
        }
        return answer;
    }
}

//replace를 이용한 풀이
class Solution {
    public String solution(String my_string, String letter) {
        String answer = "";

        answer = my_string.replace(letter, "");

        return answer;
    }
}

 

배열 자르기

 

class Solution {
    public int[] solution(int[] numbers, int num1, int num2) {
        int[] answer = new int[num2-num1+1];
        int j = 0;
        for(int i = 0; i<numbers.length; i++)
        {
            if(i>=num1 && i<=num2)
            {
                answer[j] += numbers[i];
                j++;
            }
        }
        return answer;
    }
}

 

외계행성의 나이

 

class Solution {
    public String solution(int age) {
        String answer = "";
        String temp = Integer.toString(age);
        for(int i = 0; i< temp.length(); i++)
        {
            answer += (char)((char)temp.charAt(i) + 49);
        }
        return answer;
    }
}

 

진료순서 정하기

class Solution {
    public int[] solution(int[] emergency) {
        int[] answer = new int[emergency.length];
     	
        for(int i = 0; i<emergency.length; i++)
        {
            for(int j = 0; j<emergency.length; j++)
            {
                if(emergency[i] < emergency[j])
                    answer[i] ++;
            }
            answer[i]++;
        }
        return answer;
    }
}

 

순서쌍의 개수

 

class Solution {
    public int solution(int n) {
        int answer = 0;
        
        for(int i = 1; i<=n; i++)
        {
            if(n%i == 0)
                answer++;
        }
        return answer;
    }
}

 

 

2024.03.21

 

개미 군단

 

class Solution {
    public int solution(int hp) {
        int answer = 0;
        int big = hp/5;
        int middle = (hp%5)/3;
        int small = (hp%5)%3;
        return answer = big + middle + small;
    }
}

 

 

모스부호(1)

 

class Solution {
    public String solution(String letter) {
        String answer = "";
        String[] morseList = {".-","-...","-.-.","-..",".","..-.",
                "--.","....","..",".---","-.-",".-..","--","-.",
                "---",".--.","--.-",".-.","...","-","..-","...-",
                ".--","-..-","-.--","--.."};
        String[] morse;
        
        morse = letter.split(" ");
        for(int i = 0; i<morse.length; i++)
            for(int j = 0; i<morseList.length; j++)
                if(morse[i].equals(morseList[j]))
                {
                    answer +=(char)(j + 'a');
                    break;
                }
                    
        return answer;
    }
}

 

문자열을 비교할 때에는 .eqauls()를 사용해야 한다.

==연산자는 참조 동일성을 확인한다. 두 참조가 메모리의 동일한 개체를 가리키는지 확인한다. 동일한 문자열 개체를 참조하는지 확인하는 것.

 

가위 바위 보

 

class Solution {
    public String solution(String rsp) {
        String answer = "";
        String[] arr = rsp.split("");
        
        for(int i = 0; i<arr.length;i++)
        {
            if(arr[i].equals("2"))
    			answer += 0;
        	else if(arr[i].equals("0"))
                answer += 5;
        	else
                answer += 2;
        }
            return answer;
    }
}

 

구슬을 나누는 경우의 수

 

class Solution {
    public int solution(int balls, int share) {
        return combination(balls, share);
    }

    public static int combination(int balls, int share) {
        if (balls == share || share == 0) return 1;
        return combination((balls - 1), (share - 1)) + combination(balls - 1, share);
    }
}

내가 할려고 한 풀이는 for문이 많이 반복되서 다른 블로그 풀이를 찾아봤음!

이 풀이가 간단하고 ...더보기

 

2024.04.29

 

공 던지기

class Solution {
    public int solution(int[] numbers, int k) {
        int answer = 0;
        //int index = (0 + k)%numbers.length;
        int cnt = 0; //한 명 건너뛰기
        int index = 0;  
        while(cnt < k){
            if(index >=numbers.length)
                index %=numbers.length;
            answer = numbers[index];
            index += 2;
            cnt++;
        }

        return answer;
    }
}

if문 부분은 기억해두고 있으면 다른데서도 응용할 기회가 있을 것 같음.

 

배열 회전하기

public int[] solution(int[] numbers, String direction) {
        int[] answer = new int[numbers.length];
        if(direction.equals("right"))
        {
            for(int i = 0; i<numbers.length-1; i++)
            {
                answer[i+1] = numbers[i];
            }
            answer[0] = numbers[numbers.length-1];
        }
        else
        {
            for(int i = numbers.length-1; i>0; i--)
            {
                answer[i-1] = numbers[i];
            }
            answer[numbers.length-1] = numbers[0];
        }
        return answer;
    }
}

알고리즘이 어려운 건 아니었는데 생각하는 게 복잡하다. 머리가 굳은 듯.(good)

 

REST컨트롤러

댓글 REST API를 위한 컨트롤러로 서비스와 협업, 클라이언트 요청을 받아 응답하며 뷰가 아닌 데이터 반환

 

서비스

REST 컨트롤러와 리파지터리 사이에서 비즈니스 로직, 처리흐름을 담당하며 예외 상황이 발생했을 때 @Transactional로 변경된 데이터 롤백

 

DTO

사용자에게 보여줄 댓글 정보를 담은 것, 단순히 클라이언트와 서버 간에 댓글 JSON 데이터 전송

 

엔티티

DB 데이터를 담는 자바 객체로 엔티티를 기반으로 테이블 생성, 리파지터리가 DB속 데이터를 조회하거나 전달할 때 사용

 

리파지터리 

엔티티를 관리하는 인터페이스로 데이터 CRUD 등 기능 제공, 서비스로부터 댓글 CRUD등의 명령을 받아 DB에 보내고 응답받음

 

 

'코딩자율학습단 > 스프링부트' 카테고리의 다른 글

스프링부트 14일차  (0) 2024.01.20
스프링부트 13일차  (0) 2024.01.19
스프링부트 12일차  (0) 2024.01.19
스프링부트 11일차  (0) 2024.01.18
스프링부트 10일차  (0) 2024.01.16

@ManyToOne

두 엔티티를 다대일 관계로 설정하는 어노테이션

@JoinColumn

해당 엔티티에 외래키를 생성하는 어노테이션

@Query

SQL과 유사한 JPQL이라는 객체지향 퀴리 언어를 통해 쿼리를 처리할 수 있도록 지원하는 어노테이션

기존의 SQL문을 그대로 쿼리 언어로 사용하고 싶다면 nativeQuery속성을 true로 설정

@DateJpaTest

JPA와 연동한 테스트를 진행하는 어노테이션.

리파지터리와 엔티티 등의 객체를 테스트 코드에서 사용할 수 있다.

@DisplayName

테스트 이름을 붙일 때 사용,

테스트 이름은 메서드 이름을 따라가는데, 메서드 이름은 그대로 둔 채 테스트 이름을 바꾸고 싶을 때 사용.

 

JPARepository

ListCrudRepository와 ListPagingAndRepository를 상속받은 인터페이스로,

CRUD뿐만 아니라 엔티티를 페이지 단위로 조회 및 정렬하는 기능과 JPA에 특화된 여러 기능 등을 제공

 

네이티브 쿼리 메서드

리파지터리의 메서드로 퀴리를 작성해 실행하는 것을 말합니다. 네이티브 쿼리 메서드는 @query어노테이션이나 orm.xml파일을 이용해 만들 수 있다.

 

'코딩자율학습단 > 스프링부트' 카테고리의 다른 글

스프링부트 15일차  (0) 2024.01.22
스프링부트 13일차  (0) 2024.01.19
스프링부트 12일차  (0) 2024.01.19
스프링부트 11일차  (0) 2024.01.18
스프링부트 10일차  (0) 2024.01.16

settings > plugins> vim검색

다운로드

 

잘 작동한당

그 동안 없는 줄 알고 불편하게 사용했었는데 

한 번 vi에 익숙해지면 없던 시절로 돌아갈 수 업다..

+ Recent posts