목록분류 전체보기 (33)
pat coding
루비와 레일즈관련 예상면접 질문! 1. MVC 패턴 작동 방식 Rails는 기본적으로 MVC(Model, View, Controller)패턴이란 디자인패턴을 사용한다. MVC패턴이란 클라이언트에서 요청을 컨트롤러가 받으면 모델을 통해 데이터를 가져오고, 그정보를 바탕으로 뷰를 통해 사용자에게 전달하는 것이다. 2. 변수 정의 Ruby의 변수형태는 4가지가 있다. - var 지역변수 : 특정 동작 내부에서만 사용, 인스턴스변수나 전역변수와는 다르게 초기화전 nil 값을 가지고 있지 않음 - @var 인스턴스변수 : 한 객체에서만 사용가능, 처음 값이 대입될 때 동적으로 객체에 추가됨 - @@var 클래스변수 : 해당 클래스 파일내에서 사용가능, 사용 전 반드시 초기화를 해야함 - $var 전역변수 : 어떤..
Spring AOP란? OOP를 대신하는 개념이아니라, OOP를 더욱 OOP스럽게 사용할 수 있도록 도와주는 개념이다. OOP의 한계를 극복하기 위한 패러다임이다. OOP는 객체를 재사용함으로 코드의 중복을 많이 줄일 수 있었지만, 그럼에도 반복되는 코드를 없앨수는 없다. 근데 AOP는 이러한 부분을 해결해준다. OOP에서는 공통적인 기능을 각 객체의 횡단으로 입력했다면, AOP는 공통적인 기능을 종단간으로 삽입할 수 있도록 한 것이다. OOP로직에서 각 객체별로 처리했던 것들을 각 관점별로 외부에서 접근하는 것이 AOP의 핵심이다. AOP의 가장 큰 특징이자 장점은 중복되는 코드 제거, 재활용성의 극대화, 변화수용의 용이성이 좋다는 점이다.
객체지향프로그래밍(OOP)이란? 프로그래밍에서 필요한 데이터를 추상화시켜 상태와 행위를 가진 객체를 만들고 그 객체들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방법 특징 - 상속, 추상화, 캡슐화, 다형성 (상추캡다) 장점 - 코드 재사용 용이 (클래스를 가져올 수 있고, 상속을 통해 확장이 가능) - 유지보수가 쉬움 (변수나 메서드만 수정하면됨) - 대형 프로젝트에 적합 (클래스단위로 모듈화시켜서 여러명이 나눠서 개발할 수 있음) 단점 - 객체가 많으면 용량이 커짐 - 설계시 많은 시간과 노력이 필요 상속이란? 자식클래스가 상속받고 싶은 부모클래스를 선택해서 물려받는 것 기능의 일부분을 변경해야 할 경우 상속받은 자식클래스에서 해당 기능만 다시 수정하여 사용할 수 있게 하는 것 추상화란..
T-amp api 의 검색어입력과 경로출력! 1. 출발지와 도착지의 input을 만들어 주고, 버튼을 클릭하면 입력한 값들이 넘어가는 onclick을 만들어 줍니다. (count+1)같은 경우 재 검색을 하면 +1을 더해줘서 맵 초기화를 해주기 위해 넣어놨습니다. 밑에 hidden은 위도경도를 저장해두기위해 만들었습니다. 경로선택 출발지 도착지 2. 출발지와 도착지의 마커와 입력한 정보가 다르기 때문에 함수를 나눠서 진행합니다. searchPOI 함수에서 값을 받고, tmap 함수로 값을 넘겨주어 마커와 이벤트를 실행해줍니다. var countS = 0; var countE = 0; // 출발지 검색 function searchPOI(countS) { var startPoint = $('#startPoi..
Rails 서버는 종료했는데 서버가 실행 중이라는 오류가 뜬다면? 서버를 종료 후 재 실행할 때 가끔 A server is already running. Check C:/Sites/folder/Pids/Server.pids 라는 오류가 발생하게 된다. 이는 서버가 이미 실행 중이라는 뜻인데, 이 오류의 해결 방법이 두 가지가 있다. -첫 번째 kill -9 $(cat tmp/pids/server.pids) 로 서버를 정지 후 다시 실행한다. - 두 번째 작업 관리자에 들어가서 프로세스에서 Ruby가 실행 중인지 확인 후 실행 중이면 종료한다. - 세 번째 오류 문구 경로로 들어가서 (ex C:/Sites/folder/Pids/Server.pids) Server.pids 파일을 삭제한다. 삭제 후 서버를 ..
Rails에서 Docker 서버와 연결하던 중 Only one usage of each socket address 오류 발생 3306 포트를 이미 사용하고 있다는 것인데, 이는 docker-compose.yml 파일을 확인 해봐야한다. ports: 에 - '3306:3306' 이렇게 되어있는 것을 서버의 포트로 바꿔주고 실행하면 오류가 사라진다. mysql 의 경우 ports '80:3306' 이런식으로 바꿔주면 된다. mysql 의 경우 무조건 3306 포트로 접속해야하고, 외부의 포트는 80번 포트와 연결이 되어있다. 컨테이너 포트는 특정 상황에서 중요하다. 특정 어플리케이션이 특정 포트만을 사용하도록 설정되어 있다면, 그 컨테이너 포트에 호스트 포트를 연결해줘야만 외부에서 접속할 수 있다.