최대한 간략하게 설명해보면 다음과 같은 케이스가 있다

//html
<div id="base">
</div>



//javascript
$('#somethingBtn').click(function () {
  $("#base").append("<div class'new'> bla bla </div>");
})


$('.new').click(function() {
  //not working!!!!!
});

 

 

1. base id를 갖는 div는 현재 비어있다

2. 어떤 버튼(somethingBtn)을 클릭하면 base 밑으로 .new 라는 class를 가진 엘리먼트가 들어간다

3. '.new'로 이벤트를 달아놨기때문에 이벤트가 먹힐꺼라고 생각한다

4. 안먹힌다

 

조금 극단적인 예이지만 필자의 경험상 이벤트가 안먹힌다.

 

해결방법은 간단하다

$('#base').on('click', '.new' ,function() {
  //bla bla ... 
});

해당 엘리먼트에 이벤트를 바로 연결하지말고 append 되는 상위 엘리먼트에 on 으로 이벤트를 걸어준다

 

 

on()과 delegate() 등등의 자세한 정보를 알고싶다면

https://hohoya33.tistory.com/44 를 참고해도 좋을 듯 하다

 

이벤트는 항상 on()으로 거는걸 추천한다

 

 

 

 

https://stackoverflow.com/questions/15420558/jquery-click-event-not-working-after-append-method

 

Jquery click event not working after append method

So I have this button which adds a new row to the table, however my problem is that it does not listen to the .new_participant_form click event anymore after the append method has taken place. htt...

stackoverflow.com

 

'javascript & jquery' 카테고리의 다른 글

[jQuery] 클릭한 td에 alert  (0) 2018.11.28

 

 

제 2의 언어로 무엇이 좋을까 생각하다가 .. python이 지금보다 더 정말 강력한 언어가 될 것 같아서 설치부터 path까지 진행해보겠다.

 

 

설치는 공홈에서 !

2020.02.10 기준 3.8.1 version을 기준으로 작성한 글이다

 

https://www.python.org/

 

Welcome to Python.org

The official home of the Python Programming Language

www.python.org

 

위 사이트에 방문하고 아래의 사진처럼 차근차근 따라하면 잘 설치가 된다. 사실 클릭 몇번이면 된다.

 

 

 

 

다운로드가 완료된 python-3.x.x.exe을 실행시켜서 설치를 진행하면 된다.

 

 

여기서 주의해야 할 점이 만약 path(환경변수)를 지정해야한다면 아래의 체크박스에 반드시 체크해야한다. 하지만 성질이 급한분들을 위해서 아래에 path 설정을 직접하는 방법도 적어놨다.

 

 

그냥 클릭 몇번으로 설치가 끝났다.

 

근데 만약 아래 사진과 같이

 

 

python --version 명령어를 쳐도 반응이 없다면 path 설정이 안된 것이니 아래를 확인하면 된다

 

 

1. 먼저 C:\Users\{사용자이름}\AppData\Local\Programs\Python\Python{version} 으로 된 디렉토리를 찾는다

  - {사용자이름} 과 {version}은 사용자 또는 설치하는 시점에따라 다를 수 있다.

  - 나의 경로는 C:\Users\CHS\AppData\Local\Programs\Python\Python38-32 이다

 

 

2. 시스템 환경변수를 편집한다.

 

 

PYTHON_HOME으로 변수이름을 지정하고 변수값 부분에 자기자신의 PYTHON 홈디렉토리를 설정해준다.

 

 

 

설정된 PYTHON_HOME변수는 다시 Path라는 변수에 %PYTHON_HOME%; 으로 지정시켜 실제 PATH에 알려준다.

 

 

3. python --version 실행!! (열려있던 커맨드는 끄고 다시 킨다)

 

 

 

 

python 3.8.1이 잘 설치된것을 확인할 수 있다!

 

 

 

 

ps. 만약 구버전일 경우 C:\Python27\ 와 같은 경로를 갖고 있을 수 있으니 주의해야한다

 

 

 

참고 : https://stackoverflow.com/questions/13596505/python-not-working-in-command-prompt

 

Python not working in command prompt?

I type python into the command line, but the command prompt says that python is not recognized as an internal or external command, operable program, or batch file. What should I do? Note: I have

stackoverflow.com

 

 

 

pc가 약간 이상한가 ..

 

