나는 올해 개인사업자, 근로소득을 같이 신고해야되어서 정리차 글을 올려본다.

신고 안내유형은 E 유형이었다.

 

 

 

 

1. 홈택스(https://www.hometax.go.kr) 가기

   홈택스에서 '종합소득세 신고'를 클릭한다.

홈택스 홈페이지

 

 

 

 

2. <맞춤형 신고 안내> 팝업

   <맞춤형 신고 안내>팝업이 뜨는데, '예(신고도움자료 열람 후 신고)'를 클릭하면 본인의 신고 안내유형을 알 수 있다. 

맞춤형 신고 안내

 

 

 

 

3. 종합소득세 신고도움서비스 팝업

   그럼 아래와 같이 신고안내유형, 기장의무구분, 추계신고시 적용경비율 등을 확인할 수 있는 창이 뜬다.

   이 창을 닫지 않고, 신고하면서 참고하길 바란다.

 

 

 

 

 

4. '신고/납부' - 세금신고 - '일반신고서'의 [정기신고 작성] 클릭

    2번에서 신고유형을 확인 후, 정기신고 작성을 클릭한다. 나 같은 경우, 신고유형이 E 유형이었기에

    일반신고서의 정기신고를 작성하였다.

 

 

 

 

 

5. 기본정보 입력

   조회 버튼을 클릭하면 기본적인 정보 및 '소득종류'가 자동으로 선택되거나 입력값이 세팅될 것이다. 전자메일이나 휴대전화는 직접 입력했던 것 같다.

 

 

 

 

 

6. 소득금액명세서 - 단순경비율 소득금액명세서

   단순경비율 사업소득명세서에서 [업종별 총 수입금액 및 소득금액 계산] 버튼을 클릭한다.

 

 

 

 

 

7. 업종별 총 수입금액 및 소득금액 계산 입력

업종별 총 수입금액 및 소득금액 계산 팝업창이 뜨는데, [코드조회]를 클릭하면 몇 개의 값이 자동세팅 되었던 것 같다. '자가율'을 클릭하고 총수입금액을 입력하면 된다. 그리고 [등록하기]를 클릭하여 등록한다.

 

 

 

 

 

 

8. 사업소득명세서 원천징수명세서

사업소득명세서 및 원천징수액 입력화면이 나오는데, 기본적으로 사업소득명세서가 조회되어 나왔었던 것 같다.

 

 

 

 

 

 

9. 근로.기타.연금소득

    근로.기타.연금소득에서는 개인사업자가 아닌, 작년에 벌어들인 근로소득을 조회하여 입력한다. 이것도 자동으로 조회되었던 것 같다.

 

 

 

 

 

 

10-1. 소득공제명세서

     소득공제명세서에서는 근로소득(연말정산) 불러오기 버튼을 클릭 후, 주민등록번호의 확인 버튼을 클릭하면 알아서 조회되었던 것 같다. 아래 '기본공제자 명세'가 자동조회되지 않았다면 [전년도 인적공제 불러오기]를 클릭해보자.

 

 

 

 

10-2. 소득공제명세서

    [계산하기] 버튼을 클릭하여 왠만하면 모두 조회해보자. 

 

 

 

 

 

10-3. 15.번의 '특별공제_주택자금' 하나를 예로 들자면, 귀속년도는 작년에 근로한 월만 체크하고, [불러오기] 버튼을 클릭한다. 그리고 하단의 [계산하기], [적용하기] 버튼을 차례대로 클릭한다.

 

 

 

 

 

 

11. 세액감면.공제.준비금 명세서

    특별세액공제와 표준세액공제 중 하나만 공제되니, 둘 중 더 큰 금액으로 공제되는 것을 입력한다.

 

 

 

 

 

 

12. '전자신고에 대한 세액 공제'를 확인한다.

      전자신고시 2만원이 공제 된다.

 

 

 

 

 

13. 세액계산

     신고기한이내 납부할 세액을 볼 수 있다. 아래 "이에 동의하며 신고서를 제출합니다."를 클릭하고, [신고서 작성완료] 버튼을 클릭하여 신고서를 제출한다.

 

 

 

 

 

 

14. 신고한 세액 납부

     신고서 제출 후, 세액을 납부한다.

 

 

 

 

 

맥(Mac)에서 아파치를 설정하다, 명령어 정리의 필요성을 느껴 글을 올리게 되었다. 다음에는 httpd-vhosts.conf (Apache Virtual Hosts (vhost) configuration file) 설정하는 것도 정리해야겠다.

 

 

apache 활성화 및 설정

 sudo apachectl [-k] stop | start | restart

 

예시)

 ...

 boniato@lee:/etc/apache2$ sudo apachectl -k stop

 boniato@lee:/etc/apache2$ sudo apachectl -k start

 httpd (pid 3851) already running

 boniato@lee:/etc/apache2$ sudo apachectl -k stop

 boniato@lee:/etc/apache2$ ps aux | grep httpd

 boniato          3863   0.0  0.0  4258476    224 s001  U+   12:01AM   0:00.00 grep httpd

 _www             3861   0.0  0.0  4335956   1852   ??  S    12:00AM   0:00.00 /usr/sbin/httpd -D FOREGROUND

 root                3860   0.0  0.1  4335956   9156   ??  Ss   12:00AM   0:00.22 /usr/sbin/httpd -D FOREGROUND

 boniato@lee:/etc/apache2$ sudo apachectl -k start

 httpd (pid 3860) already running

 boniato@lee:/etc/apache2$ sudo apachectl -k restart

 boniato@lee:/etc/apache2$ ps aux | grep httpd

 boniato          3872   0.0  0.0  4258468    196 s001  R+   12:01AM   0:00.00 grep httpd

 _www             3870   0.0  0.0  4336980   1876   ??  S    12:01AM   0:00.00 /usr/sbin/httpd -D FOREGROUND

 root                3860   0.0  0.1  4336980   9464   ??  Ss   12:00AM   0:00.26 /usr/sbin/httpd -D FOREGROUND

 

 

 

 

