블로그

제 생각이예요

인프런 블로그가 활성화 되려면   1. 카테고리가 있어야 한다.   2. 코드 복붙할때 깔끔하게 되어야 한다. (벨로그 처럼 깔끔하게 코드를 끍어 오면 좋겠어요)      코드블럭 편집기를 따로 만들어 주세요(T스토리 보다 더 깔끔한 코드블럭편집기를 만들어주세요!!)      코드만 잘 끌와도 정리하는데,  최소 1시간은 save할수 있습니다!!   3. 강의노트에 적은거 블로그로 부드럽게 끌고 와야된다.   3-1. 강의노트 개선부탁드릴께요         마크다운 형식이라서 정리하기가 너무 어려워요.        숫자는 한번 적고 더이상 그만 적고 싶은데  1.. 2.. 3..4         가끔은 코드를 강의 노트에 타이핑하는 경우가 있는데 그러면        코드 와꾸틀이 와르르 무너져요. 띄어쓰기가 허용이 안되고 다 붙어 버려요.   4. 카테고리 예시 HTML/CSS 자바   자바의 정석   생활코딩(자바) 스프링    스프링의 핵심원리   스프링의 기본편   스프링 MVC패턴 1편   스프링 MVC패턴 2편 쿠버네티스   그림으로 배우는 쿠버네티스 알고리즘   파이썬 알고리즘   자바 알고리즘    위의 카테고리 예시로 보면 큰 카테고리 : HTML/CSS                          자바                         스프링                         쿠버네티스                         알고리즘 위와 같이 큰 카테고리가 만들어진 후 에  스프링을 클릭하면 하위 카테고리    스프링 핵심원리                              스프링 기본편                              스프링 MVC패턴 1편                              스프링 MVC패턴 2편   이렇게 만들어진 후에  스프링 핵심원리 클릭하면 스프링 핵심원리 정리한 목록 뜨면서 스크롤을 내리면서 글을 볼 수 있었으면 좋겠습니다.   5. 늘리거나 줄이거나 구부러뜨리거나 휘게 할 수 있는 화살표 같은 거 넣는 기능 만들어 주시면 정말 좋겠써요.       제가 정리하면서 느끼는 건데,      A함수에서 B함수를 호출하고, 매개변수를 전달하는 것      이런걸 표시 하고 싶은데,      통상적으로 코드를 정리한 다음 그 코드를 스크린샷으로 찍어서      그림판에서 그 스크린샷 위에 화살표를 그려서 덧빵을 해요.      그러면 다른 이름으로 저장하고, 또 새로운 편집기에서 다시 불러와서 편집을 해요.       작업속도가 너무 더뎌요.         intellij나 이클립스에서 작성한 코드를 그대로 끌고 와서       웹 상의 편집기에서 긁어온 코드 위 화살표 같은 거 자유자재로 그렸으면 좋겠습니다.   인프런에는 워낙 출중한 프론트엔드 프로그래머 분들이 많으시니까 이런거 만드는 거는  반나절만에 다 만드실꺼예요                                                            

블로그t스토리코드블럭spring화살표

저니

스프링 가이드 목록 2022

