Programming 321

Git의 모든 것

# Git 분산 버전 관리 시스템(Distributed Version Control System)의 하나로, 소스 코드와 같은 문서의 변경 이력을 관리하고 추적하는 도구입니다. Git은 프로젝트의 협업, 소스 코드 관리, 변경 이력 관리 등에 사용되며, 여러 사람이 동시에 작업하는 경우에도 원활한 협업과 버전 관리를 지원합니다. 1. **Repository (저장소)**: Git은 프로젝트의 모든 파일, 폴더, 이력 등을 저장하는 저장소를 가지고 있습니다. 이 저장소는 로컬 컴퓨터나 원격 서버에 위치할 수 있습니다.(.git 이라는 폴더다) 2. **Commit (커밋)**: 커밋은 소스 코드 변경의 스냅샷을 의미합니다. 변경된 파일들의 모음이며, 각 커밋은 고유한 식별자(hash)를 가지며 변경 내용,..

Programming/etc 2023.08.23

딥러닝(deep learning)/ 모델 및 함수 용어 관련

1. **선형 회귀(직선) 및 선형 함수**: 선형 회귀는 입력 변수와 출력 변수 사이의 선형 관계를 모델링하는 회귀 분석 기법입니다. 선형 회귀 모델은 주로 직선으로 표현됩니다. 선형 함수는 입력 변수에 대해 가중치와 편향을 곱하고 더하여 출력을 생성하는 함수로, 선형 회귀 모델에서 사용되는 함수입니다. 2. **로지스틱 회귀(참, 거짓) 및 시그모이드 함수**: 로지스틱 회귀는 이항 분류 문제를 다루기 위한 회귀 분석 기법으로, 주로 확률을 이용해 분류를 수행합니다. 로지스틱 회귀 모델의 출력을 시그모이드 함수에 적용하여 0과 1 사이의 값으로 변환합니다. 시그모이드 함수는 S자 형태를 가지며, 입력을 확률 값으로 변환하는 데 사용됩니다. 3. **이항 분류 모델 및 렐루 함수**: 이항 분류 모델은..

딥러닝(deep learning)/ 사용 라이브러리 관련

# 데이터 과학, 머신 러닝, 딥러닝 등 다양한 분야에서 사용되며, 각각의 특징과 기능을 활용하여 작업을 수행하는 각 라이브러리의 사용 예시 1. **텐서플로우(TensorFlow) 및 케라스(Keras)**: - **텐서플로우**: 딥러닝 프레임워크로, 모델의 생성, 학습, 배포 등 다양한 딥러닝 작업을 지원합니다. - **케라스**: 텐서플로우 위에서 돌아가는 딥러닝 API로, 모델을 구성하고 학습시키기 위한 높은 수준의 추상화를 제공 a. **케라스.모델(Model)**: 케라스의 모델은 딥러닝 모델의 구성과 학습을 관리하는 주요 구성 요소입니다. 모델은 레이어들을 조합하여 구성됩니다. 모델을 생성하고 컴파일한 후에, 데이터로 학습하고 평가하는 등의 작업을 수행할 수 있습니다. 시퀀셜 모델과 함수형..

스프링(spring)/ 다듬기 2(어노테이션에 대한 고찰)

@어노테이션(Anotation) : 자바 프로그래밍 언어에서 메타데이터(metadata)를 표현하는 방법 중 하나. 메타데이터란 코드 자체가 아니라 코드를 해석하고 처리하는 데 도움을 주는 정보를 의미합니다. 어노테이션은 주로 클래스, 메서드, 필드 등의 요소에 부가적인 정보를 제공하거나 처리를 지시하는 데 사용됩니다. 스프링 프레임워크 및 다른 프레임워크에서는 어노테이션을 활용하여 코드의 의미를 확장하고 설정을 간소화하는 등의 목적으로 활용 1. @Controller: - `@Controller` 어노테이션은 Spring MVC에서 컨트롤러 클래스임을 나타내는 데 사용됩니다. - 이 어노테이션을 사용하여 클래스를 스프링 빈으로 등록하면, 해당 클래스는 HTTP 요청을 처리하는 컨트롤러 역할을 할 수 있..

스프링(spring)/ 스프링부트(springBoot)-mysql연동

