๋ฌธ์ œ

 

Brazilian E-Commerce Public Dataset by Olist ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋ธŒ๋ผ์งˆ์˜ ์ด์ปค๋จธ์Šค ์›น์‚ฌ์ดํŠธ์ธ Olist Store์˜ ํŒ๋งค ๋ฐ์ดํ„ฐ ์ž…๋‹ˆ๋‹ค. ๊ทธ ์ค‘ `olist_orders_dataset` ํ…Œ์ด๋ธ”์—๋Š” ์ฃผ๋ฌธ ID, ๊ณ ๊ฐ ID, ์ฃผ๋ฌธ ์ƒํƒœ, ๊ตฌ๋งค ์‹œ๊ฐ ๋“ฑ ์ฃผ๋ฌธ ๋‚ด์—ญ ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด์žˆ์Šต๋‹ˆ๋‹ค. Olist์˜ ์ฃผ๋ฌธ๋ถ€ํ„ฐ ๋ฐฐ์†ก๊นŒ์ง€ ํ”„๋กœ์„ธ์Šค๋Š” ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง€๊ณ , ๊ฐ ๋‹จ๊ณ„๋งˆ๋‹ค ์‹œ๊ฐ์„ ๊ธฐ๋กํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ๊ณ ๊ฐ์˜ ๊ตฌ๋งค
    • `order_purchase_timestamp` ์ปฌ๋Ÿผ์— ๊ตฌ๋งค ์‹œ์ ์ด ์ €์žฅ๋จ
  2. ํŒ๋งค์ž๊ฐ€ ์ฃผ๋ฌธ์„ ์Šน์ธ
    • `order_approved_at` ์ปฌ๋Ÿผ์— ์Šน์ธ ์‹œ์ ์ด ์ €์žฅ๋จ
  3. ํƒ๋ฐฐ์‚ฌ์— ๋„์ฐฉํ•˜์—ฌ ๋ฐฐ์†ก ์‹œ์ž‘
    • `order_delivered_carrier_date` ์ปฌ๋Ÿผ์— ๋ฐฐ์†ก ์‹œ์ž‘ ์‹œ์ ์ด ์ €์žฅ๋จ
  4. ๋ฐฐ์†ก ์™„๋ฃŒ
    • `order_delivered_customer_date` ์ปฌ๋Ÿผ์— ๋ฐฐ์†ก ์™„๋ฃŒ ์‹œ์ ์ด ์ €์žฅ๋จ

์ถ”๊ฐ€๋กœ `order_estimated_delivery_date` ์ปฌ๋Ÿผ์—๋Š” ์ฃผ๋ฌธ ์‹œ์ ์— ๊ณ„์‚ฐํ•œ ๋ฐฐ์†ก ์˜ˆ์ • ์‹œ๊ฐ์ด ์ €์žฅ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ์ปฌ๋Ÿผ์— ๊ฐ’์ด ‘2017-02-24 00:00:00’๋กœ ๋“ค์–ด์žˆ๋Š” ๊ฒฝ์šฐ, ๋ฐฐ์†ก์„ 2017๋…„ 2์›” 24์ผ ์ž์ •๊นŒ์ง€ ์™„๋ฃŒํ•˜๊ฒ ๋‹ค๋Š” ์˜๋ฏธ๋ฅผ ๋‹ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

 

