blue-dot의 등록된 링크

키자드에 등록된 총 180개의 포스트를 확인하실 수 있습니다.

Tistory

파이썬 머신러닝 입문 공부일지 5. Pandas 판다스 Index 객체

Pandas 의 index 객체에 대해서 RDBMS (관계형 데이터베이스 관리 시스템) 의 PK(Primary Key) 와 유사하게 사용된다는 것을 앞서 확인하였습니다. https://blue-dot.tistory.com/178 파이썬 머신러닝 입문 공부일지 3. 판다스 Pandas, DataFrame 관련 메소드 기능들 (1) 판다스Pandas 일반적으로 대부분의 데이터 세트는 2차원(행렬구조) 를 이루고 있습니다. (RDBMS : 관계형 데이터베이스 관리 시스템) 판다스는 R을 모티브로 만든 파이썬 라이브러리로 행과 열로 이 blue-dot.tistory.com index 객체 추출 데이터 프레임이나 시리즈에서 Index 객체만 추출하기 위해서는 DataFrame.index, Series.index ..

Tistory

어느 날 네가 또 슬피 울 때, 네가 기억하기를 네가 나의 자랑이란 걸

나의 자랑 이랑 김승일 넌 기억의 천재니까 기억할 수도 있겠지. 네가 그때 왜 울었는지. 콧물을 책상 위에 뚝뚝 흘리며, 막 태어난 것처럼 너는 울잖아. 분노에 떨면서 겁에 질려서. 일을 하고 살아야 한다는 것이, 네가 일을 할 줄 안다는 것이. 이상하게 생각되는 날이면, 세상은 자주 이상하고 아름다운 사투리 같고. 그래서 우리는 자주 웃는데. 그날 너는 우는 것을 선택하였지. 네가 사귀던 애는 문밖으로 나가버리고. 나는 방 안을 서성거리면 내가 네 남편이었으면 하고 바랐지. 뒤에서 안아도 놀라지 않게, 내 두 팔이 너를 안심시키지 못할 것을 다 알면서도 벽에는 네가 그린 그림들이 붙어 있고 바구니엔 네가 만든 천가방들이 수북하게 쌓여 있는 좁은 방 안에서, 네가 만든 노래들을 속으로 불러보면서. 세상에..

Tistory

사랑에 빠져서 정말 좋았던 건 세상 모든 순간들이 무언가 되고 있는 중이었다는 것

사랑에 빠진 자전거 타고 너에게 가기 김선우 자전거 바퀴 돈다 바퀴 돌고 돌며 숨결 되고 있다 풀 되고 있다 너의 배꼽에서 흐르는 FM 되고 있다 실개천 되고 있다 버들구름 되고 있다 막 태어난 햇살 업고 자장가 불러주는 바람 되고 있다 초록빛 콩꼬투리 조약돌 되고 있다 바퀴 돌고 돌며 너에게 가는 길이다 무엇이 될지는 알 수 없지만 모두 무언가 되고 있는 중인 아침 부스러기 시간에서도 향기로운 밀전병 냄새가 난다 밀싹 냄새 함께 난다 기운차게 자전거 바퀴 돌린다 사랑이 아니면 이런 순간 없으리 안녕 지금 이 순간 너 잘 존재하길 바래 그다음 순간의 너도 잘 존재하길 바래 자전거 바퀴 돌리는 달리아꽃 빨강 꽃잎 흔들며 인사한다 다음 생에 코끼리 될 꿀벌 자기 몸속에서 말랑한 귀 두짝을 꺼낸다 방아깨비들의..

Tistory

후회 없는 삶 이제부터라는 것을 마음 편안히 갖게 하소서

입동의 시 임강빈 땀 흘린 만큼 거두게 하소서 손에 쥐게 하소서 들판엔 노적가리가 아직 남아 있습니다 주먹을 펴게 하소서 찬바람이 지나갑니다 뒤돌아보는 지혜를 주소서 살아 있다는 여유를 가르쳐주소서 떨리는 마음에 불을 지펴주소서 남은 해는 짧습니다 후회없는 삶 이제부터라는 것을 마음 편안히 갖게 하소서 나의 겨울은 항상 이 시로 시작해. 후회 없는 삶, 이제부터라는 것을. 마음 편안히 갖게 하소서.

Tistory

파이썬 머신러닝 입문 공부일지. 회귀 분석의 회귀란 무슨 뜻일까?

머신러닝을 공부하면서 '회귀분석' 이라는 말을 계속해서 보게 됩니다. 회귀분석이란 둘 이상의 변수 간의 관계를 보여주는 통계적인 방법입니다. 일반적으로 그래프로 표현되는데, 종속 변수와 독립 변수 간의 관계를 테스트 합니다. 비전공자였던 저로써는 남들 다 통계학의 꽃이라고 하는 회귀분석이 대체 무엇인지, 왜 '회귀' 라고 하는지 의아했었어요. 제가 아는 회귀라고 함은 돌아온다는 뜻이에요. (ex. 회귀하다, 로맨스 장르 회귀물 등등...) 그렇다면 회귀 분석이라고 한다면 어떤 것으로 되돌아간다는 뜻인데, 두 변수 간의 관계를 구하는 회귀 분석이 왜 그런 뜻을 가졌는지 도통 모르겠었어요. 그런데 이것은 통계학의 역사에 등장한 인물이 붙인 이름이라 그렇게 표시되었다고 합니다. '회귀' 라는 단어를 처음 붙여..

Tistory

물에 젖는 건 싫어하지만 햇볕이 남아 있는 단어들은 아껴먹으려고 남겨 둔 사탕 같은 것

사탕과 해변의 맛 서윤후 해변에 버려진 것 중엔 내가 가장 쓸모 있었다 버려진 사람들이 잃은 것을 대신해 다시 버려진 사람을 줍는 세계에서 우리의 수도는 어느 쪽이었을까 한 뼘의 파라솔이 그늘을 짓고 우리는 통째로 두고 간 유실물로 남겨져 하나의 관광지를 이룬다 파도의 디저트가 되네 하나밖에 모르는 맛으로 사탕처럼 둥글게 앉아 녹아 가는 연인들 철썩이는 파도가 핥아 가네 발가락부터 녹으며 조금씩 둘레를 잃어 가는 사랑이여 사랑한다는 말을 남발하던 연인들이 전투적으로 질투하고 비로소 세계는 달콤해지고 온화해지네 해변이라는 말을 좋아해 물에 젖는 건 싫어하지만 햇볕이 남아 있는 단어들은 아껴먹으려고 남겨 둔 사탕 같은 것 내가 먹어본 사탕 중엔 네가 제일 별로였어 너처럼이라는 직유가 가진 설탕과 소금 사이의..

Tistory

마침내 네가 이르게 될 모든 끝의 시작을!

20년 후에 지에게 최승자 지금 네 눈빛이 닿으면 유리창은 숨을 쉰다 지금 네가 그린 파란 물고기는 하늘 물속에서 뛰놀고 풀밭에선 네 작은 종아리가 바람에 날아다니고 이상하지, 살아 있다는건 참 아슬아슬하게 아름다운 일이란다 빈 벌판에서 차갑고도 따스한 비를 맞고 있는것 같지 눈만뜨면 신기로운 것들이 네 눈의 수정체 속으로 헤엄쳐 들어오고 때로 너는 두 팔벌려 환한 빗물을 받으며 미소짓고....... 이윽고 너는 새로운 눈을 달고 세상으로 출근하리라 많은 사람들을 너는 만날것이고 많은 사람들이 네 눈물의 외줄기 길을 타고 떠나가리라 강물은 흘러가 다시 돌아오지 않고 너는 네 스스로 강을 이뤄 흘러가야만 한다 그러나 나의 몫은 이제 깊이깊이 가라앉는일, 봐라 저 많은 세월의 개떼들이 나를 향해 몰려 오잖니..

Tistory

약한 불에서 오래오래 기억을 졸이면 얼마든 달콤해질 수 있다

슈톨렌 안희연 "건강을 조심하라기에 몸에 좋다는 건 다 찾아 먹였는데 밖에 나가서 그렇게 죽어 올 줄 어떻게 알았겠니" 너는 빵을 먹으며 죽음을 이야기한다 입가에 잔뜩 설탕을 묻히고 맛있다는 말을 후렴구처럼 반복하며 사실은 압정 같은 기억, 찔리면 찔끔 피가 나는 그러나 아픈 기억이라고 해서 아프게만 말할 필요는 없다 퍼즐 한조각만큼의 무게로 죽음을 이야기할 수 있다 그런 퍼즐 조각을 수천수만개 가졌더라도 얼마든지 겨울을 사랑할 수 있다 너는 장갑도 없이 뛰쳐나가 신이 나서 눈사람을 만든다 손이 벌겋게 얼고 사람의 형상이 완성된 뒤에야 깨닫는다 네 그리움이 무엇을 만들었는지 보고 싶었다고 말하려다가 있는 힘껏 돌을 던지고 돌아오는 마음이 있다 아니야 나는 기다림을 사랑해 이름 모를 풀들이 무성하게 자라는..

Tistory

파이썬 머신러닝 입문 실습. 사이킷런으로 캐글 타이타닉 생존자 예측하기 (1)

캐글에서 제공하는 타이타닉 탑승자 명단 데이터를 기반으로 생존자 예측을 해보겠습니다. Titanic 생존자 예측 머신러닝 실습 실습 목적 : 사이킷런 사용 및 데이터 전처리와 학습과정에 대한 연습 실습 내용 : 타이타닉 호 침몰 사건 당시의 사망자와 생존자를 구분하는 요인 분석을 통해 승객의 생존 여부를 예측한다. 전처리 과정 시작 1. https://www.kaggle.com/c/titanic/data 에서 타이타닉 탑승자 데이터 명단 다운로드 후 해당 데이터에 대한 개략적인 설명 확인합니다. PassengerId : 각 승객의 고유 번호 Survived : 생존 여부(종속 변수) 0 = 사망 1 = 생존 Pclass : 객실 등급 - 승객의 사회적, 경제적 지위 1st = Upper 2nd = Mid..

Tistory

파이썬 머신러닝 입문 실습. 사이킷런으로 캐글 타이타닉 생존자 예측하기 (2)

이전까지 전처리 과정과 데이터 탐색을 마쳤으므로 이번에는 데이터 가공을 해보겠습니다. 데이터 가공 1. Survived 속성 별도 분리 후 클래스 결정값 데이터 세트로 설정 (학습 데이터 생성) 원본 CSV 데이터를 다시 로딩한 뒤, 피처 데이터 세트와 레이블 데이터 세트 추출 생성된 데이터 세트에 transform_features() 함수로 일괄 데이터 가공합니다. titanic_df = pd.read_csv('./titanic_train.csv') # 재로딩 y_titanic_df = titanic_df['Survived'] # Survived 값만 별도로 y 값 지정 X_titanic_df= titanic_df.drop('Survived',axis=1) # 기존 칼럼 삭제 후 새 칼럼 생성 X_ti..

Tistory

맨손이면 부드러워질 수 있을까

한 사람이 있는 정오 안미옥 어항 속 물고기에게도 숨을 곳이 필요하다 우리에겐 낡은 소파가 필요하다 길고 긴 골목 끝에 사람들이 앉아 있었다 작고 빛나는 흰 돌을 잃어버린 것 같았다 나는 지나가려 했다 자신이 하는 말이 어떤 말인지도 모르는 사람이 진짜 같은 얼굴을 하고 있었다 반복이 우리를 자라게 할 수 있을까 진심을 들킬까봐 겁을 내면서 겁을 내는 것이 진심일까 걱정하면서 구름은 구부러지고 나무는 흘러간다 구하지 않아서 받지 못하는 것이라고 나는 구할 수도 없고 원할 수도 없었다 맨손이면 부드러워질 수 있을까 나는 더 어두워졌다 어리석은 촛대와 어리석은 고독 너와 동일한 마음을 갖게 해달라고 오래 기도했지만 나는 영영 나의 마음일 수밖에 없겠지 찌르는 것 휘어감기는 것 자기 뼈를 깎는 사람의 얼굴이 ..

Tistory

그러므로 이제 이 눈과 코와 입과 귀를 막아 새로운 세상을 보게 하시길

