deprecated - 리엑티브 ㅈ바

deprecated된건 아니고

~

Deprecated.. 제발

  • RoR
  • Flask
  • Spring Webflux
  • Java

    현역인 Legacy

  • spring-web-mvc

    아직도 현역

  • Django
  • Express
  • VertX
  • Scala
  • Akakakakak
  • Elixir

    대세

  • FastAPI
  • ne js~~
  • go-all
  • kotlin-all

    애매한놈

  • Quarkus

악의 근원 망가진 ㅈ바

15정도에서 하위호환성 갖다버리는 업데이트를 했어야 했다. 프로그래밍 언어의 트렌드가 리엑티브가 되고 그걸 자바로 구현한게 projectreactor… 머리좋고 코딩은 잘 해서 이 좆같은 언어로 어떻게든 그걸 구현을 해 버렸다. https://godekdls.github.io/Reactor%20Core/introductiontoreactiveprogramming/ 콜백지옥이 어쩌니 하면서 그걸 쉽게 만들려고 이 짓을 했다는데… 이게 더 어렵지 않나? 펑셔널하게 쓰고싶으면 펑셔널언어를 쓰라고

Loom이 모두 해결해줄거야

19에서 나왔다고 한다. 많은 사람이 기다렸지만… 나왔는데 아무도 관심이 없다. 이미 실망한건가? https://appleg1226.tistory.com/64 loom은 virtual thread라는 방식으로 설계했다고 한다. 하위호환성을 위해서겠지… 또 못 버렸네 Thread.ofVirtual().start()처럼 사용하면 된다고 한다. 이정도로는 복잡한 문법이 개선이 안될 것 같은데… 대부분 개발자에게 이미 익숙한 async, await를 외면하는 이유는 뭘까?

jvm은 kotlin, scala로 넘어가는 수 밖에 없다.

전성기 지난 Java + Spring

아래 있는거 안 써본 사람?

  • java6
  • spring security
  • spring annotation
  • hibernate, jpa
  • spring data
  • springboot

스프링의 전성기는 위의 기술들 하나씩 나오던 10년 좀 넘는 기간이었다. spring xml+java6 부터 springboot webmvc + spring data 까지

reactive, MSA 트렌드가 오면서 변화에 실패한 Spring은 쇠락하고 있다. 아래는 그 이유들

JPA의 경쟁력 하락

생각 해 보면 JPA(hibernate)는 몇 가지 심각한 문제가 있었음에도 성공하긴 했다. (n+1문제, 마이그레이션 히스토리 기능없음, 디비 특화기능 사용못함, 파티션테이블도 애매 …) 그럼에도 불구하고 많이 사용됐고 DDD가 나오면서 유행을 타고 표준이 됐다.

성공은 아마도 다음 이유로…

  • 경쟁기술에 비해 성능, 신뢰성, 생산성 다 좋았다.
  • 신뢰성 높은 아파치재단 기반의 자바 상태계
  • 강력한 스프링 생태계
  • 레일즈의 장점을 가져와 간편해진 스프링부트
  • 활성화된 커뮤니티
  • 타입드 언어 장점

경쟁력 하락 요인은 이런 이유…

  • 이제는 node, go, python 기반 기술이 더 쉽고 Reactive지원도 더 잘 되서 우위는 없다.
  • 이상주의자 코더들이 현실을 깨닫고 이상한 짓을 안 한다.
    • 복잡한 디비를 ORM을 이용해서 객체처럼 관리한다???
    • 여러 디비를 한가지 ORM만으로 사용한다???
  • 슈퍼 개발 방법론 DDD
  • TDD환장쇼
  • 빠르고 쉬운 경쟁자의 부상
  • 리엑티브 지원불가 - 리엑티브 지원은 Loom 나오고 나서일까?
  • JPA의 다음 단계인 줄 알았던 R2DBC에 대한 실망
    • 아예 다른 접근방식을 사용한다
    • JPA의 단점이 해결될 줄 알았는데 기능이 없어져버림

webflux, r2dbc, hibernate-reactive는 reactor계열이라서 ㅈ나 어렵다 Loom이 출시되고 나아질거라 기대했지만… 별로 안 나아질듯

함정이 된 r2dbc

hibernate-reactive와 의존성이 없다. webflux 2017년에 나오고 2022년에 r2dbc 정식이 출시됐는데 정식버전만 기다리던 사람들이 다 실망하지 않았으려나?

relation join도 안되고 좀만 뭐 하면 쿼리 떡칠해야 하니…. 어차피 쿼리 쓸거면 mybatis를 쓰고 말지

라인에서 똑똑한 친구들이 왜 이딴걸 만들었나 했는데…. https://engineering.linecorp.com/ko/blog/kotlinjdsl-reactive-criteria-api-with-kotlin 처음 보면 손쉽게? 뭐가 쉽다는건가 싶은데… r2dbc, hibernate-reactive 등등 직접 사용 해 보고나니 이게 쉽다는게 무슨 소린지 알게 됐다.

늦은 Reactive DB

webflux(2017) 나오고 r2dbc(2019RC, 2022GA) 정식버전은 한참 더 있다가 나왔다. r2dbc가 늦어지는 사이에 이미 js, go 등 빠른 reactive 웹프레임워크가 자리잡은 상황.

시간을 끌고 나왔는데… JPA에서 라이브러리만 딱 바꾸면 되는게 아니네?

R2DBC 설명

  • https://heesutory.tistory.com/33
  • https://medium.com/@develxb/r2dbc-with-mysql-771313374b63 호환 안되는 완전히 다른 기술이면 어노테이션이나 기타등등을 다 따로 만들었어야 했는데 애매하게 같이 사용해서 맨날 Transactional이 동작이 안되니 뭐니 하는 글만 올라온다. jakarta(javax)도 써야만 했나?

JPA에서 맨날 문제 일으키는 부분을 제거 해 버린건 좋은데… JPA의 후속작 같은 느낌을 줘서 같은 기능이 제공될거라는 생각이 드는게 또 다른 문제다.

  • 영속성컨텍스트가 없고 캐싱, 레이지로딩이 지원 안된다. (장점일지도??? JPA에서 성능에 별 도움 안되면서 맨날 오류나는 쓰레기 기능들)
  • 릴레이션 안 잡힌다는것도 1:n오류나는 쓰레기설계를 아예 버려버리고 수동으로 하라고 한 것 같은데

