[Info]Tags categorized posts and contents patterns..

[AJAX] Ajax Code E xamples.. [Book] About the book.. [CSS] CSS Code E xamples.. [DB] Sql Code E xamples.. [DEV] All development stor...

레이블이 오류인 게시물을 표시합니다. 모든 게시물 표시
레이블이 오류인 게시물을 표시합니다. 모든 게시물 표시

2016년 8월 16일 화요일

[JAVA] Baekjoon 두 자연수 A와 B가 주어진다. 이 때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오..

이번 문제에서는 모든 사칙연산을 한방에 표현하기를 바라는 듯 하다..

문제
두 자연수 A와 B가 주어진다. 이 때, A+B, A-B, A*B, A/B(몫), A%B(나머지)를 출력하는 프로그램을 작성하시오. 

입력
두 자연수 A와 B가 주어진다. (1 ≤ A, B ≤ 10,000)

출력

첫째 줄에 A+B, 둘째 줄에 A-B, 셋째 줄에 A*B, 넷째 줄에 A/B, 다섯째 줄에 A%B를 출력한다.

 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
31
32
33
34
35
36
37
38
39
package Code_201608;

import java.util.Scanner;

public class PrintAandBTotal {

    @SuppressWarnings("resource")
    public static void main(String[] args) {
        // TODO Auto-generated method stub
  
        Scanner scan = new Scanner(System.in);
  
        //int a = 7;
        //int b = 3;
  
        int a = scan.nextInt();
        int b = scan.nextInt();
  
        int c = a + b;
        int d = a - b;
        int e = a * b;
        int f = a / b;
        int g = a % b;
  
        //첫째 줄에 A+B, 둘째 줄에 A-B, 셋째 줄에 A*B, 넷째 줄에 A/B, 다섯째 줄에 A%B를 출력한다.
        //System.out.println("A + B >> " + c);
        //System.out.println("A - B >> " + d);
        //System.out.println("A * B >> " + e);
        //System.out.println("A / B >> " + f);
        //System.out.println("A % B >> " + g);
  
        System.out.println(c);
        System.out.println(d);
        System.out.println(e);
        System.out.println(f);
        System.out.println(g);
    }

}//






소스코드와 답안 결과다.. 문제를 보면 진짜 심플한데 왜 오답을 한 번 냈냐고 물으신다면.. ㅠㅜ 이유는 부질없는 짓 때문이다..

소스코드를 보면 26 ~ 30 라인에 주석이 되어 있는데 그 부분이 바로 오답유발 라인이다.. 32 ~ 36 라인은 정답라인인데 차이가 느껴지는지 모르겠다.. 휘릭 지나가면 별 차이가 없어보이지만 가장 큰 문제점은 문제에서 원하지 않는 짓을 했다는 것이다..

난 코드를 짤때 디버깅을 하거나 출력을 해볼 때 꼭 앞에 문자열을 넣어서 표시를 하는 습관이 있는데 이번에도 괜히 " 문자열 >> "  이런식으로 쓸데 없는 짓을 해버렸다..

그래서 바로 오답..!!! 그거 지우고 그냥 순수하게 출력을 했더니 정답이란다.. 아오.. ㅋㅋㅋㅋ.. 머 내 잘못이니 어쩔 수 없긴 하지만 혹여라도 다른 분들은 문제가 시키는 것만 하시기 바란다.. 괜히 나처럼 개발습관이니 머니 하다가 오답라인만 추가되게 될 것이다.. ㅎㅎㅎ..

2016년 5월 24일 화요일

[Talk] 프록시 서버가 응답하지 않습니다..

오늘은 아침부터 갑자기 황당하게 일어난 일에 대해서 후다닥 정리해서 포스팅 하고자 한다.. 해당 글을 어디에 올릴까 아주 잠시 고민을 하였는데 이건 개발도 아니고 그렇다고 뉴스도 아니고해서 자유 형식에 가까운 [Talk] 라는 카테고리로 구분을 하기로 한다..

황당한 일이란 것은 다름이 아니고 "프록시 서버가 응답하지 않습니다" 에 대한 문제를 다루고자 한다.. 출근해서 브라우저를 키니 저러한 문구가 있는 것이 아닌가.. ㅎㅎ.. 참!!! 이번 문제 해결은 인터넷 검색이 아닌 같이 일하고 있는 직원 K 군의 도움을 받았다.. 이유는 예전에 K 군도 나와 같은 경우를 겪은 기억이 나서 물어봤더니 다행히 기억을 하더란..

본격적으로 얘기를 해보면 프록시 문제가 생겼을 때 대부분 아래처럼 글이 나올 것이다..



그러면 본인이 사용하고 있는 브라우저에서 인터넷 옵션을 찾도록 한다..



나 같은 경우는 도구모음을 숨기고 브라우저를 사용하기 때문에 alt 키를 눌러서 위 그림처럼 인터넷 옵션을 접근하게 되었다.. 인터넷 옵션을 열면 상단 탭에서 연결 탭을 클릭하고 하단에 존재하는 LAN 설정을 클릭한다..





























그렇게 하면 아래와 같은 LAN 설정으로 들어가게 되는데 가운데쯤에 있는 프록시 서버 영역에 체크가 되어 있을 것이다.. 물론 다르게 되어 있는 사람도 있겠지만 우선 나는 그러했다.. 그렇다면 대충 눈치가 보이겠지..?? 맞다!!! 체크를 풀어주고 확인을 누른 후 브라우저를 다시 실행시키거나 새로고침을 하면 인터넷 접속이 정상적으로 된다.. 이 얼마나 간단한가.. ㅋㅋ..





