꽃잎, 꽃잎, 꽃잎 이장욱 무섭다 결국 그곳엔 아무도 없을 것이다 무섭다 마음이 무섭고 몸이 무섭고 싹 트고 잎 피고 언제나 저절로 흐드러지다가 바람 불어 지는 내 마음 속 꽃잎 꽃잎, 그대가 무섭다 나는 너무 오랫동안 하나의 육체로만 살아왔으므로 아주 정교하게 정렬해 있는 하나의 고요한 세상을 지니고 있으니, 무섭다 그러나 나는 나를 이끄는 매혹에 최선을 다해 복종하였으므로 내 고요한 세상에 피고 지는 아름다운 모반을 주시하였다 그대가 처연히 휘날려 내 몸과 마음이 어지러울 때 단 한번도 나는 봄 여름 가을 겨울 흘러가는 나의 사랑을 의심하지 않았으므로 기억을 만나면 기억을 죽이고 불안을 만나면 불안을 죽이고, 그러므로 이제 이 눈과 코와 입과 귀를 막아 새로운 세상을 보게 하시길 그대에게 익숙한 세상..

Tistory

파이썬 머신러닝 입문 공부일지 4. 판다스 Pandas, DataFrame 관련 메소드 기능들 (2)

Numpy, 리스트, 딕셔너리, DataFrame 상호 변환하기 데이터 프레임은 파이썬의 리스트, 딕셔너리, 넘파이의 ndarry (배열) 과 상호로 변환할 수 있습니다. 앞으로 우리가 사용할 사이킷런 이라는 기계학습 라이브러리 사용에 있어서 API가 DataFrame 을 인자로 입력받을 수 있지만, 기본적으로 넘파이 ndarray 를 사용하는 경우가 대부분 입니다. 그렇기 때문에 데이터 프레임과 넘파이 ndarray 의 상호 변환은 자주 발생하므로 숙지해둡시다. 넘파이 ndarray 와 리스트와 달리 데이터 프레임은 칼럼명을 가지고 있습니다. 변환 시에 칼럼명을 지정하지 않으면 자동으로 칼럼명을 할당합니다. 또한 데이터 프레임은 행과 열을 가지는 2차원 데이터이므로 2차원 이하만 데이터 프레임으로 변환..

Tistory

파이썬 머신러닝 입문 공부일지 1. 머싱러닝의 시작 / Numpy 기본 함수 공부 (1)

오늘부터는 파이썬 머신러닝에 대한 공부를 시작합니다! 공부에 참고하는 책은 다음과 같습니다. http://www.yes24.com/Product/Goods/87044746?pid=123487&cosemkid=go15512575975554503&gclid=Cj0KCQiAnsqdBhCGARIsAAyjYjQKjmU0jrIOHD6QLjRxl_GPSDYDYspRtW6RLggUxWSKFcIkMNVRJIMaAiA8EALw_wcB 파이썬 머신러닝 완벽 가이드 - YES24 『파이썬 머신러닝 완벽 가이드』는 이론 위주의 머신러닝 책에서 탈피해 다양한 실전 예제를 직접 구현해 보면서 머신러닝을 체득할 수 있도록 만들었다. 캐글과 UCI 머신러닝 리포지토리에서 www.yes24.com 저자의 소스 코드 참고 깃허브 : ht..

Tistory

파이썬 머신러닝 입문 공부일지 2. Numpy 기본 함수 공부 (2) 넘파이 배열 인덱싱, 슬라이싱, 정렬과 선형대수 연산

앞서 Numpy 넘파이의 기본 배열 함수에 대해서 알아보았습니다. 이번에는 선택자 함수인 인덱싱과 슬라이싱 그리고 정렬에 대한 것을 알아보겠습니다. Numpy의 선택함수 인덱싱, 슬라이싱 ndarray 인덱싱 몇 번째 index 멤버에 접근한다는 인덱싱Indexing을 Numpy에서도 사용할 수 있습니다. Numpy 배열의 indexing 의 종류는 다음과 같습니다. - 특정 데이터만 추출 : 리스트, 튜플 등에서의 인덱싱과 동일. 숫자를 잘못 쓰면 값에 오류가 납니다. - 슬라이싱Slicing : 리스트, 튜플에서의 슬라이싱과 동일. 숫자를 잘못 써도 오류가 나지는 않지만 결과는 기댓값과는 달라질 수 있습니다. - 팬시 인덱싱Fancy Indexing : 일정한 인덱싱 집합을 리스트 또는 배열 형태로 ..

Tistory

파이썬 머신러닝 입문 공부일지 3. 판다스 Pandas, DataFrame 관련 메소드 기능들 (1)

판다스Pandas 일반적으로 대부분의 데이터 세트는 2차원(행렬구조) 를 이루고 있습니다. (RDBMS : 관계형 데이터베이스 관리 시스템) 판다스는 R을 모티브로 만든 파이썬 라이브러리로 행과 열로 이루어진 2차원 데이터를 가장 효율적으로 가공/처리할 수 있는 가장 인기 있는 라이브러리 입니다. 파이썬의 리스트, 컬렉션, 넘파이 등의 내부 데이터 뿐만 아니라 CSV 등의 파일을 쉽게 DafeFrame 으로 변경하여 데이터를 가공/분석하기 편리하게 만들어줍니다. DataFrame 판다스의 핵심 개체는 DataFrame데이터 프레임 입니다. 데이터 프레임은 여러 개의 행과 열로 이루어진 2차원 데이터를 담는 구조 입니다. 데이터 프레임은 중요한 객체인 Index와 유사한 Series 를 이해해야 합니다. ..

Tistory

노드 js 입문 공부 일지 8. 웹소켓 (실시간 데이터 교환)

우리가 주소창에서 볼 수 있는 HTTP(Hypertext Transfer Protocol) 는 인터넷으로 데이터를 주고 받는 규약(protocol) 입니다. 즉, HTML을 전송하는 통신 프로토콜을 의미하는 것입니다. HTTP 는 요청이 있을 때만 반응하는 타입으로 요청이 있을 때만 응답을 주는 방식입니다. 요청과 응답 이후에는 연결이 해제됩니다. (Stateless 정적인 속성) 이것과 다른 방식으로 서로 연결된 상태를 유지하는 프로토콜이 있습니다. 바로 웹 소켓이에요. 웹소켓 웹소켓은 서로가 연결된 상태를 유지합니다. 서로간의 연결을 기반으로 하며, 일정량을 균일하게 주고 받는 것이 아니라 불규칙적인 정보교환이 가능합니다. 즉, 데이터 송수신을 동시에 처리할 수 있고, 클라이언트와 서버가 서로에게 원..

Tistory

장고 프로젝트 오류 ModuleNotFoundError: No module named 'crispy_forms'

학원의 커리큘럼에 따라 며칠간 백엔드 공부를 한참 하던 와중, 갑작스럽게 앞서 작업했던 장고 프로젝트를 완성하라는 이상한 커리큘럼에 따라 다시금 장고 프로젝트를 열었습니다. (우리 학원 커리큘럼 정말 이상해요) 장고 프로젝트를 진행하면서 무수한 오류들을 마주하는 고로, 이것을 지금이라도 정리하지 않으면 미래의 내가 과거의 내게 욕을 한 무더기 정도는 하겠다 싶어서 (장수의 비결..) 오류를 하나씩 정리해보고자 합니다. 분명히 오류를 다 처리하고 사이트까지 정상적으로 업로드 한 뒤에 도메인까지 연결한 나의 사이트. 오랜만에 cmder 에서 python manage.py runserver 로 서버를 연결해 보았더니. 그럼 그렇지 ......... ,, 쉽게 될리가 없지 ,, 분명 무언가 잘못 되었었는데 불법..

Tistory

장고 프로젝트 오류 ImportError: cannot import name 'url' from 'django.conf.urls'

또 다시 오류와의 전쟁 ^^ 우.. 해보자고... ImportError: cannot import name 'url' from 'django.conf.urls' 에러가 발생했다... 아무래도 django 버전의 문제인 것 같습니다. django의 4.0 버전은 url 함수를 없애서 지원하지 않는다고 해요.... 터미널에서 pip list 를 쳐보면 장고 버전이 4.0 일 경우가 9999...%... 본인의 경우 4.1.3 버전...^^ ㅠ 결국 다운 그레이드를 해보기로 결정합니다. pip uninstall django 다시 3.2버전으로 설치합니다.. pip install django==3.2 재설치까지 마치고... 설레이는 이마음은 뭘까 왠지 run을 누를 수가 없어.. 다시금 서버를 실행해봅니다. p..

Tistory

노드 js 입문 공부 일지 5. post 요청하기 (nodemon 실행하기)

지금까지 express 가 가지고 있는 기능 중 get 메소드로 요청을 받았을 때를 정의해보았으니, 이번에는 응답에 대한 동작을 알아보겠습니다. pakage.json 생성 우선 동일한 방법으로 pakage.json 을 만들기 위해 app01 폴더를 만듭니다. npm init 으로 노드 프로젝트 폴더 안에 pakage.json 을 생성해주세요. pakage.json 을 생성하는 방법에 대해서는 이전 포스팅을 참고해주세요. https://blue-dot.tistory.com/166 노드 js 입문 공부 일지 3. 첫 서버 만들기 http , NPM & express 노드 기반의 서버 노드를 이용하면 다양한 자바스크립트 어플리케이션을 개발할 수 있습니다. 그 중에서도 노드는 서버를 개발하는 데 가장 많이 사용..

Tistory

노드 js 입문 공부 일지 6. 라우팅(routing)

라우팅(routing)은 어떤 네트워크 안에서 통신 데이터를 보낼 때 최적의 경로를 선택하는 과정입니다. 즉, 경로에 따라 적절한 데이터를 전송할 수 있도록 하는 것이 라우팅이에요. 아래는 웹에서 라우팅을 사용한 예입니다. 네이버 금융 국내증시 : https://finance.naver.com/sise/ 네이버 금융 해외증시 : https://finance.naver.com/world/ 같은 서버(https://finance.naver.com) 에 위치하고 있으나 / 뒤에 있는 키워드에 따라서 주어지는 최종적인 정보가 달라집니다. 라우팅은 이렇게 경로에 따라서 주어지는 주소를 다르게 하는 것을 말합니다. / 뒤에 붙는 키워드를 루트rout 라고 합니다. express 를 사용하면 라우팅을 관리할 수 있습..

Tistory

노드 js 입문 공부 일지 7. express 뷰 엔진, PUG 설치하기

뷰 엔진은 express 어플리케이션이 사용자에게 페이지를 줄 수 있도록 도와주는 도구입니다. 뷰 엔진은 정적인 HTML 인 문서와 달리 자바스크립트 데이터를 문서 안에 포함하는 형태로 동작합니다. 즉, 뷰 엔진은 지금까지 페이지 하나로 확인하던 정적 엔진과 다르게 동적 템플릿 엔진입니다. 우선 정적 메소드부터 확인해볼게요. express 의 sendFile(x) 메소드를 사용하면 정적 문서를 클라이언트에게 제공할 수 있습니다. 더불어 정적 문서의 경로를 지정할 수도 있습니다. 정적static 문서라는 것은 지금까지 우리가 만들었던 것중에 html과 css로 만들었던 단편적인 페이지를 생각할 수 있습니다. 요청이 있고, 응답을 할 때마다 새로운 정적 페이지를 링크해서 옮겨가는 형식이었어요. // 정적 경..

Tistory

노드 js 입문 공부 일지 3. 첫 서버 만들기 http , NPM & express

노드 기반의 서버 노드를 이용하면 다양한 자바스크립트 어플리케이션을 개발할 수 있습니다. 그 중에서도 노드는 서버를 개발하는 데 가장 많이 사용됩니다. 서버는 네트워크를 통해 클라이언트에 정보나 서비스를 제공하는 컴퓨터 또는 프로그램을 말합니다. 클라이언트란 서버가 제공하는 정보나 서비스를 제공받는 주체로, 정보나 서비스가 필요한 클라이언트는 서버에게 요청을 보냅니다. 클라이언트 클라이언트가 요청을 하면 서버는 그에 대한 응답으로 정보를 제공합니다. 클라이언트가 어떤 요청을 보내는가에 따라 응답은 달라집니다. 로컬호스트와 포트번호 IP는 전 세계 모든 컴퓨터에 주어지는 네트워크 상에서의 식별자입니다. 로컬호스트(localhost)란, 컴퓨터 네트워크에서 ‘자신의 컴퓨터’를 의미하는 호스트명입니다. 로컬호..

Tistory