webflux 로깅 & 디버깅

헬HELLLLLLLLlllllllllleL… 언어 차원에서 지원해야 할 기능을 코드로 구현하다 보니 생긴 문제라고 생각하는데 Loom에서 해결되길 기대했는데 어림도 없다. js처럼 await, callback이 생길 줄 알았는데…

역겨운 reactor

  • 성능만 잡은 reactor - 너무 어렵고 복잡함
  • 이 복잡한걸로 코딩을 하면 더 복잡해짐
  • 로깅 & 디버깅 헬HELLLLLLLLlllllllllleL…

webflux, r2dbc, …. ㅈ바계열에서 리엑티브는 다 이모양이다.

		assertThat(
				rest.exchange(RequestEntity.post(rest.getRestTemplate().getUriTemplateHandler().expand("/proxy/type"))
						.body(Collections.singletonMap("name", "foo")), new ParameterizedTypeReference<List<Bar>>() {
						}).getBody().iterator().next().getName()).isEqualTo("host=localhost:" + port + ";foo");

webflux, hibernate-reactive, r2dbc… 리엑티브 개발을 하려면 필수적으로 알아야 하고 이걸 기반으로 코딩을 해야한다. https://spring.io/blog/2023/10/31/what-new-is-coming-in-reactor-core-3-6-0

이게 ㅈ나 어려워서 ㅈ같다. ㅈ같은 괴랄맞은 문법으로 코딩이 가능하긴 한가???

MSA 시대

스프링은 대규모 모놀리스 웹을 개발하기 적합한 구조를 가지고 있다. 성능은 좋은데 실행속도가 느려서 컨테이너에서 관리하기 불편하다. 웬만한 웹 서버 만들어서 올릴 때 로딩에 30초씩은 걸리는 것 같다.

go, js계열은 실행하면 바로 뜬다.

spring native가 있긴하지만… 사용이 편하진 않아서 많이 개선이 필요 해 보이는데…. 이미 쇠락한 스프링생태계는 발전이 더디다. 하위호환성 유지하는게 문제인듯??

Mono, Flux …

매번 써주려니 왠지 기분나쁘다. Uni, Multi도 있고 Haha, Dul, Mani로 변경해서 써도 되겠네

@Transactional 어노테이션도

예전같이 사용자 별로 없어서 대충 만들때는 상관없었는데… 트래픽이 점점 늘다보니 함수를 통째로 트랜잭션 거는게 부담스럽다. 락이 너무 길어진다.

시스템 복잡해지면서 Transactional때문에 발생한 문제가 한두개가 아닐듯? ㅎ 한개 디비에서 동작시킬 때

고인물 RoR

예전에 RoR 처음 접하고 놀란게 bundle add -> rake install -> rails g 이렇게만 하면 뭔가 뚝딱 기능이 생겼던건데

언제부턴가 이렇게 하고 쓰려고 하면 뭔가 오류가 난다. 어떻게든 수정해서 쓰면 되긴 하는데… 잘 모르겠다. 뭐 찾아보면 10년전것만 나오고

생태계가 작아지다 보니 뉴비가 없어서 고인물만 남으니… 친절할 필요도 없어지고… 그냥 쓰던 사람들만 익숙하니까 쓰는 기술

대안

Quarkus

자바진영의 구세주인 줄 알았으나… 이것도 은근 되는게 없다. 실행부를 다 숨겨놔서 라이프싸이클이 어떻게 되는지도 모르겠다. 약간 서버리스처럼 쓸 수 있도록 설계를 해 놨는데…. 그러기에는 예제도 많이 부족하고 좀 그렇다.

hibernate-reactive를 이용해서 샘플코드를 만들어 봤는데… jdbc는 잘 되는데 reactive는 테스트가 안되네? experimental이라 그런가? 하여간 좋은 척 하는게 되는거 하나 없는 오픈소스놈들..

어제 버린 스프링 가지러 분리수거장 갔다온다.

Ktor

코틀린 쓸거면 케이토ㄹ 써야지

ORM은 exposed를 추천 해 놨던데 reactive지원이 되나? 안되는듯? 어쩌나…

기타등등

py, go, js 계열은 트렌디하게 업데이트도 잘 되고 좋아 보인다. SI도 메이저 기업도 못 갔는데 스프링같은거 안 했으면 좋았을걸… 하는 생각도 든다. 스프링이 사람/직장 구하기 쉽다는 것도 옛말이고

최종

라인 방법론으로 간다.

1차

  • jdsl
  • hibernate-reactive

    2차

  • armeria 전환

REF

Reactor

  • https://tech.kakao.com/2018/05/29/reactor-programming/
  • https://beer1.tistory.com/16
  • https://github.com/reactor/reactor
  • https://spring.io/blog/2023/10/31/what-new-is-coming-in-reactor-core-3-6-0

    Webflux

  • https://gunsdevlog.blogspot.com/2020/09/reactive-streams-reactor-webflux.html

    Armeria, Netty

  • https://armeria.dev/docs/advanced-kotlin
  • https://projectreactor.io/docs/netty/1.1.5/reference/index.html
  • https://projectreactor.io

    Loom

  • https://www.reddit.com/r/java/comments/xf4pl7/reactor_bad_loom_good_but_how_will_the_landscape/
  • https://appleg1226.tistory.com/64
  • https://guruma.github.io/posts/2018-09-27-Project-Loom-Fiber-And-Continuation/

    Reactive

  • https://spring.io/blog/2019/04/12/going-reactive-with-spring-coroutines-and-kotlin-flow

2025

바이브코딩

1 minute read

바이브 코딩? 이거 구글검색해서 복붙할 때 많이 쓰던 것 아닌가 블로그에서 생각없이 붙여넣는 놈들 많았잖아??

Apache Airflow

less than 1 minute read

배치작업스케줄링돌려서일좀시키려는데워크플로우관리도같이시키려고이것저것찾아보다가원래쓰던argo-workflows가아닌옛날부터유명했던에어플로우가눈에들어와서설치해봤는데

Ts Ssibal Ts

1 minute read

M$의 더러운 ts에 오염된 js 생태계

Helm

1 minute read

헬름 쓰레기.