아주 간단한 문제지만 모든 것이 그러하듯 모르면 간단하지가 않다.. 그래서 간략하게 포스팅을 올려보는 것이다.. 그리고 왜 저러한 문제가 발생하는지 물어봤는데 현재 내가 사용하고 있는 Tool 중에 Fiddler 라는 것이 있는데 그것을 사용하면서 중간에 프록시 사용여부에 대해서 묻는경우가 있어서 그럴수도있다고 한다.. 아마도 모르고 그냥 확인 누르고 어쩌고 하면서 설정이 변경되버린게 아닌가 싶다..

인터넷을 더 찾아봤지만 저마다 경우가 틀려서 이 부분은 정확하게 어떠한 부분 때문에 저렇게 되었다고 하기가 좀 애매하다.. 내가 일부러 인터넷 옵션을 켜서 설정을 바꾸지는 않았으니 말이다.. 나와 같은 상황을 겪은 분들이 최대한 빨리 해결하고 원하는 바를 하시길 바란다..

2016년 4월 28일 목요일

[Talk] 아흐 if else 잘 쓰자..

오늘은 개발건에 대한 반영이 있었다.. 그런데 반영이 되고서 문제가 좀 있었다.. 업무 자체는 되었지만, 로직에 대한 오류[실질적인 오류라기보단 위험도가 내재되어 있는 코딩] 때문이었는데 그 맹점은 if 문과 if else 문이었다..

웹 개발을 하면서 항상 쓰던 구문이고, 어찌보면 모든 로직의 기본이 된다고 볼 수 있는 문법이다.. 그런데 개발할 때는 왜 그게 안보였을까.. if 문이 여러번 존재하면, 한번씩 다 실행을 하지만, if else 로 하게 되면 A 또는 B 로 빠져서 어느 한쪽만 실행을 하게 된다..

구태여 불필요한 로직이 실행이 안된다는 것인데 또 항상 그렇게 써왔는데 바쁘게 해서 그런건지 아니면, 거의 퇴근 할 때 개발을 해서 정신 못차리고 했던건지..

if 문을 버젓하게도 4개를 연타로 써놨다.. 쓸데 없는 로직이 항상 돌게 된다.. 그런데 그 부분에 대한 것을 알아차리지 못하고 넘어간 것이다.. 헌데 오늘 현업하고 통화하면서 보니 그 부분이 딱!!! 눈에 들어오는것 아닌가 순간 멘붕이 오면서 머리가 멍해졌다.. 당연히 현업도 왜 이렇게 개발했냐고 다그치는데 이건 머 완전 대역 죄인이 따로 없다..

그 순간 모든 로직이 그냥 안보이는 상태가 되버려서 순간 빨리 작업을 해야되는데 하지를 못했다.. 내가 진정이 안되는 지경이니 서둘러서 주변에 계신 과장님께 잠시 같이 봐달라고 해서 같이 보면서 마음의 진정을 한 후에야 코딩을 했다.. 시간적으로는 많아야 5분 남짓인데 체감으로는 1시간 이상이 흐르는 듯 했다.. 하아 미춰버린다..

일전에도 나 스스로 조금 더 신경쓰고 하자고 글을 올렸는데 한동안 잠잠하다가 큰 실수를 하게 된것이다.. 조심하자 그러지말자.. 한 번 더 생각하고 약간의 생각만 더 하면 되는 것을 왜 그러지 못해서 진짜 복잡한 로직의 문제가 아닌 신입이나 할 법한 초보적인 실수를 하느냔 말이다..

내가 항상 조심하려고 하는 것중에 하나가 어찌보면 내 나쁜 버릇일지도 모르겠다.. 한 소스에 A, B ,C ,D 가 있다고 할 때 B 를 수정해달라고 하면, 4가지를 전체적으로 보면서 B 를 수정하는 것이 아니라 B 에만 집중해서 그것만 수정을 하면서 끝나버린다..

그러다보니 다시금 테스트를 하거나 전체적인 프로세스를 수행하면 B 수정으로 인해서 A, C, D 세 개와 상관관계가 틀어져서 오류가 발생하는 것을 종종 보게 된다.. [어찌 보면 당연한 오류일수도 있겠다.. 내가 자초한 것이니..]

앞으로 개발할 때는 너무 한 곳에 치우치는 것이 아닌 전체적으로 보도록 노력을 하자.. 아무리 소소한 것이라도 그렇게 해보자.. 안그러면 벌써 년차도 오래 됬는데 더 나쁜 습관으로 남게 될것이다..

특히나 로직을 들어가기에 앞서서 null 체크, length 체크, size 체크 등등 사전에 변수들로 인해서 문제가 생길법한 것들은 검증하는 부분을 꼭 필수로 넣어야 겠다..

하이고 미치겠다.. 실수를 할 수는 있지만, 할 법한 실수를 하자.. 그리고 다시금 누차 항상 말하는 것이고 나 스스로에게 요청하는 것이지만 마음의 여류를 갖고 업무를 하자..

오늘 조금 늦게 가고, 내 개인 일정을 조금 못하는게 좋지.. 누적된 실수로 형편없는 사람이 되거나 그 실수로 인해서 시스템 자체에 큰 누가 되는것이 더 문제 아니냔 말이다..

힘내자.. 나 스스로 알고 있고, 깨닫는 만큼 잘하자..