본문 바로가기

전체 글81

리눅스 bind error 리눅스 프로그래밍을 하다보면 컴파일 완료한 파일을 실행시킬 때 간혹 bind error를 접하는 경우가 있다. 도대체 bind error 라는 놈은 왜 무엇때문에 발생하는 것인가?? 기본적으로 이 에러는 해당 프로그램 소켓으로 연결이 실패할때 발생한다. 정말 간단하게 그림으로 설명하면 서버 프로그램에서 대상이 되는 소켓에 bind를 요청하면 정상적으로 연결이 맺어지게 된다. 하지만 연결을 끊고 바로 bind 요청을 하면 우리가 흔하게 볼 수 있는 bind error를 만나게 된다. 구조로 들어가면 너무 복잡한 이야기이므로 간단하게 이렇게 알아두자. 즉 프로그램 또한 bind와 해제에 소켓을 닫고 여는 등의 소요 시간이 필요한데 연결이 해제되는데 소요되는 시간 안에 재 bind 요청이 들어오면 서버에서는 .. 2020. 4. 7.
인도음식 머노까마나 오늘은 짝궁덕분에 처음 먹어본 인도음식점인 머노까마나에 다녀왔어요 인도음식을 처음 접해봐서 약간 걱정하긴 했는데(입맛까다로움;) 생각한거랑 정 반대로 너무 맛있어서 포스팅 합니다 입구에 어서오라고 인도 병사가 지키고 서있네요 귀엽죠?! 벌써 이색적인 느낌이 확 풍겨오는 입구입니다 입구 왼쪽 벽면에는 이렇게 주류도 진열되어 있구요 정말 소품 하나하나 신경써서 인테리어 한거 같아요 마치 여기가 한국이 아닌 인도여행와서 온 식당이라는 착각이 들었네요 음식맛에는 그 식당의 분위기도 좌우한다는 말들 들어보셨죠?! 그 말의 의미를 여기에서 느끼고 왔답니다~!! 기본적으로 자리에 착석하면 접시와 식기를 셋팅해 주시는데 이또한 인도느낌이 나네요 자 이제 음식이 나오길 기다립니다 인도 치킨으로 유명한 탄두리 치킨이에요 .. 2020. 4. 3.
효성동 황금곱창 오늘은 일끝나고 곱창이 땡겨서 알아보던중 효성동 곱창집으로 달려갔어요 짝꿍이 찾은 곱창맛집으로 들어서자마자 엄청난 인파에 아 맛집이구나 누가봐도 맛집이구나 라는 생각이 들었어요! 기본적으로 한명당 찍어 먹을 수 있는 양념장이 제공이 되는데 저는 땅콩 가루에 찍고 가운데 양념장에 찍어먹으면 그렇게 맛있더라구요! 그리고 기본적으로 제공되는 오뎅국물은 지친피로를 풀어주는 맛이랄까요.? 왠만한 포장마차 오뎅국물보다 맛있었어요 배가고파서 그런가?! 이렇게가 기본적으로 제공되는 반찬이예요 부족하면 더 주니까 마음껏 부추도 마음껏 보이시나요 보시는 그대로가 모든걸 설명해 주는 맛입니다 왠만한 맛있다는 곱창집 다 가봤는데 여기만큼 맛있는 곳 드문거 같아요 진짜 강추!! 곱창 생각나면 이제 짝꿍이랑 여기 가기로 했네요~.. 2020. 4. 3.
[MYSQL] 두개테이블 조회 / table double select MySql에서 테이블 두개를 사용하는 경우에 하나의 기준 값으로 테이블을 조회하고자 할 때가 생긴다. 그럴때는 Mysql 에서 제공하는 join 함수를 사용하면 쉽게 조회할 수 있다 아래 예를 들어 설명하겠다. 위와같이 A,B 두개의 테이블이 존재하고 땡칠이의 사번과 직급이 필요하다. 그러나 사번과 직급은 각각 다른 테이블에 존재하는대 어떻게 조회를 해서 한번에 가져올 수 있을까? 여기서 기본적으로 테이블 두개를 묶어서 조회하는 방법에 대해 알아보고자 한다. 테이블 두개를 조회하는 방법은 아래와 같이 가능하다. select A테이블.사번, B테이블.직급 from A테이블 join B테이블 using(땡칠이); A테이블과 B테이블을 서로 join 시켜놓은 상태에서 using으로 땡칠이로 된 데이터를 묶는다.. 2020. 4. 3.
리눅스 방화벽 firewall 윈도우에는 외부에서 아무나 못들어오게 막아주는 방화벽이 존재한다. 리눅스에서 그 방화벽 기능을 해주는 것이 바로 firewall 이라는 놈이다. 리눅스 OS를 설치하면 CentOS 같은 경우에는 firewall을 기본적으로 제공하지만 없으면 yum install firewalld를 사용해서 설치해 주자. 설치가 마무리되면 명령어를 통해 현재 무슨 포트가 접속이 허용된지 확인하자. firewall에 설정된 포트와 서비스만이 해당 리눅스로 접근이 가능하고 그 이외의 포트들은 차단해 주기때문에 실질적인 방화벽인 것이다. 위와같이 포트에 내가 외부에서 접근하는 포트가 없다면 접근이 불가하므로 접근하고자 하는 포트를 추가해 주어야 한다. 그 방법은 아래를 참고하자. 어떤 포트 번호도 해당 명령어를 통해 추가가 가.. 2020. 3. 31.
[MYSQL] 연결이 해제되는 이유 / Connection retry 리눅스에서 프로그램 개발을 하다보면 Mysql 을 연동한 DB를 사용하게 된다. 그런데 무슨 이유에서인지 동작이 잘 되던 프로그램이 소켓을 연결하여 데이터를 전송하여도 DB에 입력이 되지 않는 증상이 발견 되곤 한다. 이것은 프로그램 구조마다 다를수 있겠지만 근본적인 원인은 Mysql 사용하지 않는 대기시간에 의한 끊김이라고 보는것이 맞겠다. Mysql은 기본적으로 대기시간이 설정에 따라 다르겠지만 6시간동안 사용하지 않으면 해당 Connection을 해제하는 옵션이 설정되어 있다. 그래서 DB에 오랫동안 접근하지 않으면 연결이 끊겨 DB에 데이터가 입력되지 않는 증상이 발견되는 것이다. 자 그럼 근본적으로 간단하게 해결하는 방법이 무엇이 있을까.? 구조적으로 정말 간단하지만 일정 시간단위로 Mysql에.. 2020. 3. 31.