발생상황

mariadb 10.6을 설치해서 쓰고 있는 상태에서 python에서  pip install mariadb를 하니까 나옴

 

원인

MariaDB Connector/C 가 필요하다는 듯?

 

해결

yum install MariaDB-shared MariaDB-devel

 

UPDATE [테이블A],[Select 질의] B SET [테이블A].필드 = B.필드 WHERE [테이블A].id = B.id

출처: https://shakddoo.tistory.com/entry/Mysql-Select결과를-Update-문에-반영하기 [겨울팥죽 여름빙수]

'DB > MySQL' 카테고리의 다른 글

DB Dump 및 복원  (0) 2022.06.22
CentOS7, MySQL8 에서 root 계정 비밀번호를 분실한 경우  (0) 2022.06.22
datetime 컬럼을 분단위로 group by 하기  (1) 2020.09.29
5.7 DB 파일로 복원  (0) 2020.06.04
외부 접근 허용  (0) 2019.10.28

오류내용

1. 선택이 안됨

2. RadioGroup의 value을 렌더링 후에 넣는 경우 오류 발생

 

원인 및 해결

1. Radio의 value가 문자열이 아니었음

2. RadioGroup 내에서 Radio를 반복문으로 출력하면서 value을 알 수 있는 상황이었는데, 임시방편으로 먼저 리스트에서 value 값을 find해놓고 설정해줌

 

오류내용

1. 대용량 다운안됨

2. ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION

 

해결방법

대용량 파일 다운로드 - 버퍼 삭제

크롬계열브라우저 다운안될때 - 파일명을 따옴표로 묶지 않기

 

풀소스

Response.Expires = 0
Response.Clear

Set fs = Server.CreateObject("Scripting.FileSystemObject")
If fs.FileExists("파일풀패스") Then
	user_agent = Request.ServerVariables("HTTP_USER_AGENT")
	'If Instr(user_agent,"Chrome") = 0 Then ' 크로미움이 아닐때만
	'	Response.AddHeader "Content-Disposition", "attachment;filename="""&파일명&""""   '큰따옴표 처리
	'End If
	Response.ContentType = "파일MIME타입"
	Response.AddHeader "Content-Disposition","attachment; filename="&파일명

	Response.AddHeader "Content-Transfer-Encoding","binary"
	Response.AddHeader "Pragma","no-cache"
	Response.AddHeader "Expires","0"
	
	Set objStream = Server.CreateObject("ADODB.Stream")
	objStream.Open
	objStream.Type = 1
	objStream.LoadFromFile "파일풀패스"
	
	Const CHUNK = 2048000
	Response.Buffer = False
	Response.ContentType = fileType
	Do Until objStream.EOS Or Not Response.IsClientConnected
		Response.BinaryWrite(objStream.Read(CHUNK))
	Loop
	objStream.Close
	
	Set strFile = Nothing
	Set objStream = Nothing

Else 
	'파일이 없을 경우...
	Response.Write "해당 파일을 찾을 수 없습니다."
End If

Set fs = Nothing
Response.End

 

 

200메가 넘는 파일도 잘 받아진다

 

오류내용

Caused by: org.springframework.data.mapping.PropertyReferenceException: No property

 

해결

JpaRe, Custom, Jpa Imple 파일명이 달라서 생긴 문제였다.

 

1. cmd

2. diskpart

3. list disk

4. select disk ?

5. attributes disk clear readonly

 

출처: blog.naver.com/50after/220920780654

설치 innologica.github.io/vue2-daterange-picker/#installation :무사히 완료

npm i vue2-daterange-picker --save
or
yarn add vue2-daterange-picker

 

가장 기본 용법인 이건 된다.

// 컴포넌트 등록
import DateRangePicker from 'vue2-daterange-picker'
import 'vue2-daterange-picker/dist/vue2-daterange-picker.css'

Vue.component('DateRangePicker', DateRangePicker)


