๊ด€๋ฆฌ ๋ฉ”๋‰ด

Welcome! Everything is fine.

[TIL] 220111 ๋ณธ๋ฌธ

TIL

[TIL] 220111

๊ฐœ๋ฐœ๊ณฐ๋ฐœ 2022. 1. 11.
728x90

๐Ÿ’ป Today I Leaned...

๐Ÿ“Œ ์•ˆ๋“œ๋กœ์ด๋“œ ์ž…๋ฌธ

  • ์ œ๊ณต๋œ ์†Œ์Šค๋กœ ์›น์•ฑ ์—ด์–ด๋ณด๊ธฐ. ๋‚ด ๋ธ”๋กœ๊ทธ๋ฅผ ์—ด์–ด๋ณด์•˜๋‹ค.

  • View๋ฅผ ๋งŒ๋“ค์–ด์„œ Hello World! ์ฐ๊ธฐ

๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ํด๋ฆญ - New - Java Class๋กœ sampleView ํด๋ž˜์Šค๋ฅผ ์ถ”๊ฐ€ํ–ˆ๋‹ค. ๊ทธ ๋‹ค์Œ Paint๋ฅผ ์ง€์ •ํ•˜์—ฌ ๊ธ€์”จ๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ์‚ฌ์‹ค ์ •ํ™•ํ•œ ์„ค๋ช…์ด ์—†์–ด์„œ Paint๊ฐ€ ๊ทธ๋ž˜์„œ ๋ญ๋ƒ..ํ–ˆ๋Š”๋ฐ ๊ฒ€์ƒ‰ํ•ด๋ณด๋‹ˆ ๋ง ๊ทธ๋Œ€๋กœ Paint์˜ ๊ธฐ๋Šฅ์ด ์žˆ๋Š” ํด๋ž˜์Šค์˜€๋‹ค. ์ƒ‰์ƒ์„ ์ •ํ•  ๋•Œ paint.setColor(Color.RED) ๋ผ๊ณ  ํ•˜๊ฑฐ๋‚˜ ๊ตต๊ธฐ๋ฅผ ์ •ํ•  ๋•Œ paint.setStrokeWidth(30f) ๋ผ๊ณ  ํ•˜๋Š” ๋“ฑ.. ๋ณดํ†ต ๊ทธ๋ฆผ์„ ๊ทธ๋ฆด ๋•Œ ์‚ฌ์šฉํ•˜๋Š”๋“ฏํ•˜๋‹ค. ์•„๋ž˜ ์ฝ”๋“œ์—์„œ๋Š” paint.setTextSizw(50)๋กœ ๊ธ€์ž ํฌ๊ธฐ๋ฅผ ์ •ํ•ด์ฃผ์—ˆ๋‹ค. ์•ฝ๊ฐ„ 1ํ•™๊ธฐ ํŒŒ์ด์ฌ ์ˆ˜์—… ์ƒ๊ฐ๋‚˜๊ธฐ๋„ ํ•˜๊ณ ..

package com.example.myapplication;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.View;

public class sampleView extends View{
    private Paint paint = new Paint();
    public sampleView(Context context) {
        super(context);
        setBackgroundColor(Color.WHITE);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        super.onDraw(canvas);
        paint.setTextSize(50);
        canvas.drawText("Hello world!", 10, 100, paint);
    }
}

์ด์ œ ์ด๋ ‡๊ฒŒ ๋งŒ๋“  sampleView๋ฅผ MainActivity์— ๋ฟŒ๋ ค์ค˜์•ผํ•˜๋Š”๋ฐ, ๊ธฐ๋ณธ์ ์œผ๋กœ ์ž…๋ ฅ๋˜์–ด์žˆ๋Š” ์ฝ”๋“œ๋ฅผ ์ง€์šฐ๊ณ  new sampleView(this)๋ฅผ ์ ์–ด์ค€๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด MainActivityrk ์˜ฌ๋ผ์˜ฌ ๋•Œ sampleView๊ฐ€ ๋œจ๊ฒŒ๋œ๋‹ค.

package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(new sampleView(this));
    }
}

๊ฒฐ๊ณผ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

๐Ÿ“Œ ํ”„๋กœ์ ํŠธ ์Šคํ„ฐ๋””

ํ•ญ์ƒ ํ—ท๊ฐˆ๋ ธ๋˜ gitbash ์‚ฌ์šฉํ•ด์„œ pull ํ•˜๋Š” ๋ฐฉ๋ฒ•! ์žŠ์ง€๋ง๊ณ  ์ ์–ด๋‘์ž.

์šฐ์„  gitlab ์˜ฌ๋ผ์˜จ ์ „์ฒด ํŒŒ์ผ์—์„œ Clone์„ ๋ˆ„๋ฅด๊ณ  ๋งํฌ๋ฅผ ๋ณต์‚ฌํ•œ๋‹ค. ๋‚˜๋Š” HTTPS๋ฅผ ๋ณต์‚ฌํ–ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์›ํ•˜๋Š” ํด๋”์—์„œ ๋งˆ์šฐ์Šค ์˜ค๋ฅธ์ชฝ ๋ฒ„ํŠผ์„ ํด๋ฆญ ํ›„ Git Besh Here๋ฅผ ๋ˆ„๋ฅธ๋‹ค.

๊ทธ๋Ÿผ ์ด๋Ÿฐ ์ฐฝ์ด ๋œฌ๋‹ค.