* page : https://spring.io/guides     클릭하시면 해당 페이지로 넘어갑니다. 🍃 Building a RESTful Web Service Scheduling Tasks Consuming a RESTful Web Service Building Java Projects with Gradle Building Java Projects with Maven Accessing Relational Data using JDBC with Spring Uploading Files Authenticating a User with LDAP Messaging with Redis Messaging with RabbitMQ Accessing Data with Neo4j Validating Form Input Building a RESTful Web Service with Spring Boot Actuator Messaging with JMS Creating a Batch Service Securing a Web Application Building a Hypermedia-Driven RESTful Web Service Accessing Data in Pivotal GemFire Integrating Data Caching Data with Pivotal GemFire Managing Transactions Accessing Data with JPA Accessing Data with MongoDB Serving Web Content with Spring MVC Converting a Spring Boot JAR Application to a WAR Creating Asynchronous Methods Handling Form Submission Building an Application with Spring Boot Using WebSocket to build an interactive web application Working a Getting Started guide with STS Consuming a RESTful Web Service with AngularJS Consuming a RESTful Web Service with jQuery Enabling Cross Origin Requests for a RESTful Web Service Consuming a SOAP web service Accessing JPA Data with REST Accessing Neo4j Data with REST Accessing MongoDB Data with REST Accessing Data in Pivotal GemFire with REST Producing a SOAP web service Caching Data with Spring Deploying to Cloud Foundry from STS Spring Boot with Docker Working a Getting Started guide with IntelliJ IDEA Creating CRUD UI with Vaadin Service Registration and Discovery Centralized Configuration Testing the Web Layer Accessing data with MySQL Creating a Multi Module Project Creating API Documentation with Restdocs Messaging with Google Cloud Pub/Sub Building a Reactive RESTful Web Service Consumer Driven Contracts Accessing Vault Vault Configuration Accessing Data Reactively with Redis Deploying a Spring Boot app to Azure Building a Gateway Client-Side Load-Balancing with Spring Cloud LoadBalancer Spring Cloud Stream Spring Cloud Data Flow Spring Cloud Task Spring Boot Kubernetes Accessing data with R2DBC Spring Cloud Circuit Breaker Guide Observability with Spring Building a Guide with VS Code Accessing Data with Cassandra Spring Security Architecture Spring Boot Docker Spring on Kubernetes Building REST services with Spring Spring Security and Angular React.js and Spring Data REST Spring Boot and OAuth2 Building web applications with Spring Boot and Kotlin Spring Boot with Kotlin Coroutines and RSocket Metrics and Tracing with Spring     var list = Array.from(document.getElementsByClassName('guide-link')); list.forEach((e) => { console.log('* [' + e.innerHTML + '](http://spring.io' + e.getAttribute('href') + ')'); }); 출처 : https://okky.kr/article/1209730

백엔드스프링프레임워크가이드springframeworkbackendguides

[냥이와봄] 12주차 (21.09.27 ~)

✍ 11주차 돌아보기 월: 추석 화: 추석 수: 추석 목: 전원완료 금: 전원완료 토: 옐로우티거님 제외(사유: 본가)            🙆‍♀️ 스터디 멤버 (총 8명) 냥집사, 집가고싶다, 이대건, 커피볶는정콩, 열공, boss, 옐로우티거, 거니       😨 경고현황 옐로우티거님 1회 경고 이대건님 1회 경고       💦 특이사항 1. 스프링 스터디로 시작하였지만 오프라인 및 인원증가로 인하여 모각공(모두 각자 공부)의 스터디로 변함.     📖 12주차 커리큘럼 ( 스프링 핵심 원리 - 기본편, 스프링 MVC1편 - 백엔드 웹 개발 핵심 기술 ) 총 9강 월 : 섹션5. 스프링 MVC - 컨트롤러 통합 화 : 섹션5. 스프링 MVC - 실용적인 방식 수 : 섹션5. 정리 목 : 섹션6. 프로젝트 생성 금 : 섹션6. 로깅 간단히 알아보기 토 : 섹션6. 요청 매핑       섹션6. 요청 매핑 - API 예시       섹션6. HTTP 요청 - 기본, 헤더 조회       섹션6. HTTP 요청 파라미터 - 쿼리 파라미터, HTML Form       📚 스터디원들 진행 사항 냥집사 : HTML, 자바의 정석 동강 10장 수강중 이대건 : 오브젝트 책 정독 거니 : 모든 개발자를 위한 HTTP 웹 기본 지식 - 김영한님 강의 수강 boss : 스프링 부트 개념과 활용 - 백기선님 강의 수강 집가고싶다 : HTTP웹 기본 지식, 자바의 정석, 정보처리기사 실기 준비 열공 : 자바의 정석 동강 수강 커피볶는정콩 : 스프링 커리큘럼 그대로 진행 옐로우티거: ...?     * 옐로우티거님은 댓글로 진행사항 작성해주세요.

웹 개발spring모각공

[냥이와봄] 16주차 (21.10.24 ~ )