2017๋…„ 1์›” ํ•œ ๋‹ฌ ๋™์•ˆ ๋ฐœ์ƒํ•œ ์ฃผ๋ฌธ์˜ ๋ฐฐ์†ก ์˜ˆ์ธก์ด ์ •ํ™•ํ–ˆ๋Š”์ง€ ๋ถ„์„์„ ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ณ ๊ฐ์˜ ๊ตฌ๋งค ์ผ์ž๋ณ„๋กœ ๋ฐฐ์†ก ์˜ˆ์ • ์‹œ๊ฐ ์•ˆ์— ๊ณ ๊ฐ์—๊ฒŒ ๋„์ฐฉํ•œ ์ฃผ๋ฌธ๊ณผ, ๋ฐฐ์†ก ์˜ˆ์ • ์‹œ๊ฐ์ด ์ง€๋‚˜์„œ ๊ณ ๊ฐ์—๊ฒŒ ๋„์ฐฉํ•œ ์ฃผ๋ฌธ์„ ๊ฐ๊ฐ ์ง‘๊ณ„ํ•˜๋Š” ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ๋ฐฐ์†ก ์™„๋ฃŒ ๋˜๋Š” ๋ฐฐ์†ก ์˜ˆ์ • ์‹œ๊ฐ ๋ฐ์ดํ„ฐ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ๋Š” ๊ณ„์‚ฐ์—์„œ ์ œ์™ธํ•ฉ๋‹ˆ๋‹ค. ๊ณ„์‚ฐ ๊ฒฐ๊ณผ๋Š” ๊ตฌ๋งค ๋‚ ์งœ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ๋˜์–ด์•ผ ํ•˜๊ณ , ์•„๋ž˜ ์ปฌ๋Ÿผ์„ ํฌํ•จํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • `purchase_date` - ๊ตฌ๋งค ๋‚ ์งœ (์˜ˆ: 2017-01-01)
  • `success` - ๋ฐฐ์†ก ์˜ˆ์ • ์‹œ๊ฐ ์•ˆ์— ๊ณ ๊ฐ์—๊ฒŒ ๋„์ฐฉํ•œ ์ฃผ๋ฌธ ์ˆ˜
  • `fail` - ๋ฐฐ์†ก ์˜ˆ์ • ์‹œ๊ฐ์ด ์ง€๋‚˜ ๊ณ ๊ฐ์—๊ฒŒ ๋„์ฐฉํ•œ ์ฃผ๋ฌธ ์ˆ˜

๊ฒฐ๊ณผ ๋ฐ์ดํ„ฐ ์˜ˆ์‹œ

purchase_date success fail
2017-01-06 4 0
2017-01-07 3 1
  • 2017๋…„ 1์›” 6์ผ ๊ตฌ๋งค๋œ ์ฃผ๋ฌธ์€ ์ด 4๊ฑด์ด๊ณ  ๋ชจ๋‘ ๋ฐฐ์†ก ์˜ˆ์ •์ผ ์•ˆ์— ๋ฐฐ์†ก ์™„๋ฃŒ๋จ
  • 2017๋…„ 1์›” 7์ผ ๊ตฌ๋งค๋œ ์ฃผ๋ฌธ์€ ์ด 4๊ฑด์ด๊ณ  ๊ทธ ์ค‘ 3๊ฑด์€ ๋ฐฐ์†ก ์˜ˆ์ •์ผ ์•ˆ์— ๋ฐฐ์†ก ์™„๋ฃŒ๋˜์—ˆ์œผ๋‚˜, 1๊ฑด์€ ๋ฐฐ์†ก ์˜ˆ์ •์ผ ์ดํ›„์— ๋ฐฐ์†ก ์™„๋ฃŒ๋จ

 

์ œ์ถœ
SELECT DATE(order_purchase_timestamp) AS 'purchase_date'
     , SUM(IIF(order_estimated_delivery_date >= order_delivered_customer_date, 1, 0)) AS 'success'
     , SUM(IIF(order_estimated_delivery_date < order_delivered_customer_date, 1, 0)) AS 'fail'
FROM olist_orders_dataset
WHERE order_delivered_customer_date IS NOT NULL
  AND order_estimated_delivery_date IS NOT NULL
  AND purchase_date LIKE '2017-01%'
GROUP BY purchase_date
ORDER BY purchase_date
;

ํŠน์ • ๋ฒ„์ „ ์ด์ƒ์ด ๋˜์–ด์•ผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํ•จ์ˆ˜๋“ค์ด ์กด์žฌํ•  ๋•Œ, ํ˜„์žฌ ๋ฒ„์ „ ํ™•์ธํ•˜๋Š” ๋ฐฉ๋ฒ•

SELECT @@VERSION;

 

์˜ˆ์‹œ ๊ฒฐ๊ณผ
Microsoft SQL Server 2019 (RTM-CU29-GDR) (KB5046860) - 15.0.4410.1 (X64) 
	Oct 23 2024 15:50:49 
	Copyright (C) 2019 Microsoft Corporation
	Standard Edition (64-bit) on Windows Server 2019 Standard 10.0 <X64> (Build 17763: )

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