•http 활성화 및 설정

 sudo httpd [-d] stop | start | restart

 

 

 

 

•전체 열린 포트 확인

 lsof -i -P

 

 

 

 

특정 포트 점유한 프로세스 상태 확인

 lsof -n -i4TCP:포트번호 | grep LISTEN

   ex.) sudo lsof -i :8080

          COMMAND  PID     USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
          java    5099 boniato   66u  IPv6 0xb0b0b21f774d33c7      0t0  TCP *:8080 (LISTEN)

 

혹은

 lsof -i tcp:포트번호

  cf.) 만약 다음과 같은 에러를 만나면 포트를 점유하는 프로스세를 확인 후, kill 명령어로 해당 프로세스를 종료시킨다.

         BindException: Address already in use...

 

 

 

 

설정파일 문법 검사

 apachectl configtest

   설정파일을 읽고 Syntax Ok 혹은 특정 설정오류에 대한 자세한 정보를 알려준다. apachectl -t와 같다.

   만약 설정파일이 잘못되었다면, 아래와 같이 'Configuration check failed' 문구를 만날 것이다.

   나 같은 경우에도 httpd-vhosts.conf 파일을 수정하고 아래과 같은 문구를 만났었다.

 

 

 

 

cf.) Mac OS sierra update이후 로컬에서 http://localhost 띄울 시 404에러가 난다면 다음 글을 참조

      https://stackoverflow.com/questions/39700357/apache-giving-404-error-after-mac-os-sierra-update

 

 

cf.) 톰캣 재시작 시에 LifecycleException 발생시

      ① IntelliJ 내 프로젝트를 다시 빌드 후 run하면 오류 발생하지 않는다.

          혹은      

      ② 라이브러리 중복 이슈

          webapp/WEB-INF/lib 하위에 두개가 존재할 경우 이중 하나를 삭제해야된다.

          gradle로 빌드할 경우, 다음 경로로 가서 war 혹은 jar를 삭제한다.

          /myproject/build/libs/exploded/myproject.war/WEB-INF/lib/

 

 

 