Back to top ↑

2024

Python Asyncio

less than 1 minute read

응좆까 성능 따질거면 파이썬을 왜써

Workflow Tool

2 minute read

워크플로우 관리 도구 용도별 비교

Jwx

1 minute read

1. JWT (JSON Web Token)

Ai Dev Editor

1 minute read

JetBrains는 뭐하고 있나, 이기야!

Typescript Fuck

less than 1 minute read

타입스크립트 쓰면 쓸수록 좆같은 언어

Post Put Patch

less than 1 minute read

멱등성을 지키려면 이 셋을 확실히 구분해야한다 rest api를 만들 때는 그나마 구분하는데 그냥 api를 만들때는 별 생각없이 쓰는 경우가 많다.

K8s Operator Kotlin Why Java

less than 1 minute read

클러스터에 앱을 배포/백업/모니터링/자동꺼짐 등을 제공하는 관리 기능에 오퍼레이터가 적합하다고 판단해서 기술 검토

Juju

less than 1 minute read

Django Study Opensource

less than 1 minute read

참고용 https://github.com/CAVIND46016/Simple-Calculator-Web-app 74 https://github.com/vitorfs/bootcamp 2.3k https://github.com/testdrivenio/django-aloe-b...

Ai Marketing Chat Gpt

less than 1 minute read

항상 의문이었다. 머신러닝에 AI라는 명칭을 붙이는게 적절한가?

Libpq

less than 1 minute read

postgresql을 지우고 libpq로 깔끔하게 설치해서 사용하기

Rate Limit

less than 1 minute read

https://github.com/quarkiverse/quarkus-bucket4j

Golang Starter

less than 1 minute read

starter kit이 … 자유도가 높아서…

Opensource Bb

less than 1 minute read

https://opensourcelist.github.io/products/forum.html

Auth

less than 1 minute read

Gitlab 메이저 버전 업그레이드

less than 1 minute read

Gitalb CE 필수 지식 보통 docker로 쓸텐데 버전을 latest, rc로 사용하면 안되고 버전을 명시해서 사용해야한다. 현재 시점에서 gitlab/gitlab-ce:16.9.2-ce.0이 최신

성공하고 싶으면 대용량트래픽 망상에서 탈출해라

1 minute read

reactive 백엔드 생산성이 떨어진다. 시작할 때 프로젝트 아키텍처부터 de-facto가 없어서 삽질이 심하고 어디 오류나서 검색해도 예시가 없다. 대용량 트래픽부심 부리는 회사들 대부분 포함해서 웬만한 회사들은 mvc로 충분…

Cdi

less than 1 minute read

REF https://github.com/google/dagger https://github.com/InsertKoinIO/koin-annotations https://github.com/InsertKoinIO/koin-getting-started https://...

deprecated - 리엑티브 ㅈ바

4 minute read

deprecated된건 아니고 ~ Deprecated.. 제발 RoR Flask Spring Webflux Java 현역인 Legacy spring-web-mvc 아직도 현역 Django Express VertX Scala...

Apache Storm

less than 1 minute read

집정리 버리기전 리뷰

마스터링이더리움

less than 1 minute read

이더리움 쿡북 패스.. 마스터링 이더리움이 더 좋은듯 앞쪽 좀 보다가 버림

공유사무실 패파이브스팟

1 minute read

파이브스팟? 원래 공유사무실 로비를 사용하는 개념이었는데 공유사무실 로비는 기존 사무실입주자들에게는 휴게실이라…. 간식먹고 떠드는 곳이라 업무에 적합하지 않다. 그래서 파이브 스팟이라고 업무용 로비를 별도로 만든 것 같다. 학생이나 1~2인 회사가 사무공간을 전용으로 얻는것은 부담...

블록체인 해설서 이병욱 인사이트

less than 1 minute read

코인(블록체인) 시장에? 가장 부정적인 견해를 가진 관련 전문가의 책 2019년 코인판에서는 좀 된 책인데 내용은 지금 봐도 좋다.

Login Security

less than 1 minute read

로그인, 회원가입 보안 그냥 회원가입 문제 로그인 시 이메일이나 아이디로 회원가입 여부를 확인시켜주면 안된다 비밀번호가 틀렸는지 없는 회원인지 알려주면 안된다 이건 논란이 있겠다. 편의성 때문에 ...

Crypt

1 minute read

암호화 알고리즘

Coin

less than 1 minute read

연봉 얼마까지 알아보고 오셨어요?

less than 1 minute read

정말 좆같은 악습이다. 왜 연봉을 얼마 받고 싶은지 직원에게 물어보는걸까? 회사에서 얼마를 줄 수 있는지를 말해줘야 하는것 아닐까? 돈을 잘 버는 회사는 많이 주고 못 버는 회사는 조금 주고 하지만 많이 벌게되면 더 주면 될 일이다.

터미널 스크립트 with py, rb - bash스크립트 대체

1 minute read

쉘 스크립트를 써야할 때 퍼블릭 배포 https://github.com/apache/tomcat/blob/main/bin/catalina.sh .sh는 리눅스, 맥, 유닉스 환경에서는 거의 유사하게 실행된다. public 배포용이라면 호환성을 위해 .sh를 쓸 수 밖에 없다. 윈도...

입사면접 vs 입사시험

1 minute read

채용에 관한 의문과 답변 Q. 면접은 왜 보는걸까? A. 구직자의 능력을 검증하려고 Q. 면접으로 능력을 검증 할 수 있을까? A. 질문과 답변 형태에 따라 사람에 따라 Q. 대화능력, 순발력이 떨어지는 경우라면? A. 떨어진다 Q. 질문지를 충분히 구조화 할 수 있나? A. 가능...

[도서] 윤성우 열혈 자료구조

less than 1 minute read

책 정리하다가 자료구조 한번 다시 봤는데 “C언어로 구현한 자료구조 - 임형근 저”보다 훨씬 나은듯? (이건 버렸다)

Kysely orm 잠깐적용 후기

less than 1 minute read

prisma 로딩시에 오류나는거 짜증나서 다른걸로 바꾸면서 몇개 적용 및 검토 해 보면서 든 생각

Back to top ↑

2023

폰트 무료사용

less than 1 minute read

