본문 바로가기



프로그래밍

[JAVA] 이클립스에서 바로 터미널 열기 *윈도우에서 동작하지 않습니다. eclipse EE는 바로 여는 터미널을 제공하는데 eclipse IDE에는 기능이 없어서 마켓플레이스에서 설치해야한다. 더보기
[JAVA] 6코어 이상의 CPU를 사용하면 예제와 다른 결과(순서)가 나올 수 있습니다. AMD 계열 시피유가 코어수가 데스크탑의 경우에는 일반용이 12~16코어에 이르고, 노트북의 경우에도 최대 8코어를 달성하고 있습니다. 인텔의 경우에도 데스크탑 i5는 6코어 12스레드, 노트북 H 고전력 라인업은 6코어 넘어갑니다. 문제는 이런 다중코어의 멀티스레드 때문에 기존 자바 프로그래밍에서 예시로 쓰는 코드들을 그대로 쓰면, 전혀 다른 순서로 결과가 계속 나옵니다. 초보자들은 돌릴때마다 동떨어진 순서 결과에 상당히 난감할 수 밖에 없습니다. 왜 이렇게되지? 자바의 경우 멀티스레드를 애초에 지원하기 때문에, 코어가 너무 많을 경우 영향받는 subclass api가 상당히 많습니다. 그래서 코드를 작동시킬때마다 책이나 강의에 나오는것과 다르게 처리속도가 들쑥날쑥하거나 전혀 다른 결과를 나타낼때가 있.. 더보기
[JAVA] The method print(ArrayList, ArrayList) is undefined for the type 메소드가 샐행 메소드의 내부에 포함되어 일어난 에러였다. 실행메소드 부분을 } 제대로 정리해주니 에러가 사라지고 정상 동작함. 더보기
[JAVA] eclipse 재단 서버 문제로 정상적인 서비스가 되지않음 이클립스 재단 서버가 문제가 발생해서 어제저녁(일요일)부터 정상적인 서비스가 되지 않고, Access Forbidden등의 메시지를 내고있음. 재단측에 따르면 해당 이슈는 해결하였으나 백엔드의 스토리지 싱크 관련으로 13시간정도 소요된다고 밝히고 있습니다. 다운로드등의 전체 서비스는 오늘 오후나 내일 새벽즈음 되어야 정상화 될것으로 보입니다. 더보기
[JAVA] String class indexOf를 이용한 알파벳순서찾기 string class에 여러가지 생성자와 메서드가 들어있는데 그중 indexOf를 사용해보도록 하자. 가장 생각해내기 쉬운게 영어 알파벳에서 몇번째인지 알아내는 것일것이다. 코드를 다음과 같이 작성한다. import java.util.Scanner; public class whichismyInputNextInt { public static void main(String[] args) { String abc = "abcdefghijklmnopqrstuwvxyz"; Scanner sc= new Scanner(System.in); System.out.println("순서를 찾을 알파벳을 입력하십시오"); String scinput= sc.nextLine(); char c = scinput.charAt(0);.. 더보기
[JAVA] static 변수에 관한 의문점 자바를 공부하다가 문득 static변수에 대해 의문이 생기기 시작했다. static인데 이걸 다른 클래스에서 접근해서 바꿀 수 있다는 것부터가 마음에 안들었다. 사실 못바꾸게 할려면 final로 선언하면되는문제인데. 왜 굳이 다른 클래스에서 해당 클래스의 static을 바꿀 수 있는 건지 이해가 되질 않는다. 그리고 드는 근본적인 의문 static은 일종의 "전역변수"에 해당하는데, 프로그래밍에 있어서 전역 변수는 함부로 사용하면 안된다는 무언의 철학이 공공연히 떠돈다. 이것은 fail-safe산업에서 특히 강조되는 부분이기도 한데. 자바에서는 static을 사용해도 특별한 코드 추가 없이 바로 다른 클래스에서 참조 클래스로 호출해서 변경 가능하다는게 충격적이였다. 실제 생성객체이름.클래스 변수 이름 해.. 더보기
[단상] 실제 코드를 작성하려고 하면 생각처럼 되지 않는 이유 중하나 프로그래밍 예제 코드를 따라하다가 아이디어가 떠올라서 막상 적용할려고하면, 구현하기가 쉽지 않은데. 강의의 예제 코드들은 가르치기 위한 코드이므로, 해당 레벨에서 가장 적합한 제한적인 조건을 가지고 데이터를 다루기 때문에 해당 조건과 일치하는 상황을 위한 코딩은 쉽지만, 실제 생활에서 접하는 아이디어는 애초에 그 데이터의 종류나, 입력조건이 전부 다르기 때문에, 실제로 구현하기에는 수많은 조건적 변수가 존재한다. 그래서 만들어보는 프로젝트를 한다고 해도 기존에 알려져 있는 쇼핑몰 만들기 류의 프로젝트는 기본적으로 다루는 데이터와 방식의 조건이 정해져 있어서 따라하기가 쉬운데, 나만의 아이디어를 채용한 프로그래밍은 말그대로 맨땅에 헤딩이다. 파이썬의 경우는 데이터 값을 다루는데 최적화된 편이라 어느정도 구.. 더보기
[JAVA] 배열 array의 특성에 대하여 자바에서 array (뱨열)의 특성이 몇가지 있는데 그중 한가지가 배열은 생성하면 고정된 값이라는것이다. 배열 값을 수정하려고 외부에서 값을 변경시도하면 다음과 같은 메시지가 나온다. 이 메시지가 모든것을 함축하고 있는데 final field로 선언된 array.length는 바꿀 수 없다는 것이다. 즉, array를 선언해버리면 그 길이 값은 final로 처리해버린다는것이다. 이럴경우에는 배열을 필요한 길이 만큼 새로 생성한 다음 복사해서 배열을 채우는 방법과 ArrayList를 이용하여 애초에 길이를 변경할 수 있게하는 두가지 선택지가 크게 있다고 할 수 있겠다. 더보기