어제 갑자기 Windows 10 검색창 (Windows + Q)이 이상하게 안되는 경우가 있었다.

 

services.msc, 검색 인덱스 재조정, 별에 별거 전부 안되어서 한시간정도 버리다가 결국 해결했다.

 

만약 여러가지 작업을 해보다가 안되었다면 이 방법을 추천한다.

 

이방법은 Windows 10 update version 1903 이상 버전만 가능하다

 

 

 

1. 해당 사이트에서 쉘스크립트 파일을 받는다. https://www.microsoft.com/en-us/download/100295

 

2. cd {다운로드 받은 경로} -> .\ResetWindowsSearchBox.ps1

 

3. 스크립트 파일을 실행하고 잘 작동하면 끝

 

4. 만약 이런 에러가 나온다면 5번으로 간다.

 

 

5. 순서대로 아래 명령어를 입력한다.

 

5-1. Get-ExecutionPolicy 

5-2. Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted  -> Y

5-3. .\ResetWindowsSearchBox.ps1 -> 스크립트 재실행

5-4. Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Restricted -> Y (원복)

 

6. 검색이 다시 잘 된다. 그래도 모르겠다면 아래사진을 참고한다.

 

 

 

 

 

 

 

 

 

https://support.microsoft.com/en-us/help/4520146/fix-problems-in-windows-search

 

https://support.microsoft.com/en-us/help/4520146/fix-problems-in-windows-search

Cookies are disabled Please enable cookies and refresh the page

support.microsoft.com

 

 

이번에 jenkins의 힙사이즈 조정을 위해서

 

jenkins.xml을 수정해야 할 필요가 있었는데

 

구글링했을때는 /etc/default/jenkins 에 있다그래서 찾아봤는데

 

근데 내 /etc/default/ 디렉토리에는 jenkins.xml가 없었다

 

뭔가 이상하길래 좀 더 찾아보니까 os 계열에 따라 조금씩 다른듯하여 기록으로 남긴다.

 

아마 내가 linux를 잘 알았으면 헤매지않았을것 같기도 ...

 

 

  • /etc/default/jenkins: location for most of the Linux distributions.
  • /etc/sysconfig/jenkins: location for RedHat/CentOS distribution.
  • C:\Program Files\Jenkins\jenkins.xml: default location for Windows.

 

CentOS는 /etc/sysconfig/jenkins.xml 에 위치해 있다.

 

 

https://support.cloudbees.com/hc/en-us/articles/209715698-How-to-add-Java-arguments-to-Jenkins-

 

How to add Java arguments to Jenkins?

Issue Don’t know how to add/update Java arguments to CloudBees Jenkins Platform or Managed Master Environment CloudBees Core on modern cloud platforms - Managed Master CloudBees Core on modern c...

support.cloudbees.com

 

 

 

 

회사에서 maven 관련 프로젝트의 빌드가 전부 깨졌다...

 

젠킨스고 뭐고 .. 이유를 전혀 모르겠었다 ..

 

갑자기 maven repo도 501을 뱉어내고 한두시간 정도의 시간을 날려먹었다

 

결론부터 얘기하면 2020년 1월 15일부로 maven central repository의 http 지원이 중단되었다

 

Answer
Effective January 15, 2020, The Central Repository no longer supports insecure communication over plain HTTP and requires that all requests to the repository are encrypted over HTTPS.

If you're receiving this error, then you need to replace all URL references to Maven Central with their canonical HTTPS counterparts:

Replace http://repo1.maven.org/maven2/ with https://repo1.maven.org/maven2/

Replace http://repo.maven.apache.org/maven2/ with https://repo.maven.apache.org/maven2/

If for any reason your environment cannot support HTTPS, you have the option of using our dedicated insecure endpoint at http://insecure.repo1.maven.org/maven2/

For further context around the move to HTTPS, please see https://blog.sonatype.com/central-repository-moving-to-https.

 

따라서 앞으로 원활한 사용을 위해서는

https 로 변경을 권장하고 만약 https를 지원하지 못하는경우는 http://insecure.repo1.maven.org/maven2/처럼 앞에 insecure를 붙여줘야한다.

 

이 이슈를 해결하면서 많은 고충을 겪었는데

 

일단 본인의 jdk가 1.8 이상일 경우 http에서 https로 변경하는건 식은죽먹기다

 

문제는 jdk가 1.6 이하일때인데 jdk의 기본 tls 버전이 1.0이고 mvn central repository의 tls 버전은 1.2이다

 

