분류 전체보기 166

[SQL] CASE문

SQL에서 CASE문이란? SQL에서의 CASE문은 엑셀에서 IF() 함수를 떠올리면 이해하기 쉽습니다. 엑셀에서 IF() 함수는 아래와 같이 조건문에 대한 판단에 따라 참인 경우와 아닌 경우로 나뉘어서 작동하게 되는데요. *엑셀에 대한 참고: https://simon-yoon.tistory.com/29 SQL에서의 CASE문도 기본적으로 다음과 같이 작성할 수 있습니다. CASE로 CASE문을 시작하고 영어 문장 쓰듯이 자연스럽게 WHEN 쓰고 THEN 뒤에 출력할 내용을 작성하면 됩니다. SQL 쿼리 작성 예시 이제 MySQL에서 world 데이터베이스를 사용하여 쿼리를 작성해 보겠습니다. 아래는 world 데이터베이스의 country 테이블 일부입니다. 저는 여기서 빨간 박스로 표시한 populat..

[SQL] 연습 2022.07.02

[Python] enumerate () 함수

파이썬의 내장 함수 중에 enumerate() 함수는 반복 가능한 객체에 들어있는 요소와 인덱스를 튜플로 묶어서 객체를 반환해주는 함수입니다. 이 때 enumerate()함수에는 (반복 가능한 객체)를 넣어주게 됩니다. 간단하게 for 반복문을 사용해서 확인해볼 수 있습니다. 1) 일반적인 for 반복문으로 요소 출력하기 일반적으로 for 반복문을 통해서 리스트의 각 요소를 출력하게 되면 아래와 같은 결과를 확인할 수 있습니다. 2) enumerate() 함수를 활용해서 for 반복문 결과 확인 이렇게 enumerate() 함수를 사용하면 인덱스와 요소를 함께 출력할 수 있습니다. 참고로 인덱스 시작 번호를 2부터 시작하고 싶다면 아래와 같이 작성해주면 됩니다. # index의 start를 2부터 for..

[Python] 연습 2022.06.30

[SQL] View의 특징과 생성 및 삭제

View(뷰)란? View(뷰)란, 테이블로부터 유도된 가상의 테이블을 의미합니다. 여기서 포인트는 '가상의 테이블'이라는 점입니다. '가상의 테이블'이므로 실제 데이터를 저장하고 있지는 않습니다. 그렇다면 View는 왜 사용하는 것일까요? View의 역할은 가상 테이블로 특정한 쿼리를 실행한 결과만 보고자 할 때 사용합니다. 다시 말하면 테이블을 참조해서 원하는 칼럼만을 조회하는데 View를 사용하면 쿼리를 더 단순하게 만들 수 있다는 장점이 있기 때문입니다. 이번에는 View의 특징을 살펴보겠습니다. 1. 참조한 테이블이 변경될 경우, View도 함께 변경된다. 2. 한번 생성된 View는 수정이 불가능하며, 따라서 한번 생성된 View는 변경을 원할 경우 삭제 후 재생성해야 한다. 3. 특정 컬럼만..

[SQL] 연습 2022.06.26

가상환경, 프레임워크에 대한 기본 정리

1. 가상환경 무엇인가? 💡 간단히 말해서 가상 환경은 독립된 공간을 만들어주는 기능입니다. 프로젝트를 여러개 개발하는데 이때, 패키지 문제가 발생할 수 있습니다. 예를들어 프로젝트 A는 버전이 1.5에서 사용해야 되고 B는 패키지 2.0에서 사용해야되면 호환이 되지 않아 문제가 발생할 수 있습니다. 따라서 가상 환경은 이를 해결하기 위해 독립된 공간을 만들어주어 문제가 발생하지 않도록 합니다. 파이썬에서 가상환경은? 💡 각 가상환경별로 다른 버전의 파이썬 인터프리터가 들어갈 수 있습니다. 따라서 스크립트를 실행할 때는 원래 설치된 파이썬 인터프리터가 아닌 가상환경 안의 파이썬 인터프리터를 사용합니다. 왜 필요할까? 💡 같은 모듈을 사용한다고 하더라도 다른 버전을 필요로 한다거니, Python 프로그램을..

워크시트 2022.06.25

파이참 프로젝트 파일 사라져 보일 때

파이참으로 개발 프로젝트를 진행하다가 순간 프로젝트 파일들이 사라져서 기존 디렉토리가 안 보이는 경우가 종종 발생하곤 합니다. Mac이던 Windows이던지 상관없이 이러한 문제가 생기는 경우가 있어서 한 번만 대처법을 확인해두면 좋을 것 같습니다. 만약 파일탐색기에서 해당 폴더와 파일들이 그대로 있는 상태라면, 프로젝트가 다 날아간 것인지 크게 걱정하지 않아도 됩니다. 1) 먼저, 아래의 이미지와 같이 Pycharm 에서 Preferences...(설정) 를 클릭한 후 2) 설정 화면에서 왼편에 Project: 를 선택하시고, '+ Add Content Root'도 클릭해줍니다. Project 파일들에 대한 루트가 제대로 설정되어 있지 않다면 비어있는 화면이 나옵니다. 3) 이제 프로젝트 파일 경로..

