전체 글(61)
-
CD/CI
어떻게 하면 사용자에게 우리의 코드를 보여줄 수 있을까? 컴파일 첫번째로 우리가 만든 코드를 컴파일 한다. 컴파일이란 우리가 만든 프로그래밍 언어를 기계가 이해할 수 있는 기계의 언어로 번역하는 것이다. 우리가 사용한 java, c와 같은 프로그래밍 언어는 기계가 이해할 수 없다. 이렇게 개발자의 편의를 위해 개발자의 언어로 작성한 프로그래밍 언어를 컴파일러가 컴파일 해 기계가 이해할 수 있는 언어로 번역해준다. 빌드 다음은 컴파일된 기계의 언어를 사용자에게 보여주기 위해 빌드하여 완성된 상품, 소프트웨어 가공물로 만든다. java에서는 maven, gradle과 같은 빌드 도구를 이용하면 컴파일과 함께 소스코드 파일을 .jar, .war 와 같은 산출물로 변환하는 빌드도 함께 할 수 있다. 배포 이렇게..
2023.06.01 -
host파일
hosts 파일이란? hosts 파일이란 IP 주소와 도메인 주소를 매핑해주는 파일이다. 보통, 주소창에 도메인으로 접속을 하면 DNS 서버를 통해 이에 대응하는 IP 주소를 찾아서 서버에 접속하게 된다. 이때 hosts 파일에 도메인과 IP를 임의로 지정하게 되면 DNS 서버보다 우선된다. hosts 파일에 다음과 같이 입력한 후 저장해보자. (관리자 권한으로 저장해야하며, 방법은 아래에 적혀 있다.) 123.123.123.123 www.tistory.com 123.123.123.123은 임의의 IP이다. 이후 주소창에 www.tistory.com을 입력하면 티스토리로 정상 접속되지 않을 것이다. 이는 hosts에 www.tistory.com의 IP 주소를 123.123.123.123으로 매칭시켜놓았기..
2023.05.31 -
디지털 논리회로
오늘은 알고리즘으로 들어가기 전 컴퓨터회로에 대해 간단하게 알아볼려고 합니다. 현대컴퓨터는 디지털 논리회로로 구성되어있으며 전기회로는 '직렬, 병렬, 반전', 'AND, OR, NOT'의 방식으로 구성되어있습니다. 이 세가지 방식의 조합으로 회로를 표현하는데, 예를 들어 (1A)(A+B)는 - (1A)와 (A+B)의 AND로 연결되어 있고 - (1A)는 1과 A가 AND로 연결되어 있고 - (A+B)는 A와 B가 OR로 연결되어 있는 것을 의미합니다. 이 식을 회로로 나타내면 아래 그림과 같습니다. 디지털 논리 회로는 세가지 방식을 AND, OR, NOT로 설정하고, 부울 대수를 이용하여 나타낸 회로로 디지털 논리회로 = 스위치 회로+부울대수 입니다. 컴퓨터에서 사용되는 대표 회로는 - 판정 : 두 값이..
2023.05.30 -
IntelliJ "Error: Could not find or load main class Main"오류
안녕하세요!! 계속 IDE를 Eclipse로 사용하다가 단축키 사용이 편리한 IntelliJ로 IDE를 변경해봤는데요 환경변수에서 PATH도 제대로 설정해줬는데 main 메소드 실행이 안될때 해결방법을 알려드리겠습니다! 바로 위의 사진과 같은 오류 메시지는 java.lang.class를 로드 혹은 찾지 못해서 발생되는 오류메시지인데요, 1. 위의 이미지와 같이 상단에 현재 실행되는 파일을 "Current File"로 설정해주고, 다시 해당 파일을 run해주거나, 2. File - Project Structure에서 Modules의 Sources를 현재 진행할 폴더를 선택해주시고 실행하시면 됩니다! 이렇게 설정을 완료하고 run하면 아래와 같이 main메서드가 제대로 호출되서 콘솔에 값이 출력됨을 확인할 ..
2023.05.26 -
객체지향, 절차지향
절차지향 프로그래밍(Procedural Programming)이란, 순차적인 처리를 중요시하는 프로그래밍 기법으로 프로그램 전체가 유기적으로 연결되도록 하고 이러한 방식은 컴퓨터의 작업처리 방식과 유사하기 때문에 실행속도가 빠르고 프로그램의 흐름을 쉽게 파악할 수 있다는 장점이 있어 초기 프로그래밍 언어의 대부분이 절차지향 프로그래밍 언어로 개발되었답니다. 다만 절차지향 프로그래밍에는 유지보수가 어렵다는 큰 단점이 있는데요, 그 이유는 실행 순서가 엄격하게 정해져 있고, 구성요소가 유기적으로 연결되어 있기 때문에 하나가 잘못되어도 시스템 전체를 수정해야 하기 때문에 유지보수가 매우 까다로운 편이며, 디버깅이 어렵습니다. 또한 실행 순서가 정해져 있기 때문에 코드의 순서가 바뀌면 결과가 달라질 가능성이 ..
2023.05.25 -
네트워크와 서버
네트워크는 Net + Work 의 합성어로써 컴퓨터들이 통신 기술을 이용하여 그물망처럼 연결된 통신 이용 형태를 의미합니다. 좀더 쉽게 말하자면 "두 대 이상의 컴퓨터들을 연결하고 서로 통신(이야기)할 수 있는 것" 이것이 바로 네트워크 입니다. 누구는 네트워크의 정의를 이렇게 내립니다. '어떤 연결을 통해 컴퓨터의 자원을 공유하는 것'이라고 말이죠. IEEE(Institute of Electrical and Electronics Engineers:국제 전기 전자 공학회)에서는 네트워크를 다음과 같이 정의 하였습니다. "몇 개의 독립적인 장치가 적절한 영역내에서 적당히 빠른 속도의 물리적 통신 채널을 통하여 서로가 직접 통신할 수 있도록 지원해 주는 데이타 통신 체계"라고 말입니다. 장점 네트워크의 장점..
2023.05.24