본문 바로가기



프로그래밍

E: /var/lib/apt/lists/lock 잠금 파일을 얻을 수 없습니다 에러 이유 우분투를 사용하다보면 update 나 upgrade 명령어 실행시 잠금파일을 얻을 수 없습니다. 라는 에러가 뜨면서 실행이 안되는 경우가 있는데, 이는 우분투의 내장 업데이트 프로그램이 이미 동작중이여서 해당 경로의 파일과 디렉토리가 잠겨서 그런것입니다. 굳이 파일을 삭제할 필요 없이, 우분투 소프트웨어 업데이트 센터를 통해 업데이트하면 됩니다. 위의 업데이트 프로그램에 업데이트 대기중인 프로그램과 파일들 목록이 나타날것이다. 더보기
[JAVA] 상속(extends)관계에 있는 참조변수(reference variable )와 method 호출 참조변수는 상속받은 자손이 조상의 참조변수를 모두 호출 할 수 있지만, 자손의 method가 오버라이드 되어있을경우에는 자손것만 계속 호출된다. 그래서 드는 의문은 그럼 method가 다른건 호출가능한가? 왜냐하면 상속받으면 조상클래스에 있는것도 일단은 모조리 상속받기 때문에 당연히 될것이라 생각했고, 그래서 일단 만들어보기로 했다. package fmri.parentchild; public class Parent { int parent_int=100; String parent_String="parent_string"; void method() { System.out.println("Parent method()"); } } package fmri.parentchild; public class Child .. 더보기
[JAVA] static 전역 변수에 관한 의문 2 책으로 나온 자바 교재에서 static 변수에 대해서 설명할때 전역변수의 문제점에 대한 언급이 전혀 없어서 굉장히 답답했는데 다른 몇몇강의들을 보고 정리해 보았다. 실제로 몇달 정도 공부해보면 이게왜 bottom up으로 연결되는건지 의문이 생길것이다. 좀 더 자세히 말하자면 static 으로 고정된 변수가 있는데 이걸 한번도 아니고 무제한으로 다른 코드에서 계속 조작이 가능하다는것이다. 연속적으로 변경을 하고 출력을 할때마다 계속 변경된 값이 반영되는걸 보고 경악을 금치 못했다. "와 이게 뭐야!" 아직 자바의 모든 버전을 살펴볼 여유가 없긴한데, 차후에는 static에 변경가능횟수 제한을 설정할 수 있는 등의 개선이 있을듯 싶기도 하다. 첫째, 절차지향인 프로그래맹에서 처럼 객체지향 OOP프로그래밍에.. 더보기
[JAVA] 듀얼 모니터 사용시 Swing 팝업창의 위치 swing이 들어간 코드를 실행할때 세컨드리 모니터에서 코딩을 하고 있어도 프라이머리 창에서 팝업창이 뜬다. 세컨트리 모니터에는 아무것도 나오지 않기 때문에, 코드 문제로 생각할 수 있는데. 모니터 확인이 필수다. 더보기
[JAVA] 자바 swing 실행시 라이브러리 오류로 실행안될때 Can't load library: /usr/lib/jvm/java-11-openjdk-amd64/lib/libawt_xawt.... 위의 메시지가 나오면서 swing 이 있는 코드가 오류로 실행불가 원인 : openJDK중에 headless버전이 있는데 이 버전으로 설치가 되면 해당(디스플레이 및 마우스등) 모듈들이 들어가 있지않아서 오류를 발생시킨다. 해결책 : sudo apt install openjdk-11-jdk 명령어로 다시 설치하면 해결됨 더보기
[JAVA] 이클립스로 컴파일된 파일을 프롬프트에서 실행하는 방법 Navigator 를 선택해서 탐색창을 연다음 해당 프로젝트의 bin위치를 들어가서 해당 패키지 폴더에서 마우스오른쪽을 눌러서 나오는 프로필에 중간에 보면 탐색창을 여는 아이콘이 있어서 이걸누르면 탐색기가 열립니다. 다음 탐색기에서 bin 폴더까지 위로 간다음 .cmd를 치면 바로 명령어 프롬프트가 열립니다. 거기서 java 패키지이름.클래스파일이름 해서 실행하면 됩니다. 더보기
[JAVA] Type mismatch: cannot convert from Iterator to HTMLDocument.Iterator Iterator를 사용할때 Type mismatch: cannot convert from Iterator to HTMLDocument.Iterator 이라던가 cannot cast from ... 이라면서 에러가 표시됨 이유 내부적으로 import javax.swing.text.html.HTMLDocument.Iterator; 가 존재해서 swing에 있는 Iterator의 class를 호출해서 발생한 문제. 해결책 import java.util.Iterator; 을 작성해서 Iterator가 동작하도록 소스코드를 수정하면 됨. 강의내에서는 일반적으로 java.util.*;로 처리하는 경우가 많은데. 실제 업무에서는 이렇게 광역처리 해놓으면 나중에 해당클래스와 이름이 같은 클래스를 처리할때, 오류 발생후.. 더보기
[JAVA] 강의들보다 보면 왜 초보자들이 어려워지는 지점이 생기는가에 대한 고찰 자바강의들을 보면 어느순간부터 조회수가 확 줄어드는 경향이 있는데, 중반쯤가면 조회수가 1회의 반은 커녕 1/10인 강의들이 태반이라 끝까지하는 사람이 적다는게 어느 정도 당연하다는 생각은 가지고 있지만, 좀 심한거 아닌가 했는데. 최근에 여러 강의와 교재들을 보다보니 느끼는게, 일단 2회독정도 하고 두어가지 교재를 보기전까진, 그 강의가 중반쯤되면 가르치는분들도 데이터 다룰때 자신들 만의 방법으로 강의에 사용할 예제 데이터를 만드는 과정이 있기 마련인데 이 부분에서 앞부분을 모두 이해하지 못하면, 저게 왜 저기에 있지? 라면서 따라서 입력하는 수준에 머물기 때문에 학습자로 써는 배우는 즐거움이 사라지는 시기가 오게 된다는 것이다. 데이터를 10개 넣을때도 10개 줄을 만드는게 아니라 두세줄로 for문이.. 더보기