•brew install/ uninstall command

 brew install tomcat@8

 

 brew uninstall tomcat@8 --force

 

'WebServer & WAS > Apache' 카테고리의 다른 글

Apache 명령어 (in Mac)  (0) 2019.05.20

 

SpringBoot에서 @RestController는 return하는 value를 알아서 JSON으로 변형해서 내려주지만, XML은 기본적으로 내려주지 않는다. 간혹 XML로 리턴받길 원하는 곳이 있어 이참에 정리를 하고자 블로그 글을 쓰게 되었다.

 

아마 XML 형태로 리턴하고자 할 때 아래와 같은 설정을 많이 할 것이다.

 

 

ㆍ설정 - Jackson XML을 project에 추가

 

[Maven]

<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
</dependency>

 

[Gradle]

compile "com.fasterxml.jackson.dataformat:jackson-dataformat-xml:2.9.0"

 

 

 

설정과 함께 추가 작업을 해야된다. 추가 작업은 아래 링크를 참조하거나 구글링 해보자.

https://dzone.com/articles/thoughts-on-the-jakarta-ee-package-name-change

 

설정 및 추가 작업을 하였고 XML로 리턴하는 것을 확인하였다. 그러나 API를 제공하는 모든 곳이 XML로 리턴하는 문제가 생겼다. 그래서 나는 설정파일에서 Jackson XML 제거 후, 아래와 같은 방식으로 기존 다른 메소드들은 JSON으로 리턴하고, 한 메소드에서만 XML로 리턴할 수 있도록 하였다. (내가 제대로 학습 및 숙지를 못해서 아래와 같은 방법으로 해결한 걸 수도 있다..^^;)

 

아래 예제는 고객의 주소 목록(List)을 가져오는 예제이다. 여기서 눈여겨 볼 것은 리턴타입이 List라는 것이다. [JSON]은 기존 JSON을 리턴했던 소스이고, [XML]은 XML로 리턴하도록 수정한 소스이다.

cf.) 본 예제에서는 XML return을 간단히 예시하고자 익셉션 처리를 생략하였다.

 

 

 

ㆍController

[JSON]

[XML]

 

[JSON]에서는 리턴타입이 List<AddressV>이지만, [XML]에서는 리턴타입이 AddressV인 것을 알 수 있다. 그 이유는 아래 'DTO in Controller Layer' 부분을 보며 얘기해보겠다.

 

 

 

ㆍDTO in Controller Layer 

[JSON]

[XML]

[JSON]에서 각각의 property를 정하였다면, [XML]에서는 @XmlRootElement, @XmlAccessorType, @XmlElement 어노테이션 사용과이 property가 List<Address>로 바뀐 것을 볼 수 있다.

위 Controller 소스를 보면, [JSON]의 리턴타입은 List<AddressV>이고, DTO인 AddressV에서는 각각의 property(우편번호, 도로명주소)를 정의하였다.

반면, 위 Controller 소스에서 [XML]은 리턴타입이 AddressV이고, DTO인 AddressV의 property는 List<AddressV>이다.

고객의 주소 목록(List)을 가져와야 하기 때문에 리턴타입이 List여야 하는데, [XML]에서는 그 역할을 DTO인 AddressV가 하고있다.

cf.) Swagger를 사용하기 때문에, @ApiModelProperty 어노테이션을 사용하였습니다.

 

 

 

ㆍService

고객의 주소 목록(List)을 가져오는 서비스이다.

 

 

 

ㆍDTO

[JSON]

[XML]

[XML] 리턴 방식에서는 @Builder, @NoArgsConstructor, @AllArgsConstructor 를 추가해줘야한다. 안그러면 Constructor를 찾을 수 없다는 에러가 난다.

 

 

 

한 메소드에서만 XML로 리턴을, 그것도 List로 리턴해야하는 것을 고민해 볼 수 있는 좋은 기회를 접할 수 있었다. 물론 더 공부해야 된다는 것도 깨닫게 되었다.

 

 

 

 

 

+ Recent posts