git clone + ๋งํฌ๋ฅผ ๋ณต๋ถ™ํ•ด์ฃผ๋ฉด ํด๋” ์•ˆ์— ํ•ด๋‹น ์ด๋ฆ„์˜ ํด๋”๊ฐ€ ๋˜ ์ƒ๊ธด๋‹ค.

cd + ์ƒ๊ธด ํด๋”์ด๋ฆ„์„ ์ž…๋ ฅํ•ด ๊ทธ ํด๋” ์•ˆ์œผ๋กœ ๋“ค์–ด๊ฐ„ ํ›„

git pull origin master๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ๋! ์ด์ œ ์•ˆ๋“œ๋กœ์ด๋“œ ์ŠคํŠœ๋””์˜ค๋ฅผ ์—ด๊ณ  ์ˆ˜์ •ํ•œ ํ›„ push ํ•˜๋ฉด ๋œ๋‹ค. 

๐Ÿ“Œ ์ƒํ™œ์ฝ”๋”ฉ - DATABASE2 - MySQL

MySQL ํ…Œ์ด๋ธ”์˜ ์ƒ์„ฑ

create table in mysql cheat sheet ๋ผ๊ณ  ๊ฒ€์ƒ‰ํ•˜์—ฌ mysql ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž. ์•„๋ž˜๋Š” ๊ฒ€์ƒ‰๊ฒฐ๊ณผ ์ฐพ์€ ์ž๋ฃŒ ์ค‘ ํ•˜๋‚˜์ด๋‹ค. ํ…Œ์ด๋ธ”์„ ์ƒ์„ฑํ•˜๊ธฐ ์ „์—,๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„์— ๋กœ๊ทธ์ธ์„ํ•œ ํ›„ ์–ด๋–ค ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(์Šคํ‚ค๋งˆ)๋ฅผ ์‚ฌ์šฉํ• ์ง€ ์ง€์ •ํ•ด์•ผํ•œ๋‹ค.

CREATE TABLE tbl(
     c1 datatype(length)
     c2 datatype(length)
     ...
     PRIMARY KEY(c1)
)

c1์€ ์ฒซ๋ฒˆ์งธ column์„ ๊ฐ€๋ฆฌํ‚จ๋‹ค. ๋˜ํ•œ ๊ทธ ๋’ค์— datatype์„ ๋ถ™์—ฌ์ฃผ๋Š”๋ฐ, ์ด๊ฒƒ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ์ด๋‹ค.column์— ๋‹ค์–‘ํ•œ ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์„ ์ˆ˜ ์žˆ๋Š” ์Šคํ”„๋ ˆ๋“œ์‹œํŠธ์™€ ๋‹ฌ๋ฆฌ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” column์˜ ๋ฐ์ดํ„ฐํƒ€์ž…์„ ๊ฐ•์ œํ•  ์ˆ˜ ์žˆ๋‹ค.

  • NOT NULL : ๊ฐ’์ด ์—†๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Œ. ์ฆ‰, ๋นˆ์นธ์ธ์ฑ„๋กœ ๋“ฑ๋กํ•  ์ˆ˜ ์—†์Œ.
  • AUTO_INCREMENT : ๊ฐ’ ์ž๋™์ฆ๊ฐ€
  • VARCHAR(size) : ์ž…๋ ฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ธ€์ž ์–‘์„ ์ œํ•œํ•  ์ˆ˜ ์žˆ์Œ.
  • PRIMARY KEY(id) : ๊ณ ์œ ํ•œ ๊ฐ’์˜ ์ปฌ๋Ÿผ์„ ์ง€์ •ํ•˜๋ฉฐ, ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Œ 

MySQL์˜ CRUD

Create / Read / Update / Delete ์ค‘์—์„œ๋„ ์ค‘์š”ํ•œ ๊ฒƒ์€ Create์™€  Read์ด๋‹ค. ์ƒ์„ฑํ•˜์ง€ ์•Š์œผ๋ฉด ์กด์žฌํ•˜์ง€ ์•Š๊ณ , ์ฝ์ง€์•Š๋Š”๋‹ค๋ฉด ์ƒ์„ฑํ•  ์ด์œ ๊ฐ€ ์—†๋‹ค. ๋”ฐ๋ผ์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ผ๋ฉด  Create์™€  Read๋Š” ๋ฐ˜๋“œ์‹œ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ธฐ๋Šฅ์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Update์™€ Delete๋Š” ์—†์„ ์ˆ˜๋„ ์žˆ๋‹ค. ์ˆ˜์ •๊ณผ ์‚ญ์ œ๊ฐ€ ๊ธˆ๊ธฐ์‹œ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด, ์—ญ์‚ฌ์˜ ํ•œ ๋ถ€๋ถ„์€ ์ˆ˜์ •๋˜์–ด์„œ๋Š” ์•ˆ๋œ๋‹ค. ๋˜๋Š” ์–ด๋– ํ•œ ๊ฑฐ๋ž˜๋‚ด์—ญ์ด ์‚ญ์ œ๋œ๋‹ค๋ฉด ๊ทธ๊ฒƒ์€ ๋ฒ”์ฃ„๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค.

'TIL' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[TIL] 220113  (0) 2022.01.13
[TIL] 220112  (0) 2022.01.12
[TIL] 220110  (0) 2022.01.10
[TIL] 220109  (0) 2022.01.09
[TIL] 220107  (0) 2022.01.07