한글 깨질 때
만자로 리눅스 한글 폰트
terminus-font
notno-font-cjk
ttf-dejavu
한글입력
한글 깨질 때
만자로 리눅스 한글 폰트
terminus-font
notno-font-cjk
ttf-dejavu
한글입력
파이썬 개 똥언어
서버가 오류나뒈지면서 에러메시지 처리도 제대로 안되고
코드 중간에 오류나면 오류는 처먹고 뒤져버린다
솔직히 연습용으로는 좋다. 구석구석 에러가 나니까 개발할 때 프로토콜은 잘 배울 수 있겠다
라이브러리도 죄다 쓰레기라 하나하나 손봐서 써야되고 커스텀도 불가능한 구조로 만들어진 경우가 많아 pip고 뭐고 그냥 복사붙여넣기 해서 수정해야 하는 경우가 많다
이런 심플함(좆도없음)이 파이썬의 장점이라고 하니까
Dokku에서 돌리는 Flask 서버에서 Cors가 난다고 한다.
swagger에서는 괜찮은데 react 클라이언트에서만 발생
문제는 뭘까? 의심가는 부분은..
1번체크
curl \
--verbose \
--request OPTIONS \
'https://dokku-api-server' \
--header 'Origin: http://localhost:3000' \
--header 'Access-Control-Request-Headers: Origin, Accept, Content-Type' \
--header 'Access-Control-Request-Method: GET'
2번체크
/home/dokku/api-server/nginx.conf
별 이상없어보인다
3번체크
실행…
서버 호출을 잘못하기는 했는데…
서버오류가 cors가 아닌데 cors라고 나오는게 문제고
4번체크
????
추가체크
서버로그를 보니 flask jwt인증부분을 손을 댔는데 여기서 오류가 난 모양…
헤더가 안 들어올 때 401을 내려줘야하는데 그러질 못하고 있다
서버에서 응답이 없으면 cors가 뜨나? http 프로토콜문제인지 리엑트가 원래 병신인지 잘 모르겠다.
리엑스에서 cors오류발생시 리엑트와 플라스크서버가 모두 병신일 수 있다는걸 기억하자
IT기업은 잘 망한다.
다른업종에 비해 창업이 쉬워서 좆소기업이 많아서 더 그렇다
그래서 밀린 임금에 대해 소액체당금을 받는 경우가 많은데
몇가지 실수로 인해 체당금을 덜 받게되는 경우가 많아서
이런부분을 잘 알아두는게 좋다
한번 받아보니까 이렇게 복잡할 것 같으면
그냥 쓸데없는거 다 없애버리고 고용보험료도 안 내면 좋겠다는 생각이 든다
임금체불 대표는 재산압류하고 그러고도 없으면 못 주는거지 뭐…
2개월치 급여는 공탁을 걸어야 하는 법을 만들던가
프로세스는 잘 기억이 안난다.
고용센터 가서 소액체당금 신청 – 고용주와 체불임금 금액확정 – 법원민사소송 – 판결문 수령 – 고용복지센터에서 처리(판결문, 체불임금확정무슨서류)
TIP1. 모르는거 있을 때 늙은 돌무원보다는 젊은 공무원에게
비 전문적인 내용은 공무원보다 공익에게 물어보는게 더 좋은 답변을 들을 수 있다.
주의1. 법원 접속시 브라우저는 관리자 모드로 보안은 좆까
주의2. 법원 판결문 프린터 출력시 테스트프린트 꼭 해야됨. 프린터 오류나도 출력이 안되도 그냥 뽑은거로 처리됨
주의3. 오류로 재출력시 씨발개똥무원새끼한테 개처럼 빌면서 써줘야 잘 처리해줌
주의4. PDF로 뽑으면 좆같은 미리보기 파일이 칼라로 출력되는데 ‘정본입니다^^’라는 페이지도 출력됨 (속았지?)
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) NOT NULL,
KEY `idx_user_logs_uniq` (`username`,`action_ts`)
);
Upsert
INSERT INTO t_user_logs
(username, action_ts, action_type)
VALUES
('user1', now(), 'LOGIN'), ('user2', now() 'LOGIN)
ON DUPLICATE KEY UPDATE
action_type=VALUES(action_type);
Replace
REPLACE INTO t_user_logs
( username, action_ts, action_type)
VALUES
('user1', now(), 'LOGIN');
Insert ignore
대용량 넣을 때 반복데이터가 들어올 때가 간혹 있는 경우
INSERT IGNORE INTO t_user_logs
(username, action_ts, action_type)
VALUES
('user1', '2000-01-01 11:30:10', 'LOGIN'), ('user2', '2000-01-01 11:30:11', 'LOGIN');
Insert Batch
ignore안하고 해도 됨
INSERT INTO t_user_logs (username, action_ts, action_type) VALUES ('user1', '2000-01-01 11:30:10', 'LOGIN'), ('user2', '2000-01-01 11:30:11', 'LOGIN');
참고
로그인, 디비 정도만 딱 붙이고 추가기능이 전혀 없을 경우….
보안이나 벨리데이션 신경쓰지 않고 프로토타이핑을 하는 경우에 한해서는
js, py가 괜찮은 선택이다
조금 제대로된 뭔가를 만들려면 이런걸 쓸 수 밖에 없다.
python으로 뭐 하려면 멀티스레드 지원 때문에 엄청 불편하다
모든걸 편법으로 처리해야 하는데 Queue, multiprocess, Celery 등등.. 이것저것 하다보면
전혀 간단하지가 않다
게시판 종류의 서비스 말고 좀 복잡한 서비스 만들 때 … 필요하다.
거래소, 쇼핑몰 등 실시간, 비동기성이 좀 필요한 경우
Storm, Flink, Kafka, Kafka Streams 정도는 써 봤는데
Flink, Storm은 지들이 알아서 분산형 데몬을 관리 해 줘야 할 것 같은데… 그런부분에서 상당히 기능이 부족하다. 디버깅도 힘들고…유닛테스트도 힘들다. 분산형 키값공유 aggregate가 될 줄 알았는데…. 안된다. kafka와 효율면에서 뛰어나지 않다. 별 수 없겟지.. scale out을 할 때 kafka보다 더 이상 효율적이기는 힘들 것 같기는 하다.
이런저런 이유로 복잡도를 털어내고 사용하려면
kafka streams를 docker 환경에서 배포하는게 더 괜찮은데…
메시지 처리나 시리얼라이저 등등 여러부분을 직접 관리 해 줘야하는게 문제다.
그럼에도 불구하고… 나쁘진 않다.
여러 언어 지원 안되는게 조금 약점..이라고 할 수도 있지만 잡언어 안쓰면 되지
elixir도 akka처럼 액터기반 프레임웤인데 언어가 생소하니 접근성이 떨어지고 만들어놔도 인력 구하기도 힘든 문제가…
Akka로 이런 부족함을 채울 수 있을지 모르겠다
-테스트 더 해서 추가-