본문 바로가기

개발 업무(코딩)-개발자였을때 썼던..79

네트워크 관련(L2, L3, L4 스위치) 난 아무것도 반영안했는데 갑자기 안되는 경우가 많다. 그럼 어디가 문제일까. 내 소스를 먼저 의심하고 두번째는 네트워크를 의심하는게 맞는거 같다. 예외처리가 잘못되서 서버가 죽거나 할 경우도 있지만 보통 네트워크에서 문제가 생기는 것 같다. 여러번의 시행착오를 봐온 결과 서버개발자는 인프라도 알고있어야한다. ​ 무엇부터 시작을 해야할까. 네트워크 전개도를 보기 시작했다. -- 리눅스 명령어들 ifconfig ipconfig curl ifconfig.me netstat ipv4 tcp4 ipv6 tcp6 2023. 1. 9.
swagger 함수들 예시 2023. 1. 9.
was 시작 퇴사자가 생겨서 was를 하게 되었다. 좋은 기회가 왔다. 사수는 없지만 java로 서버를 보게되어 좋다. c언어가 메인이지만 드디어 java로 진입하게 된것..(사실 자바말고 요즘은 자바스크립하고싶음..노드) 옛날에 배울때만하더라도 jsp로 배우고 했는데 좀 많이 변한거같다. 자바를 안까먹기 위해서 일부러 알고리즘문제도 자바로 풀고있었는데 다행이다. 이론적으로 절차지향과 객체지향이여서 다르다. 젤 다른점은 c는 끝까지 파고들어가지는데 java는 아니다. 이게 제일 큰 차이점 같다. 아니라고? 몰라.. ​ 이미뭐 간단한 소스수정도 가능하고 운영에도 배포해본 경험이 생겨서 세팅은 어느정도 된거같다. 인텔리제이도 회사용으로 구매해놓은 상태고. ​ 할일은 많다. 좀만 부지런하게 배우고 익히자. 지금은 disp.. 2023. 1. 9.
C-JSON EXAMPLE 예제 3 - ARRAY 다른형태 /* setting */ json_object *subobj, *taglist_obj, *tag_obj; subobj = json_object_new_object(); taglist_obj = json_object_new_array(); tag_obj = json_object_new_string("test1"); json_object_array_add(taglist_obj, tag_obj); tag_obj = json_object_new_string("test2"); json_object_array_add(taglist_obj, tag_obj); /* merge */ json_object_object_add(subobj, "tag_list", taglist_obj); /* free */ json_obje.. 2023. 1. 9.
mysql(mariadb)에서 .sql 파일 실행시키기 실행법 MariaDB [(none)]> source /home/path/1000.sql ​ .sql 내부 내용물 INSERT INTO QTDB.TC1000HS (`TRADE_DATE`, `PREV_DAY`, `PREV_1MONTH`, `PREV_6MONTH`) VALUES ('20211230', '20211229', '', ''); INSERT INTO QTDB.TC1000HS (`TRADE_DATE`, `PREV_DAY`, `PREV_1MONTH`, `PREV_6MONTH`) VALUES ('20211229', '20211228', '', ''); INSERT INTO QTDB.TC1000HS (`TRADE_DATE`, `PREV_DAY`, `PREV_1MONTH`, `PREV_6MONTH`) VALU.. 2023. 1. 9.
tcp recv에 대한 고찰 tcp recv는 패킷길이가 10이라고 서로 규정을 하고 10을 보낸다하더라도 한번에 8이 올수도있고 10이 올수도 있다. 여러번으로 나뉘어 올 수도 있다는 것이다. 그렇기때문에 tcp recv로 받을 때는 패킷의 길이를 측정해서 나뉘어왔다면 붙여서 내려받는 방법이 있다. int Tcp_Recvn (int p_sfd, char *p_buf, int p_len) { int retry_cnt, msg_len; int buf_sz; buf_sz = p_len; retry_cnt = 0; while (buf_sz > 0) { msg_len = recv (p_sfd, p_buf, buf_sz, 0); if (msg_len 50) .. 2023. 1. 9.
리눅스 서버 설치(대략적인 순서) centos 설치완료 후 버전체크 1. cat /etc/redhat-release -> 버전 체크 7.7.1908 2. 비프음 끄기 - ls -al - .bash_profile 열어서 맨 밑에 setterm -blength 0 추가 - . .bash_profile로 적용 3. sshd 설치확인 - rpm -qa | grep openssh-server - yum install openssh-server - which sshd - firewall-cmd --zone=public --add-port=22/tcp --permanent(디비 유저권한 준다음 db포트도 열어줘야함) - firewall-cmd --reload (포트 재로딩) - firewall-cmd --list-ports (열린 포트 확인하는 방법.. 2023. 1. 9.
execl 로 프로세스 실행시키기 --간략한 설명 -- 프로세스를 실행시키고 자기자신은 없어진다고 보면된다. a라는 exe파일과 ex.c를 통해만든 a.out이라는 exe파일이 있고 a.out 파일을 통해 a라는 파일을 실행시키는 예제이다. #include #include int main() { int i = 0; while(1) { printf("-1- %d\n", getpid()); execl("/home/usr/chun/double/a", "a", NULL); printf("-2-\n"); /* 안나옴 */ if((i++) == 2) /* 타지도 못함 */ break; } } 경로에 무엇이 있는지 확인용 ​ 실행시키고 나면.. ​ ​ -----파라미터 넘기기 char 형태로 넘겨야함 2023. 1. 9.
c-java(클라) tr전문 테스트용 샘플 /** * Handles requests for the application home page. */ @Controller public class HomeController { private static final Logger logger = LoggerFactory.getLogger(HomeController.class); /** * Simply selects the home view to render by returning its name. * * @throws IOException * @throws UnknownHostException */ @RequestMapping(value = "/", method = RequestMethod.GET) public String home(Locale locale.. 2023. 1. 9.
코스콤 배치 작업 내역 1. 1월1일에 주말을 제외한 모든 날짜 인서트 - mariadb로 구현을 했다. mysql에서는 1년치 데이터를 가져오는 것이 존재했었는데..mariadb는 못찾았다. 1. 1월1일 비교 SELECT CASE DATE_FORMAT(NOW(), '%m%d') WHEN '0101' THEN 1 ELSE 0 END , DATE_FORMAT(NOW(), '%Y%m%d'); 2. 1~365번 돌면서 주말제외 날짜를 인서트한다. DATE_ADD로 날짜를 더해나갔다. INSERT INTO 테이블( WORKDATE ) (SELECT DATE_FORMAT(DATE_ADD(NOW(), INTERVAL +%d DAY), '%Y%m%d') FROM DUAL WHERE WEEKDAY(DATE_FORMAT(DATE_ADD(NO.. 2023. 1. 9.