✍ 15주차 돌아보기 (제외 목록만 작성) 월: - 화: boss님(사유: 약속) 수: - 목: 열공님(사유: 약속), 옐로우티거님(사유: 회식) 금: 열공님(사유: 백신예정), 거니님(사유: 약속), 집가고싶다님(사유: 약속), 옐로우티거님(사유: 잠수) 토: 진행중            🙆‍♀️ 스터디 멤버 (총 8명) 냥집사, 집가고싶다, 이대건, 커피볶는정콩, 열공, boss, 옐로우티거, 거니       😨 경고현황 옐로우티거님 4회 경고 (10/22) (냥집사가 제주도에 힐링와서 강퇴 보류중...) 이대건님 1회 경고 집가고싶다님 1회 경고 열공님 1회 경고 (10/20) ------------------------------------ 10월 이전 경고 초기화 현황 이대건님 0회 경고 옐로우티거님 2회 경고 (10월 경고) 집가고싶다님 1회 경고 (10월 경고) 열공님 1회 경고 (10월 경고)       💦 특이사항 1. 스프링 스터디로 시작하였지만 오프라인 및 인원증가로 인하여 모각공(모두 각자 공부)의 스터디로 변함. 2. "11시 이후 인증 호출시 경고 1회 부여" 투표를 하였지만 아직 추가하지 않은 상황. 다시 스터디원과 조율 후 추가 예정 3. 15주차 기념 스터디에 바라는 점 투표 진행(10.18~10.22) 결과로 10월 20일에 디스코드 서버 오픈 (참여는 자유) 4. 3개월마다 경고 누적 횟수 초기화 룰 투표 진행중(10.23~10.24) - 투표결과 규칙 추가와 함께 10월 이전의 경고는 다 초기화.     📖 16주차 커리큘럼 ( 스프링 MVC2편 - 백엔드 웹 개발 활용기술 ) 총 9강 월 : 섹션1. 프로젝트 생성 화 : 섹션1. 타임리프 소개 수 : 섹션1. 텍스트 - text, utext 목 : 섹션1. 변수 - SpringEL 금 : 섹션1. 기본 객체들 토 : 섹션1. 유틸리티 객체와 날짜       섹션1. URL 링크       섹션1. 리터럴       섹션1. 연산

웹 개발spring

[냥이와봄] 14주차(21.10.11 ~)

✍ 13주차 돌아보기 월: 전원완료 화: 열공님 제외(사유: 건강) 수: 열공님 제외(사유: 건강) 목: 전원완료 금: 전원완료 토: boss님 제외(사유: 운동시합)            🙆‍♀️ 스터디 멤버 (총 8명) 냥집사, 집가고싶다, 이대건, 커피볶는정콩, 열공, boss, 옐로우티거, 거니       😨 경고현황 옐로우티거님 1회 경고 이대건님 1회 경고       💦 특이사항 1. 스프링 스터디로 시작하였지만 오프라인 및 인원증가로 인하여 모각공(모두 각자 공부)의 스터디로 변함. 2. "11시 이후 인증 호출시 경고 1회 부여" 투표를 하였지만 아직 추가하지 않은 상황. 다시 스터디원과 조율 후 추가 예정     📖 14주차 커리큘럼 ( 스프링 핵심 원리 - 기본편, 스프링 MVC1편 - 백엔드 웹 개발 핵심 기술 ) 총 9강 월 : 섹션7. 프로젝트 생성 화 : 섹션7. 요구사항 분석 수 : 섹션7. 상품 도메인 개발 목 : 섹션7. 상품 서비스 HTML 금 : 섹션7. 상품 목록 - 타임리프 토 : 섹션7. 상품 상세       섹션7. 상품 등록 폼       섹션7. 상품 등록 처리 - @ModelAttribute       섹션7. 상품 수정       📚 스터디원들 진행 사항 냥집사 : 자바의 정석 동강 12장 수강중 이대건 : 오브젝트 책 정독 거니 : 모든 개발자를 위한 HTTP 웹 기본 지식 - 김영한님 강의 수강 boss : 스프링 부트 개념과 활용 - 백기선님 강의 수강 집가고싶다 : HTTP웹 기본 지식, 자바의 정석, 정보처리기사 실기 준비 열공 : 자바의 정석 동강 수강 커피볶는정콩 : 스프링 커리큘럼 그대로 진행 옐로우티거: ...?     * 옐로우티거님은 댓글로 진행사항 작성해주세요.