워크시트 2022.06.24

InconsistentMigrationHistory 이슈 발생시 해결방법

django 프로젝트를 진행하면서 database와 migration시 InconsistentMigrationHistory 에러가 발생하는 경우가 있습니다. 바로 아래의 사진과 같은 상황이 발생하는 것인데요. 이 에러 메세지를 잘 읽어보면, (제 에러 메세지와 꼭 동일하지 않을 수 있습니다! 직접 이슈 발생 이유가 무엇인지 확인할 필요가 있습니다.) django.db.migrations.exceptions.InconsistentMigrationHistory 라고 하면서 migration 히스토리 상에서 어떤 충돌이 발생한 것임을 알 수 있습니다. 더 자세히보면 Migration admin.0001_initial이 accounts라고 하는 앱보다 먼저 applied 되면서 문제가 발생했다고 하는데요. 사실..

워크시트 2022.06.19

ADsP, SQLD 발표 전 점수 확인 방법

지난 5월에 ADP, ADsP, SQL 시험이 치뤄지고 6월에 사전 점수가 공고되었습니다. 연달아 치뤄진 시험에 많은 분들께서 점수를 많이 궁금해하셔서 사전 점수가 공고되었다는 문자를 받자마자 접속해서 서버가 잠시 정신을 못차리기도 한 것 같습니다. 문자를 받고 접속해도 아직 합/불합 미결정이라는 알림창이 떠서 약간의 혼동이 있었는데, 이럴때 확인할 수 있는 방법이 있습니다. 1. 우선 데이터 자격 검정 메인페이지 https://www.dataq.or.kr/www/main.do 여기로 가셔서 시험 결과 창으로 갑니다. 2. 시험 결과 페이지에서 F12 키( Mac은 Command + Option + 영어 I )를 눌러서 개발자 도구를 열어주세요. 개발자 도구를 열어서 HTML 코드를 확인해보면 태그가 있..

일상 2022.06.17

IT 업계와 ESG 경영에 대한 정리

1. ESG란? ESG = E(환경보호: Environment) + S(사회공헌: Social) + G(지배구조/윤리경영: Governance)의 약자이다. 이제 기업들은 의사결정시 단순히 기업의 재무적 요소들만을 고려하는 것이 아니라 '사회책임투자' 혹은 '지속가능투자'의 관점에서 생각하고 있다. 다시 말하면 과거에는 기업 가치와 기업의 재무 성과만을 중요하게 생각했다면, 현재는 기업도 사회의 일원으로써 환경과 사회적 영향, 지배구조 등의 요소들도 고려할 수 밖에 없게 된 것이다. 이미 EU나 미국 등에서는 기업의 중요한 평가 기준 중 하나로 자리매김했다. 또한 이러한 글로벌 ESG 규제에 대응하지 못하면 오히려 경영 리스크에 노출된다. 2. 각 ESG 요소 환경(Environment) 이슈에 대해서는..

일상 2022.06.12

[DB] mysql에서 한글 포함된 쿼리 insert 안될 때

mysql에서 새로운 스키마를 생성하고 새로운 테이블을 생성하여 데이터를 직접 입력할 때 쿼리문에 한글이 포함된 데이터를 입력하는 경우 오류가 발생한다면, 해당 스키마와 테이블의 캐릭터 셋을 확인해야 합니다. 예를 들어, 아래와 같은 쿼리를 입력하고자 했을 때 INSERT INTO `shop_db`.`member` (`member_id`, `member_name`, `memberc_addr`) VALUES ('tess', '나훈아', '경기 부천시 중동') ; 다음과 같이 에러가 발생하면서 Response에 아래와 같은 메세지가 나온다면 Character Set을 설정해주시면 됩니다. Error Code: 1366. Incorrect string value: '\xEB\x82\x98\xED\x9B\x88..

[SQL] 연습 2022.06.11

Mac에서 Python venv 가상환경 생성

파이썬 가상환경이란? 간단히 말해서 가상 환경은 독립된 공간을 만들어주는 것이다. 프로젝트를 여러개 개발할때 종종 패키지 문제가 발생할 수 있는데, 프로젝트마다 사용해야하는 버전이 달라야 할 수도 있고 충돌을 일으킬 소지가 생길 수도 있다. 따라서 별도로 독립된 가상 환경을 구성하여 사용하는 것이 필요하다. 가상 환경 생성 1. 가상 환경을 만들 위치에 폴더를 생성 원하는 곳에 폴더를 직접 생성해도 되고, 터미널에서 생성해도 상관없다. 일단 폴더만 만들면 된다. 폴더명도 원하는대로 하면된다. 예시로 venvs 폴더를 생성하였다. 2. 가상 환경 만들기 아래의 코드를 입력하여 위에서 생성한 디렉토리로 위치를 변경한다. 아니면 생성한 경로에서 바로 terminal을 열어도 된다. cd venvs 이후 아래의..