https://gongu.copyright.or.kr/gongu/singl/wrtContent/freeFont.do?menuNo=200323

2023 Python 프로젝트 시작하기

1 minute read

서버개발 시장에서 사라질 줄 알았던 언어… 파이썬… 어차피 서버는 켜 놓는거고 접속자는 얼마 안되니 성능은 개나줘버려 편한게 장땡인 생산성의 시대를 맞아 그리고 AI시대 tensorflow의 언어로 한자리 차지하게 된 파이썬 ChatGPT가 가장 선호하는 언어 1위

Back to top ↑

2022

대용량 트래픽 경험?

less than 1 minute read

대용량 트래픽을 고려하면서 코딩을 하라는 소리는 존나 웃긴소리다

풀스텍에 대한 환상 - 비교우위

less than 1 minute read

사람이 하루에 일할 수 있는 시간 8시간.. 주당 40시간 진짜 미친듯이 한다고 하면 주 100시간까지 할 수 있다.

[도서] 개발 함정을 탈출하라

1 minute read

소프트웨어 회사들이 흔히 하는 실수를 다 써 놨다. 이 업계에서 일하는 누가 읽어도 이거 우리회사 얘긴데.. 싶을거다. (진짜 잘되는 회사 제외)

좆타트업 OKR

1 minute read

구글도 페이스북도 OKR로 성공했다고 한다 유니콘, 데카콘은 다 이걸 한다고? 이거 시크릿과 비슷하다고도 할 수 있도? OKR만 하면 성공하는건가? 한화그룹금융계열과 SK도 OKR을 도입했다고?

Back to top ↑

2021

log4j - 0 day vulnerability

less than 1 minute read

logging for java - 이미 유행 좀 지났지만… 생각났던거 다시 정리 0 day vulnerability 는 개발자보다 공격자가 먼 알아낸 문제점으로 0일부터 현재까지 모든 날짜가 위험했다는 의미

직접 구축하기 vs 돈내고 쓰기

1 minute read

이성적으로는 돈 내고 쓰면서 빠르게 개발하는게 낫다는걸 알지만 하나하나 구축하려는 욕심이 든다 적정기준을 정해놓고 따르는게 좋을 것 같은데

네이버 클라우드 사용후기

1 minute read

네이버 클라우드는 중소 벤처기업에 요금지원을 1~2년씩 해주면서 사용자를 모으고 있는 것 같다

젊은 스타트업 = 망하는 스타트업, feat. 메타인지

1 minute read

젊은 스타트업이 젊은채로 지속적으로 성장하면 어느 순간에 고꾸라진다 큰 회사는 늙을 필요가 있다 아니면 작은 회사로 나눠지던가 사업이 안정화 될 수록 회사는 늙어가야한다 현재 상태를 유지 할 필요가 있다 그리고 창업자가 초기에는 제 역할을 했더라도 성장하는 조직과 함께 역량이 성장...

Ktor web framework - kotlin

less than 1 minute read

kotlin web framework인데… 간단하게 rest api 만들기 좋다. 간단한 rest api가 필요한가?? 프로토타이핑 정도 하는거라면 모를까 그냥 스프링 쓰는게 나을 것 같다

2021-02 최근 개발서적

less than 1 minute read