웹 개발spring

[냥이와봄] 13주차 (21.10.04 ~)

✍ 12주차 돌아보기 월: 전원완료 화: 냥집사 제외(사유: 백신) 수: 전원완료 목: 전원완료 금: 열공님 제외(사유: 친구와 약속) 토: 전원완료            🙆‍♀️ 스터디 멤버 (총 8명) 냥집사, 집가고싶다, 이대건, 커피볶는정콩, 열공, boss, 옐로우티거, 거니       😨 경고현황 옐로우티거님 1회 경고 이대건님 1회 경고       💦 특이사항 1. 스프링 스터디로 시작하였지만 오프라인 및 인원증가로 인하여 모각공(모두 각자 공부)의 스터디로 변함.     📖 13주차 커리큘럼 ( 스프링 핵심 원리 - 기본편, 스프링 MVC1편 - 백엔드 웹 개발 핵심 기술 ) 총 9강 월 : 섹션6. HTTP 요청 파라미터 - @RequestParam 화 : 섹션6. HTTP 요청 파라미터 - @ModelAttribute 수 : 섹션6. HTTP 요청 파라미터 - 단순텍스트 목 : 섹션6. HTTP 요청 파라미터 - JSON 금 : 섹션6. 응답 - 정적 리소스, 뷰 템플릿 토 : 섹션6. HTTP 응답 = HTTP API, 메세지 바디에 직접 입력       섹션6. HTTP 메세지 컨버터       섹션6. 요청 매핑 핸들러 어댑터 구조       섹션6. 정리       📚 스터디원들 진행 사항 냥집사 : HTML, 자바의 정석 동강 10장 수강중 이대건 : 오브젝트 책 정독 거니 : 모든 개발자를 위한 HTTP 웹 기본 지식 - 김영한님 강의 수강 boss : 스프링 부트 개념과 활용 - 백기선님 강의 수강 집가고싶다 : HTTP웹 기본 지식, 자바의 정석, 정보처리기사 실기 준비 열공 : 자바의 정석 동강 수강 커피볶는정콩 : 스프링 커리큘럼 그대로 진행 옐로우티거: ...?     * 옐로우티거님은 댓글로 진행사항 작성해주세요.

웹 개발spring모각공

[냥이와봄] 10주차 (21.09.13 ~)

✍ 9주차 돌아보기 월: 전원완료 화: 전원완료 수: 전원완료 목: 전원완료 금: 전원완료 토: 이대건님 제외(사유: 코테), boss님 제외(사유: ??), 집가고싶다님 제외(사유: 집안사정)            🙆‍♀️ 스터디 멤버 (총 9명) 냥집사, 집가고싶다, kkm, 이대건, 커피볶는정콩, 열공, boss, 옐로우티거, 거니       😨 경고현황 옐로우티거님 1회 경고 이대건님 1회 경고 kkm님 1회 경고    💦 특이사항 1. 스터디원 증가 2. 비대면 온라인 스터디 3. 모각공(모두 각자 공부) 라는 스터디라는 점에서 예상보다 훨씬 심하게 개인 공부 스터디로 바뀌어 버렸다. 누구는 spring, 누구는 자바, 누구는 다른 강의의 spring  등등 너무 달라져서 각자 무슨 공부를 하는지 정리가 필요하다. [2회 이상 인증 호출시(ex. **님 공부하셨나요?) 1회 경고 추가. 단, 미리 사유를 냈을 경우 무효.]라는 새로운 규칙을 스터디원끼리 의논하여 과반수 이상 찬성할 경우 추가할 예정이다. 규칙을 만드는 이유는 공부를 했을 경우 스터디에 인증하는것은 단 1초면 가능한 일이기에 이 1초도 안하거나 못한다는건 스터디를 할 마음이 없다고 생각되기 때문이다.   📖 10주차 커리큘럼 ( 스프링 핵심 원리 - 기본편, 스프링 MVC1편 - 백엔드 웹 개발 핵심 기술 ) 총 10강 월 : 섹션3. MVC 패턴 - 개요 화 : 섹션2. MVC 패턴 - 적용 수 : 섹션3. MVC 패턴 - 한계, 섹션3. 정리 ( 총 2강 - 9분 ) 목 : 섹션4. 프론트 컨트롤러 패턴 소개 금 : 섹션4. 프론트 컨트롤러 도입 - v1 토 : 섹션4. View 분리 - v2       섹션4. Model 추가 - v3       섹션4. 단순하고 실용적인 컨트롤러 - v4       섹션4. 유연한 컨트롤러1 - v5    