// 실사용
<template>
  <date-range-picker
    v-model="daterange" 
    :locale-data="{
      direction: 'ltr',
      firstDay: 0,
      format: 'yyyy-mm-dd',
      separator: ' - ',
      applyLabel: '확인',
      cancelLabel: '취소',
      weekLabel: '주',
      customRangeLabel: '기간',

      daysOfWeek: ['일', '월', '화', '수', '목', '금', '토'],
      monthNames: ['1월', '2월', '3월', '4월', '5월', '6월', '7월', '8월', '9월', '10월', '11월', '12월'],
     }"
  />
</template>
<script>
import DateRangePicker from 'vue2-daterange-picker'
</script>

근데, 나는 props의 디폴트 값이 마음에 들지 않았다.

그리고 혼자 오해를 했다. 용법 innologica.github.io/vue2-daterange-picker/#usage : Register the component 이걸 하면 default props를 overriding 해줄거라고

내 잘못이 맞긴 한데 내가 파악한 구조상으로는 default props를 설정하려면 DateRangePicker.vue를 새로 만들던가 해야 할 것 같다. 기존 거 고쳐봤자 업데이트하면 날라갈 것 같으니 말이다.

그리고 매뉴얼이 진짜 불친절하다 props이름이랑 밑에 설명이랑 매칭이 바로 바로 안되서 일일히 _넣어서 확인해봐야했다.

시간도 버렸고 안 쓰기로 했지만 또 언젠가 쓰게 될지도 모르니까 오늘 정리한 것은 기록으로 남겨두겠다.

 

node_modules\vue2-daterange-picker\dist\vue2-daterange-picker.css에서 나는 문제가 있어서 수정한 부분은 아래와 같다.

// original
.daterangepicker.openscenter[data-v-7d8c7845]{
    ...
    left:50%;
    ...
}

// modify
.daterangepicker.openscenter[data-v-7d8c7845]{
    ...
    left:100%;
    ...
}

 

매뉴얼 중 props 관련하여 이름순 말고 관련있는 설정끼리 묶어봤다.

/** 날짜 설정과 관련된 옵션 **/
:minDate [String, Date], // 최소
:maxDate [String, Date], // 최대
:localeData Object,  // 로케일 데이터 포함한 객체
:dateRange [Object], // v-model prop에서 사용함 startDate와 endDate 를 포함하는 객체여야며 Date로 파싱할 수 있는 문자열이어야 함
:dateFormat Function, 
// function(classes, date) - 2 개의 매개 변수를받는 특수한 prop 유형 함수:
// "classes" - 컴포넌트의 로직이 정의한 클래스,
// "date" - 현재 처리 된 날짜.
// 렌더링 된 날짜에 적용 할 Vue 클래스 객체를 반환해야 함.


/** input 상태 관련 **/
:disabled Boolean, // 비활성화 상태
:readonly Boolean, // readonly 여부


/** input class명 관련 **/
:controlContainerClass [Object, String], // class명

/** 달력 모양 관련 **/
:ranges [Object, Boolean], // 오늘, 어제, 이번달, 올해, 지날달 범위 선택으로 뜨는것. 숨기려면 false로 설정할 수 있음
:opens String, // :ranges 목록의 위치를 지정하는 것임 "center", "left", "right", "inline"라는데 제대로 동작 안한다

:showWeekNumbers Boolean, // 주수표시
:showDropdowns Boolean, // 달력 위에 월 및 연도 선택에 대한 드롭 다운을 표시
:alwaysShowCalendars Boolean, // false로 설정하고 미리 정의 된 범위 중 하나를 선택하면 달력이 숨겨진다고 함
:singleDatePicker [Boolean, String], // 단일 캘린더만 표시

:timePicker Boolean, // 달력 아래에 시간 (시간 / 분) 선택에 대한 드롭 다운을 표시
:timePickerIncrement Number, // 분 드롭 다운에서 분 단위
:timePicker24Hour Boolean, // 24시간제 여부
:timePickerSeconds Boolean, // 시/분을 제외한 초를 선택

:appendToBody Boolean, // 드롭 다운 요소를 본문 끝에 추가하고 동적으로 크기 / 위치를 지정할지 여부
:calculatePosition Function, // appendToBody true일 경우 설정함