ROS로봇프로그래밍 네트워크 가상화의 모든 것 프로메테우스 인프라스트럭처 모니터링 무조건 이기는 첫 사업 스프링으로 하는 마이크로 서비스 구축 스프링 부트 QuickStart CloudNativePattern 마스터링분산추적 파이어베이스(백문이불여...

VSCODE ssiba

less than 1 minute read

터미널과 진짜 터미널의 환경변수가 다르다

UNIX 유닉스의 탄생

less than 1 minute read

그냥 옛날이야기나 써 있을 줄 알았는데 기술서적이었다

CAS - 로컬실행/개발환경 만들기

1 minute read

뭔가 괜찮은 것 같으면서도 애매한 오픈소스 프로젝트… 복잡함 때문에 몇 번 사용하려다가 포기 했는데 이번에 인증서비스를 만들면서 다시 사용하려고 한다.

색상

less than 1 minute read

https://2colors.colorion.co/

Back to top ↑

2020

FPGA

less than 1 minute read

재미있는걸 알게되서 조금 조사 해 봤다

React

less than 1 minute read

생명주기 메서드

2020 소액체당금

1 minute read

IT기업은 잘 망한다. 다른업종에 비해 창업이 쉬워서 좆소기업이 많아서 더 그렇다

MySQL batch insert

less than 1 minute read

CREATE TABLE t_user_logs ( id INT PRIMARY KEY AUTO_INCREMENT, username VARCHAR(30) NOT NULL, action_ts TIMESTAMP NOT NULL, action_type VARCHAR(30) NO...

Clojure TechSet

less than 1 minute read

https://github.com/metosin/malli https://github.com/Engelberg/better-cond?fbclid=IwAR0hOiT565yBESTdoBpfI76HGa9MbYtwepQdqYWNU4fNtxPG1TKLL15JyGk https:/...

Python Flask 관련기술

less than 1 minute read

파이썬 전반적인 부분과는 별개로 Flask 사용할 때 필요한 부분들

2023 Python 서버기술

less than 1 minute read

파이썬으로 제대로된 서버개발을 한 적은 없어서 몇 가지 조사하다가 발견한것들 2020작성 - 20230712 업뎃 크게 변한게 없어서 새로 작성 안하고 업뎃

서비스 구축시 도메인 구매

less than 1 minute read

그냥 월 비용이 존나게 비싸거나 다른데로 이동하려면 눈탱이 치는 사이트가 있어서 잘 고르는게 좋다.

React Components

less than 1 minute read

컴포넌트 모음 https://github.com/brillout/awesome-react-components

방화벽

less than 1 minute read

Mod Security Webknight Dot Defender iptables ufw

Back to top ↑

2019

갤럭시 이메일앱에서 office365 이메일 연결

less than 1 minute read

미친새끼들이 무슨 권한을 너무 과도하게 가져가는거 아닌가 휴대폰의 모든 권한 및 초기화권한까지 회사 관리자에게 내준다고 돼 있다 개인사진을 폰에 넣어놔도 회사 관리자가 맘먹으면 빼갈 수 있는 정도의 권한

전문가용 터미널 셋팅

less than 1 minute read

개발자는 터미널이 간진데 텍스트 편집할 때 emacs까지는아니라도 vim정도는 써 줘야된다. 근데 이게 기본형으로 쓰면 또 각이 안나와서 추가기능을 깔아주고 다른사람 자리에서 vi쓸 때 이게 왜 안돼? 같은 대사도 해 주고 해야된다

Process Manager

less than 1 minute read

불안정한 쩌리랭기지들을 위한 도구

코딩 취업학원? 추천을 한다면

less than 1 minute read

이름은 언급을 못하겠고 좆만한 학원들 패스 인터넷이나 지식인에 영업사원이 답변다는 학원은 자동패쓰

Groovy를 터미널 스크립트로 사용하기

less than 1 minute read

개인적으로 Groovy의 문법이 맘에들어서 Java 프로젝트에서 유닛테스트를 할 때라던가 많이 사용하는데 (Kotlin 프로젝트에는 보통 코틀린을 사용…)

sudo without password

less than 1 minute read

https://askubuntu.com/questions/334318/sudoers-file-enable-nopasswd-for-user-all-commands https://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_sudo_%ED%8C%...

무료 기업용?도메인 이메일 주소 서비스yandex

less than 1 minute read

미제의 패악질을 참지 못한 불곰 형님들이 무료 도메인 서비스를 개시했다. 서비스 개 후진 양아치 네이버나 착하지만 서비스는 더 꾸진 다음하고 비교대상이 아니다. 그럭저럭 쓸만한 메일플러그와 같은 국내 서비스도 있긴한데..

Back to top ↑

2018

아키텍처 - MSA에서 GW의 역할

1 minute read

Microservice-Architecture-API-Gateway-Consideration.pdf 에서 보고 https://www.globallogic.com/wp-content/uploads/2017/08/Microservice-Architecture-API-Gateway-Co...

Intellij Idea - http api 테스트

less than 1 minute read

intellij idea에서 자체적으로 http client를 제공하는데 *.http 파일에 설정해놓고 사용 가능하다. postman도 공유 export 등등 다 가능하지만 소스코드에 넣어놓고 프로젝트별로 공유할 때는 이게 좀 더 편하다.

서버 - Cloud vs IDC

1 minute read

그냥 다 귀찮으니 편하게 쓰고 싶다면 Cloud를 쓰는게 맞다. 서버 조그만거 껐다 켰다 하는 경우에는 Cloud가 가격도 싸고.. 그런데 뭔가 조금만 무겁게 돌리려고 하면 Cloud의 GCP기준 2cpu 월3만원 4gb 서버는 좀 버거워 하는게 느껴진다. Kubernetes가 자...

서비스 베이스 프로젝트

less than 1 minute read

뭔가 개발하려면 꼭 필요한 녀석들이 있다. 그리고 한번 개발 해 놓으면 계속 쓸 수도 있고 (나만그런가 싶기도 하지만)

Vagrant box 추천

less than 1 minute read

vagrant 박스 - 공식 박스가 배포되는 경우

Kotlin에서 slf4j 로거 선언

less than 1 minute read

https://www.reddit.com/r/Kotlin/comments/8gbiul/slf4j_loggers_in_3_ways/ 자바에서 lombok을 쓰면서 고민도 하지 않았던 부분인데… 여기서는 왠지 신경쓰이는 부분.

관심 블로그

less than 1 minute read

개발 관련 블로그는 아니고 그냥 필력 괜찮은 잡글블로그

Back to top ↑

2017

Gradle 배포 프로파일 분리

1 minute read

//////////////////////////// 배포 프로파일 분리 //////////////////////////// task jarCopy(type: Copy) { from “${buildDir}/libs/${project.name}-${project.version}.ja...

Ubuntu 사용자 추가삭제

less than 1 minute read

사용자 추가 with sudo sudo adduser {username} sudo 비밀번호 삭제 sudo passwd -d {username} 수도권한 깜빡하면 여기서 추가 sudo usermod -a -G sudo {username}

VIM 편집기 사용

less than 1 minute read

그냥 nano만 쓰면서 vim이나 emacs같은건 쓸 생각이 별로 없었는데

Thymeleaf with JQuery Tmpl 충돌

less than 1 minute read

error org.attoparser.ParseException: (Line = 384, Column = 194) Malformed markup: Attribute “{%” appears more than once in element

SpringBoot -

less than 1 minute read

spring command line - 커맨드라인에서 실행되지 않는 자바언어에 커맨드라인툴은 별쓸모없다

SpringBoot -

less than 1 minute read

spring command line - 커맨드라인에서 실행되지 않는 자바언어에 커맨드라인툴은 별쓸모없다

H2 Database - 관련정보

less than 1 minute read

인메모리로 실행시켰을 때 접속할 수 있도록 하는 빈 주소 : http://localhost:8080/console

H2 Database - 관련정보

less than 1 minute read

인메모리로 실행시켰을 때 접속할 수 있도록 하는 빈 주소 : http://localhost:8080/console

C언어

less than 1 minute read

typedef int INT;

Crawling, Scrapping… 갑자기 뭔 신기술처럼 대접받는

1 minute read

요즘 갑자기 신기술처럼 포장되는 것 중 하나 그냥 Html파싱, 퍼오기라고 생각해서 이력서에도 굳이 안 쓰는데 시시콜콜하게 다 써놔야하나 하는 생각이 든다. 별것 아니고 계속 사용되어 왔지만 갑자기 주목받는 기술 중 하나

Classic ASP with Oracle Database

2 minute read

Classic ASP는 아직도 많이 사용된다. (cba) 일반 웹사이트에서는 많이 없어졌지만 Legacy System.에는 아직도… 새로 만드는 곳도 간혹 그냥 ASP로 하기도 한다.

Cafe24 사용후기 서비스의 문제점

less than 1 minute read

트래픽이나 기타 비용적인 측면은 그냥 넘어가자 1위사업자인 만큼.. 서비스가 안정적으로 제공된다면 참고 넘어갈 수 있는 부분이다. 과연 그런지는 써 봐야 알겠지만…

Log Monitoring

less than 1 minute read

https://techtalk.gfi.com/the-top-20-free-network-monitoring-and-analysis-tools-for-sys-admins/

Clojure IDE 선택

1 minute read

Clojure 공부 시작하려고 보니… 쓸만한 IDE가 없다.

Clojure - 시작하면서 느낀 소감이랄까

less than 1 minute read

자바 이외 jvm언어를 써볼까 하는 생각에 시작했는데 코틀린은 그냥 문법도 그렇고 맘에 안들었고 스칼라는 너무 잘난느낌이라 재수없고 클루져가 이름도 맘에들고 좋았다

Clojure - 시작하면서 느낀 소감이랄까

less than 1 minute read

자바 이외 jvm언어를 써볼까 하는 생각에 시작했는데 코틀린은 그냥 문법도 그렇고 맘에 안들었고 스칼라는 너무 잘난느낌이라 재수없고 클루져가 이름도 맘에들고 좋았다

UML - 프로젝트에 UML포함하기

1 minute read

이슈트래커나  프로젝트 문서 또는 소스코드에 프로젝트의 설계 관련 문서를 넣으면 좋을때가 있는데 여태까지는 진짜 적당한 프로그램이 없었다 대강 인터넷 찾아서 나오는 몇 가지 프로그램 비교해보면

UML - 프로젝트에 UML포함하기

1 minute read

이슈트래커나  프로젝트 문서 또는 소스코드에 프로젝트의 설계 관련 문서를 넣으면 좋을때가 있는데 여태까지는 진짜 적당한 프로그램이 없었다 대강 인터넷 찾아서 나오는 몇 가지 프로그램 비교해보면

Back to top ↑

2016

DevOps 연구시작

less than 1 minute read

진작에 관심은 있었는데… 쿼크의 존재가 증명되었다고? 우와~ 암흑물질을 증명한다고? 이야~ 이정도… 관심

MSSQL2008 -> Oracle12c Sqldeveloper이용 데이터 대강이전

1 minute read

어쩌다 보니 어느패션업체의 디비 마이그레이션업무를 처리하게 됐다. 직접 말한것은 아니고 기획자를 통해서 한다리 건너서 협의가 이뤄져서 정확히는 모르겠지만 전달받기로는 마이그레이션이 쉬운게 아니라고 설명을 하면 “그냥 해주면 안되요?” 라는 반응을 보였다는 것 같다.

Oracle 디비 백업 - expdp

1 minute read

expdp system/oracle@orcl directory=MY_DATA_PUMP dumpfile=shopmall.dump logfile=shopmall.dump schemas=shopmalljob_name=shopmall001

머징

less than 1 minute read

merge + ing

JavaScript 주소 가져오기

less than 1 minute read

Javascript에서 기본 오브젝트 정보를 가져올 때는 DOM구조를 타고 내려가는게 중요한데

오라클 11g 삭제

less than 1 minute read

개발하다보면 이것저것 깔고 지우고 많이 하게 되는데 오라클은 자동으로 삭제가 안된다

Windows7,8,10 - VirtualBox 64bit OS가 잡히지 않는경우

less than 1 minute read

먼저 하드웨어 가상화 설정 CMOS에 보면 VT-D  또는 Virtualization 어쩌고 하는 항목이 있는데 True, Enable, OK 등등 설정해주면 된다. 최근 5년안에 나온 cpu나 메인보드에는 다 지원하는 것 같은데 없을수도 있다.

BCrypt 암호화 방식

less than 1 minute read

비밀번호 저장에 특화된 암호화로 매 실행시마다 값이 변경된다.

Ubuntu 16.04 Redmine 3.3 설치

1 minute read

sudo apt  16에서는 apt가 새로 추가됐다.apt-get은 레거시 지원은 되는것같은데 새로운게 더 좋아보이니 이걸로

MediaWiki 이메일 설정시 발생하는 문제

less than 1 minute read

문제상황 및 처리 미디어위키 비밀번호를 분실 -> 디비에서 값을 직접 변경 해 줘도 로그인이 안 되었다. (아마도 SALT값이나 다른 보안코드를 저장해놓는 듯 싶었다) -> 그래서 이메일로 비밀번호 찾기를 시도하는데 이메일이 전송되지 않았다. 이메일 서버를 설정한 적이 ...

Back to top ↑

2015

JPA - ManyToMany

less than 1 minute read

http://en.wikibooks.org/wiki/Java_Persistence/ManyToMany

Java 서버 주소 가져오기

less than 1 minute read

1단계 서블릿 가져오기 http://stackoverflow.com/questions/6814611/how-to-find-the-base-url-of-the-current-webapp-in-spring

Back to top ↑

2014

Spring xml config

less than 1 minute read

웹 프로젝트는 web.xml에서 시작된다

proxypass load balance

less than 1 minute read

ProxyPass 이용해서 로드밸런싱 겸, 아파치에 연결해서  VHost사용

FlauUI관련정보

less than 1 minute read

Bootstrap기반으로 만들어진 CSS+JS 템플릿

루비 싹 지우고 다시깔기 Ruby Clean and reinstall

less than 1 minute read

우분투 1.4.1로 올리는데 이것저것 다 최신버전 써볼까 하고 그냥 클릭했더니…. 아파치가 업그레이드가 돼버렸다. 루비 1.9.3의 passenger가 아파치2.4에 왠지 잘 연결이 안되서 그냥 루비도 업그레이드 해 버리기로 했다.

LogBase 순차데이터 저장소

less than 1 minute read

필요이유: 데이터의 형태에 따라 퇴적의 데이터 저장소가 있다. 요즘처럼 RDBMS의 용량을 초과할 정도의 대량의 데이터가 나오는 경우에는 이 필요성이 더 커진다. 순차데이터저장소는 증권,날씨,시스템 로그 등처럼 순차적으로만 조회되고 그냥 로그를 쌓는것과 형태는 같다. 단지 이것을 ...

Ubuntu GPT disk 등록하기

less than 1 minute read

파티션 만들기 2T이상은 gpt로 만들어야된다. fdisk로 안된다는 얘기… 설치할 때 한번에 하는게 편하지만 하드를 중간에 추가할 경우에는 이 작업이 필요하다.

mongo

less than 1 minute read

Master-Slave

XMPP 메신저 만들기

less than 1 minute read

이클립스 RPC 프로그래밍 책을 보다가 예제를 보다보니 관심이 생겨서…

Windows7 64 Groovy 설치

1 minute read

Heya, this tutorial will teach you how to install groovy. This tutorial only works on Windows Vista/7. 1.) First off, you need to download Groovy http://gro...

DNS서버구축

less than 1 minute read

http://www.netmanias.com/ko/?m=view&id=blog&no=5353

개발툴(이클립스..등?) 설치후 폰트문제

less than 1 minute read

한글폰트가 글씨도 쪼끄만하고 엄청 구리다. 구리게라도 표시되면 다행인가? 그냥 깨지는 경우도 많다. 이런경우 인코딩 문제인 줄 알고 삽질하는 경우도 발생 !!

오류의 종류

less than 1 minute read

이거 학문적으로 정립된 부분이 있는지는 잘 모르겠다. 있으면 이름을 좀 알고싶은데…

Ubuntu raid 스토리지 구성하기

less than 1 minute read

Raid3종 : HardwardRaid, FakeRaid, SoftwareRaid Hardware8웨이 컨트롤러가 40만원가량한다. 이정도면 그냥 중고 서버를 사는게 나을지도 모르겠다. FakeRaid 메인보드 내장칩셋이 이 경우다. 레이드에 필요한 연산을 하드웨어에서 지원하지 않...

Svn 라이브러리 & 웹서비스

less than 1 minute read

아파치에서 제공하려면 mod-svn을 쓴다 근데 이것만 하면 인증도 안되고 좀 불편한게 있다

Ubuntu12.04 postgresql with postgis

2 minute read

현재 우분투 버전 13.04 postgis설치시에 apt-get 기본패키지로 postgresql 9.1과 그에 딸린  postgis설치하면 제대로 동작을 하지않는다.

Python 간단. ftp접속확인 코드

less than 1 minute read

#!/usr/bin/env python import ftplib server=”localhost” user=”anonymous” password=”test@hotmail.com” try: ftp = ftplib.FTP() ftp.connect(server,21) ...

Back to top ↑

2013

Spring에서 Redis사용하기

less than 1 minute read

의존성부분. springdata만 넣으면 jedis는 알아서 들어가니 따로 넣어줄 필요는 없다.

Postgresql - ,로 구분된 키값으로 조인

less than 1 minute read

다음 사이트들을 참고해서 해겷했다. http://stackoverflow.com/questions/8584967/split-comma-separated-column-data-into-additional-columns http://stackoverflow.com/questions/1...

리눅스 서버 사양확인

less than 1 minute read

CPU 확인 # cat /proc/cpuinfo # dmesg grep CPU CPU: Intel(R) Xeon(TM) CPU 3.00GHz (2992.51-MHz K8-class CPU) Hyperthreading: 2 logical CPUs...

Ruby rake db reversing backup

less than 1 minute read

디비 리버싱 백업 http://www.theirishpenguin.com/2009/11/26/generate-rails-migrations-from-your-postgresql-or-mysql-database.html

Ruby error모음

less than 1 minute read

Could not find a JavaScript runtime. 루비 Javascript runtime 오류 발생시 (rake db:schema:dump 실행시 발생, rails server실행시에 발생하는 경우도 있는듯하다)

Mac OSx - JAVA_HOME, PATH 추가

less than 1 minute read

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_21.jdk/Contents/Home export JAVA_HOME PATH=$PATH:$JAVA_HOME/bin

Mac - TextEditor 쓸만한거..

less than 1 minute read

XCode도 물론 훌륭하긴한데.. 로딩속도도 느리고 언어별 커스터마이징이 약한것같다.

Update a Github Fork from the Original Repo

1 minute read

Feather Blog has made some great progress recently and when looking to update my fork I found myself staring at my repo not sure what to do. My wonderful Git...

Android 개발중에 발견한 몇가지 문제들…

1 minute read

Android 개발은 안드로이드 초보에게는 엄청난 진입장벽을 보여준다. 기존의 자바 - 스프링 환경의 깔끔한 구현에 익숙한 개발자들이 멋도 모르고 뛰어들었다간 정말 개고생을 한다.

Android keytool 키값 생성

less than 1 minute read

2013.05 현재시점에서 동작하는 방법 예전사이트는 접속도 안되고.. 구글에서 이 주소를 찾는것도 정말 힘들다. 구글은 역시… 기술은 좋은데 기획은 엉망이다.

Ubuntu12.04 - Apache2 - mod_jk - JBoss AS 7.1 Community Setting

less than 1 minute read

그대로 따라해도 환경이나 버전에 따라 오류발생 가능성이 있으니 중요한 서버의 경우에는 바로 하지 말고 virtualBox에 리눅스를 설치해서 연습 후 처리하는 것을 권장합니다. Ubuntu12.04, CentOS6.2에서 동일하게 테스트 성공 1. Apache 셋팅

NodeJS - 기초 개념

less than 1 minute read

chrome browser에 사용되는 현존하는 가장 빠른 javascript 처리엔진인 v8엔진을 사용해 개발되었다.

BigData 관련 Software, Solution…

less than 1 minute read

KTH Daisy http://dev.kthcorp.com/2013/01/07/big-data-age-introducing-kth-daisy/ CEP / Esper EsperTech http://esper.codehaus.org/ kth H3...

Python 리눅스 배포하기

less than 1 minute read

파이썬 이외 파일 다 지우고, 모두 다 컴파일 후, py소스코드 파일 지우기

Back to top ↑

2012

MysqlData 백업 및 복원 방법

less than 1 minute read

1. 파일백업 우분투의 경우 기본 디렉토리 /var/lib/mysql/* 하위경로의 파일을 모두 백업해놓으면 된다. 새로 설치후 이 파일들을 복원하면 DB복원완료 (접속이 안된다면 그건 권한이겠지)

사업 제안절차

less than 1 minute read

RFI-투심(투자심의)-(예산승인)-RFP-입찰-PT-계약-

Uml XML 구조 설계 v0.1

less than 1 minute read

<table type=(code date) name={tblname}> <column name={id} datatype={datetype:integer} default={defaultValue:0} nullable=(true ...

IT업계 면접시 최저기준 충족 질문

1 minute read

============================================================== 1. K&R에 등장하는 예제인 Hello World를 작성하시오. [평가 기준] 손으로 코딩해 본 신입과 눈(또는 입)으로 코딩하는 신입이 극단적으로 갈리는 문제...

Mybatis 쿼리 실행시 리턴값 바꾸기

less than 1 minute read

@Insert("INSERT INTO USERS (NAME,AGE) VALUES(#{name},#{age})") @SelectKey(statement="select STANDARDS_ID_SEQ.CURRVAL from dual", resultType = int.class, befo...

svn Terminal 명령어

less than 1 minute read

eclipse 또는 똘똘이의 svn을 쓰다가 터미널 환경에서 작업 할 일이 생기면 헤매는 경우가 많다.

Network 감시 프로그램

less than 1 minute read

소프트웨어를 직접 해킹하는것보다 네트워크의 패킷을 해킹하는게 더 쉬워보여서

[펌]Windows XP Serials

4 minute read

제가 예전부터 아래글과 더불어  영원 소장하고 있는  순정판입니다

Windows Server 2008 Oracle 설치

less than 1 minute read

설치전에 윈도우 버전에 따라 설정해줘야 하는 부분 databasestageprereqdbrefhost.xml…..비슷한파일

Nutch 2.0 Eclipse에서 돌리기 Ivy이용

1 minute read

일단 구동까지 성공과정이다. http://wiki.apache.org/nutch/RunNutchInEclipse http://techvineyard.blogspot.kr/2010/12/build-nutch-20.html#Datastores https://issues.apache.o...

Nutch 2.0 Eclipse에서 돌리기 Maven이용

less than 1 minute read

참고사이트 http://foreblue.net/wiki/index.php/Nutch_%EC%B4%88%EA%B0%84%EB%8B%A8_%EB%B9%8C%EB%93%9C%EC%99%80_%EC%8B%A4%ED%96%89 http://foreblue.net/wiki/index.php/...

Ubuntu12.04 redmine 설치하기

1 minute read

apt-get으로 설치해도 충분하다. 플러그인을 설치하지 않을거라면…. 최신 플러그인을 사용하고싶다면 최신버전을 설치해야한다. 현재 시점에서 12.04에서 지원되는 redmine 버전은 1.3.5 1.4 이상이 되어야 사용할 수 있는 각종 플러그인을 사용하려면 업그레이드가 필수다.

Ubuntu12.04 시스템 백업

less than 1 minute read

초기상태에서 한번쯤 백업을 해놓는게 좋을 것 같아서 백업에 관심을 갖게되고… 검색

Ubuntu12.04 시스템 백업

less than 1 minute read

초기상태에서 한번쯤 백업을 해놓는게 좋을 것 같아서 백업에 관심을 갖게되고… 검색

Java ‘겟셋기’를 제거해주는 lombok

less than 1 minute read

자바를 처음 배우는 사람은 보통 이런 의문을 갖게된다. ‘겟셋’기 이 ㄳ끼들 왜 매번 써 줘야되는거야 C#처럼 간략화된 문법을 쓸 수 있는것도 아니고…

Ubuntu12.04 Trac설치

less than 1 minute read

아파치와 기타등등이 설치되어 잇는 상태에서 시작 sudo apt-get install libapache2-mod-wsgi trac trac-….필요해보이는것추가

Ubuntu12.04 Mysql5 Tomcat 한글처리문제 한글깨짐

1 minute read

Tomcat의 경우 http와 ajp프로토콜 처리하는 부분에만 이걸 추가해준다. 이걸 해주면 URI가 인코딩된다. GET방식으로 보낼 때 주소줄이 깨지지 않는다는 소리… 프로그라마티컬리 해결하는게 좋다고 생각하지만… 설정에서 해야만 하는 일이 있는건 별 수 없다. 톰캣 8 에서는 ...

Back to top ↑

2011

맥OS 용 개발언어 objective c…

less than 1 minute read

맥 및 아이폰용 개발 언어로 객체지향 개념을 더욱 강하게 적용한 C++의 일종이라고 봐도 될 것 같다.

변수Variable 선언, 자료형

less than 1 minute read

Var a, b, c : integer //integer변수선언… vb와 비슷하다 bagin a:=1; //콜론 이퀄을 써 줘야된다. 성가시지만 그렇다. b:=2; c := a+b; end;

이벤트핸들러EventHandler

less than 1 minute read

public class CalcEventArgs : EventArgs //우선 이벤트를 넣을 클래스를 만들기. //멤버가 없는 클래스인 EventArgs를 상속받아야됨

식별자identifier

less than 1 minute read

데이터, 함수, 프로그램 등에 각각을 식별할 수 있는 이름을 붙인다.

BSD, BSD License

1 minute read

http://svn.apache.org/repos/asf/wicket/releases/wicket-1.4.17/licenses/yahoo-license.txt

Anonymous Pipes

less than 1 minute read

http://msdn.microsoft.com/en-us/library/aa365139(v=VS.85).aspx

파스칼 예약어reserved word

less than 1 minute read

and townto if or then array else in packed to begin end label procedure type case file mod program until const for nil record var div function not repeat whi...

Linq 쿼리사용 예제

less than 1 minute read

int [] values = new int[] {0,12,44,36,92,54,13,8}; var result = from v in values where v < 37 orderby v select v; f...

클래스 파일관리

less than 1 minute read

c#으로 작업을 하다보면… (어느거나 다 마찬가지지만…)파일관리가 상당히 귀찮다

공통 다이얼로그

less than 1 minute read

그냥 폼 디자인 메뉴에서 툴박스 중에 Dialogs 눌러서 열어보면 거기 다 있다

static

less than 1 minute read

struct, enum은 기본적으로 static형태로 선언된다.(static이 붙는건 아니다. 그냥 선언하면 static처럼 접근이 가능하다)

연산자operator

less than 1 minute read

구글검색하려면… 영어 용어를 잘 알아야한다

배열Array

less than 1 minute read

int [] 구분값들 = {1,2,3,5,11,99};

다중작업을 위한 Thread이용하기

less than 1 minute read

private void btntest_Click(object sender, EventArgs e) { Work threadWork = new Work(); Thread newThread = new Thread(new ThreadStart(threadWork.G...

구조체structure

less than 1 minute read

public struct StockPrice { public int Open;//시가 public int High;//고가 public int Low;//저가 public int Close;//종가 public int Volume;//거래량 };

Back to top ↑