[MSSQL] ์ œ์•ฝ ์กฐ๊ฑด ํ™œ์„ฑ/๋น„ํ™œ์„ฑํ™”  (0) 2025.02.18

JSP ์ž‘์—… ์ค‘ login() ํ•จ์ˆ˜๊ฐ€ ๋‘๋ฒˆ ํ˜ธ์ถœ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ์—ˆ๋‹ค.

<!-- ๊ธฐ์กด ์ฝ”๋“œ (type ๋ฏธ์ง€์ •) -->
<button onclick="login();" style="cursor:pointer; border:0px;">LOGIN</button>

 

login() ํ•จ์ˆ˜ ๋‚ด๋ถ€๋ฅผ ๋ณด๋ฉด, ์•„์ด๋””์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ ๊ฒ€์ฆ ํ›„

document.f.submit();์„ ํ˜ธ์ถœํ•˜์—ฌ ํผ์„ ์ œ์ถœํ•œ๋‹ค.

function login() {
    if (document.getElementById('id').value == '') {
        alert('์•„์ด๋””๋ฅผ ์ž…๋ ฅํ•˜์‹ญ์‹œ์˜ค.');
        return;
    }

    if (document.getElementById('pwd').value == '') {
        alert('๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ž…๋ ฅํ•˜์‹ญ์‹œ์˜ค.');
        return;
    }

    document.f.submit();
}

 

์ด๋•Œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์›์ธ์€ ๋ฒ„ํŠผ ํƒœ๊ทธ์˜ ๊ธฐ๋ณธ ๋™์ž‘์ด submit ํƒ€์ž…์œผ๋กœ ์ธ์‹๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

(<button> ํƒœ๊ทธ์˜ ๊ธฐ๋ณธ type์€ submit)

 

 

 

<button> ํƒœ๊ทธ์˜ ๊ธฐ๋ณธ type์ธ submit์œผ๋กœ ํผ ์ œ์ถœ์ด ๋˜๊ณ ,

login() ๋‚ด์—์„œ document.f.submit();์„ ํ˜ธ์ถœํ•˜์—ฌ ํผ์ด ๋‘ ๋ฒˆ ์ œ์ถœ๋œ๋‹ค.

 

๋”ฐ๋ผ์„œ ๊ธฐ๋ณธ type์ด ์•„๋‹Œ type="button"์„ ํ†ตํ•ด ํƒ€์ž…์„ ๋ช…์‹œํ•ด์ฃผ๋ฉด

๋ธŒ๋ผ์šฐ์ € ๊ธฐ๋ณธ ํผ ์ œ์ถœ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ๋‹ค.

<!-- type ๋ช…์‹œ -->
<button type="button" onclick="login();" style="cursor:pointer; border:0px;">LOGIN</button>

 

 

 

์ด ๋ฌธ์ œ๋Š” JSP๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ผ๋ฐ˜์ ์ธ HTML + JavaScript ํ™˜๊ฒฝ์—์„œ๋„ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

ํŠนํžˆ ์ด๋Ÿฐ ๋ถˆํ•„์š”ํ•œ ํ•จ์ˆ˜ ์ค‘๋ณต ํ˜ธ์ถœ์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ํƒ€์ž…์„ ๋ช…์‹œํ•˜์ž ๐Ÿ˜‰

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

[JavaScript] var, let, const ์ฐจ์ด  (0) 2022.07.20
ํŠน์ • branch clone
git clone -b {branch_name} --single-branch {์ €์žฅ์†Œ URL}
ex) git clone -b javajigi --single-branch https://github.com/javajigi/java-racingcar

 

 

 

single branch clone ์ดํ›„ ํŠน์ • branch ์ถ”๊ฐ€ clone
git remote set-branches --add origin {branch_name}
git fetch origin dev_front

# ๋ธŒ๋žœ์น˜ ๋ฆฌ์ŠคํŠธ ํ™•์ธ
git branch -a

