jenkins 파이썬 라이브러리를 사용해 API를 호출할 때 사용할 수 있는 예시이다.


간단히 아래 문서를 통해 파이썬으로 사용할 수 있다.

https://python-jenkins.readthedocs.io/en/latest/examples.html#example-3-working-with-jenkins-jobs


예시에서는 토큰이 아니라 user 이름, password를 사용했다.  가벼운 배치이니.


server = jenkins.Jenkins(self.host, username=self.user, password=self.password)


그냥 사용하면 403에러가 난다. 

urllib.error.HTTPError: HTTP Error 403: Forbidden



제대로 동작시킬려면 configure security 수정이 필요하다.







Posted by '김용환'
,


청와대 정책실장 김상조가 인터뷰한 것 중에 좋은 내용이 있어서 발췌한다.



https://news.v.daum.net/v/20191008063302499?f=m


◇ 정관용> 어쨌든 그런데 지금 지난 20년 동안을 보면 공정경제, 즉 재벌의 기득권 구조가 다른 신생 기업들의 성장을 상당히 가로막아온 측면이 강하다. 이건 분명히 인정할 수밖에 없는 거 아닙니까? 지난 20년 동안. 앞으로는 그게 없어질까요?

◆ 김상조> 그러니까 이제 그 공정경제를 통해서 우리 사회의 혁신 즉 역동성을 어떻게 다시 키울 건가라고 하는 그 방법론의 문제라고 생각을 합니다. 그래서 그날 제가 말씀드렸던 것도 우리가 생각하는 경제민주화, 재벌개혁, 공정경제의 상이 혹시나 30년 전에 만들어진 것이 아니냐 즉 한국 경제가 고도 성장하고 우리 기업들이 돈을 많이 벌 때 그 환경 속에서 생각했던 경제민주화의 방법론을 완전히 상황이 180도 달라진 지금에도 고집하고 있는 것이 아니냐라는 차원에서 제 생각을 말씀드리는 거였고요. 그러한 의미에서 우리가 필요한 국민의 생명, 안전과 관련된 그런 어떤 규제는 강화해야 되겠지만 또 한편으로는 시대에 뒤떨어진 또는 특히 4차 산업혁명시대에 맞지 않는 과거의 어떤 규제는 혁신하는 노력을 이걸 공정경제의 후퇴라고 이해하면 안 된다라고 말씀드린 거고 제가 지금 정책실장으로서 하고 있는 가장 중요한 일이 바로 이 혁신과 공정이라는 두 가지의 목표를 어떻게 조화할 것인가라고 하는 문제인데요. 제가 저가 아까 처음 시작할 때 이 경제정책보다도 사회정책 쪽이 더 어렵다고 하지 않았습니까. 바로 이 부문과 관련해서 우리 사회의 사회적 가치가 충돌하고 기득권이 충돌하는 부분이 너무나 많습니다. 그래서 이 부분에 관해서 제 결심은 딱 이거 하나입니다. 뭐가 정답인지는 솔직히 모릅니다. 그렇다고 해서 결정을 미루면 정부 부처가 움직이지 못하고 시장의 기업들은 혁신하지 못합니다. 그런 의미에서 늦지 않게 결정을 내려야 된다라고 하는 게 제가 정책실장으로 있는 동안 하고자 하는 가장 중요한 과제이자 원칙이라고 할 수가 있습니다.

◇ 정관용> 흔히 규제완화 그러면 재벌들 살기 좋은 세상들 만들어주는 거 아니냐는 오해가 있는데 김상조 실장은 그게 아니라는 거죠? 규제완화다 필요할 때는 해야 한다는 거잖아요. 그런데 그 규제완화의 혜택이 재벌이 아닌 신생 도전기업들에게 돌아갈 수 있는 그런 걸 만드는 게 중요한 거 아닌가요?

◆ 김상조> 맞습니다.

Posted by '김용환'
,


좋은 내용이 있어서 발췌한다.



<리더는 욕먹는 예언자다>


상장은 기업의 실적과 권한을 자연스럽게 분배해 준다.

상장과 성장과 보상과 분배의 황금 비율은 기업 경영의 영원한 숙제다. 

넥슨은 이 지점에서 심한 상장통을 앓았다.

수평적 조직이라는 넥슨의 장점이 이때만큼은 약점으로 작용했다.


