728x90

분류 전체보기 420

[Javascript] Chart.js bar chart 만들기

- 지난번에 radar 차트를 만들었었다. - 차트 종류가 매우 많은데, 하나씩 만들어보려 한다. - 그 중에 이번엔 bar 차트를 만들어본다. - 나는 thymeleaf를 사용 중이기 때문에 th:src="@{~~}" 이런 문법이 들어가 있지만, 보통은 src="~~" 이렇게 코드를 넣어주면 된다. - th:block도 필요 없다. - 라벨은 x축 눈금에 표시될 문자를 말한다. - 데이터는 10년 동안 이탈리아 프로 축구 리그 Seria A의 우승팀과 횟수이다. const ctx = document.getElementById('chart').getContext('2d'); const chart = new Chart(ctx, { type: 'bar', data: { labels: ['AC Milan','..

[Java] 컬렉션 프레임워크 (2)

자바의 정석 챕터 11을 읽고 정리 1.4 Hashset - Hashset은 Set 인터페이스를 구현한 가장 대표적인 컬렉션 - 중복된 요소를 저장하지 않음 - 저장순서를 유지하지 않음 Object[] objArr = {"1", new Integer(1), "2", "2", "3", "3"}; Set set = new Hashset(); for (int i = 0; i < objArr.length; i++) { set.add(objArr[i]); } System.out.println(set); // [1, 1, 2, 3] - "1", "1"은 눈으로 볼 때는 같지만 첫 번째는 String 인스턴스이고, 하나는 Integer 인스턴스라서 중복으로 보지 않음 - 순서 보장을 원하면 LinkedHashSet ..

[Fiber] Go로 DB Connect하기(MariaDB)

전 회사에서 쓰던 Golang framework Fiber를 공부하려고 한다. - 내가 전 회사에서 개발했던 부분은 여러 DB에 접속하고, 접속이 잘 되었는지 확인하는 부분이었다.- 이번에 다시 해보니 정말 금방 개발할 수 있는 양이었는데, 왜 이렇게 헤맸던 건지 모르겠다. - 예전에 DB에 접속하기 위해서https://github.com/go-sql-driver/mysq GitHub - go-sql-driver/mysql: Go MySQL Driver is a MySQL driver for Go's (golang) database/sql packageGo MySQL Driver is a MySQL driver for Go's (golang) database/sql package - GitHub - go..

개발/Go 2022.08.13

[Java] 컬렉션 프레임워크 (1)

자바의 정석 챕터 11을 읽고 정리 1. 컬렉션 프레임워크 - 데이터 군을 저장하는 클래스들을 표준화한 설계 - 컬렉션은 다수의 데이터를 말한다. 1.1 컬렉션 프레임워크의 핵심 인터페이스 - 컬렉션 데이터 그룹은 3가지 (1) List: 순서가 있는 데이터 집합. 중복 허용 구현클래스: ArrayList, LinkedList, Stack, Vector 등 (2) Set: 순서가 없는 데이터 집합, 중복 허용X 구현클래스: HashSet, TreeSet 등 (3) Map: 키와 값의 쌍으로 이루어진 데이터 집합. 순서 없음. 키는 중복 허용X. 값은 중복 허용 - Vector나 Hashtable은 사용하지 말고, ArrayList, HashMap 사용하기 Collection인터페이스 - List와 Set..

[Spring] 스프링 시큐리티 (3)

스프링 시큐리티가 변경되었다. - 버전 5.7.0-M2 버전부터 변경되었고, SecurityFilterChain을 빈으로 등록해서 사용해야 한다. - 아래 코드는 카카오 로그인 구현 중에 작성한 코드다. private final CustomOauth2UserService customOauth2UserService; @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http .csrf().disable() // enable h2-console .headers() .frameOptions() .disable() .and() .authorizeRequests() .antMatchers("/api/**").perm..

[RN] React Navigation BottomTab 아이콘 변경

리액트 네이티브로 간단한 앱을 만들면서 겪었던 일을 기록합니다. 리액트 네이티브 버전 : "react-native": "0.69.2" - 지난번에 하단 탭을 만들었는데 거기에 아이콘을 넣으려고 react-native-vector-icons 라이브러리를 설치했다. - 하지만 자꾸 typescript에서 에러가 발생했다. - 원인은 타입스크립트용 라이브러리를 추가로 설치해야되는 것이었다. npm install --save react-native-vector-icons npm install @types/react-native-vector-icons - 원하는 아이콘을 선택해서 넣었는데, 계속 에러가 떴다. - 이전과 다르게 "react-native-vector-icons": "^9.2.0" 버전에서는 pod ..

[Fiber] Go로 Backend 시작하기

전 회사에서 쓰던 Golang framework Fiber를 공부하려고 한다.express와 비슷해서 찍먹 수준으로 해봤는데, 조금씩 공부해보려고 한다. 당시 go 버전이 1.12였는데, 지금은 1.17이다.내가 당시 개발했던 기능이 버전에 큰 영향이 있을 것 같진 않을 것 같다. 먼저 fiber를 다운로드.go get -u github.com/gofiber/fiber/v2 예전엔 잘됐는데,cannot find package "github.com/gofiber/fiber/v2" in any of: c:\go\src\github.com\gofiber\fiber\v2 (from $GOROOT) C:\Users\Administrator\go\src\github.com\gofiber\f..

개발/Go 2022.08.10

[RN] React Navigation TopTab 추가

리액트 네이티브로 간단한 앱을 만들면서 겪었던 일을 기록합니다. 리액트 네이티브 버전 : "react-native": "0.69.2" - 지난번에 하단 탭을 만들었었다. - 이번에는 상단에 위치하는 탭을 만들어보았다. npm i @react-navigation/material-top-tabs - 라이브러리를 설치해준다. - 다음은 바로 코드 작성 import React from 'react'; import {createMaterialTopTabNavigator} from '@react-navigation/material-top-tabs'; import TestScreen from './TestScreen'; import Test2Screen from './Test2Screen'; const TopTap ..

[HTTP] 커넥션 관리

HTTP 완벽가이드 읽은 후 정리 - HTTP는 어떻게 TCP 커넥션을 사용하는가 - TCP 커넥션의 지연, 병목, 막힘 - 병렬 커넥션, keep-alive 커넥션, 커넥션 파이프라인을 활용한 HTTP의 최적화 - 커넥션 관리를 위해 따라야할 규칙들 1. TCP 커넥션 - HTTP 통신은 패킷 교환 네트워크 프로토콜들의 계층화된 집합인 TCP/IP를 통해 이루어진다. - 커넥션이 맺어지면 클라이언트와 서버 간에 주고 받는 메시지들은 안전하게 전달된다. 신뢰할 수 있는 데이터 전송 통로인 TCP - TCP 커넥션은 인터넷을 안정적으로 연결해준다. - TCP는 충돌 없이 순서에 맞게 HTTP 데이터를 전달한다. TCP 스트림은 세그먼트로 나뉘어 IP 패킷을 통해 전송 - TCP는 IP패킷이라고 불리는 작은..

개발/ETC 2022.08.08

[Java] 객체 지향 설계 5원칙 - SOLID

스프링 입문을 위한 자바 객체 지향의 원리와 이해를 읽고 간단한 정리. SOLID는 아래 5가지 원칙의 앞 글자를 따서 부르는 이름 (1) SRP(Single Responsibility Principle): 단일 책임 원칙 (2) OCP(Open Closed Principle): 개방 폐쇠 원칙 (3) LSP(Liskov Substitution Principle): 리스코프 치환 원칙 (4) ISP(Interface Segregation Principle): 인터페이스 분리 원칙 (5) DIP(Dependency Inversion Principle): 의존 역전 원칙 1. SRP - 단일 책임 원칙 어떤 클래스를 변경해야 하는 이유는 오직 하나뿐이어야 한다. - 단일 책임 원칙은 클래스 이외에도 속성, ..

728x90