git checkout {branch_name}
์™ธ๋ž˜ ํ‚ค ์ œ์•ฝ ์กฐ๊ฑด ๋น„ํ™œ์„ฑํ™” ๋ฐฉ๋ฒ•
ALTER TABLE ํ…Œ์ด๋ธ”๋ช… NOCHECK CONSTRAINT ์ œ์•ฝ์กฐ๊ฑด๋ช…;

 

 

 

์™ธ๋ž˜ ํ‚ค ์ œ์•ฝ ์กฐ๊ฑด ํ™œ์„ฑํ™” ๋ฐฉ๋ฒ•
ALTER TABLE ํ…Œ์ด๋ธ”๋ช… WITH CHECK CHECK CONSTRAINT ์ œ์•ฝ์กฐ๊ฑด๋ช…;

 

 

 

๋ชจ๋“  ์™ธ๋ž˜ ํ‚ค ์ œ์•ฝ ์กฐ๊ฑด์„ ํ•œ ๋ฒˆ์— ๋น„ํ™œ์„ฑํ™”/ํ™œ์„ฑํ™”ํ•˜๊ธฐ
-- ๋ชจ๋“  ์ œ์•ฝ ์กฐ๊ฑด ๋น„ํ™œ์„ฑํ™”
ALTER TABLE ํ…Œ์ด๋ธ”๋ช… NOCHECK CONSTRAINT ALL;

-- ๋ชจ๋“  ์ œ์•ฝ ์กฐ๊ฑด ํ™œ์„ฑํ™”
ALTER TABLE ํ…Œ์ด๋ธ”๋ช… WITH CHECK CHECK CONSTRAINT ALL;
์—๋Ÿฌ๋ฉ”์„ธ์ง€ ๋‚ด์šฉ
Module Error (from ./node_modules/eslint-loader/index.js):
error: Use object destructuring (prefer-destructuring) at src\views\mr\BrandPerformance.vue:296:13:
  294 |       const compComboId = '#PRODUCT_BY_RANGE#';
  295 |       const yyyymm = this.query.yyyymm.replace(/-/gi, '');
> 296 |       const prodRangeCd = this.query.prodRangeCd;
      |             ^
  297 |       const rs = await this.compCodeList(compComboId, yyyymm, prodRangeCd);
  298 |       const clsRow = rs.data.resultList;

 

์œ„ ์—๋Ÿฌ๋Š” this.query.prodRangeCd๋ฅผ ๊ตฌ์กฐ ๋ถ„ํ•ด๋ฅผ ํ†ตํ•ด ๊ฐ€์ ธ์˜ค์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•œ๋‹ค.

๊ฐ์ฒด ๊ตฌ์กฐ ๋ถ„ํ•ด๋ฅผ ํ†ตํ•ด this.query์˜ ์†์„ฑ์„ ์ข€ ๋” ๊ฐ„๊ฒฐํ•˜๊ฒŒ ์ถ”์ถœํ•˜๋ผ๋Š” ๋‚ด์šฉ์ด๋‹ค.

this.query ๊ฐ์ฒด์—์„œ ์—ฌ๋Ÿฌ ์†์„ฑ์„ ๊ฐ€์ ธ์˜จ๋‹ค๋ฉด ๊ตฌ์กฐ ๋ถ„ํ•ด๋ฅผ ํ†ตํ•ด ์ฝ”๋“œ์˜ ๊ฐ€๋…์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ๋‹ค.

 

 

 

์ˆ˜์ • ๋ฐ˜์˜
const { yyyymm, prodRangeCd } = this.query;
const compComboId = '#PRODUCT_BY_RANGE#';
const formattedYyyymm = yyyymm.replace(/-/gi, '');
const rs = await this.compCodeList(compComboId, formattedYyyymm, prodRangeCd);
const clsRow = rs.data.resultList;

 

์ด๋ ‡๊ฒŒ ์ˆ˜์ •ํ•˜๋ฉด this.query ๊ฐ์ฒด์—์„œ yyyymm๊ณผ prodRangeCd๋ฅผ ํ•œ ๋ฒˆ์— ๊ตฌ์กฐ ๋ถ„ํ•ดํ•˜์—ฌ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ๋‹ค.

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

