일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
- 서평
- 책
- 줄거리
- MySQL
- 깃
- Mapper
- java
- 기록하는 동구
- 동구
- 자바스크립트
- Mac
- xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools)
- 클라우드 서비스
- 에러
- 한줄평
- 파이썬 웹크롤링
- git push
- SpringBoot
- 자바 파일업로드
- Xcode
- 독후감
- git
- 데이메이커
- 콜미동구
- 오류
- Swift
- JavaScript
- 클라우드 서비스 특징
- spring
- Today
- Total
목록백엔드(Back-end) (25)
인생은 속도가 아니라 방향이다
Springboot에서 템플릿엔진으로 Thymeleaf를 사용하면 HTML소스 변경할때도 매번 서버를 재시작해되는 불편함이 있죠? 이와 같이 javascript, html, css 프론트단을 바꿀때도 재시작하지않고 할수있는 방법을 아주 간단하게 알아 봐요!! 저같은 경우는 MacOS운영체제, 툴은 Eclipse에 maven을 사용하고있습니다. 여러분이 maven을 사용하고 계시다면 프로젝트안에 application.properties 이있을겁니다. 그곳에 아래와같이 적어줍니다. application.properties #절대경로 project.base-dir=file:////Users/wiju/eclipse-workspace/{프로젝트이름} #정적파일(javascript.css등등) 위치 spring.r..
Spring MVC에서 @ModelAttribute을 메소드의 파라미터로 사용할경우 프로그램이 어떻게 돌아가는지 궁금해졌다. 일단 내 컨트롤 단은 이렇게 생겼고 , test메소드안에 @ModelAttribute("test") 를 파라미터로 가지고있는 형태이다. 결과는 true,false를 반환하게 해놓았다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 @Controller public class TestController { @Autowired private TestService service; @GetMapping("/test") public String test(@ModelAttribute("test") Test test, Model model) { model.addAttribute("..
안녕하세요, 고졸개발자 동구입니다. Java로 개발하다보면 일일이 생성자, 접근자 만들어주기 코드량도 많아지고 불편할텐데요. 그런점들을 해결해주는 자바 라이브러리중 하나인 Lombok에 자주쓰이는 어노테이션들을 소개해드릴게요! ① @Getter , @Setter (접근자/설정자 생성) 1 2 3 4 5 6 7 public class TestVO { @Getter @Setter private String name; private String tel; } cs 이제부터 일일이 get메소드와 set메소드를 하나씩 쓸필요없이 위와 같이 한 필드레벨에서만 접근자/설정자를 생성할수도 있습니다. 혹은 여러 필드가 존재한다면? 1 2 3 4 5 6 7 8 @Getter @Setter public class TestVO..
안녕하세요, 기록하는 동구입니다. 엑셀 업로드/다운로드를 대체 왜 해야할까? 관리자사이트를 만들다보면 데이터들을 웹 상으로 표시해주는 것뿐만아니라 DB데이터를 다운 받거나 엑셀파일을 업로드해서 대량으로 데이터를 업로드하거나 여러가지로 필수적인 기능입니다. 제가 만드는 사이트에는 거의 페이지마다 엑셀다운로드/업로드기능이 빠지지않고 있죠! 엑셀만 잘하면 프로그램이 필요없다는 말도 있듯이, 웹 상에서 원할하게 엑셀파일을 활용할수있게 해준다면 정말 편리합니다. 엑셀 다운로드/업로드 뭔가 있어보이고 어려워보이지만 막상하면 별거없습니다. 같이 한번 해볼까요? POI 라이브러리 스프링 프레임워크에서 엑셀파일을 다루려면 POI라이브러리가 필수적이에요. 셀의 스타일, 서식, 너비 까지 로직으로 코딩이 가능합니다 두둥 ,..
안녕하세요, 기록하는 동구입니다. 오늘은 Thymeleaf 반복문처리와 반복변수들을 사용하는법을 포스팅하겠습니다. 첫번째로 반복문 연습이니까 리스트를 던져줘야겠죠? Controller 에 반복문을 처리하기위해서 Product를 담은 list를 view단으로 던져줍니다. 1 2 3 4 5 6 7 8 9 10 @GetMapping("/test/each") public String testEach(Model model) { List list=new ArrayList(); list.add(new Product("사과", "10000")); list.add(new Product("배", "20000")); list.add(new Product("포도", "30000")); model.addAttribute("li..
안녕하세요, 동구쨩입니다. Mybatis에 항상 Map만 파라미터로전달해서 몰랐었다. DTO객체를 보내서 데이터를 넣어보자. INSERT INTO excel ( product_id, product_name, product_price, product_qty ) VALUES ( #{productId}, #{productName}, #{productPrice}, #{productQty} ) 이런식으로 패키지경로를 다써주고 인스턴스들을 넣어주면된다. 끄읏!
안녕하세요 동구쨩입니다. 저번시간에 이어서 뷰단에서 FormData를이용해 Controller에 요청을 보내서 데이터베이스까지 저장시켜보겠습니다. 혹시 1편을 못보신분은 아래에 첨부해뒀습니다. [Java] Ajax & FormData로 파일 업로드하기① 안녕하세요, 동구쨩입니다. 이번 포스팅에서는 Ajax와 formData를이용해서 파일을 업로드해보겠습니다. 파일업로드 Ajax 방식의 핵심은 FormData라는 브라우저에서 지원하는 클래스입니다. FormData는 태그.. donggu1105.tistory.com 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 @RestController @Slf4j public class FileUploa..
콘솔을 보면 'com.springboot.test.mapper.FileUploadMapper' bean을 못찾는다고 나온다. 어플리케이션 클래스 안에 @MapperScan(basePackages={"해당패키지"})넣어주면 해결! 1 2 3 4 5 6 7 8 9 10 11 12 13 14 package com.springboot.test; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @MapperScan(base..
그냥 xml 파일을 만들면 요것밖에 없다. 이대로는 오류가 뜨고 Mybatis는 연동이안될거다. xml파일은 존재 자체가 서로 다른 주체간의 정보를 전달하는게 목표이다. 그렇기 때문에 작성자와 그것을 읽는자 간 서로 이해할수있도록 작성 방법이 정의되어있어야한다. 그것은 정해놓은 스펙문서를 DTD라고 하고, xml 파일의 가장 윗부분에 명시하여 해당 xml문서가 어떤스펙으로 작성되어있는지를 알린다. 고로 우리는 DTD를 명시하는 코드를 넣어줘야한다. 태그를 통해 다음과같이 선언한다. 1 2 추가해주면 오류 해결!
안녕하세요, 기록하는 동구 입니다. 이번 포스팅에서는 Ajax와 formData를이용해서 파일을 업로드해보겠습니다. 파일업로드 Ajax 방식의 핵심은 FormData라는 브라우저에서 지원하는 클래스입니다. FormData는 태그와 같은 효과를 가져다주는 key/value가 저장되는 객체이다. 태그 처럼 데이터를 처리할수 있게 해줍니다. 이를 XHR에 실어서 서버에보내면 태그 실어서 전송된것 같은 효과를 줍니다. 자 그럼 예제를 보면서 같이 해볼까요? 간단하게 뷰단의 예제코드를 작성해봅니다. 1 2 3 4 5 Ajax & FormData로 파일 업로드하기 그다음은, 직접 ajax를 이용해서 컨트롤러단으로 넘기는 코드를 짜보겠습니다. (ColorScripter가 소스코드를 잘못불러와서.... 그냥 이미지로 ..
생성하기 스트림을 이용하려면 먼저 생성을 해야합니다. 스트림은 배열 또는 컬렉션 인스턴스를 이용해서 생성할수있습니다. 1.배열스트림 배열일 경우 Arrays.stream 메소드를 사용합니다. ( 1 2 String[] array= {"a","b","c"}; Stream stream=Arrays.stream(array); 2.컬렉션스트림 컬렉션 타입(Collection,List,Set)의 경우에는 메소드 stream()을 이용해서 스트림을 만들수있습니다. 1 2 List fruits=Arrays.asList("Apple", "Banana","Grape","GrapeFruit","Melon", "WaterMelon"); Stream streamFruits=fruits.stream(); 가공하기 스트림을 만들..
안녕하세요, 동구쨩입니다. 이번엔 Stream클래스를 알아보겠습니다. 자바8에서 추가한 스트림(Streams)는 람다를 활용할 수 있는 기술중 하나입니다. 자바 8 이전에는 배열 또는 컬렉션 인스턴스를 다루는 방법은 for 또는 foreach 문을 돌면서 요소 하나씩을 꺼내서 다루는 방법이였습니다. 간단한 경우라면 상관없지만 로직이 복잡해질수록 코드의 양이 많아져 여러 로직이 섞이게 되고, 메소드를 나눌경우 루프를 여러번 도는 경우가 발생합니다. 스트림은 '데이터의 흐름' 입니다. 배열 또는 컬렉션 인스턴스에 여러개를 조합해서 원하는 결과를 필터링 하고 가공된 결과를 얻을 수 있습니다. 또한 람다를 이용해서 코드의 양을 줄이고 간결하게 표현할수 있습니다. 즉, 배열과 컬렉션을 함수형으로 처리할수있습니다...