일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- Java
- 다시보기
- 항해솔직후기
- 코딩테스트실력진단
- 코테
- 알고리즘기본개념
- 알고리즘
- SWEA
- 그리디
- database
- Union Find
- 싸피
- 트러블슈팅
- JPA
- 백준
- Spring
- 항해플러스ai
- 항해플러스ai후기
- 완전탐색
- 그래프
- JUnit
- 코딩테스트
- 자바
- BFS
- SSAFY
- 다익스트라
- DFS
- 유니온파인드
- DP
- 코드트리
- Today
- Total
목록workspace (271)
HwangHub
웹은 지속적으로 발전하며 그에 따라 웹 표준도 끊임없이 발전하고 있습니다. 그러한 발전의 일환으로 HTML5에서는 시맨틱 태그라는 새로운 개념이 도입되었습니다. 그렇다면, 시맨틱 태그가 등장한 배경은 무엇이었을까요? 그리고 이들 시맨틱 태그는 각각 어떤 의미를 가지고 있을까요? 시맨틱 태그의 등장 시맨틱(semantic)이란 '의미'를 뜻합니다. 즉, 시맨틱 태그는 웹 페이지의 구조를 명확하게 설명하는 역할을 합니다. 기존의 HTML에서는 , 등의 태그를 사용하여 웹 페이지를 구성했습니다. 아직까지도 많은 웹 페이지가 남발된 태그로 구성되어 있습니다. 하지만 이런 태그들은 구조적인 의미를 가지지 않아, 웹 페이지의 각 문단의 의미를 파악하기 어렵게 만들고, 유지보수성을 저하시킵니다. 그래서 HTML5에서..
우리는 타이핑을 하면서 수 많은 엔터를 입력한다. 근데 Enter 입력 표현은 OS마다 다르다는 사실... 놀랍게도 나는 몰랐다. (컴퓨터의 세상을 넓고도 험악하다.) 걍 나중에 혹시 또 기억 안나면 보려고 간단하게 적어둔다. 리눅스 계열은 \r (캐리지 리턴)만 윈도우는 \r\n (캐리지 리턴 + 라인 피드(=뉴라인)) 둘다 한줄평 아, 그래서 맨날 git bash에서 찡얼거렸구나
외부, 내부, 인라인 적용 스타일이 존재할 때, 인라인 > 내부 > 외부 순으로 스타일 적용 우선순위를 가진다. 외부 스타일시트 : head 태그 안에
절대 경로 file system : "드라이브부터" 파일이 있는 실제 경로를 모두 표현 (file:///C:/SSAFY/work-front/saffy.png) network : "프로토콜, 도메인부터" 파일이 있는 실제 경로를 모두 표현 (https://www.naver.com/blah/blah) 상대 경로 특정 경로를 기준으로 파일이 있는 relative한 위치를 표현 ("./ssffy.png") .. 상위 ./ 현재(생략 가능) /fdsa 하위 경로 ~: file:///C:/Users/{현재 유저}/와 동일한 의미 웹 주소는 브라우저에 표시되는 도메인 주소가 기준임. (중요) 예를 들어 https://naver.com:8080/context-path/path1/path2 가 있다고 할 때, 상대 경로..
컴퓨터는 기본적으로 0과 1로 이루어진 이진 데이터를 처리합니다. 이러한 이진 데이터를 사람이 이해할 수 있는 문자로 변환하기 위해 인코딩이 사용됩니다. 아스키부터 유니코드까지 컴퓨터 인코딩의 역사는 미국에서 컴퓨터를 개발하면서 시작되었습니다. 처음에는 간단한 영어 문자를 숫자로 변환하는 아스키(ASCII) 코드가 사용되었습니다. 아스키 코드는 7비트로 표현되는데, 이는 128개의 다른 문자를 표현할 수 있음을 의미합니다. 이는 대소문자 알파벳, 숫자, 일부 특수 문자를 포함합니다. 그러나, 아스키 코드로는 다양한 언어와 특수 기호를 모두 표현할 수 없었습니다. 이를 해결하기 위해 아스키 코드를 확장하여 국제 규격에 맞게 일부 특수 기호들(pound 등)을 추가한 인코딩 코드인 ISO-8859-1이 등장..
앞으로 싸피에서 myBatis를 공부할 예정인데, 지금까지는 Spring의 대표적인 ORM인 JPA에 대해서만 사용해 왔기 때문에 이와 관련된 간단한 궁금증이 생겼다. 이에 따라 간단하게 짚고 넘어가려 한다. myBatis는 SQL Mapper이고 JPA는 ORM기술이다. (즉, myBatis는 ORM이 아니다. 둘은 차이가 있다.) SQL Mapper 쿼리의 실행결과를 미리 지정하여 두고 이를 객체로 매핑하는 기술을 말한다. 즉, 쿼리를 개발자가 직접 작성해야 한다. ORM 쿼리를 개발자가 직접 작성하지 않아도 ORM에서 객체를 해석하여 쿼리를 생성해준다. (복잡한 쿼리가 필요한 경우에는 직접 작성하는 경우도 있음) ORM은 객체지향 언어와 관계형 데이터베이스 간의 패러다임 갭을 해소하고자 등장한 기술..
datasource url에 localhost:3306/mydb와 같이 입력해 뒀는데, datasource url을 해석하지 못하는 에러가 발생했다. 일단 datasource url은 정확했다. (당연히 여러 원인이 있겠지만) 사실 127.0.0.1이 localhost와 동일한 의미인데, 혹시나 하고 127.0.0.1로 해보니 연결은 되는 걸 확인할 수 있었다. 아무래도 127.0.0.1을 localhost(루프백 호스트)로 인식하는 게 제대로 동작하고 있지 않는 것 같았다. 문제 파악하기 어디서 문제가 있나 살펴보던 중 pom.xml에서 xmlns:xsi에 http://www.w3.org/2001/XMLSchema-instance로 지정되어 있었는데, xsi가 http로 지정되어 있으니까 다른 xmln..
항상 스프링부트 + gradle 조합으로 개발하다보니, maven을 이용한 프로젝트를 진행해보지 않았었다. 이번에 싸피를 하면서 myBatis와 maven 프로젝트를 하게 될 것 같은데, 이번 기회에 pom.xml 혐오를 멈춰보고자 한다. 우선, 불편함을 지우지 위해서는 어느정도 pom.xml과 서로 알아가는 시간이 필요할 것 같아서 들여다 보기 시작했다. gradle로 빌드 파일을 설정해오면서 봤던 의존성 설정이나 빌드 설정 등은 대략 이해가 가는데, project 태그의 xmlns 부분은 어색하게 느껴졌다. 따라서 이를 한번 알아보기로 했다. POM이란? POM은 Project Object Model을 의미한다. maven으로 빌드를 진행하는 프로젝트의 설정 파일을 pom.xml이라고 하여 작성한다...
문제 상황 게시판에 단순 접근하거나 게시글 검색을 한 결과에서는 body 내용이 간소화되어서 제공되어야 한다. 문제는, 우리 게시글들은 DB 속 게시글 테이블의 body 칼럼에 html이 들어간다는 거다. 이걸 단일 게시글 조회할때엔 프론트에서 문서화해서 보여주지만, 게시글 목록에서는 body 내용을 하나하나 모두 보여주지 않고 간소화시켜서 제공해주므로, 본문 내 이미지들을 요약문에서 보여주기엔 적절하지 않다. 따라서 이를 처리해줘야 한다. AS-IS 아래는 게시글 목록 dto 생성자이다. 저기에 있는 저 body에 들어가는 문자열을 처리해줘야 한다. public PostSimpleData(...) { this.postId = postId; this.authorId = authorId; this.main..
제목에서 알 수 있듯, 2024-01-09 20:20:30.603778와 같이 LocalDateTime 형식의 데이터를 "yyyy. M. d" 형식으로 파싱하여 제공하려고 한다. 기획 요구사항에서 "2024. 01. 09."도 아니고, "2024. 1. 9."도 아니라 정확히 "2024. 1. 9"와 같은 형식을 요구하였기에, 해당 처리를 어떻게 할지 알아보았다. 알아보니, 이러한 형식은 자주 사용되는 형식이라 자바에서는 자주 사용하는 날짜 형식에 대하여 FormStyle이라는 enum 클래스를 운영하는 것을 알게 되었다. 내가 원하는 DateTimeFormatter.ofLocalizedDate(FormatStyle.MEDIUM)이라는 메서드를 지원하는 걸 알게 되었다. 그래서 아래와 같이 짰었다. AS..