웹 개발spring

인프런 워밍업 클럽 0기 - 백엔드 코스 (과제 4)

문제 1. 새로운 과일 정보 생성 APImethod: POSTpath: /api/v1/fruitbody{ "name": "사과", "warehousingDate": "2024-02-21", "price": 1000 } 해결 방법Request Body DTO 생성public class FruitCreateRequest { private String name; private LocalDate warehousingDate; private Long price; public String getName() { return name; } public LocalDate getWarehousingDate() { return warehousingDate; } public long getPrice() { return price; } }Fruit 객체 생성public class Fruit { private Long id; private String name; private LocalDate warehousingDate; private long price; private boolean isSold; private static Long idCount = 1L; public Fruit(FruitCreateRequest request) { this.id = idCount++; this.name = request.getName(); this.warehousingDate = request.getWarehousingDate(); this.price = request.getPrice(); this.isSold = false; } public void sellFruit(Long id){ isSold=true; } public Long getId() { return id; } public String getName() { return name; } public LocalDate getWarehousingDate() { return warehousingDate; } public long getPrice() { return price; } public boolean isSold() { return isSold; } }request body를 통해 얻어온 정보를 저장할 수 있도록 했습니다.isSold 맴버 변수로 해당 상품이 팔렸는지 알 수 있도록 했습니다. API 구성 @PostMapping("/api/v1/fruit") public void createFruit(@RequestBody FruitCreateRequest request){ fruits.add(new Fruit(request)); }fruitsCreateRequest를 통해 얻어온 과일정보를 통해 새로운 과일을 생성합니다.fruits에 새롭게 생성된 과일을 넣어줍니다.  문제 2. 과일 팔기method: PUTpath: /api/v1/fruitbody{ "id": 1 } 해결 방법API 구성 @PutMapping("/api/v1/fruit") public void sellFruit(@RequestBody Map<String, Long> request){ fruits.stream().forEach(fruit -> { if(request.get("id")==fruit.getId()){ fruit.sellFruit(); } }); }fruits 리스트를 stream().forEach()를 통해 해당 id의 과일에 팔렸다는 표시를 해줍니다.  문제 3. 과일의 팔린 가격과 아직 팔리지 않은 가격 조회method: GETpath: /api/v1/fruit/statparam: ?name={String} 해결 방법response로 보낼 DTO FruitStatResponse 생성public class FruitStatResponse { private long salesAmount; private long notSalesAmount; public FruitStatResponse(List<Fruit> filteredFruits) { this.salesAmount = 0; this.notSalesAmount = 0; filteredFruits.stream().forEach((fruit -> { if(fruit.isSold()){ salesAmount+=fruit.getPrice(); } else { notSalesAmount+=fruit.getPrice(); } })); } public long getSalesAmount() { return salesAmount; } public long getNotSalesAmount() { return notSalesAmount; } }생성자의 매개변수를 해당 과일 명의 과일만 담긴 리스트를 가져옵니다.해당 과일 중 팔린 것과 팔리지 않은 것의 가격의 총합을 구해줍니다.API 구성 @GetMapping("/api/v1/fruit/stat") public FruitStatResponse getFruitStat(@RequestParam String name){ List<Fruit> filteredFruits = fruits.stream().filter(fruit -> fruit.getName().equals(name)).collect(Collectors.toList()); return new FruitStatResponse(filteredFruits); }stream().filter()를 통해 해당 과일 이름의 과일 리스트를 추려냅니다.FruitStatResponse의 생성자에 필터링된 과일 리스트를 넘겨 가격 총합을 반환합니다.