[Python] 연습 2022.06.09

[JavaScript] 레이어(Layer)

레이어(Layer)란, 간단히 말해 층을 의미한다. 하나의 웹 페이지에 여러 개의 레이어를 만들어 한 레이어 위에 다른 레이어를 겹쳐 쌓을 수 있다. 레이어를 보이거나 감추거나 확대 또는 축소도 가능하고 동적인 애니메이션 구현도 가능하다. 레이어 정의 고유한 ID를 가져야 하며 레이어 위치와 크기를 속성값으로 지정한다. 레이어 생성에 필요한 태그 와 태그 사용 class 와 id 속성을 추가하여 원하는 부분의 스타일 지정 표현할 내용1 표현할 내용2 예제 초록 색종이 노란 색종이

워크시트 2022.06.05

[CSS] 구글 폰트 사용하기

구글에서는 무료로 사용할 수 있는 여러 웹 폰트를 제공하고 있다. 이를 html 문서에 링크해서 쉽게 사용할 수 있다. 이번 포스팅에서는 구글 폰트 사용 방법을 작성하고자 한다. 1단계: 구글 폰트 사이트에서 폰트를 선택하기 2단계: 선택한 폰트를 추가하고 코드를 복사하기 적용 예시 Using Default Fonts 구글폰트! Using Google Fonts! 만약 잘 적용이 안된다면, @import문을 상위로 올려서 실행해볼것

워크시트 2022.06.04

[CSS] 기본 스타일과 선택자

CSS 기본 CSS 스타일의 형식: 선택자 { 속성1 : 속성값1; 속성2 : 속성값2 } 예시 li { font-size : 1.2em; line-height: 1.5; color : blue; } css를 한 줄로 표기할 수도 있고, 여러 줄로 표기할 수 있다. 중괄호{} 안에서 스타일 규칙은 세미콜론(;)으로 구분하여 작성한다. 참고로, 주석은 /* ... */ 사이에 작성한다. 인라인 스타일 인라인 ㄴ스타일은 따로 스타일 시트를 사용하지 않고 직접 대상에 적용하는 방법이다. 인라인 스타일 적용 예시입니다. 내부 스타일 시트 아래와 같이 html 문서 안에 스타일 정보를 작성한 것을 내부 스타일 시트라고 한다. 외부 스타일 시트 따로 css 파일을 만들어서 저장한 후, html 문서에 연결하면 해당..

워크시트 2022.06.03

[Excel] VLOOKUP 함수

● VLOOKUP 함수의 의미 = V(Vertical: 수직의) + LOOKUP(검색) ▷ 즉, 열을 기준으로 데이터를 찾아오는 함수 ● VLOOKUP 함수의 사용 조건 1. 작성하고자 하는 표에서 원 데이터와의 기준이 되는 열이 필요함: 기준이 되는 열이 있어야 값을 찾을 수 있다. 2. 찾으려는 데이터는 원 데이터의 기준 열 오른쪽에 있어야 함: 위의 예시에서도 '기초지자체'열 우측에 값이 존재함을 확인할 수 있다. 따라서, 만약 기준 열이 중간에 위치해 있다면 기준 열의 위치를 왼쪽으로 옮겨주어야 한다. 그렇게 할 수 없다면 INDEX(), MATCH() 함수를 활용해서 데이터를 불러와야만 한다. 3. 기준이 되는 열에 중복된 데이터가 없어야 함: 중복 값이 존재하는 경우 첫번째로 찾은 데이터만 불..

워크시트 2022.05.29

[Python] 지역변수, 전역변수, 클로저(Closure)

지역변수와 전역변수 지역변수(local variable): 함수 안에서 선언되는 변수 전역변수(global variable): 함수 외부에서 선언되는 변수 name = 'simon' def my_name(): name = 'kihun' print(name) my_name() # 결과: kihun print(name) # 결과: simon my_name() 함수 내부에서 선언된 name변수는 함수를 호출하였을때, ‘kihun’이라는 이름을 출력하지만 지역변수이므로 함수 외부에서의 print(name)에는 영향을 미치지 않는다. print(name) 함수는 전역변수로 선언된 name = ‘simon’의 ‘simon’을 출력하고 있다. 만약, 함수 내부에서 선언된 name 변수가 전역변수로 사용되기 위해서는 ..

[Python] 연습 2022.05.28