본문 바로가기
반응형

전체 글1100

Thread.run() 과 Thread.start() 차이 Java 에서 Thread 를 사용할 경우가 생기는데,해당 Thread를 만들어서 run이나 start로 실행 시키곤 한다. 둘의 차이에 대해서 정리하고자 포스팅 작성한다.start()runnative 영역에서 새로운 Thread가 생성되며 Thread가 시작되면 run() 메서드가 실행된다.Thread가 생성되지 않으며 그냥 run() 메서드만 실행된다.동일한 객체에서 두번이상 호출 시 IllegalThreadStateException 예외가 발생된다.호출수에 제한없이 계속 호출할 수 있다.멀티쓰레드로 동작한다.싱글쓰레드로 동작한다. 2024. 11. 14.
Synchronized 관련 이번 포스팅에서는 lock 을 걸기 위해 자주 사용하는 Synchronized 에 대해서 예제로 테스트 해볼 것이다. 테스트는 크게 2가지로 진행을 할 예정이고, 각 테스트마다 static 일 경우를 함께 테스트 해볼 것이다. 1. Synchronized Method2. Synchronized Block 1. Synchronized Method 아래와 같이 Synchronized Method 를 만들어 두고 main 클래스에서 동시에 호출을 시켜볼 예정이다.Synchronized Method Synchronized Static Method  public synchronized void run(String id) {     System.out.println(id+ " lock start");      t.. 2024. 11. 13.
생산자(Producer) / 소비자(Consumer) 패턴 Java 를 사용하다보면 multi Thread 를 고려하게 되고,자연스레 트랜잭션이나 동시성 이슈를 고려하게 된다.(해당 내용에 대해서는 아래 참고 포스팅 참고 바람) 이번 포스팅에서는 자바에서 생산자/소비자 패턴(Producer/Consumer Pattern)에 대해 설명을 할 것이다. 소개 멀티스레딩 환경에서 자주 사용되는 디자인 패턴으로, 데이터를 생산하는 생산자 스레드와 소비하는 소비자 스레드 간의 작업을 효율적으로 분배하는 데 유용한 패턴이다. 이 패턴을 통해 작업을 동시에 처리하면서도 공유 자원의 동기화를 통해 데이터의 일관성을 유지할 수 있다.  개요생산자: 데이터를 생성하여 공유 자원(예: 큐)에 넣는다.소비자: 공유 자원에 있는 데이터를 꺼내서 처리힌다.목적: 생산과 소비를 분리하여 서.. 2024. 11. 12.
공인 IP 도메인 획득 관련(도메인 대행사) 공인 IP 를 갖고 있거나 unique 한 IP 를 갖고 있어서 어디서는 IP로 접근이 가능하다면 도메인 주소를 얻은 후 IP 에 도메인을 등록해서 사용하면 더욱 편리하고 다들 그렇게 사용하고 있다. 예를들어 구글을 누군가가 접근하려고 한다면http://www.google.com을 쳐서 구글을 들어가는 사람이 대부분이고,구글 도메인 IP 인 8.8.8.8 을 써서 들어가는 사람은 없을 것이다. 이런식으로 IP를 갖고 접근을 하면 헷갈리거나 정확하지 않아서 도메인 주소로 접근을 하는데,그만큼 도메인 주소에 대한 개념은 중요하다. 그 공인 IP 에 도메인을 가질수 있는 몇 도메인 대행사 들이 있고, 종류와 특징은 아래와 같다. 카페24 (Cafe24): 웹 호스팅, 도메인 등록, 쇼핑몰 솔루션 등을 제공합니.. 2024. 11. 11.
웹마스터 란? 우선 나무위키에서 말하는 웹마스터는 아래와 같다.웹사이트를 소유하고 관리하는 사람을 가리키는 단어이다.https://namu.wiki/w/%EC%9B%B9%EB%A7%88%EC%8A%A4%ED%84%B0 웹마스터웹사이트를 소유하고 관리하는 사람을 가리키는 단어이다. 나무위키 의 사측 관리자 와 동격이다. 특징 웹사이트의 소namu.wiki 좀 더 쉽게 말해서 웹마스터란웹 서버나 홈페이지를 관리하는 총관리자. 운영에 필요한 모든 내용을 숙지하고, 문제가 생기면 처리해야 하는 책임을 가진다. 2024. 11. 10.
OSError: [Errno 8] Exec format error: '/Users/user/.wdm/drivers/chromedriver/mac64/130.0.6723.92/chromedriver-mac-x64/THIRD_PARTY_NOTICES.chromedriver' Python 에서 selenium 을 사용하면서 크롤링을 하던 중어제까지 잘 되던 코드가 갑자기 아래와 같은 에러를 내면서 돌아가지 않았다. OSError: [Errno 8] Exec format error: '/Users/sungjun/.wdm/drivers/chromedriver/mac64/130.0.6723.92/chromedriver-mac-x64/THIRD_PARTY_NOTICES.chromedriver' 구글을 찾아보니1. 경로에 chromedriver 이름을 바꿔라2. chromedriver 를 다시 설치해라등 다양한 조언이 있었지만모두 해도 마찬가지였다. 그러다가 발견하였는데 webdriver-manager 를 upgrade 해주는 것이다. pip install --upgrade webdr.. 2024. 11. 9.
[Error] white label error page SpringBoot Server 를 run 하고 나니정상적으로 console 에는 run이 되었다.(port 는 기본 8080으로 설정) 그리고 web에서 localhost:8080 을 해보니 아래와 같은 페이지가 나왔다. 그리고 에러 화면을 자세히 보면 아래 404 에러라고 써있다. 해결방법1. localhost:8080 으로 연결 시 기본값인 index.html 파일이 없어서 그렇다.src/main/resources/static 경로에 index.html 파일을 만들어주면 된다. 2. index.html이 아닌 경로에 없는 다른 경로를 기본 경로로 지정을 했다.기본 경로로 바꾸어주거나(1번), 해당 경로의 파일을 생성해준다. 2024. 11. 8.
JS-Tree 소개 (mitchTree.boxedTree) UI 에서 계층관계를 보여주기에 좋은 라이브러리가 있어서 정리하고자 포스팅한다. JS-Tree 이고 공식 사이트는 아래와 같다.https://www.reddit.com/r/javaScriptStudyGroup/comments/txgrdk/d3jstree_does_not_work_in_vertical_orientation/ From the javaScriptStudyGroup community on Reddit: D3.JS-Tree does not work in vertical orientationExplore this post and more from the javaScriptStudyGroup communitywww.reddit.comhttps://d3-mitch-tree.netlify.app/man.. 2024. 11. 7.
[Error] invalid reference format. See 'docker run --help'. 서버에서 자주 사용하는 명령어들을 별도의 메모장에 적어두고docker run ~~~~~ 이런식으로 프로세스 등을 돌리곤 해왔다. 어느날 갑자기 스크립트가 안먹고 아래와 같은 에러가 발생하였다.invalid reference format. See 'docker run --help'. 자세히 보니 짧은 하이픈 2개가 긴 하이픈 하나로 자동변환 되어서 텍스트가 저장이 되어 명령어 파라미터에 인식이 불가하였다. 스크립트 복사 붙여넣기 시에는 주의가 필요하다. 2024. 11. 6.
반응형