노드 js 입문 공부 일지 4. get 메소드로 요청 받기 (nodemon 사용하기)

이전에 처음으로 서버를 만드는 것을 실행해보았습니다. https://blue-dot.tistory.com/166 노드 js 입문 공부 일지 3. 첫 서버 만들기 http , NPM & express 노드 기반의 서버 노드를 이용하면 다양한 자바스크립트 어플리케이션을 개발할 수 있습니다. 그 중에서도 노드는 서버를 개발하는 데 가장 많이 사용됩니다. 서버는 네트워크를 통해 클라이언 blue-dot.tistory.com 이제 두 번째 서버를 만들어 볼 거예요. 첫 번째 서버를 만들었던 과정 그대로 진행하여 아래의 네 개의 파일들이 생성이 되었습니다. 저는 두 번째 서버라고 이름 지었어요. 처음 서버를 만들었을 때와 같이 app.js 에 다음과 같이 태그를 입력합니다. const express = requir..

Tistory

클론 코딩 1. HTML / CSS 로 카카오톡 화면 구현하기 (1) 디자인 구상하기

HTML 과 CSS로 카카오톡 메신저 화면과 유사한 톡 메신저 화면을 구성하는 것을 진행해보고자 합니다. 자바 스크립트를 사용하지 않고, 그저 화면 디자인과 구성만 하는 것이니 간단하게 따라할 수 있어요. 우선 이번에 만들 화면의 샘플 홈페이지는 다음과 같습니다. (1) 로그인 접속 화면 (2) 친구 목록 화면 (3) 채팅 목록 화면 (4) 채팅창 화면 전체적인 윤곽 잡기 우선 세부적인 디자인을 하기 전 전체적인 윤곽을 잡아줍니다. 생성해야 할 폴더 생성해야 할 html 페이지 components - 공통(재사용) css pages - 각 페이지의 css index, 채팅창, 친구목록, 채팅목록 각 html에 대한 css 파일을 생성해줍니다. html의 명과 동일한 이름의 css 파일로 만들어주세요...

Tistory

자바 스크립트(js) 입문 공부 20. 클래스 class

클래스 class 자바스크립트에서 객체를 만들면 프로토타입이 자동으로 상속이 됩니다. (객체가 가져야할 기본적인 사항에 대한 프로토타입) 클래스란 오브젝트를 생성하기 위한 설계도 입니다. 기존 자바스크립트의 프로토 타입을 대체할 수 있으며, 클래스를 통해 정의한 오브젝트는 Array, Date 등 내장 객체와 동일하게 취급할 수 있습니다. 클래스 내부에 정의된 함수는, 객체의 멤버함수와 마찬가지로 메소드라 부릅니다. new 연산자에 의해 실제 사용 가능한 객체를 생성하며, 생성된 객체를 통해 메소드를 호출할 수 있습니다. 생성된 객체를 통해 메소드를 호출할 수 있는 메소드 = 인스턴스 메소드 class Member{ getName(){ return "이름"; } } let memberObj = new M..

Tistory

노드 js 입문 공부 일지 1. Node.js 노드 설치하고 예제 실행하기

Node.js Node.js(이하 노드)는 V8 자바스크립트 엔진으로 빌드된 이벤트 기반 자바스크립트 런타임(runtime)입니다. 런타임은 쉽게 말하면 실행환경이라는 뜻이에요. 즉, V8 엔진으로 만든 자바스크립트 실행 환경입니다. V8 자바스크립트 엔진은 크롬에서 사용하는 엔진과 같습니다. 노드는 확장성 있는 네트워크 애플리케이션(특히 서버 사이드) 개발에 사용할 수 있는 소프트웨어 플랫폼입니다. 지금까지 자바스크립트를 위해 필요한 환경은 웹 브라우저였습니다. 하지만 노드.js 는 웹 브라우저가 아닌 환경에서도 실행할 수 있는 것입니다. 대표적인 차이점은 웹 브라우저에 있는 표준 API (document 등) 입니다. 서버 사이드 - 데이터를 제공하기 위한 처리입니다. 네트워크의 한 방식인 클라이언트..

Tistory

노드 js 입문 공부 일지 2. 노드 실행하는 방법

REPL REPL은 Read(읽기) , Eval(평가하기) , Print(출력하기) , Loop(반복하기) 라는 의미로, 대화형 테스트 콘솔을 제공합니다. 터미널에서 node 명령어를 실행하여 REPL을 실행시킬 수 있습니다. 노드가 제공하는 대화형 셸이라고 생각하시면 됩니다. cmd -> 명령 프롬프트 -> node 입력 자바스크립트 파일 실행하기 자바스크립트 파일을 만들고 해당 디렉토리에서 node 명령어를 실행합니다. 모듈화하기 모듈화란, 코드를 기능 또는 규모에 따라 분할하는 것을 의미합니다. 모듈이란 하나의 자바스크립트 파일을 의미합니다. 노드에서는 모듈 내보내기/불러오기를 위해 다음 두 가지를 사용할 수 있습니다. require(모듈) : 모듈에서 내보낸(exports) 대상을 반환한다. ..

Tistory

자바 스크립트(js) 입문 공부 16. JSON 제이슨, localStorage로컬스토리지