백엔드springdtorequestbodyrequestparam

스프링 핵심원리 기본편(김영한) 1 - 객체지향 DIP와 스프링 DI, IoC

  객체는 객체와 끊임없이 상호작용한다. 그렇기에 유연한 변경이 가능해야한다. 예를 들어, 자동차라는 상위 클래스를 다양한 자동차 브랜드로 구현될 수 있고, 운전자가 변화해도 자동차는 영향을 받지 않는다. 사용자, 주문, 할인 등 여러 독립적인 특징을 가진 기능은 클래스로 분리하여 각 클래스에서만 수정 및 사용한다.   역할과 구현을 분리 - 인터페이스와 콘크리트 클래스 인터페이스는 안정적이게, 확장이 무한대로 가능하게 설계해야한다.   SOLID 객체지향 설계 원칙 1. SRP 단일책임원칙 - 변경이 용이한 단위적 책임인가2. OCP 개방폐쇄원칙 - 코드의 변경 없이 확장이 가능한가(조립만으로 변경)3. LSP 리스코프 치환 원칙 - 하위 클래스는 인터페이스(상위 클래스)를 위반하지 않아야한다4. ISP 인터페이스 분리 원칙 - 여러 개의 인터페이스를 통해 명확한 기능을 갖고 있고, 대체 가능성이 높은 환경을 구현할 것5. DIP 의존관계 역전 원칙 - 추상화에 의존할 것, 인터페이스(역할)가 중심이 되어야한다. 구현체에 의존하면 다형성을 잃는다(재활용성을 잃는다) 스프링 컨테이너에 객체 지향 적용 객체를 생성하는 역할과 객체를 실행하는 역할을 분리.의존은 인터페이스로 하고, 설정 파일을 통해 구체적인 구현체를 의존 주입구현체 변경 시 설정 파일만 변경하면 된다.(조립)=> 제어의 역전; 어떤 구현체를 사용할 것인지 AppConfig(Spring)가 결정한다. 동적인 인스턴스 의존관계    

객체지향javaSOLIDspringDIIoCDIP강의김영한

대근

반려동물 시장 진출 웹&앱 스프링 개발자 모집

반려동물 시장 진출 웹&앱 스프링 개발자 모집   안녕하세요 현재 서로 믿을 수 있는 스타트업 멤버 구축 되었고 추가로 능력있고 참하신 스프링 개발자 팀원 찾습니다. 현재 모두 메인 잡은 있는 상황이고 사이드 프로젝트로 운영중이라 부담없이 참여 가능합니다. 관심있으신분 연락 부탁드립니다   1. 주제소개: 반려동물 서비스 중 현재 시장에 없는 서비스 2. 현재 진행 단계: 시장분석 및 명확한 주제와 컨텐츠 방향성까지 잡은 상태 3. 모집분야 및 주요업무: 앱 개발자-하이브리드 앱 (웹앱을 네이티브 형태로 감싼 형태) 유사사이트: https://www.pet-friends.co.kr/main/tab/2 4. 모집경력 및 필요스킬: 앱개발 관련하여 경력이 있거나, 최소 스프링을 자유롭게 다룰 수 있는 스킬 필요 vue.js 옵션,java 등 5. 참고기타사항: 기획/디자인/개발/마케팅 포지션 다 구성되어 있으나, 추가 개발자 필요한 상황 6. 문의/연락: 010-4590-4917 카카오: antoniobae1 참고url:IT 웹 앱 마케팅 개발 창업모임 파랑새(Since 2021.10.02 : 네이버 카페 https://cafe.naver.com/lastpick1004 https://lastpick.modoo.at/ https://www.youtube.com/channel/UCpLCToWUvdjsPqkLRZ-wpZA   이 외 어떤 직군이라도 관심있으신 분은 연락 바랍니다.

모바일 앱 개발springjavavuejs