1. 스프링부트 프로젝트 구조 * 기본적으로 패키지들과 mappers폴더를 추가했다. 2. 의존성 패키지 추가 설치 JDBC/ Mybatis/ Mysql org.springframework.boot spring-boot-starter-jdbc org.mybatis.spring.boot mybatis-spring-boot-starter 2.3.1 org.mybatis.spring.boot mybatis-spring-boot-starter-test 2.3.1 test com.mysql mysql-connector-j runtime 3. application.properties 파일 프로퍼티 설정. 아래 코드 추가 # MySQL spring.datasource.url=jdbc:mysql://127.0.0.1:..

Maven 과 Gradle

Maven과 Gradle은 둘 다 빌드 도구로서 Java 기반 프로젝트의 빌드, 의존성 관리, 배포 등을 관리하는 도구입니다. 그러나 각각의 특징과 장단점이 다르며, 개발자의 선호나 프로젝트의 요구사항에 따라 선택할 수 있습니다. 아래에서 Maven과 Gradle을 비교해보겠습니다. 1. Maven: - **XML 기반 설정**: Maven은 XML 기반의 설정 파일(`pom.xml`)을 사용하여 프로젝트를 설정하고 관리합니다. XML 형식이기 때문에 가독성이 좋지만, 복잡한 프로젝트의 설정이나 커스텀 빌드 로직을 표현하기에는 제한이 있을 수 있습니다. - **기본 설정 제공**: Maven은 규약을 따르는 프로젝트 구조와 기본 설정을 제공하여 프로젝트를 빠르게 시작할 수 있도록 도와줍니다. 또한 Mav..

스프링(spring)/ 스프링부트(Spring Boot) 프로젝트 생성

1. Spring Starter Project(스프링부트 프로젝트 생성 템플릿) * (우선은 Maven 기준으로) 중요한건 스프링부트는 기본적으로 jsp 미지원인데; Packaging형식으로 War로 하면 사용 가능하다. 자바버전을 선택하고 NEXT 후에, 스프링부트 버전과 호환이 가능해야 한다. 예전에 올렸던 버전관련 게시물 참고하면 된다. * 웹 어플리케이션이 주 프로젝트일 것이기에 의존성 체크하면 손쉽게 스프링을 시작할 준비가 된거다. 2. jsp사용 환경을 만들어 주기위해, pom.xml 파일 의존성 추가. jstl jstl 1.2 org.apache.tomcat.embed tomcat-embed-jasper provided 3. 그리고 jsp 경로 폴더 및 메인 홈 페이지 jsp 생성. src/..

스프링(spring)/ 다듬기 1(MVC에 대한 고찰)

1. 제일 중요한 url 매핑기능 익히기 @GetMapping("/account/join") public void getJoin(Model model) throws Exception { List countryCodes = null; countryCodes = userService.getCountryCodes(); model.addAttribute("countryCodes", countryCodes); } @PostMapping("/account/update") public String postUpdate(UserVO vo) throws Exception { String inputPass = vo.getPwd(); String pwd = pwdEncoder.encode(inputPass); vo.setPw..

스프링(spring)/ +더하기 6(게시판별 좋아요 시스템 구현)

1. 1:1 논쟁이라는 시스템을 살려서 그 매치 자체에 대한 좋아요 기능을 구현하고자 한다. 먼저 천천히 숨을 가다듬고, 매퍼파일 부터 추가한다.(새로운 테이블 객체 생성시, VO파일에 추가 필수!) update counter set senderGood = senderGood+#{senderGood}, senderBad = senderBad+#{senderBad}, receiverGood = receiverGood+#{receiverGood}, receiverBad = receiverBad+#{receiverBad}, debateGood = debateGood+#{debateGood}, debateBad = debateBad+#{debateBad} where channel= #{channel} SELEC..

스프링(spring)/ +더하기 5(관전 시스템)

1. 먼저 해당 게시글을 토대로 생성된 1:1 매칭을 댓글처럼 모두 나열 시켜본다. 먼저 jsp파일에 링크 추가 논쟁 둥지 2. Controller단에서 url매핑 // 논쟁 둥지 @RequestMapping(value = "/debateNest", method = RequestMethod.GET) public void getDebateNest(@RequestParam("idx") int idx, Model model) throws Exception { List debateNest = null; debateNest = service.debateNest(idx); model.addAttribute("debateNest", debateNest); List originList = null; originList..