JSON은 자바스크립트 객체 표기법(JavaScript Object Notation)을 뜻하며, 이는 자바스크립트 객체를 문자열로 표현하는 데이터 포맷입니다. 즉, 자바스크립트에서 사용하는 표기법을 다른 환경이나 다른 프로그래밍 언어에서도 사용할 수 있는 형태(문자열)로 변환하기 위해 사용합니다. 문자열은 거의 모든 현대 프로그래밍 언어에서 사용할 수 있기 때문에 다른 프로그래밍 언어에서도 호환할 수 있기 때문입니다. JSON 표현법 JSON 형식은 자바스클비트 객체 리터럴 표기법에 기반을 두고 있습니다. 객체 키와 문자열은 따옴키로 묶습니다. 객체 리터럴의 모양 객체 리터럴의 모양 JSON 표기법 const todo = { todoContent : "공부하기", todoDone : false, todo..

Tistory

자바 스크립트(js) 입문 공부 17. 배열 메소드 (2) (콜백함수를 사용하는 대표 메소드)

배열에는 여러 메소드들이 있고, 그 중 자기 자신을 매개변수로 삼는 콜백함수를 사용하는 메소드들이 있습니다. 이번에는 콜백함수를 사용하는 배열 메소드들을 하나씩 살펴볼게요. 메소드 기능 forEach 배열의 각 요소에 대해 콜백을 호출 map 배열의 각 요소에 대해 콜백을 호출한 결과를 모아 새로운 배열을 반환 filter 배열의 각 요소에 대해 콜백을 호출한 결과 true 를 반환하는 모든 요소를 모아 새로운 배열 반환 forEach() 매개변수는 한 번 호출될 때마다 요소 하나씩을 전달하고, 하나씩 출력하는 기능이 있습니다. forEach 의 경우 매개변수를 하나 더 가질 때마다 인덱스 번호를 같이 가집니다. 매개 변수가 하나 있으면 요소를 하나 전달하는 것, 매개 변수가 하나 더 있으면 인덱스 번호..

Tistory

자바 스크립트(js) 입문 공부 18. ECMAScript, ES6 이후 개선된 문법들 (화살표 함수, 디폴트 파라미터, 객체 구조 분해)

ECMAScript ECMAScript(ES)는 범용 목적의 스크립트 언어 표준을 뜻합니다. ‘스크립트 언어를 사용할 때는 이렇게 사용하세요’라고 재정의를 해서 자바 스크립트를 사용하는 문법을 정의하는 단체라고 보시면 됩니다. ECMAScript는 스크립트 언어가 준수해야 하는 규칙, 세부 사항 및 지침을 제공합니다. 그리고 자바스크립트(JavaScript)는 ECMAScript 명세를 준수하는 스크립트 언어입니다. ECMAScript 버전 ECMAScript는 자바스크립트의 표준을 제정하기 위해 1997년 처음 등장했으며, 그 후로 꾸준히 새로운 버전의 ECMAScript 명세가 발표되었습니다. 초기에는 ES1, ES2, ES3와 같이 숫자를 올려가며 버전을 표기했지만, 2015년 등장한 여섯 번째 버..

Tistory

자바 스크립트(js) 입문 공부 19. 프로미스promise

프로미스란? new promise 를 하면 프로미스 객체를 만들 수 있습니다. 프로미스 객체는 비동기 작업에 대한 약속입니다. (작업 이후 발생할 완료 또는 실패, 그 결과값) 비동기 작업이란 언제 끝날지 알 수 없는 독립적인 작업입니다. 작업의 상태가 시작, 진행중, 완료인 것과 무관하게 프로그램은 계속해서 실행이 됩니다. 프로미스 생성 방법 프로미스 객체를 생성하면서 콜백함수처럼 전달합니다. 다음과 같이 비동기 작업을 수행하는 함수가 있을 때, 이를 promise 객체(약속)를 생성하면서 인자로 전달합니다. Promise 객체에 전달된 함수는 두 가지 콜백 함수를 인자로 받습니다. 하나는 작업 성공 시 실행되는 함수(resolve), 하나는 실패 시 함수(reject) 입니다. 어디까지나 매개변수이기..

Tistory

자바 스크립트(js) 입문 공부 13. 배열 메소드 (1)

배열 배열은 여러 개의 데이터를 보관하는 ‘주머니’ 역할을 하는 객체입니다. 이전까지 변수(또는 상수)에는 데이터를 하나씩만 대입할 수 있었지만, 배열을 사용하면 여러 개의 데이터를 대입할 수 있습니다. 배열을 만드는 방법 1. 배열 리터럴 대괄호로 묶어서 표현하고 각 요소들을 쉼표로 구분합니다. 2. Array 생성자로 생성 배열을 만드는데 사용하는 기본 내장 생성자 new 로 생성합니다. 생성 시에 배열 안에서 문자열, 정수 등이 섞여 있어도 상관 없습니다. (자료를 사용할 때에는 어렵지만요.) 배열의 특징 배열에 포함된 값 하나하나를 ‘배열 요소’라고 합니다. 각 배열 요소는 왼쪽부터 순서(번호)가 매겨지며, 이를 ‘인덱스 번호’라 합니다. 인덱스 번호는 0부터 시작합니다. 배열 요소 수는 원하는 ..

Tistory

자바 스크립트(js) 입문 공부 14. Math, 로또 추첨 번호 만들기

공부 출처 : http://www.tcpschool.com/javascript/js_standard_math, 유노코딩 youtube 코딩교육 티씨피스쿨 4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등 tcpschool.com Math는 수와 관련된 속성과 메소드를 가진 내장 객체입니다. 대부분의 Math 메소드는 각 브라우저마다 다른 결과값을 얻을 수 있으므로, 정확한 값이 필요한 경우에는 Math를 사용하지 않는 것이 좋습니다. 생성자가 아니라 메소드, 속성으로 사용하므로 다음 문법으로 작성합니다. Math.메소드() Math.속성 Math 의 메소드 속성들은 다음과 같습니다. 이 이외에도 Math.min(), Math.max() 등 Math의 메소드는 무척..

Tistory

자바 스크립트(js) 입문 공부 15. 객체 리터럴 , 스프레드 연산자

객체 리터럴 객체를 구성하는 속성(값이나 기능, 객체의 상태를 나타내는 값. 프로퍼티 property)의 이름과 실제 값을 한 쌍으로 묶어 표현하는 ‘객체 리터럴’을 이용하면 객체를 생성할 수 있습니다. 이때 속성 프로퍼티의 이름을 키(key), 속성의 실제 값을 밸류(value)라고 합니다. 마치 파이썬의 바이너리를 연상시키는 형태입니다. 객체 리터럴의 형식은 아래와 같습니다. const cat = { name : "쿠키", age : 5 }; 여기에서 name과 age는 key, “쿠키" 와 5는 value에 속합니다. 객체 리터럴의 중괄호는 코드 블록을 의미하는 것이 아니라 값으로 불리기 때문에 닫는 괄호 뒤에는 세미콜론을 붙여줍니다. 객체 리터럴의 value가 되면 사용할 수 있는 모든 값이 되므..

Tistory

자바 스크립트(js) 입문 공부 11. 타이머 기능, 자바스크립트로 디지털 시계 만들기

이번에는 자바스크립트의 타이머 관련 기능들에 대해서 알아보겠습니다. 타이머 기능 setTimeout window 의 기본 함수 중 setTimeout 함수가 있습니다. 이것은 정해진 시간이 지나고 나면 주어진 함수를 진행해주는 타이머 메소드입니다. setTimeout(실행할함수, ms단위의시간) (ms 단위의 시간은 1000ms 일 때 1s초 가 지나는 것입니다. ) 이렇게 함수에다가 인자를 전달하는 것 콜백함수라고 합니다. setTimeout은 콜백함수로 실행할 함수를 하나 받습니다. setTimeout(function(){ console.log("자, 이제 시작이야.") }, 1000) 타이머 기능으로 기능을 수행하는 함수를 알아보았으니, 이번에는 시간 간격에 따라 실행하는 함수를 알아볼게요. set..

Tistory

자바 복습 Test 공부(정보은닉, 오버라이딩, 컬렉션프레임워크, 상한제한, 하한제한)

1. 정보 은닉, 캡슐화, 상속, 다형성 (정의만) - 정보은닉 : 접근 제어자는 정보 은닉을 위한 키워드 public : 변수에 대한 모든 접근 가능 private : 클래스 내부에서만 사용되고, 외부에서 접근 불가 protected : 상속받은 하위 클래스에게만 접근을 허용 default : 같은 패키지, 같은 클래스 내에서 참조할 수 있는 기본접근 제어자 - 캡슐화 : 데이터와 알고리즘을 하나로 묶음. 캡슐화의 가장 큰 장점은 저보 은닉. 관련이 있는 변수와 함수를 하나의 클래스로 묶고 외부에서 접근하지 못하도록 은닉. 외부에서 특정 객체의 데이터나 함수의 직접적인 접근을 막아서 변경을 못하도록 한다. 유지보수나 확장 시 오류의 범위를 최소화 할 수 있다. 데이터가 변경되어도 다른 객체에게 영향을 ..

Tistory

자바 스크립트(js) 입문 공부 12. Element.classList

classList에 대한 공부 출처 : https://sisiblog.tistory.com/234 [javascript] 자바스크립트 classList 사용 방법 참고: https://www.javascripttutorial.net/javascript-dom/javascript-classlist/ 이 튜토리얼에서는 javascript classList 속성을 사용하여 element의 class를 사용하는 방법을 보입니다. classList는 element의 읽기전용 속성으로 sisiblog.tistory.com Element.classList Element.classList는 element의 읽기전용 속성으로 css class의 현재 값을 반환합니다. classList는 DOMTokenList 객체로 e..

Tistory

[문화일보 2022년 신춘문예 당선작 문화평론부문] 감정의 연금술과 만짐의 기술(技術/記述) : 김초엽, 천선란, 정세랑의 SF소설을 중심으로 - 전청림

http://www.munhwa.com/news/view.html?no=2022010301033312000001 감정의 연금술과 만짐의 기술(技術/記述) : 김초엽, 천선란, 정세랑의 SF소설을 중심으로 - 전청림 문학평론1. 감정의 유물론과 ‘만짐’의 망탈리테감정에도 ‘몸’이 있다. 물성이 있고, 두툼하고, 만져진다. 만.. www.munhwa.com 더보기 1. 감정의 유물론과 ‘만짐’의 망탈리테 감정에도 ‘몸’이 있다. 물성이 있고, 두툼하고, 만져진다. 만져지기 때문에 만짐이 있고, 만짐이 있기 때문에 만져짐이 있다. 다소 선문답스러운 이 ‘몸’의 정체화가 중요한 이유는, 감정의 물성이라는 ‘몸’의 개념으로부터 능동과 수동의 구분이, 주체와 타자의 구분이 사라지기 때문이다. 이때 비로소 감정이..

Tistory

[경향신문 2022년 신춘문예 당선작 소설부문] 현관은 수국 뒤에 있다 - 김채원

https://www.khan.co.kr/culture/culture-general/article/202112312044005 [2022 경향 신춘문예]소설부문 당선작 - 현관은 수국 뒤에 있다 몹시 무더운 아침 무렵, 동우와 석용은 햇빛을 피해 자양동 거리의 지하도를 따라 걷다가 자판... www.khan.co.kr 더보기 몹시 무더운 아침 무렵, 동우와 석용은 햇빛을 피해 자양동 거리의 지하도를 따라 걷다가 자판기 사진을 찍는 기계를 보았다. 사진 찍을래? 석용이 물었다. 아니. 동우가 대답했다. 두 사람은 자판기 사진을 찍는 기계에 들어가 자판기 사진을 찍었다. 플래시가 터지는 기계가 아니었는데도 어째서인지 얼굴이 전부 하얗게 뭉개져 있어 두 사람은 사진을 오래 들여다볼 것도 없이 각자 주머니에 넣..

Tistory

자바 스크립트(js) 입문 공부 9. createElement & appendChild, value 입력한 값 불러오기

document.createElement 우리는 랜더링의 중간 과정 중 DOM 단계에서 document 을 통해 개체에 접근할 수 있습니다. document의 createElement 메소드는 지정된 이름의 HTML 요소를 만들어 반환해 줍니다. 상기 코드로 HTML 에는 태그가 생성이 됩니다. 이 기능을 활용하면 리스트를 작성하는 것도 가능합니다. 하지만 이것은 화면에서 반환하는 것이 아니라 DOM 단계에서 반환하기 때문에 화면에 추가되지 않습니다. 화면에 추가하기 위해서는 그 다음으로 appendChild 메소드를 사용해야 합니다. appendChild appendChild 메소드는 DOM 내 개별 요소(‘노드’라고도 함)에 자식 요소를 추가할 때 사용하는 메소드입니다. appendChild 를 해줌..

Tistory

자바 스크립트(js) 입문 공부 10. 생성자, 기본생성자(Date), 시간의 표시

생성자 생성자란 객체를 만들기 위한 함수를 의미합니다. 자바 스크립트에는 두 가지 유형의 생성자가 있습니다. 1. 일반 함수를 생성자로 사용하기 (직접 객체를 반환) 2. 클래스 내부에 생성자를 포함시켜 사용하기 (return 문이 없어도 새로운 객체를 반환) function sayHello(){ // 일반 함수를 생성자로 사용하기 console.log("Hello!") } function Dog(){//클래스 내부에 생성자를 포함시켜 사용하기 console.log("멍멍!") } 두 가지의 함수에서는 차이가 있습니다. 하나는 콘솔에 출력을 하기 위한 것이고, 하나는 Dog 라고 하는 새로운 객체를 만들기 위해서 만든 함수예요. function Dog(){ console.log("멍멍!") } let d..

Tistory

자바 스크립트(js) 입문 공부 7. 함수 선언식과 함수 표현식, 함수의 호출

함수란? 함수는 ‘호출될 수 있는 코드 조각’입니다. 변수를 선언하고 데이터를 대입하면 변수의 이름을 데이터 대신 사용할 수 있는 것처럼, 함수를 선언하면 함수의 이름을 코드 조각 대신 사용할 수 있습니다. 함수 만드는 방법 함수를 만드는 두 가지 방법이 있습니다. 1. 함수 선언식 2. 함수 표현식 위 방법들을 차례대로 알아볼게요. 함수 선언식 함수 선언식은 다음과 같은 형태를 가집니다. function 을 사용하면 선언과 같은 의미가 됩니다. 선언 이후에 함수명은 중괄호 안의 기능 대신 사용될 수 있습니다. function sayHello(){ console.log("안녕!") } sayHello() 함수 표현식 함수 표현식은 다음과 같은 형태를 가집니다. 즉, 이름 없는 선언식에 나중에 이름을 붙여..

Tistory

자바 스크립트(js) 입문 공부 8. 이벤트 event, addEventListener

이벤트란? 사용 중이거나 프로그래밍 중인 시스템 내에서 일어나는 사건’을 뜻합니다. 예를 들어 웹에서 발생하는 이벤트란 가장 많이 사용하는 키보드, 마우스, HTML DOM, Window 객체 등을 처리하는 이벤트가 매우 다양하게 제공되고 있습니다. ex) 웹페이지 사용자가 버튼을 클릭했다, 클릭 이벤트! 웹페이지 사용자가 키보드를 눌렀다, 키다운 이벤트! 웹페이지 사용자가 입력 폼의 내용을 제출했다, 제출 이벤트! 등등... 이벤트 사용에 대한 예를 들어보겠습니다. 웹 사용자가 버튼(button) 요소를 클릭 했을 때, alert 다이얼로그 박스를 띄워 환영의 메시지를 보여주고 싶다면 이것 클릭 이벤트로 작성할 수 있습니다. push const handleClick = function(){ window..

Tistory

[문화일보 2022년 신춘문예 당선작 동화부문] 농구의 신 - 최정희

http://www.munhwa.com/news/view.html?no=2022010301033112000001 농구의 신 - 최정희 동화골대 아래에서 민우가 손을 흔드는 게 보였다. 나는 공을 달라는 민우의 신호를 무시하고 그대로 슛을.. www.munhwa.com 더보기 골대 아래에서 민우가 손을 흔드는 게 보였다. 나는 공을 달라는 민우의 신호를 무시하고 그대로 슛을 했다. 림을 맞고 나온 공이 맥없이 떨어졌다. “야, 나한테 줬어야지.” 민우가 나를 내려다보며 화를 냈다. 나는 민우를 올려다보며 소리를 질렀다. “내 맘이다. 아야!” 감독님이 내 머리에 알밤을 먹였다. “신우현, 네 위치를 지켜. 득점 욕심부리지 말고.” 억울해서 눈물이 핑 돌았다. 하지만 이를 악물고 참았다. 민우가 학교에 ..

Tistory

자바 스크립트(js) 입문 공부 5. 비교 연산, 조건문 if문 , if~ else 문

자바스크립트는 주어진 두 항을 비교할 수 있는 ‘비교 연산자’를 제공합니다. 자바스크립트에서는 대소 비교와 등가 비교 두 가지의 유형을 볼 수 있습니다. 대소 비교 비교 연산식은 언제나 boolean 데이터를 반환합니다. 크냐 작냐를 비교하는 대소 비교, 같냐 다르냐를 비교하는 등가 비교는 모두 하나의 질문이며, 질문에 대한 답이 참(true) 또는 거짓(false)입니다. 예를 들어 3이 5보다 작은지 -> true 6과 6이 다른지 -> false 등가 비교 등가 비교는 다음 네 가지 연산자를 사용해 처리할 수 있습니다. 등호(이퀄 사인, =) 하나는 대입연산자이므로, 기호 개수를 잘 확인해야 합니다. 등가 비교를 할 때, 등호(=)의 개수에 따라 비교 규칙에 차이를 보입니다. == 는 ‘추상적(ab..

Tistory

자바 스크립트(js) 입문 공부 6. 조건문, 반복문 while

조건문의 요소 조건문을 구성하는 세 가지 요소 : 초기식, 조건식, 반복식 입니다. 1. 초기식 : 반복 조건의 초기화 작업 2. 조건식 : 불리언을 반환하거나 불리언으로 해석될 수 있는 표현식 3. 반복식 : 반복이 한 번 끝날 때마다 실행될 작업 반복문은 비슷하거나 동일한 구문을 반복해서 수행할 수 있는 구문입니다. 대표적인 반복문은 다음 두 가지이며, 두 반복문은 구조 및 동작방식에서 차이가 있습니다. while문 for문 반복문 while문 먼저 while문을 확인해봅니다. 키워드 while을 이용해 만드는 구문 while문은 ‘주어진 조건이 참일 동안에 구문을 반복하는’ 반복문입니다. while문의 기본 형태는 다음과 같습니다. while(조건){ // 조건이 true 일 동안에 반복해서..

Tistory

[문화일보 2022년 신춘문예 당선작 시부문] 상자 놀이 - 김보나

http://www.munhwa.com/news/view.html?no=2022010301032712000003 상자 놀이 - 김보나 시내 방엔 뜯지 않은 택배가여러 개 있다심심해지면상자를 하나씩 열어 본다오래 기다린 상자는갑자기 쏟.. www.munhwa.com 상자 놀이, 김보나 내 방엔 뜯지 않은 택배가 여러 개 있다 심심해지면 상자를 하나씩 열어 본다 오래 기다린 상자는 갑자기 쏟아지는 풍경에 깜짝 놀라거나 눈을 떴다고 생각할지도 모른다 그건 착각이야 세게는 누군가 눈을 뜨기 전에 먼저 빛으로 눈꺼풀을 틀어막지 나는 상자가 간직한 것을 꺼내며 즐거워한다 울 니트의 시절은 지났고 이 세제는 필요하다 새로 산 화분을 꺼내 덩굴을 옮겨 심으면 내 손은 순식간에 흙투성이가 된다 그래도 돼 뮤렌베키아 ..

Tistory

자바 스크립트(js) 입문 공부 3. 연산, null, undefined, boolean

연산이란 ‘식이 나타낸 일정한 규칙에 따라 계산함’을 뜻합니다. 사용자는 자바스크립트 코드를 통해 연산을 처리하는 식을 만들 수 있고, 여기에 사용하는 기호를 ‘연산자’라고 합니다. 기존에 자바 스크립트 공부 시 작성한 내용을 참고하면 좋을 것 같습니다. https://blue-dot.tistory.com/43 자바 기초 공부 일지 6. 기본 연산자 산술 연산자 사칙연산을 다루는 연산자로, 두 개의 피연산자를 가지는 이항 연산자입니다. 우선순위대로 먼저 적용을 하고 그 뒤에 결합방향대로 연산을 합니다. 결합방향 : 어느 방향으로 blue-dot.tistory.com 여기에서 사용해 볼 연산(과 연산자)은 두 가지 입니다. 바로 산술 연산 , 대입 연산입니다. 산술연산 산술 연산은 일반 사칙 연산과 유..

Tistory

자바 스크립트(js) 입문 공부 4. DOM(Document Object Model), textContent

자바 스크립트의 출력 자바스크립트는 여러 방법을 통해 결과물을 HTML 페이지에 출력할 수 있습니다. 자바스크립트에서 사용할 수 있는 출력 방법은 다음과 같습니다. 1. window.alert() 메소드 window alert() 메소드는 자바스크립트에서 가장 간단하게 데이터를 출력할 수 있는 방법 입니다. window.alert() 메소드는 브라우저와는 별도의 대화 상자를 띄워 사용자에게 데이터를 전달해 줍니다. alert() 메소드는 콘솔을 학습할 때 같이 확인했었습니다. https://blue-dot.tistory.com/137 자바 스크립트(js) 입문 공부 1. 자바 스크립트, 콘솔이란? 자바 스크립트(js)란? 자바 스크립트는 로직을 구현할 수 있는 프로그래밍 언어입니다. 자바 스크립트는 서버..

Tistory

[문화일보 2022년 신춘문예 당선작 소설부문] 퍼레이드를 기다리는 시간 - 유영은

http://www.munhwa.com/news/view.html?no=2022010301032812000001 퍼레이드를 기다리는 시간 - 유영은 단편소설주말에 디즈니랜드의 퍼레이드에서 조안의 영혼을 본 것 같다고 말했더니, 엄마가 너는 거기까지.. www.munhwa.com 더보기 주말에 디즈니랜드의 퍼레이드에서 조안의 영혼을 본 것 같다고 말했더니, 엄마가 너는 거기까지 가서 술을 얼마나 퍼마신 거냐고 물었다. 미키 귀가 달린 귀여운 컵에 생맥주를 팔길래 딱 한 잔만 마셨다고 하니 주정뱅이 말은 아무도 믿지 않는다는 핀잔이 돌아왔다. 너희 언니가 리지랑 있을 때는 절대 마시지 말라고 하지 않았니? 언니가 리지랑 있을 때만은 하지 말아 달라고 당부한 사항은 음주 외에도 많았다. 욕하지 마라, 에이..

Tistory

자바 스크립트(js) 입문 공부 1. 자바 스크립트, 콘솔이란?

자바 스크립트(js)란? 자바 스크립트는 로직을 구현할 수 있는 프로그래밍 언어입니다. 자바 스크립트는 서버 개발, 어플리케이션 개발 등 다양한 목적을 위해 사용할 수 있지만 주된 목적은 웹 개발(인터넷을 통해 서비스되는 웹 사이트를 개발하는 것) 입니다. css와 html으로 구성을 마치면 그 속에 이루어지는 동작을 자바 스크립트js가 조작합니다. 작성하는 방법 자바 스크립트를 작성하는 방법은 두 가지 입니다. 하나는 HTML 문서 내부에 작성을 하는 방법과 또 하나는 자바 스크립트 파일을 만들고, 그 안에 작성한 코드를 HTML 문서에 연결하는 것입니다. 자바 스크립트의 파일 확장자는 *.js 입니다. 필요한 태그는 입니다. css 는 일반적으로 head 의 하단에 삽입된다면, js 이렇게 src를 ..

Tistory

자바 스크립트(js) 입문 공부 2. 변수 let, 상수 const, 템플릿 리터럴 Template Literals

변수 데이터에 붙이는 이름표이며, 변수를 이용하면 이름표를 붙여 둔 데이터를 기억해두었다가 필요할 때마다 재사용할 수 있습니다. 변수 만드는 방법은 다음과 같습니다. let 변수 이름 = 데이터; 키워드 let은 변수를 만들겠다는 의미로 사용 됩니다. 변수가 생성되고 나면 변수를 지정된 데이터 대신에 사용할 수 있게 됩니다. 이렇게 변수를 만드는 작업을 '변수의 선언' 이라고 부릅니다. 만들어진 변수를 첫 데이터에 지정하는 작업을 '변수의 초기화' 라고 합니다. 두 과정은 동시에 진행하거나 따로 진행할 수 있습니다. let 변수 이름; // 변수 선언 변수이름 = 데이터; // 변수 초기화 변수는 데이터를 기억하기 위해 사용하는데, 한 번에 하나의 데이터만 기억할 수 있으며 기억하고 있는 값을 바꿔가며 ..

Tistory

Html / CSS 로 유튜브 홈 화면 구현하기 (1) 헤더 만들기

유튜브 화면의 구성을 구현해보는 예제를 작성해봅니다. 유튜브 화면 구성 모델링 유뷰트 홈 화면을 구현하기에 앞서 간단하게 홈의 세 부분을 나누어볼 수 있어요. 이렇게 세 개의 html 을 작성해서 하나의 html 으로 만드는 작업을 합니다. 메 뉴 창 헤더 콘텐츠 바디 시작하기에 앞서웹 브라우저에서 기본적으로 주는 스타일이 있습니다. 우리는 반응형 웹 사이트로 브라우저의 기본 스타일을 적용하는 것을 배제해서 직접 설정해주도록 할 것이기 때문에 설정되어 있는 것을 초기화 clear 해주어야 합니다. 작성 reset.css reset.css는 브라우저의 기본 스타일을 삭제하기 위해 사용하는 css 입니다. 에릭 마이어의 reset css를 사용하면, 기존 사용하던 브라우저의 스타일을 삭제할 수 있습니다. h..

Tistory

Html / CSS 로 유튜브 홈 화면 구현하기 (2) 메뉴 만들기

다음으로 유튜브 홈 화면의 메뉴 부분을 만들어볼게요. 메뉴는 왼쪽에 햄버거 아이콘 아래의 부분입니다. 여기에서도 스타일 rss 시트를 따로 만들어줄 거예요. (1편 참고!) .nav{ position: fixed; top: 0; left: 0; z-index: 10; } .nav__wrapper{ min-width: 100px; min-height: 100vh; background-color: #f8f8f8; padding: 80px 0 0 0; list-style: none; } .nav__wrapper li{ display: flex; padding: 10px 16px 10px; } .nav__wrapper li:hover{ background-color: #eaeaea; } .nav__icon{ b..

Tistory

Html / CSS 로 유튜브 홈 화면 구현하기 (3) 컨텐츠 창 만들기

이번에는 상단의 헤드와 메뉴 네비게이션 창에 이어서 컨텐츠 창을 만들어볼게요. 컨텐츠창은 영상의 썸네일이 추가되고 조회수와 시간이 표시되는 곳입니다. 마찬가지로 reset.css 를 추가해줄 것이고, 썸네일창인 thumbs.css도 만들어서 스타일 시트를 작성해줄게요. 우선 본문 영역의 코드를 보겠습니다. html의 영역이 길지만 같은 영역을 여덟번 반복한 것이에요. 영상 제목 게시자 조회수 100회 · 1시간 전 영상 제목 게시자 조회수 100회 · 1시간 전 영상 제목 게시자 조회수 100회 · 1시간 전 영상 제목 게시자 조회수 100회 · 1시간 전 영상 제목 게시자 조회수 100회 · 1시간 전 영상 제목 게시자 조회수 100회 · 1시간 전 영상 제목 게시자 조회수 100회 · 1시간 전 영상..

Tistory

웹 CSS 입문 공부 20. 그리드 레이아웃 grid layout

grid layout 그리드 레이아웃 그리드 레이아웃이란 이름 그대로 격자 형태의 레이아웃을 만드는 2차원 레이아웃 방식을 말합니다. 그리드 레이아웃 방식에서, 그리드 아이템의 배치와 정렬은 그리드 컨테이너 내부의 행과 열의 상호작용을 통해 결정됩니다. 그리드 컨테이너 : 그리드 방식으로 레이아웃을 결정할 요소 그리드 아이템 : 그리드 컨테이너 내부에서 그리드 방식으로 배치되는 요소 display: grid; 그리드 영역은 모두 블록 컨테이너 배치가 기본 값이지만 인라인으로도 넣을 수 있습니다. display: inline-grid; 1 2 3 4 5 500px짜리의 그리드가 만들어지고 그 안에 columns(열) 의 공간이 200px 200px 차지하도록 만듭니다. 두 개의 200px 씩 지정된 열들이..

Tistory

웹 CSS 입문 공부 17. 선택자(2)

기존에 선택자의 요소에는 여러 가지가 있다고 배웠습니다. 오늘은 그 기본 선택자 외의 선택자들에 대해서 알아보겠습니다. https://blue-dot.tistory.com/124 웹 CSS 입문 공부 12. 선택자, 선택자 우선순위 선택자란 선택자 : 어떤 요소에 스타일을 적용 할 것인지에 대한 정보 입니다. 무엇을 CSS로 꾸며줄 것인지 스타일을 입힐 대상 요소에 대한 것을 지정하는 것이에요. 선택자에는 종류가 여러가 blue-dot.tistory.com 1. 특성 선택자(속성 선택자) 특성 선택자(속성 선택자)는 주어진 속성의 존재 여부나 그 값에 따라 요소를 선택합니다. 속성 존재 여부 값에 따른 요소 선택 - 기호를 추가해서 요소를 선택할 수 있는 방식 [class * = ] 클래스 값에 “it”..

Tistory

웹 CSS 입문 공부 18. 상속, 공용키워드, z-index

상속 상속은 하위 요소가 상위 요소의 스타일 속성값을 물려받는 것을 의미합니다. 상속이 이루어지는 것은 대부분 글자로 이루어진 개별 요소들이고, 상속이 이루어지지 않는 것들은 대부분 블록으로 형성되어 박스가 되거나 영역이 표시되는 것들입니다. li의 요소를 선택하지 않아도 상위 요소의 ul에 적용된 스타일들이 하위의 li 요소들에게 적용 됩니다. 공용 키워드 모든 속성에 사용 가능한 키워드이며, 상속과 관계가 있습니다. inherit 상속이 가능한지 여부와 관계없이 해당 속성의 값을 받아올 수 있다. initial (브라우저에 지정되어 있는)해당 속성의 기본값을 요소에 적용한다. (브라우저의 초기값을 쓴다.) unset 상속 속성에 대해서는 inherit처럼, 상속되지 않는 속성에 대해서는 initial..

Tistory

웹 CSS 입문 공부 19. 미디어 쿼리, 변형과 전환, 애니메이션animation, 애니메이션으로 공 튀기기

미디어 쿼리 media query 미디어 쿼리(media query)는 미디어 타입을 인식하고, 콘텐츠를 읽어들이는 기기나 브라우저의 물리적 속성을 감지할 수 있는 유용한 장치(기능)입니다. 모든 미디어 쿼리는 다음 두 가지 구성 요소를 지니고 있습니다. - 미디어 타입 (어떤 타입인가, 음성 출력인가? 영상 출력인가? 미디어가 프린터기기 화면인지 음성기기인지, 어떤 미디어에서 노출이 되고 있는 것인지 등 ) - 조건에 대한 물음(미디어 특성) (=쿼리. 미디어의 크기 등) @medoa 미디어 타입 and 미디어 특성{ /* 해당 기기에서 사용할 CSS 코드 미디어 타입과 조건을 모두 만족할 때 덮어씌울 스타일 선언문 */ } 예를 들어 스크린 (pc와 모바일을 통틀어서 말하는 것) 인데, 기기 너비가 ..

Tistory

웹 CSS 입문 공부 14. 요소 유형 display & borde, 박스 모델 Box-Model

디스플레이display 는 우리가 보고 있는 이 화면의 구성 요소들에 대한 설정을 말합니다. 해당 속성값을 변경하는 것을 같이 알아볼게요. display 속성값 속성값 의미 inline 인라인으로 처리한다. block 블록 레벨로 처리한다. inline-block 인라인으로 배치하되, 블록 레벨 요소의 속성을 추가할 수 있도록 처리한다. none 디스플레이(표시)하지 않는다. 인라인과 블록의 차이는 다음과 같습니다. 인라인은 너비와 높이를 임의로 결정할 수 없고, 콘텐츠 크기가 크기를 정합니다. 블록은 생성된 블록의 안에서 너비와 높이를 자유롭게 지정할 수 있습니다. 인라인 블록은 배치 될 때에는 최소한의 자리로 배치가 되지만 원한다면 너비와 높이를 추가정의 할 수 있습니다. border속성 테두리를 만..

Tistory

웹 CSS 입문 공부 15. float, position 포지션, 레이아웃 flexbox

콘텐츠를 원하는 위치에 삽입하는 것은 여러가지 방법이 있는데, 그 중 float, positon, 레이아웃 flexbox를 통한 방법을 알아보겠습니다. float (플롯) float는 요소가 문서의 일반적인 배치 외로 자신을 포함하고 있는 컨테이너의 왼쪽이나 오른쪽에 배치하게 합니다. 속성값 의미 none 기본값, 원래 상태 left 자신을 포함하고 있는 박스의 왼편 right 자신을 포함하고 있는 박스의 오른편 문서의 일반적인 흐름(위에서 아래로, 왼쪽에서 오른쪽으로) 에서 마치 둥둥 뜬 것처럼 제외되지만 자신이 필요한 공간만큼은 가져갑니다. clear 속성 clear 속성은 float 요소 이후에 표시되는 요소들이 float의 영향을 받지 않고 (즉, float가 clear 해제된 상태) float ..

Tistory

웹 CSS 입문 공부 16. flexbox 각 속성들 (예제 작성중)

이번엔 전 시간에 확인했던 flexbox의 각 속성들을 알아볼게요. 수업은 아래의 링크를 참고합니다. 공부 자료 출처 : https://www.youtube.com/c/%EC%9C%A0%EB%85%B8%EC%BD%94%EB%94%A9 유노코딩 강의/집필/기타 협업 문의 [email protected] 기업 및 기관 출강 가능합니다. 웹 프론트엔드(HTML, CSS, JavaScript, React)/파이썬/C언어 등. 배움의 과정에서 겪는 불필요한 고통들이 사라지길 바라고, 또 www.youtube.com flex-direction flex-wrap justify-content align-items align-self align-content 1. flex-direction 플..

Tistory

웹 HTML 입문 공부 10. 뷰포트viewport, 시맨틱 태그, 미디어 태그

뷰포트 viewport viewport란 현재 화면에 보여지고 있는 이 영역을 말합니다. 모바일별로 뷰포트가 다르기 때문에 동일한 웹 페이지라도 기기에 따른 배율 조정이 발생해 화면의 크기가 다르게 보이는 현상이 나타납니다. 예를 들어 크롬에서 개발자 도구를 열어보면 toggle device가 있습니다. 이것은 모바일 기기로 현재 웹 페이지를 열었을 때 어떻게 호환되는지를 미리 보여주는 화면입니다. 버튼을 누르면 모바일 화면으로 호환된 화면이 보입니다. Respnsive 의 드롭박스를 클릭하면 다양한 휴대폰의 종류도 선택하여 화면을 볼 수 있습니다. 이렇게 우리가 모바일 혹은 pc의 화면에서 보여지는 배율과 화면을 viewport라고 합니다. 즉 모바일 기기에서 여러 단말기의 해상도에 대응하기 위해 사용..

Tistory

웹 CSS 입문 공부 11. CSS의 정의, CSS문서 코드 적용

CSS 란? 콘텐츠의 크기, 색상, 위치, 움직임 등 웹문서에 추가되는 스타일 을 추가하는 언어 CSS 라고 합니다. CSS는 Cascading Style Sheets를 의미한다. •Cascading : 계단식 •Style : 멋을 내다 •Sheets : (종이) 한 장 즉 계단식으로 스타일을 정의하는 문서를 의미하며, 태그가 태그를 포함하는 계단식 구조를 지니고 있습니다. CSS 문서(코드) 자체는 독립적으로 존재할 수 있지만, 그 목적이 구조화된 HTML 문서의 스타일을 정의하는 데 있기 때문에 HTML 문서가 없는 CSS 문서는 사실상 의미가 없습니다. 대부분 문서를 별도로 만드렁 작업을 할 때에도 HTML 과 CSS 문서의 이름을 같게 지정하여 작업합니다. HTML : 웹 문서의 콘텐츠를 구성하는..

Tistory

웹 CSS 입문 공부 12. 선택자, 선택자 우선순위

선택자란 선택자 : 어떤 요소에 스타일을 적용 할 것인지에 대한 정보 입니다. 무엇을 CSS로 꾸며줄 것인지 스타일을 입힐 대상 요소에 대한 것을 지정하는 것이에요. 선택자에는 종류가 여러가지 있어요. 기본 선택자, 그룹 선택자, 특성 선택자, 결합 선택자, 의사 클래스, 의사 요소 ... 이번에는 기본선택자와 그룹 선택자에 대해서 알아보겠습니다. 스타일 태그는 헤드의 맨 밑에 위치합니다. 우선 기본 선택자를 살펴보겠습니다. 선택자별로 적용되는 스타일을 보기 위해서 본문에는 각각 id와 class를 부여했어요. 김광석 - 그녀가 처음 울던 날 그녀의 웃는 모습은 활짝 핀 목련 꽃 같아 그녀만 바라보면 언제나 따뜻한 봄날이었지 그녀가 처음 울던 날 난 너무 깜짝 놀랐네 그녀의 고운 얼굴 가득히 눈물로 얼룩..

Tistory

웹 CSS 입문 공부 13. 텍스트 속성, 웹 폰트 설정

우리가 화면에 출력할 텍스트에 스타일을 입혀서 다양한 방식으로 표현할 수있도록 하는 것이 텍스트 속성입니다. 텍스트 속성에 어떤 것이 있는지 알아볼게요. •font-family : 글꼴을 정의한다. •font-size : 글자 크기를 정의한다. •text-align : 정렬 방식을 정의한다. •color : 글자 색상을 정의한다 font-family 글꼴을 변경할 수 있습니다. 글꼴명을 속성값으로 지정합니다. 사용할 수 있는 전제로 존재하는 글꼴을 내 시스템에 설치를 해야만 사용할 수 있습니다. 만약 시스템 내에 설치되어 있지 않고 웹에 존재하는 폰트라면 웹 폰트를 지정하여 설치해야 합니다. 웹 폰트를 설정하는 방법에 대해서도 같이 알아볼게요. 우선 라이센스 걱정없이 상업용으로 쓸 수 있는 무료 폰트..

Tistory

웹 HTML 입문 공부 9. form 데이터 전송, fieldset

form은 사용자가 입력한 데이터(입력값)를 서버로 보내기 위해 사용하는 태그입니다. 여기에서 서버란, 정보를 제공하는 호스트(host)를 말합니다. 가령, 우리가 티스토리 홈페이지를 열고자 할 때, 티스토리의 서버에 html 페이지를 요청하면 서버에서 html 문서로 이루어진 웹 페이지를 응답으로 보내줍니다. 그리고 우리의 웹 브라우저에 홈페이지가 오픈되는 것이에요. 즉, 클라이언트(사용자)가 요청을 하면, 서버는 그에 대한 응답으로 정보를 제공합니다. 클라이언트가 어떤 요청을 보내는가에 따라, 응답은 달라질 수 있습니다. (아이디가 다르다던가, 비밀번호가 다르면 로그인을 거절하는 응답을 보낼 수도 있습니다.) form 여기에서 form은 입력 요소들을 감싸는 형태이며, 입력 값을 서버 측으로 제출(s..

Tistory

웹 HTML 예제 만들기 2. 로그인 폼 만들기

입력을 할 수 있는 input 태그와 제출 submit을 할 수 있는 form 을 배웠으니 이번에는 로그인 창을 직접 만들어볼게요. https://blue-dot.tistory.com/119 웹 HTML 입문 공부 9. form 데이터 전송, fieldset form은 사용자가 입력한 데이터(입력값)를 서버로 보내기 위해 사용하는 태그입니다. 여기에서 서버란, 정보를 제공하는 호스트(host)를 말합니다. 가령, 우리가 티스토리 홈페이지를 열고자 할 때 blue-dot.tistory.com 회원 가입 로그인 정보 아이디 비밀번호 비밀번호 확인 개인 정보 이름 메일 주소 상기 코드의 실행화면은 다음과 같습니다.

Tistory

웹 HTML 입문 공부 6. 하이퍼링크 표시

링크 anchor 링크는 anchor (앵커, 축, 정박지, 닻 과 같은 의미를 가집니다.) 의 약자인 a 태그를 사용합니다. 하이퍼링크를 표시하는 태그는 다음과 같습니다. a 태그 요소는 href 속성을 통해 다른 페이지, 전화번호, 이메일 주소와 그 외 다른 url로 연결할 수 있는 링크(연결)를 만드는 역할을 합니다. a태그는 인라인 요소이고, 콘텐츠는 주로 링크의 목적지예요. href 는 하이퍼링크 레퍼런스의 약자입니다. 출처 : 유노코딩 ; https://www.youtube.com/c/%EC%9C%A0%EB%85%B8%EC%BD%94%EB%94%A9/about target 타겟 하이퍼링크를 눌러서 열었을 때 새 탭에서 열지, 아니면 현재 창에서 열지를 정할 수도 있습니다. target = "_..

Tistory

웹 HTML 예제 만들기 1. 이미지로 하이퍼링크 만들기

하이퍼링크를 표시하는 방법에 대해서 배워보았으니 각 이미지를 클릭하면 해당 하이퍼링크를 표시하는 태그를 작성해보겠습니다. https://blue-dot.tistory.com/115 웹 HTML 입문 공부 6. 하이퍼링크 표시 링크 anchor 링크는 anchor (앵커, 축, 정박지, 닻 과 같은 의미를 가집니다.) 의 약자인 a 태그를 사용합니다. 하이퍼링크를 표시하는 태그는 다음과 같습니다. a 태그 요소는 href 속성을 통해 다른 페 blue-dot.tistory.com 그림의 출처는 픽사베이의 저작권 프리 이미지를 사용했습니다. https://pixabay.com/ko/ 놀라운 무료 이미지 - Pixabay 놀라운 무료 이미지 우리의 관대한 커뮤니티를 통해 공유되는 0.1 백만개의 이미지와 비디..

Tistory

웹 HTML 입문 공부 7. 목록list 생성하기

HTML 목록 LIST 태그 태그 목록은 연관 있는 항목(item)들을 나열한 것을 의미하며, 목록을 생성하면 블록 레벨 요소가 만들어집니다. HTML에서 목록은 ‘순서 없는 목록’과 ‘순서 있는 목록’으로 구분됩니다. Unordered List 순서가 없는 리스트. 태그 이름도 ul 입니다. Ordered List 순서가 있는 리스트. 태그 이름도 ol 입니다. 위 리스트로 와 를 입력하면 빈 항목 리스트가 생성됩니다. 이제 이 속에 목록의 요소들을 넣어주야 합니다. 태그 태그는 list item 이라는 뜻으로 목록에 들어가는 항목 하나 하나를 표현할 때 사용하는 태그입니다. 항목들( 태그들)을 감싸는 태그가 무엇이냐 (ul인지 ol인지)에 따라 목록의 앞에 붙는 기호가 달라집니다. ol에 들어..

Tistory

웹 HTML 입문 공부 8. input 입력

지금까지 출력태그 (코드에 쓰여진 대로 보여주는 것) 에 대해서 알아보았다면 이번에는 입력태그에 대해서 배워볼게요. 입력 태그는 렌더링 이후의 결과물에다가 내용을 새롭게 기입할 수 있는 태그 입니다. 입력태그 input 태그 사용자로부터 값을 입력받을수 있는 대화형 컨트롤(또는 ‘필드’)를 나타냅니다. 기본적으로 인라인 요소이며, 단일 태그입니다. input은 속성 값에 변화를 주어서 각각의 다른 형태와 속성으로 바꿀 수 있습니다. 즉, input의 핵심은 type 속성이에요. type의 값에 따라 입력 요소의 형태나 입력 데이터 유형 등이 달라집니다. 사용 가능한 type은 20여 가지이며, 기본 타입의 값은 text (문자를 입력하는 네모 박스) 입니다. 그럼 가장 기본적인 text 로 사용할 수 있..

Tistory

웹 HTML 입문 공부 3. 텍스트 입력

이제 HTML 로 텍스트를 입력하는 것을 직접 해볼게요. 문단 (paragraph) 하나의 단락은 다른 콘텐츠와 구분이 됩니다. p 태그는 문단 요소를 나타내는 태그로써, 가장 많이 사용되는 텍스트 태그입니다. 하나의 p 태그는 하나의 문단을 표현한다. 문단과 문단 사이에는 공백이 있습니다. 즉 글의 내용을 감싸는 여백을 추가합니다. 문단을 작성하는 예제를 작성해볼게요. 우리는 사랑에 관한 비유로 낱말 놀이를 하기로 했어. 너는 치즈, 소금, 얼음이라고 말했어. 나는 입이 없는 것처럼 조용히 웃었어. 왜 사라진 것들 뿐이니. 구름, 바다, 비라고 내가 대답했어. 그렇다면 도처에 사랑이 있겠네. 주황색 하이라이트는 여백을 뜻합니다. 이번에는 단락 두 개를 붙여볼게요. 우리는 사랑에 관한 비유로 낱말 놀이를..

Tistory

웹 HTML 입문 공부 4. 요소 유형 (블록 레벨 태그, 인라인 태그), 이미지 표시

이번에는 태그 요소들에 대해서 조금 더 알아보고 이미지를 표시하는 것까지 해볼게요. 요소 유형 태그들 중 블록 요소를 형성하는 태그가 있고, 인라인 요소를 형성하는 태그가 있습니다. 블록 레벨 요소 블록 레벨 요소는 자기가 속한 영역의 너비를 모두 차지하여 블록을 형성합니다. 필요하지 않은 너비까지 모두 차지하고 있을 때에는 블록 레벨 요소라고 봅니다. 개발자 도구에서 단락을 만들었을 때 주변을 감싸는 주황색 여백이 있었던 것처럼, 어떤 블록을 새롭게 형성하게 하는 같은 경우에는 블록 레벨 요소라고 볼 수 있습니다. 블록 안에 블록을 넣을 수도 있습니다. 일반적으로 블록 안에 블록을 넣지는 않지만 마치 표 속에 표를 그리는 것과 같은 것이라고 보시면 돼요. 빈정대며 네가 말했지. 나는 끝까지 말하지 ..

Tistory

웹 HTML 입문 공부 5. 컨테이너 요소, 전역 속성 (+ 검색 엔진에 노출 잘 되는 법)

이번에는 컨테이너의 요소와 그 전역 속성에 대한 것을 공부하겠습니다. 전역 속성에 대한 것을 살펴 보다보면 문서의 검색 엔진에 노출이 잘 되는 방법들도 같이 참고해볼 수 있으니까 만약 블로그 포스팅에서 노출이 잘 되는 방법 등에 관심이 있으신 분들도 보시면 좋을 것 같아요! 컨테이터 콘텐츠나 레이아웃에 아무런 영향도 주지 않고, 단지 다른 요소 여럿을 묶어 관리하기 편하게 만드는 역할을 하는 태그를 ‘컨테이너’라고 합니다. 하지만 꼭 필요한 경우가 있습니다. 콘텐츠 내용을 구분하거나, 공통적인 스타일을 적용하고자 할 때 컨테이너를 사용하는 것이 좋습니다. 예를 들어 마치 문서를 작성할 때 한꺼번에 글씨체를 바꾸거나 색상을 바꿀 때 드래그해서 전체를 한 번에 묶은 다음 스타일을 적용하는 것처럼요. 스타일을..

Tistory

자바 이클립스 클래스 이름 변경하기

이클립스로 처음 코드를 작성할 때 간혹 어떤 오류인지 알 수 없을 때가 있습니다. 저는 처음 코딩을 할 때 가장 난감했던 오류가 Type mismatch: cannot convert from FileReader to Reader 오류였는데요. 마우스 커서를 가져다 대면 아래와 같이 오류가 발생합니다. 아래의 콘솔 화면을 확인해보면 예외처리에 대한 상세 설명이 있는데요. Exception in thread "main" java.lang.Error: Unresolved compilation problems: The constructor FileReader(String) is undefined Type mismatch: cannot convert from ... 즉, 인자의 타입이 올바르지 않다는데, 아무리봐..

Tistory

웹 HTML 입문 공부 1. HTML 이란?

오늘부터 웹 개발 HTML 입문 공부를 시작합니다! 먼저 개요와 입문의 기초부터 시작합니다. html에 대해서 전혀 모르는 쌩초보, 비전공자 입문을 기준으로 수업을 정리합니다. ^^ 이점 참고 부탁드립니다! 프론트엔드와 백엔드 프론트엔드Frontend : 사용자들에게 시각적으로 보여주는 부분 -> HTML, CSS, 자바스크립트가 필수! 백엔드Backend : 프론트엔드에서 보여주는 정보들은 서버가 보유하고 있는 정보들. 사용자들이 이용할 수 있는 정보를 관리하는 부분. -> 자바, 파이썬, Golang(구글에서 만든 프로그래밍 언어) 등 선택 가능 HTML 이란 HTML 의 의미 ~ 하이퍼 텍스트와 콘텐츠를 표시해주는 언어! ~ HTML은 HyperText Markup Language를 의미합니..

Tistory

웹 HTML 입문 공부 2. html 문서의 기본 구조

Tag 태그 HTML의 문법은 딱 한 가지예요. 태그(tag)만 기억하면 됩니다. 태그란 HTML 코드에서 정보(콘텐츠)를 정의하는 형식을 말합니다. 태그는 < > 다이아몬드 기호와 / 기호를 사용해 콘텐츠의 시작과 끝을 표시합니다. 태그는 콘텐츠를 감싸고 있고, 그 안에는 태그명이 기입되어 있습니다. 태그명은 콘텐츠의 성격과 의미를 나타내므로 무척 중요합니다. 태그는 다음과 같은 형태로 사용합니다. 여기에 콘텐츠를 기입합니다 (여는 태그) (닫는 태그) 주석 HTML 주석의 예) 단일 태그< > < /> 앞서 보았듯 태그는 < > 과 기호를 사용해 콘텐츠의 시작과 끝을 표시합니다. 하지만 경우에 따라 시작과 끝을 구분할 필요가 없는 태그도 존재합니다. 이를 단일 태그라 하며, 단일 태그의 형식은 다음과..

Tistory

자바 기초 공부 일지 53. I/O 스트림(InputStream, OutputStream) (작성중)

전에 공부하였듯 스트림이란 데이터가 이동하는 통로입니다. https://blue-dot.tistory.com/102 자바 기초 공부 일지 50. 스트림Stream, 필터링과 맵핑 스트림Stream 스트림은 데이터가 흘러가는 줄기예요. 데이터가 흘러 들어가서 결과를 출력하기까지의 과정이 담긴 줄기입니다. 마치 파이프를 연결해놓고, 그 사이에 필터를 넣을 수 있는 것 blue-dot.tistory.com 그럼 스트림과 I/O (스트림은 어떤 차이가 있는지 알아볼게요. 스트림은 일방향의 특징을 가지는 데이터의 흐름이기 때문에 input 과 output 을 위한 코드가 따로 존재합니다. 스트림은 주로 어떤 데이터를 흘려 보내서 중간 연산 과정을 사용하여 원하는 형태로 걸러내고 연산할 것인가에 대한 것에 ..

Tistory

자바 기초 공부 일지 54. 쓰레드Thread 생성과 쓰레드 동기화 방법

쓰레드Thread란 프로세스의 작업 단위입니다. 프로그램 내에서 실행을 흐르는 이루는 최소 단위이며 main 메소드의 실행도 하나의 쓰레드에 의해 진행이 됩니다. (프로세스가 여러가지 행동들을 실행해야 할 때 쓰레드에 할당을 하여 실행이 됩니다. ) 쓰레드의 존재는 자바 프로그램 안에서도 존재합니다. class CurrentThreadName { public static void main(String[] args) { Thread ct = Thread.currentThread(); // 참조할 수 있는 현재 쓰레드 선언 String name = ct.getName(); // 쓰레드의 이름을 반환 System.out.println(name); } } 쓰레드를 생성할 때 메인 쓰레드는 만들지 않아도 생성되어..

Tistory

자바 복습. 공부한 내용들의 간단 리뷰!

2022.10.24. ~ 2022.11.08. 자바 기초 공부 ~ 간단한 리뷰! 각 상세한 설명이 필요할 때에는 블로그 검색기능이나 기초공부 카테고리에서 찾기! ~ 객체 지향 : 프로그램 안에서의 동작이 객체간의 상호작용을 통해 이루어진다. 클래스 : 데이터(프로그램 상에서 유지하고 관리할 데이터) 와 기능(프로그램 상에서 처리할 기능) - 인스턴스 변수 : 클래스 내에 선언된 변수 - 인스턴스 메소드 : 클래스 내에 정의된 메소드 참조 변수로 어떤 대상을 참조한단 것은 참조된 주소로 접근할 수 있는 통로를 만드는 것 참조 변수의 특성 : BankAccount yoon = new BankAccount(); 일 때 yoon은 new BankAccount();가 가지고 있는 주소 값을 가지게 ..

Tistory

자바 기초 공부 일지 50. 스트림Stream, 필터링과 맵핑

스트림Stream 스트림은 데이터가 흘러가는 줄기예요. 데이터가 흘러 들어가서 결과를 출력하기까지의 과정이 담긴 줄기입니다. 마치 파이프를 연결해놓고, 그 사이에 필터를 넣을 수 있는 것처럼 스트림 안에도 필터를 끼어서 원하는 결과만을 얻을 수도 있어요. 스트림을 생성하고 이를 대상으로 ‘중간 연산’과 ‘최종 연산’을 진행하면, 원하는 기준으로 데이터를 필 터링하고 필터링 된 데이터의 가공된 결과를 얻을 수 있습니다. 중간 연산 성격의 메소드가 있고, 최종 연산 성격의 메소드가 있습니다. 아래의 예시를 같이 보겠습니다. public static void main(String[] args) { int[] ar = {1, 2, 3, 4, 5}; IntStream stm1 = Arrays.stream(ar..

Tistory

자바 기초 공부 일지 51. 리덕션, 맵핑Mapping (Map, faltMap) (작성중)

리덕션(Reduction) 데이터를 축소하는 연산 입니다. T reduce(T identity, BinaryOperator accumulator) // Stream에 존재합니다. // BinaryOperator T apply(T t1, T t2) 리덕션은 두 개의 인수를 받은 후에 그에 따른 결과를 반환합니다. 그 연산식은 마치 토너먼트처럼 보이는데요. 앞의 값과 비교를 한 후에 축소 진행 중인 상태의 하나의 요소 결과값을 반환합니다. public static void main(String[] args) { List ls = Arrays.asList("Box", "Simple", "Complex", "Robot"); BinaryOperator lc = (s1, s2) -> { if(s1.length() ..

Tistory

자바 기초 공부 일지 52. 버퍼 (작성 수정중)

InputStream in = new FileInputStream("date.dat"); // 입력 스트림 생성 int data = in.read(); // 데이터 읽어 들임 OutputStream out = new FileOutputStream("date.dat"); // 출력 스트림 생성 out.write(7); // 데이터 7을 파일에 전달 버퍼 : 스트링 중간에 존재해서 데이터를 한꺼번에 데려오는 수레같은 역할을 함. 이동횟수가 줄기 때문에 속도 개선 효과를 가져다줌 파일 대상 입출력 스트림을 생성한 이후에는 반드시 닫아주어야 한다. package day21; import java.io.*; /* * 파일 입출력 시 존재하지 않는 파일에 출력을 하기 위한 스트림을 형성하면, * 파일이 새롭게 만들..

Tistory

자바 기초 공부 일지 47. 람다와 함수형 인터페이스

함수란 재사용할 수 있는 코드 조각이며 이것이 클래스 안에 포함되어 있으면 메소드라고 합니다. 함수형 인터페이스란 함수를 정의하기 위한 인터페이스 입니다. (추상메소드를 하나만 가지고 있는 인터페이스) 함수형 인터페이스는 객체 뿐만 아니라 기능적인 상호작용을 가능하게 합니다. 람다를 사용하는 경우들을 살펴볼게요. 1. 인스턴스보다 기능 하나가 필요한 상황을 위한 람다에서 사용합니다. 함수를 외부에 작성한 뒤 인자로 넣는 것이 아니라, 인자의 자리에 직접적으로 람다를 넣을 수 있습니다. 아래의 예제를 살펴볼게요. 리스트의 정렬sort를 위해 sort의 기준이 되는 오버라이딩을 클래스로 정의했습니다. class StrCmp implements Comparator{ @Override public int com..

Tistory

자바 기초 공부 일지 48. 함수형 인터페이스 Predicate<T>, Supplier<T>, Consumer<T>, Function<T, R>

공부에 참고한 페이지 : https://m.blog.naver.com/zzang9ha/222087024556 [Java/자바] - Function interface Function interface 안녕하세요, 이번시간에 알아볼 함수형 인터페이스는 Function

Tistory

자바 기초 공부 일지 49. 메소드 참조 (작성 수정중)

람다는 이전에 배운 것으로 그 자체로 다른 메소드 안에서 매개변수로 참조될 수도 있다는 것을 알았습니다. https://blue-dot.tistory.com/96 자바 기초 공부 일지 46. 람다lambda 람다에 대한 이해를 위해 기본형과 익명 클래스 사용과 람다의 사용을 작성해볼게요. 기본 클래스 익명 클래스 람다 interface Printable { void print(String s); } class Printer implements Printable { public void print( blue-dot.tistory.com 일부 람다식을 메소드 참조로 대신하게 하거나 기본적으로 람다식보다 조금 더 코드를 단순하게 하기 위해서 메소드 참조를 사용합니다. 메소드 참조method reference는..

Tistory

자바 기초 공부 일지 44. 열거형

자료형의 부여를 돕는 열거형 enum Scale { // 열거 자료형 Scale 의 정의입니다. enm 은 열거형 키워드. 열거형 값 (Enumerated Values) DO, RE, MI, FA, SO, RA, TI } 스케일형 인스턴스의 도 데이터, 레 데이터... 이렇게 이름에 의미를 부여합니다. 아래는 열거형의 예제입니다. public static void main(String[] args) { Scale sc = Scale.DO; System.out.println(sc); switch(sc) { case DO: //Scale.

Tistory

자바 기초 공부 일지 45. 네스티드 클래스, 스테틱 클래스, 이너 클래스

네스티드Nested ( nest, 둥지를 틀다. 새 둥지) 는 중첩을 의미합니다. 클래스 안에 들어있는 클래스를 네스티드 클래스라고 합니다. 네스티드 클래스 안에는 Static 클래스와 Non-Static 클래스가 있습니다. Static 클래스의 경우에는 정적 클래스 Static 클래스가 아닐 경우에는 Non-Static 네스티드 클래스 또는 이너 클래스라고 합니다. 이너 클래스는 다시 멤버 클래스, 로컬 클래스, 익명 클래스로 나뉘어집니다. - 멤버 클래스는 클래스 안에서 멤버 역할을 하는 클래스 - 로컬 클래스는 메소드 안에 만들어진 클래스 (메소드 안의 영역을 로컬이라고 합니다.) - 익명 클래스는 클래스를 일회성으로 재정의해서 사용하는 클래스 Static 네스티드 클래스 Static 네스티드 ..

Tistory

자바 기초 공부 일지 46. 람다lambda

람다에 대한 이해를 위해 기본형과 익명 클래스 사용과 람다의 사용을 작성해볼게요. 기본 클래스 익명 클래스 람다 interface Printable { void print(String s); } class Printer implements Printable { public void print(String s) { System.out.println(s); } } class Lambda1 { public static void main(String[] args) { Printable prn = new Printer(); prn.print("What is Lambda?"); } } interface Printable { void print(String s); } class Lambda2 { public stat..

Tistory

자바 기초 공부 일지 40. 컬렉션 프레임 워크 (3) TreeSet<E>

3. TreeSet HashSet + 정렬입니다. Tree(트리) 자료 구조를 기반으로 하는 인스턴스에 대해서 정렬 상태를 유지하면서 인스턴스가 저장 됩니다. TreeSet은 정렬 알고리즘을 가지고 있는 구조 입니다. public static void main(String[] args) { TreeSet tree = new TreeSet(); tree.add(3); tree.add(1); tree.add(2); tree.add(4); System.out.println("인스턴스 수: " + tree.size()); Tree 라고 하는 자료 구조는 비선형적인 자료 구조 입니다. 즉, 출발점을 기준으로 뻗어나가는 형태의 자료 구조예요. 예를 들어 가계도(족보)를 생각하시면 좋을 것 같아요. 트리 구조는 ..

Tistory

자바 기초 공부 일지 41. 컬렉션 프레임 워크 (4) Queue<E>

(4) Queue Queue 컬렉션 클래스를 구성하는 스택Stack과 큐Queue가 있습니다. 스택Stack은 같은 구조와 크기의 자료를 정해진 방향으로만 쌓을 수 있고, top으로 정한 곳으로만 자료를 꺼낼 수 있습니다. Last in First Out 큐Queue는 한 곳에서는 삽입 작업이, 한 곳에서는 삭제 작업이 양 쪽으로 이루어집니다. 삭제 연산만 수행되는 곳을 front 프론트, 삽입 연산만 이루어지는 곳을 리어 rear 라고 하며 각각의 연산작업만 수행합니다. 큐의 리어에서 이루어지는 삽입연산을 인큐enQueue, 프론트에서 이루어지는 삭제연산을 디큐deQueue 라고 합니다. First in First Out 덱Deque 은 구멍이 두 개 입니다. 그리고 두 개의 구멍이 모두 입구도 출..

Tistory

자바 기초 공부 일지 42. 컬렉션 클래스 (5) 맵HashMap<K, V>

맵HashMap은 두 개의 자료가 하나의 요소를 구성하는 특성을 지닙니다. 각 자료는 키key와 값value으로 구분됩니다. key는 실질적 데이터가 아니며, 실질적 데이터인 value를 찾기 위한 지표 역할을 합니다. key는 지표의 역할을 하기 때문에 중복이 되면 안 됩니다. 즉,키key의 중복은 불가능하지만 값value의 중복은 가능합니다. 맵HashMap은 key라는 지표가 있기 때문에 순서를 유지할 필요가 없으므로 배열 순서가 없습니다. 아래의 예제를 살펴볼게요. public static void main(String[] args) { HashMap map = new HashMap(); // Key-Value 기반 데이터 저장 map.put(45, "Brown"); // (key, value) ..

Tistory

자바 기초 공부 일지 43. ArrayList 정렬하기, Comparable과 Comparator, Comparator<T>

공부 참고 자료 : 윤성우의 열혈 자바 프로그래밍 공부 자료집 https://hianna.tistory.com/569 [Java] ArrayList 정렬하기 (오름차순, 내림차순, 사용자 정의) Collections.sort() 오름차순으로 정렬하기 내림차순으로 정렬하기 대소문자 구분없이 정렬하기 List.sort() - Java 8 이후 오름차순으로 정렬하기 내림차순으로 정렬하기 대소문자 구분없이 정렬하기 사 hianna.tistory.com List를 구현한 컬렉션 클래스들은 저장된 인스턴스를 정렬된 상태로 유지하지 않습니다. 대신에 정렬을 해야 한다면 다음 메소드를 사용해서 정렬합니다. public static void sort(List list) sort는 Collections 클래스에 정의되어 ..

Tistory

자바 복습. 클래스Class

http://www.tcpschool.com/java/java_class_intro 코딩교육 티씨피스쿨 4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등 tcpschool.com 지식의 출처 : 티피씨스쿨 객체 지향 프로그램이란 우리가 인식하는 사물과 같은 객체의 행동을 구체화 하는 형태의 프로그래밍을 객체 지향 프로그래밍이라고 한다. 이 때 객체를 만들어내기 위한 설계도를 클래스Class라고 한다. 객체의 상태를 나타내는 {} 필드, 객체의 행동을 나타내는 메소드() 로 구성. 필드란 클래스에 포함된 변수를 의미하고, 메소드란 특정 작업을 수행하기 위한 명령문의 집합. 클래스를 사용하기 위해서는 클래스 타입의 객체 선언 필요. 객체를 선언 -> 해당 클래스 타입..

Tistory

자바 기초 공부 일지 38. 컬렉션 프레임 워크 (1) Lise<E> 인터페이스

자료 구조란 IT학문 분야 중 하나입니다. 프로그램을 짜다보면 데이터가 많아지는데 어떻게 하면 효율적으로 관리할 수 있을지에 대한 구조의 연구예요. 자료 구조를 인터페이스 구조로 정리를 해놓는데, 그 구조의 집합을 컬렉션 프레임 워크라고 합니다. 즉, 컬렉션 프레임 워크는 자바에서 자료구조를 정의해 표준 인터페이스 형태로 제공하는 것입니다. 컬렉션 프레임 워크 골격에 해당하는 인터페이스들은 다음과 같습니다. 자료 구조 및 알고리즘을 구현해 놓은 일종의 라이브러리이고, 제네릭을 기반으로 구현이 되어 있습니다. 각 인터페이스를 하나씩 살펴볼게요. 1. Lise 인터페이스 데이터를 일렬로 보관합니다. 마치 배열과도 같이요. 리스트에 대한 특징을 알아볼게요. - 선형적인 자료구조입니다. (일렬로 데이터를 보관)..

Tistory

자바 기초 공부 일지 39. 컬렉션 프레임 워크 (2) Set<E>

(2) Set Set 은 수학의 집합을 코드적으로 표현한 것입니다. Set은 배열이 없으므로 저장 순서가 유지되지 않고, 데이터의 중복 저장이 허용되지 않습니다. public static void main(String[] args) { Set set = new HashSet(); set.add("Toy"); set.add("Box"); set.add("Robot"); set.add("Box"); System.out.println("인스턴스 수: " + set.size()); 상기 코드를 실행할 경우 인스턴스의 수는 3 개가 표시 됩니다. 이유는 중복되는 Box 의 경우 중복이 되므로 저장되지 않기 때문입니다. 또한 순서대로 표시되지 않고 올림차순으로 abcd... 출력 됩니다. (저장 순서가 유지되지 않..

Tistory

자바 기초 공부 일지 35. 제네릭generic 의 기본 문법

제네릭generic이란 데이터 타입을 일반화하는 것을 의미합니다. 즉, 제네릭이란 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시에 미리 지정하는 방법입니다. 제네릭을 하지 않을 경우에는 안정성이 많이 떨어지고, 타입 변환과 검사에 들어가는 시간과 노력을 줄일 수 있습니다. 프로그래밍에 실수가 있을 시 알기가 쉬운 코드가 품질이 좋은 코드이기 때문에 제네릭의 존재를 인지하고 있는 것이 좋습니다. 아래는 제네릭을 사용하지 않았을 시의 코드입니다. class Apple { public String toString() { return "I am an apple."; } } class Orange { public String toString() { return "I am an orange."; } ..

Tistory

자바 기초 공부 일지 36. 제네릭generic 타입 인자

제네릭 타입은 클래스나 인터페이스 뒤에 다이아몬드 부호를 넣고, 타입 변수가 들어가는 것입니다. class, interface 일반적으로 대문자 하나가 들어갑니다. 제네릭은 그 자체로 자료형이기 때문에 매개변수화 타입을 타입 인자로 전달할 수 있습니다. 즉 상자 속에 상자를 넣을 수 있습니다. 마트료시카처럼요. class Box { // 박스 T를 만듭니다. private T ob; public void set(T o) { // 인자를 가질 수 있는 셋팅 메소드를 만들고 ob = o; } public T get() { // 인자를 반환하는 반환 메소드를 만들어요. return ob; } } public static void main(String[] args) { Box sBox = new Box();..

1 2