/** 달력 이벤트 관련 **/
:linkedCalendars Boolean, // 달력선택 연동
:autoApply Boolean, // 선택한 범위를 자동으로 적용
:closeOnEsc Boolean, // esc키로 드롭다운을 닫을 지 여부

여기까지만 봐서 정리도 여기까지만 한다.

 

1. javascript에서 페이지 이동을 할 수 있도록 빼놨는지 확인을 해봤음

페이지이동 스크립트만 js에 남아있고, 링크주소 조차 swf에 있는듯 했음

2. 여러 디컴파일을 확인해보다가 no|wrap.de - Flare를 알게됨 설치후 swf 파일과 연결되면 액션스크립트 파일만 반환해줬음 확장자는 fla

이 파일을 확인하니 예상대로 경로가 다 들어있어서 각각의 메뉴 주소를 파악완료함

 

swf를 위해서 다양한 것을 찾아보다가 이런 곳을 발견함

vidkidz.github.io/

가지고 있는 swf 파일을 에뮬레이터로 재생시켜주는 듯함

단, 메뉴 swf는 재생만 될 뿐 링크가 동작하진 않았음

1. 특정 ip나, 소수의 ip 대역대만 차단하는 방법

- 서버관리자 > 관리 > 역할 및 기능 추가 마법사 > 서버선택 > 서버역할 > 웹 서버(IIS) > 웹 서버 > 보안 > IP 및 도메인 제한 선택 후 설치

- IIS 관리자 > 좌측에서 사이트에서 해당 사이트 선택 > 우측 아이콘 중 IP 주소 및 도메인 제한 선택 > 우측 사이드 바에 거부항목 추가

 

2. 국가 단위로 IP 차단하는 방법

출처: www.gregsitservices.com/blog/2016/02/blocking-unwanted-countries-with-windows-firewall/

- 출처 스텝2의 파워쉘 스크립트를 다운로드 받는다. 85번째 줄을 주석처리한다. 삭제해도 무방하다.

#if ($currentrules.count -lt 3) {"`nProblem getting a list of current firewall rules, quitting...`n" ; exit } 

- 스텝3에서 말하는 www.ipdeny.com/ipblocks/ 에서 블록킹하고 싶은 나라의 ip를 받는다. 스크립트로 등록할때 파일명을 기반으로 방화벽 룰 이름을 등록하기 때문에 나라이름 약어를 풀네임으로 변경해두는 것을 권장한다.

- 파워쉘 스크립트와 ip 대역을 받은 것을 같은 폴더에 두고 커맨드 창에서 다음과 같이 실행한다.

> Import-Firewall-Blocklist.ps1 -inputfile china.zone.txt

- 혹시 안된다면 커맨드 창을 관리자모드로 실행해서 다시 해본다.

- ip 대역대를 업데이트하는 방법은 다시 새로 받아서 진행하면 된다.

- 차단한 것을 삭제하는 방법은 다음과 같다라고 했는데 내가 뭘 잘못했는지 방화벽에서 찾아서 지움

> Import-Firewall-Blocklist.ps1 -inputfile china.zone.txt -deleteonly

 

 

혹시 모르니까 소스 보관용으로 스크립트 파일이랑 중국, 북한, 러시아, 남한, 미국 zone파일을 동봉했다.

ip-security-package.zip
0.21MB

1. Korean Language Pack for Visual Studio Code

한국어팩

 

2. Auto Rename Tag

이름 그대로임. 오픈 태그를 수정하면 닫는 태그도 자동으로 수정해준다.

 

3. Bracket Pair Colorizer 2

괄호 색깔이 짝 맞춰 컬러플하다

 

4. indent-rainbow

같은 indent인 것들끼리 색으로 쉽게 확인 가능하고 들여쓰기가 잘 된 경우 빨간색으로 표시된다.

 

5. Prettier - Code formatter

프로젝트의 소스 포맷을 통일하기 좋다

 

6. ESLint

코드 리뷰해준다.

 

7. CSS Peek

css 셀렉터 찾기 좋다.

 

8. Debugger for Chrome

크롬으로 개발한다면 필요함

 

9. vscode-icons

확장자별로 아이콘 표시가 명확하다.

 

+ Recent posts