만약 jdk 1.6을 기반으로 repo에 접근하는 순간 Received fatal alert: protocol_version 라는 에러를 뱉을것이므로 본인이 jdk 변경 권한이 없다면 insecure 를 붙인 를 http://insecure.repo1.maven.org/maven2/사용하는게 좋을 것이다.

 

근데 만약! 1.7이라면 mvn install -Dhttps.protocols=TLSv1.2 이라는 옵션을 준다면 정상작동이 가능하다 jdk1.7은 기본 tls 버전이 1.1이지만 1.2도 지원이 가능하다.

 

 

결국 개삽질하고 .m2 갈아엎고 난리 부르스 치다가 결국 jdk 1.6에 http로 계속 가는거로 얘기가 되어서 그냥 그대로 했다 .. 

 

 

https://stackoverflow.com/questions/50824789/why-am-i-getting-received-fatal-alert-protocol-version-or-peer-not-authentic

 

Why am I getting "Received fatal alert: protocol_version" or "peer not authenticated" from Maven Central?

I'm getting the below errors when connecting to Maven Central / https://repo1.maven.org after June 18th 2018. Received fatal alert: protocol_version or Received fatal alert: peer not authenticated

stackoverflow.com

 

 

 

출처 : https://stackoverflow.com/questions/59763531/maven-dependencies-are-failing-with-501-error

 

Maven dependencies are failing with 501 error

Recently maven build jobs running in Jenkins are failing with the below exception saying that they could not pull dependencies from Maven Central and should use HTTPS. I am not sure how to change the

stackoverflow.com

https://support.sonatype.com/hc/en-us/articles/360041287334

 

Central 501 HTTPS Required

Question As of January 15, 2020 I am receiving the following responses upon making requests to The Central Repository: Requests to http://repo1.maven.org/maven2/ return a 501 HTTPS Required status ...

support.sonatype.com

 

 

뭐지 ..

 

이번에 pc 바꾸고 linux 올릴려니까

 

자꾸 centos7 설치할때

 

kernel panic not syncing fatal exception으로 부팅에 실패했다 .. 

 

뭐 대충 이런 ..?

 

진짜 뭐지 약간 갑분싸였다가

 

구글링으로 답을 얻을 수 있었다.

 

virtualbox 버전 종특인지 cpu intel 9세대 종특인지는 모르겠으나

 

나같은경우는 6.0.6으로 새로 설치했을때 정상 동작했다 ...

 

너무 어이없는 경험쓰

 

참고 : https://forums.virtualbox.org/viewtopic.php?f=3&t=93990

 

최근에 집에서 하는 모든 작업은 intellij로 하려고 노력하고 있다..

 

이클립스쓰다가 넘어오려니 러닝커브가 꽤 크다 .. ㅠ

 

 

maven 기반 프로젝트에서 pom.xml이 수정될때마다 intellij의 java language level이 계속 떨어지는 이슈였다

 

아래는 pom.xml에 다음과같이 넣어주면 문제없이 잘 해결된다.

 

 

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.5.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
</build>

 

maven-compiler 에게 java version을 명시적으로 선언해준다. 

 

 

 

출처 : https://stackoverflow.com/questions/27037657/stop-intellij-idea-to-switch-java-language-level-every-time-the-pom-is-reloaded

 

보통 컨트롤러 테스트할때는

 

Mockmvc 기반으로 많이 하실텐데

 

@ControllerAdvice 로 지정한 Global Exception Handler가 Test에서는 동작하지 않을 때가 있다.

 

모르고 삽질하면 꽤 삽질할것같은 내용이기 때문에 블로그로 남긴다

 

Mockmvc를 생성할때 다음과 같이 setControllerAdvice()로 사용할 class를 지정해주어야 한다.

 

mockMvc = MockMvcBuilders.standaloneSetup(yourController)
            .setControllerAdvice(new YourControllerAdvice())
            .build();

 

출처 : https://stackoverflow.com/questions/15302243/spring-mvc-controllers-unit-test-not-calling-controlleradvice

 

Spring MVC Controllers Unit Test not calling @ControllerAdvice

I have a set of Controllers in the application and a class annotated as @ControllerAdvice which sets up certain data elements that are used in each of these controllers. I'm using Spring MVC 3.2 an...

stackoverflow.com

 

+ Recent posts