[SVN] svn commit has encountered a problem  (0) 2022.05.23

๐Ÿณ docker ps

โ€ป ps : process status

# ํ˜„์‹œ์  ์‹คํ–‰์ค‘์ธ docker ์ปจํ…Œ์ด๋„ˆ ์กฐํšŒ
docker ps

# a์˜ต์…˜์„ ์ฃผ๋ฉด ์ข…๋ฃŒ๋œ ์ปจํ…Œ์ด๋„ˆ๋„ ๊ฐ™์ด ์กฐํšŒ
docker ps -a

๐Ÿณ docker stop / docker kill

โ€ป stop : ์ง„ํ–‰์ค‘์ธ ์ž‘์—… ๋๋‚ธ ํ›„ ์ข…๋ฃŒ

โ€ป kill : ๊ฐ•์ œ ์ข…๋ฃŒ

# NAMES๋Š” docker ps ์กฐํšŒํ•˜๋ฉด ๋‚˜์˜ด
docker stop [NAMES]
docker kill [NAMES]

ํšŒ์‚ฌ ๋‚ด์—์„œ ์ƒˆ๋กœ ๊ตฌ์ถ•์ค‘์ธ ํŒจํ‚ค์ง€์—์„œ๋Š” ์ฝ”์–ด ๋‹จ๊ณ„ ์†Œ์Šค๋Š” ๋”ฐ๋กœ ๊ฐœ๋ฐœํ•˜๊ณ 

๊ฐ ์‚ฌ์ดํŠธ๋งˆ๋‹ค ๋“ค์–ด๊ฐ€๋Š” ์ปค์Šคํ…€ ํŽ˜์ด์ง€๋ฅผ ๋ถ™์—ฌ์„œ ์˜คํ”ˆํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰ํ•˜๊ณ  ์žˆ๋‹ค.

 

๊ทธ๋ž˜์„œ ์ฝ”์–ด ๋‹จ๊ณ„ ์†Œ์Šค๋Š” git submodule์„ ์‚ฌ์šฉํ•ด์„œ ์ž‘์—…์ค‘์ด๋‹ค.

 

์•„๋ž˜ ๋‚ด์šฉ์€ ํ•ด๋‹น ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ฒซ ํ”„๋กœ์ ํŠธ๋ฅผ git clone ๋ฐ›์€ ํ›„

submodule๋กœ ๋“ฑ๋ก๋˜์–ด ์žˆ๋Š” ์ฝ”์–ด ์†Œ์Šค๋ฅผ pull ๋ฐ›๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.

 

๋จผ์ € ๋ฉ”์ธ ํ”„๋กœ์ ํŠธ๋ฅผ clone ๋ฐ›์€ ํ›„ !

# ์„œ๋ธŒ๋ชจ๋“ˆ์„ ์ฒ˜์Œ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒฝ์šฐ์—๋งŒ ์‹คํ–‰
# ์„œ๋ธŒ๋ชจ๋“ˆ ์ •๋ณด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋กœ์ปฌ ํ™˜๊ฒฝ์„ค์ • ํŒŒ์ผ ์ค€๋น„
# .gitsubmodules ํŒŒ์ผ์— ์žˆ๋Š” ์ •๋ณด๋ฅผ .git/config์— ๋“ฑ๋ก
# git config -list -local๋กœ ๋“ฑ๋ก ๊ฒฐ๊ณผ ํ™•์ธ ๊ฐ€๋Šฅ
git submodule init

# ์„œ๋ธŒ๋ชจ๋“ˆ ์ตœ์‹ ํ™”
git submodule update

# ์ฒ˜์Œ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒฝ์šฐ ์œ„ ๋‘๊ฐ€์ง€๋ฅผ ํ•œ๋ฒˆ์— ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Œ
git submodule update --init

 

๊ทธ ๋‹ค์Œ ์•„๋ž˜๋Š” ์„œ๋ธŒ๋ชจ๋“ˆ ์ตœ์‹ ํ™”ํ•˜๋Š” ๋ฐฉ๋ฒ• !

git submodule update --remote --merge

+ Recent posts