위젯 인수는 내부 개발자들한테 충격이었지만 분명 김정주의 탁월한 경영적 선택이었다.

위젯 인수는 양면적이었다. 넥슨의 위젯 인수로 한국 게임 업계는 지각 변동을 겪게 된다. 

정상원을 비롯한 개발자들이 대거 이탈하면서 넥슨 경쟁사들의 개발력이 강화된다.


역설적으로 경영 실험의 실패는 넥슨에 전문 경영인 체제가 뿌리내리는 바탕이 된다. 


대주주 김정주가 자기 역할을 재정의한 덕분에 넥슨에는 전문 경영인 중심의 경영 문화가 일찍부터 자리잡게 된다.


...


<혁신의 딜레마>


성공의 역설은 성공한 기업이라면 결코 피해갈 수 없는 함정이다.

성공의 역설은 기업의 관료화와 짝을 이룬다.

변화를 두려워하게 된 조직은 과거의 성공을 이상화하고 자신의 과거를 답습하는 자기 복제를 시작한다.


성공의 역설을 극복하는 유일한 방법은 세대교체 뿐이다.


나갔던 인재는 스스로 더 성장해서 들어와야 한다. 그 때 회사는 기꺼이 더 비싼 몸값을 지불해준다. 


지금까지 넥슨을 성장시킨 인재들 가운데 상당수가 한 때는 넥슨을 매몰차게 떠났던 사람들이라는 건 우연이 아니다.


김정주의 최대 장기가 이것이다. 김정주는 퍼즐을 맞추듯 인재와 기술과 자본을 조합한다. 


퍼즐은 세월에 깍이고 넥슨이라는 퍼즐판의 구조가 또 바뀌기 때문이다. 사람은 변하고 판은 바뀐다.






'After reading book' 카테고리의 다른 글

무인양품을 읽고  (0) 2019.10.15
'우버인사이드'를 읽고  (0) 2019.10.13
"쿠팡" - 우리가 혁신하는 이유  (0) 2019.10.05
구글을 움직이는 10가지 황금율  (0) 2019.08.17
파워풀  (0) 2019.07.25
Posted by '김용환'
,


맨날 까먹는 JPA의 Repository 조회 메소드 규칙은 다음과 같다. 



https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#jpa.query-methods


Table 3. Supported keywords inside method names
KeywordSampleJPQL snippet

And

findByLastnameAndFirstname

… where x.lastname = ?1 and x.firstname = ?2

Or

findByLastnameOrFirstname

… where x.lastname = ?1 or x.firstname = ?2

IsEquals

findByFirstname,findByFirstnameIs,findByFirstnameEquals

… where x.firstname = ?1

Between

findByStartDateBetween

… where x.startDate between ?1 and ?2

LessThan

findByAgeLessThan

… where x.age < ?1

LessThanEqual

findByAgeLessThanEqual

… where x.age <= ?1

GreaterThan

findByAgeGreaterThan

… where x.age > ?1

GreaterThanEqual

findByAgeGreaterThanEqual

… where x.age >= ?1

After

findByStartDateAfter

… where x.startDate > ?1

Before

findByStartDateBefore

… where x.startDate < ?1

IsNullNull

findByAge(Is)Null

… where x.age is null

IsNotNullNotNull

findByAge(Is)NotNull

… where x.age not null

Like

findByFirstnameLike

… where x.firstname like ?1

NotLike

findByFirstnameNotLike

… where x.firstname not like ?1

StartingWith

findByFirstnameStartingWith

… where x.firstname like ?1 (parameter bound with appended %)

EndingWith

findByFirstnameEndingWith

… where x.firstname like ?1 (parameter bound with prepended %)

Containing

findByFirstnameContaining

… where x.firstname like ?1 (parameter bound wrapped in %)

OrderBy

findByAgeOrderByLastnameDesc

… where x.age = ?1 order by x.lastname desc

Not

findByLastnameNot

… where x.lastname <> ?1

In

findByAgeIn(Collection<Age> ages)

… where x.age in ?1

NotIn

findByAgeNotIn(Collection<Age> ages)

… where x.age not in ?1

True

findByActiveTrue()

… where x.active = true

False

findByActiveFalse()

… where x.active = false

IgnoreCase

findByFirstnameIgnoreCase

… where UPPER(x.firstame) = UPPER(?1)


Posted by '김용환'
,