윈도우 부팅 / 종료할 때 rundll32.exe 발생하는 경우 시스템이 불안정하거나 다른 외부프로그램의 원인으로 손상되어 문제가 발생함 

 

1. 해결방법 

시작 → cmd.exe 검색 → 관리자권한으로 실행
cmd창에 dism.exe /online /cleanup-image /restorehealth 입력 후 엔터 → 100% 복원 작업 완료 문구 뜨면 다음 단계
cmd창에 sfc /scannow 입력 후 엔터 → 100% 검증 완료 문구 뜨면 완료
재부팅

배포이미지의 오류를 복원한다. 

 

 

2. 그래도 계속 rundll32.exe 오류발생

시작 -> 이벤트뷰어 검색 

수준에서 오류/경고 발생할 내용을 확인한다.

 

나의 경우 amd fTPM의 에러다.

해결방법들 TPM에러의 경우 

1. 바이오스 업데이트 

2. 메인보드 드라이버 업데이트

3. 그래도 불가능하면 fTPM을 끄던가 / TPM모듈을 설치하던가

 

amd의 숙명인 것이냐

반응형

윈도에서  PowerShell 로 관리하는것이 확실하고 명확해서 좋다.

업데이트가 있다고 한다. 개선 및 최신 기능이 있다고하니 업데이트해서 사용해보자

파워쉘 업데이트 안내
윈도 기본파워쉘버전

기본 파워쉘 버전은 5.1.2~ 이다.

 

 

 

아래 버전확인 및 없데이트 명령

## 버전확인
Get-Host | Select-Object Version
## 파워쉘 업데이트 
iex "& { $(irm https://aka.ms/install-powershell.ps1) } -UseMSI"

파워쉘버전

업데이트 하면 7.3.2 

반응형

윈도우11

오랜만에 윈도우를 설치해야 하는 상황이고 장비는 저전력 장비이고 디스크 용량도 적다

설치하고 최적화 해서 사용해 보도록 프로그램 설치된 앱에서 삭제도 해보고

했는데 아직은 부족하다.

 

 

오늘자로 모든 업데이트 진행할꺼 완료한 상태

불필요한 프로그램 다 지우고 26.8gb를 사용한 상태

 

 

 

#윈도기본설치삭제

 

1. 파워쉘로 지우는 방법
Get-AppxPackage *지우고 싶은 앱의 이름* | Remove-AppxPackage

 

2. 프로그램 이름과 지우는 파웨쉘 명령어 

People
Get-AppxPackage -allusers Microsoft.People | Remove-AppxPackage

카메라
Get-AppxPackage -allusers *camera* | Remove-AppxPackage
코타나(UWP 앱)
Get-AppxPackage -allusers Microsoft.549981C3F5F10 | Remove-AppxPackage
Music, TV
Get-AppxPackage -Allusers *zune* | Remove-AppxPackage Get-WindowsPackage -Online | Where PackageName -like *MediaPlayer* | Remove-WindowsPackage -Online -NoRestart
개별적으로 삭제하려면)
Get-AppxPackage -allusers Microsoft.ZuneMusic | Remove-AppxPackage
*그루브 음악
Get-AppxPackage -allusers Microsoft.ZuneVideo | Remove-AppxPackage
*영화 및 TV
Microsoft Solitare Collection (MS카드게임)
Get-AppxPackage -allusers *Microsoft.MicrosoftSolitaireCollection* | Remove-AppxPackage

Office
Get-AppxPackage -allusers *Microsoft.MicrosoftOfficeHub* | Remove-AppxPackage
Get-AppxPackage -allusers *Microsoft.Office.Sway* | Remove-AppxPackage
Get-AppxPackage -allusers *Microsoft.Office.Desktop* | Remove-AppxPackage
Get Help
Get-AppxPackage -AllUsers *GetHelp* | Remove-AppxPackage

Ms Teams
Get-AppxPackage -allusers MicrosoftTeams | Remove-AppxPackage

PowerAutomateDesktop (유료)
Get-AppxPackage -AllUsers Microsoft.PowerAutomateDesktop | Remove-AppxPackage
Feedback Hub

Get-AppxPackage -allusers Microsoft.WindowsFeedbackHub | Remove-AppxPackage
3D 빌더

Get-AppxPackage -allusers *3dbuilder* | Remove-AppxPackage
Maps

Get-AppxPackage -AllUsers *maps* | Remove-AppxPackage

지도 관련 윈도 서비스 제거하기
*명령프롬프트로 복사 붙여 넣기
sc delete MapsBroker
sc delete lfsvc
schtasks /Change /TN "\Microsoft\Windows\Maps\MapsUpdateTask" /disable
schtasks /Change /TN "\Microsoft\Windows\Maps\MapsToastTask" /disable
원노트

Get-AppxPackage -AllUsers *onenote* | Remove-AppxPackage
MS 팁

Get-AppxPackage -allusers Microsoft.Getstarted | Remove-AppxPackage
사진 (꿀뷰나 다른 사진앱으로 대체하면 삭제 추천)

Get-AppxPackage -AllUsers *photo* | Remove-AppxPackage
알람 및 시계

Get-AppxPackage -AllUsers Microsoft.WindowsAlarms | Remove-AppxPackage
날씨, 뉴스 등 Bing관련앱

Get-AppxPackage -AllUsers *bing* | Remove-AppxPackage
휴대폰과 연결(갤럭시기기와 연동하지 않는다면 삭제)

Get-AppxPackage -AllUsers *YourPhone* | Remove-AppxPackage
디즈니+

Get-AppxPackage -AllUsers Disney.37853FC22B2CE  | Remove-AppxPackage
Skype

Get-AppxPackage -AllUsers *SkypeApp* | Remove-AppxPackage
Spotify

Get-AppxPackage -AllUsers *SpotifyAB.SpotifyMusic* | Remove-AppxPackage
ClipChamp

Get-AppxPackage -allusers Clipchamp.Clipchamp | Remove-AppxPackage
 

 

#추가 사항

화면 좌측하단에 날씨랑 위젯

winget uninstall "windows web experience pack"

 

 

 

반응형

#오버클럭 도 아니고 #언더볼팅 이라는 작업을 해봅니다.

1.CPU 소비전력을 효율적으로 줄이기

집에서 메인컴퓨터로 사용하는 라이젠7 3800xt 8코어 프로세스 입니다.

무작정 줄이는것이 아닌 균형적 소비입니다.

 

 

라이젠 7 3800xt

평소 idel상태에서 프로세스 모습

 

우선 쉬운 #전원옵션 부터 변경해봅니다. 

최저 cpu 상태를 변경해봅니다.

 

 

 

TDP 105W 소비전력을 사용합니다. 

발열도 있는 편이라 2열 수냉팬도 사용하고

Cpu도 성능모드로 사용한다면 소비전력이 TDP 근처에 머물러 있다. 

바이오스 설정 들어가서 PBO랑 core perfomace boost를 끄면 베이스 클럭 고정이어서 소비전력이 감소됩니다.

AMD의 경우

라이젠 마스터에서 eco모드를 활성화 합니다.

amd 라이젠마스터 에코모드(저전력)

우선 고정클럭인지 확인을 해보세요. 최대성능 모드라면 모든코어가 고정클럭으로 동작할 수 있습니다. 

그럼 소비전력이 높습니다. 필요할때만 사용하도록 전원관리옵션을 변경합니다.

 

cpu전력사용 / 발열확인

 

cpu 총 소비전력이 5W~ 15W 로 변화 했다. 

추가로 발열도 줄어들었다. 

 


2.메인보드 :

b550 보드 따로 뭐해줄껀 없고 먼지한번 털어주고 , 먼지필터 있다면 꼭 털어줍시다. 팬이 과하게 돌아서 소비전력이 높아집니다.

바이오스 설정에 들어가서 펜속도 조절 을 고정이라면 온도변화를 감지하도록 변경하고

쿨링팬의 숫자도 적절하게 유지하자 케이스 팬 5개에서 -> 4개로

불필요한 장치가 연결되어 있거나 하면 빼줍니다.

 

컴퓨터 펜 소비전력

80 mm Case Fan (2,000 RPM) 0.6 to 1.8 W
80 mm Case Fan (3,000 RPM) 2.4 to 3 W
120 mm Case Fan (1,200 RPM) 0.6 to 2.3 W
120 mm Case Fan (2,000 RPM) 3.6 to 6 W
140 mm Case Fan (1,000 RPM) 0.9 to 1.7 W
140 mm Case Fan (2,000 RPM)  4.2 to 6 W


3.저장장치 :

nvme ssd 2개

1TB 하드 (조만간 정리해야겠다) , 모터 들어간 하드 소비전력이 높다. 

예전 컴퓨터에서 사용하던 하드디스크를 적출해서 다운로드 용으로 사용했다. ssd 사용빈도를 줄이고자 사망할까봐 아까워서 근데 소비전력만 높고 사용빈도가 너무 적다. 이번에 다시 빼서 USB형태로 사용하기로 

3.5인치 7200RPM인 PC용 HDD는 동작시 6~8W, 대기시 5W, 절전모드에서 1W정도 소모됩니다.

구형 하드의 경우 15W까지 소비하니 꼭필요한지 하드디스크 발열도 한번 확인하면서 사용하세요 

발열이 높으면 소비전력도 높습니다.

 

일반적인 디스크 소비전력 

Solid State Drive SSD : 0.6 to 2.8 W
2.5" Hard Disk Drive HDD : 0.7 to 3 W
3.5" Hard Disk Drive HDD : 6.5 to 9 W

SSD는 참 적어

 

32GB 메모리 

메모리 사용그래프

메모리도 16기가면 충분하다. 

vscode 사용하고 에물레이터 하나 돌리고 크롬에 탭20개정도 사용한 상태

지금은 아니지만 조만간 1개로 변경합니다.

 

메모리도 소비전력이 2~3W 정도 소비합니다.


4.비디오 :

지포스 Nvidia GTX 1650 

기본적으로 비디오카드는 전력소모가 가장심하다.

아이들 상태에서도 높고 해서 조금 조절이 필요하다.

비디오카드 소비전력

 

 

GPU 풀로드 하는 경우는 적지만 아이들 상태에서도 50W ~ 65W 풀로드시 170W를 사용한다.

평소 인터넷이나 하고 코딩이나 하는 컴퓨터에서 과하다

 

Nvidia 제어판에서 3d 성능관리 전원관리모드 전역설정은(모든프로그램에서) 전역관리모드를 성능에서 균형이나 [적응]으로 변경하자 

 

msi 에프터버너로 최대 전력을 조절하자

https://kr.msi.com/Landing/afterburner/graphics-cards

 

Afterburner

MSI Afterburner is the world’s most recognized and widely used graphics card overclocking utility. It provides detailed overview of your hardware and comes with some additional features like customizing fan profiles, benchmarking and video recording.

kr.msi.com

 

msi 에프터 버너

최대 전압 과 코어 클럭을 조절할 수 있다.

아주 조금씩만 조절해도 소비전력에서 큰 차이가 난다.

 

이상 컴퓨터 소비전력 줄여가며 쓰기 방법을 공유합니다.

저도 이런세팅을 했구나 기록하는 용도로 사용합니다.

 

결론

무리한 설정의 변화는 오버클럭이랑 동일하게 회로에 무리를 주는 작업이기 때문에 감안하고 하셔야 합니다.

최대 성능의 10%만 조절하고 아이들또는 불필요할때 최소화 하는 세팅을 권장합니다. 

 

추가로 컴퓨터 세팅하거나 파워(PSU)를 변경할때

일반 파워와 실버나 골드급으로 바꾸면 소비전력차이가 아이들에서도 15~20W정도 납니다

반응형

 기가인터넷을 이용합니다.

속도 테스트를 해보면 100M 제한이 걸렸습니다.

집에서 하루에 150G를 초과 했다고 합니다.

 

혼자사용하는 인터넷이 150G를 초과해? 토렌토를 사용한것도 아니고?

 

 

공유기에서 확인한 네트웤 사용량 4번 포트가 데스트탑입니다. 

그럼 4번부터 찾아봅니다.

 

 

1.바이러스 검사부터 해보고

이상없음

2. 프로그램 추가삭제 에서 설치된 프로그램목록을 확인해봄 

이상없음

3.Ctrl + Shift + ESC 작업관리자 시작 (찾음)

프로그램 목록에서 네트워크 사용량 확인

지금은 범인을 검거한 캡처지만 [softether vpn] 이 엄청난 네트웤 트레픽을 사용하고 있었다.

 

4. 해결방법 - Delete 

삭제 합니다. softether vpn 지우면서 트레픽은 줄어들고 네트웤 트레픽 사건은 종료됨

 

예전에 해외싸이트 가입한다고 설치했던 vpn인데 어쩌겠습니까

 

반응형
implementation "com.beust:klaxon:5.0.2"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.1"
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.6.1"

Web에서 JSON 형태로 응답을 파싱할때 사용한다. 

 

반응형

 

getParameter(String name) : name에 해당하는 파라미터 값을 구함

getParameterNames() : 모든 파라미터 이름을 구함

getParameterValues(String name) : name에 해당하는 파라미터값들을 구함

 

html 문서에서 <form action = "name.jsp" > 하면 name.jsp 파일로 전달됨

getCharacterEncoding() : 응답할때 문자의 인코딩 형태를 구합니다.

addCookie(Cookie) : 쿠키를 지정합니다.

sendRedirect(URL) : 지정한 URL로 이동합니다.

액션태크

jsp페이지 내에서 동작을 지시

foward , include , param 

 

<jsp:forward page="page.jsp"/>

쿠키는 4kb 용량이 제한적입니다. 300개까지 데이터 정보를 가질 수 있습니다. 

 

쿠키문법

setMaxAge() : 쿠키 유효기간을 설정합니다.

setpath() : 쿠키사용의 유효 디렉토리를 설정합니다. 

setValue() : 쿠키의 값을 설정 합니다.

setVersion() : 쿠키 버전을 설정합니다. 

getMaxAge() : 쿠키 유효기간 정보를 얻습니다.

getName() : 쿠키 이름을 얻습니다.

getPath() : 쿠키사용의 유효 디렉토리 정보를 얻습니다.

getValue() : 쿠키의 값을 얻습니다.

getVersion() : 쿠키 버전을 얻습니다.

 

세션문법

setAttribute() : 세션에 데이터를 저장 합니다.

getAttriubute() : 세션에서 데이터를 얻습니다.

getAttributeNames() : 세션에 저장되어 있는 모든 데이터의 이름(유니크한 키값)을 얻습니다.

getId() : 자동 생성된 세션의 유니크한 아이디를 얻습니다.

isNew() : 세션이 최초 생성되었는지 이전에 생성되었는지 구분합니다.

getMaxLnactivenLnterval() : 세션의 유효시간을 얻습니다. 가장 최근 요청시점을 기준으로 카운트 합니다.

removeAttribute() : 세션에서 특정 데이터 제거 합니다.

Invalidate() : 세션의 모든 데이터를 삭제 합니다.

 

#jsp정리 #jsp메모

반응형

[계약번호 :        ]  

 

용 역 계 약 서

계 약 명

테스트 반응형 웹 및 안드로이드앱 구축 용역계약

계약금액

일금 오백오십만원정

(\5,500,000)

공급가액

\5,000,000

부가세

\500,000

계약기간

기획서 최종 컨펌일 ~ 15영업일

용역장소

계약사의 지정 장소

결제조건

구분

요율

금액(VAT별도)

청구시기

지급시기

 

50%

\2,250,000

계약시

청구 후 5일 이내 현금 지급

 

50%

\2,250,000

검수 완료후

보증보험

1,000만원 이하 계약의 경우 별도 협의

 

0000님(이하 계약사이라한다)과 ㈜000소프트 (이하 "공급사" 라한다)은 상기 사항과 별첨 계약사의 용역계약 특별약관, 및 각각의 부속 문서들을 내용으로 하여 본 계약을 체결하고, 그 증거로 계약서 2 부를 작성 날인하여 “계약사”과 “공급사”가 각각 1부씩 보관한다.

 

붙임 : 1. 용역계약 특별약관

 

 

 

         

 

                                                                                    2020 00  00

 

구 분

계약사

공급사

등록번호

   

 

   

   

 

100-00-00000

서울특별시 00000

00호 

주식회사 00000

대표이사 00000  ()

 

붙임 # 1

용역계약 특별약관

 

1 (목 적)

본 계약은 00000님(이하 계약사라 함)과 ㈜000000소프트 (이하 공급사라 함)의 프로젝트수행을 위한 용역의 제반 사항을 정함을 그 목적으로 한다.

 

2 (용역내용)

. “공급사는 용역내역서의 내용에 따라 계약을 수행하여야 하며 명시되지 않은 사항은 합의에 따른다.

. “공급사는 용역내역서, 개발계획서 등의 내용에 따라 시스템 요구기능이 충분히 발휘될 수 있도록 프로그램을 개발하여야 한다.

. 계약이행과 관련한 계약사의 요구사항 및 세부 지침은 본 계약의 일부를 구성하며 공급사는 이를 준수하여야 한다.

. “공급사계약사가 제시한 품질관리기준에 적합하게 업무를 수행하여야 한다.  

 

3 (이행비용)

. “공급사이 본 용역을 수행하기 위하여 사용하는 제반 경비는 계약금액에 포함되어 있는 것으로 한다. , “계약사의 필요에 의한 출장 등의 경우에는 별도 협의에 따라 지급할 수 있으며, 원청기준에서 별도로 정한 경우에는 그 기준 범위 내에서 정산할 수 있다.

. 용역수행에 소요되는 전산장비 및 장소는 공급사의 비용 및 책임으로 준비하여야 한다. , “계약사의 필요에 따라 장비 및 용역수행장소를 공급사에게 제공할 수 있다.

 

4 (공정진도 확인)

계약사은 용역수행도중에 계약진행사항에 관련된 자료를 요청할 수 있으며 공급사는 특별한 사유가 없는 한 기일 내에 해당자료 또는 성과품을 계약사에게 제출하여야 한다.

 

5 (납기)

본 계약상 납기는 별도의 합의가 없는 한, 용역수행 후 검수 합격일을 기준으로 한다. , 검수가 불필요한 경우 용역완료한 날을 기준으로 한다.

 

6 (검수)

. “계약사는 검수 의뢰를 받은 경우 특별한 사유가 없는 한 10일 이내에 검수를 실시하여야 한다. , 목적물의 기술적 특수성 등으로 인해 10일 이내 검수완료가 곤란한 경우 상호 협의에 따라 검수기간을 정할 수 있다.

. “공급사는 최종보고서를 계약사의 승인을 받은 후 인쇄물로 제출하여야 하며 계약사의 서면동의 없이 본 용역의 내용을 대외에 공표하거나 제공할 수 없다. (최종보고서는 검수과정으로 대체)

. “공급사는 계약성과물의 일부분이라도 검수에 합격하지 못한 때에는 전체에 대한 이행지체의 책임을 진다. , “계약사은 이행된 부분만으로도 계약이행의 의미가 있는 경우에는 해당 분에 대해서는 지체책임을 면제할 수 있다.

 

7 (하자보증 및 유지보수)

. 하자보증기간의 기산일은 검수합격일 익일(무검수의 경우 계산서발행일 익일)로 한다.

. “공급사는검수 후 60일간 하자 보증을 지원한다.

. “공급사는 하자보증기간 만료 후 계약사의 요구시 유지보수계약을 체결하여야 한다. , 유지보수조건은 상호 협의에 따라 정한다.

 

8 (대금 결제조건)

. 대금 결제는 계약사의 검수가 완료 후 잔금 지급을 원칙으로 한다.

. “계약사은 계산서 발행일로부터 5일 이내 공급사의 지정계좌로 현금 입금 한다.

. “공급사는 계약금 및 중도금 청구 시 청구금액 이상을 보증금으로 하는 선급금 이행보증증권을 제출하여야 한다. , 선급금이행보증증권의 보증기간은 계약금 청구일로부터 본 계약 만료 일 이후 60일이 경과한 날까지로 한다.본 계약은 해당하지 아니함.

 

9 (계약이행보증금) 본 계약은 해당하지 아니함.

. “공급사는 본 계약의 이행을 보증하기 위하여 계약금액의 100분의 10에 해당 하는 금액을 계약 체결 전에 현금으로 납부하여야 한다 다만 공급사계약사을 피보험자로 하고 보증금액이상의 정액보상 특약이 있는 이행보증보험증권을 계약사에게 제출함으로써 현금 납부에 갈음할 수 있다.

. 보증기간은 계약일이나 계약기간 시작일중 선 일자로부터 계약 완료일 이후 60일이 경과한 날까지로 한다.

. “계약사을 피보험자로 한 이행보증보험증권의 보증 기일이 본 계약상의 의무이행 전에 만료되는 경우 계약사공급사의 동 보증보험증권 기일 연장 요청할 수 있으며 계약사요청 시 공급사는 반드시 응해야 한다.

. 계약이행보증금은 공급사가 계약상의 의무를 이행하지 않을 경우에는 계약사에 귀속되며, 이로 인하여 계약사의 손해배상청구권이 감축되거나 소멸되지 아니한다.

 

10 (지체상금)

. “공급사의 명백한 귀책사유로 인하여 납기 내 납품되지 않거나 지체되었을 경우, “공급사는 본 계약에 의거 지체일수 1일당 해당금액의 1000분의 3에 해당하는 지체보상금을 계약사에게 납부해야 한다. 이때 계약사은 지체보상금을 공급사에게 지급할 대금에서 상계할 수 있다.

. “계약사은 다음 각 호의 사유에 의하여 지체 되었을 경우, “공급사의 책임을 면제 한다.

1) 16조의 불가항력적인 사유에 의한 경우

2) “계약사의 사유 또는 계약사가 인정하는 사유에 의한 경우

 

11 (계약의 해약)

. “계약사또는 공급사는 상대방에게 다음 각호의 사유가 발생한 때에는 본 계약을 해제 또는 해지할 수 있다.

1) 금융기관으로부터 거래정지 처분을 받고 계약을 이행할 능력이 없다고 인정되는 경우

2) 감독기관 등으로부터 영업취소, 정지 등의 처분을 받은 경우

3) 어음 및 수표의 부도, 3자에 의한 강제집행(가압류 및 가처분 포함), 법정관리, 파산신청 또는 회사정리의 신청, 을의 노동쟁의, 직원임금체불 및 세금체납 등 경영상 중대한 사유로 계약이행 능력이 없다고 인정되는 경우

4) 상대방의 동의 없이 계약상의 권리 및 의무를 양도한 경우

. “계약사은 아래의 경우 계약을 해제 또는 해지할 수 있다.

1) “공급사의 용역수행이 용역내역서의 내용대로 진행되지 아니하여 납기내에 용역을 완성할 가능성이 없음이 명백한 경우

2) “계약사에게 원청계약 해지등의 불가피한 사유가 발생하는 경우

3) “공급사또는 공급사의 요원이 계약사의 정당한 요구에 응하지 않거나, “계약사의 정당한 직무 수행을 방해한 때

4) “공급사또는 공급사의 요원이 본 계약과 관련하여 부정행위 또는 불법행위를 한 때

5) “계약사의 운영계획(개발, 유지보수포함) 변경이 발생할 경우 공급사에게 1개월전의 서면통보에 따라 본 계약을 해지할 수 있다.

. 시정요청 계약사은 시정될 수 있는 사유로 계약 해약, 협력사 자격취소 등의 조치를 취하고자 할 경우 수 급인에게 시정조치유예기간을 주어야 한다.

. “계약사의 불가피한 사유로 계약을 해약코자 하는 경우에는 공급사와 협의하여야 하며, 해약되는 경우 공급사는 해지된 날로부터 30일이내에 계약사에게 용역비 중도금 정산서 및 용역결과 보고서를 제출하여 계약사의 승인을 받아야 한다. , 용역비는 상호 합의된 기성부분에 한하여 정산하기로 한다

. “공급사의 귀책사유로 인한 해지시 공급사는 기 지급한 대금을 계약사에게 전액 반환하여야 하며 이와 별도로 계약사공급사에게 손해배상을 청구할 수 있다. , 기성부분이 그 자체로써 용역내용으로 의미가 있는 경우에는 그 부분에 대해서는 상호 합의에 따라 인수 및 대금 정산할 수 있다.

 

12 (기술지원)

공급사는 본 계약관련 자료, 기술지원을 계약사에게 제공하며, “공급사계약사의 요청시 협의 후,   최종사용자에 대한 교육을 실시한다.

 

13 (저작권 등)

. 본 계약과 관련하여 생성되는 산출물의 저작권의 권리는 계약사에게 귀속되며, “공급사의 귀책사유로 동 권리 등에 관하여 분쟁이 발생되는 경우에는 공급사의 비용으로 해결하고 계약사에게 발생된 손해는 배상하여야 한다.

. 본 계약이 기간만료, 해지 또는 해제 등으로 인하여 종료될 경우 공급사는 본 계약에 대한 영업권 및 제반 권리를 계약사또는 제3자에게 요구할 수 없으며 이와 관련하여 어떠한 형태의 이의도 제기할 수 없다.

. 본 계약에 투입되는 공급사자체 엔진 및 프레임워크의 권리는 공급사에 귀속되는 결과물이며, “계약사는 본 계약에 한해서 영구한 사용권을 보장받는다.

 

14 (제조물책임)

. “공급사는 본 계약에 따른 용역수행 결과(이하 제조물이라 함)의 결함으로 인하여 생명, 신체 또는 재산상 손해를 입은 자에게 그 손해를 배상하여야 한다.

. “계약사에게 제조물책임 청구 또는 소송이 제기된 경우 공급사는 이의 해결에 적극 협조하여야 하며, “계약사가 배상금 또는 소송관련 비용을 부담한 경우 계약사공급사에게 구상권을 행사할 수 있다.

. “공급사계약사가 정한 경우 제조물 책임보험에 가입하여야 한다.

 

15 (비밀유지)

. “공급사계약사의 모든 기술정보(경영, 기술, 자료, 지식)을 비밀로 취급 하여야 하며 계약사의 승인 없이 제 3자에게 열람 또는 누출시킬 수 없다.

. 본 조의 위반으로 계약사에게 손해가 발생되는 경우 공급사는 이를 배상하여야 한다.

. “공급사는 계약 종료시 계약사가 제공한 각종 기술정보와 복사물등을 계약사에게 반환하여야 한다.

. “공급사공급사소속의 모든 직원은 업무 수행 중 습득한 계약사의 내부정보, 고객관련 정보, 프로젝트정보, 각종 문서자료 등 모든 유/무형 자산 및 정보에 대해 어떠한 경우에도 일체의 누설 또는 유출 등의 행위를 하지 못한다.

 

16 (손해배상)

계약사공급사는 본 계약에 의거한 의무를 이행하지 않거나 상대방에게 손해를 끼친 경우, 상대방이 입은 손해에 대하여 배상하여야 한다. , 손해 배상금의 총액은 본 계약의 계약금액 총액을 한도로 한다.

 

 

 

 

 

17 (불가항력)

. 불가항력에 의하여 공급사이 본 계약상의 의무를 이행할 수 없는 경우, “계약사공급사의 해당 불이익에 대하여 면책한다.

. 불가항력이란 천재지변, 전쟁, 정부조치, 군사조치, 법령의 개폐 등을 말한다.

 

18 (책임사항)

공급사는 계약체결 후 시스템의 유지 보수 계약 체결 시까지 공급사의 태만, 과실 또는 기계적 결함 등으로 발생된 모든 사고에 대하여 공급사이 책임을 진다.

 

19 (협의)

이 계약에 정하지 않은 사항에 대하여는 계약사공급사이 협의 또는 관례에 따라 정한다.

 

20 (분쟁의 처리)

. 본 계약에 해석에 이견이 있을 경우, “계약사공급사이 협의하여 해석하는 것으로 한다.

. 본 계약에 관하여 분쟁이 발생할 경우, “계약사의 본점 소재지 법원을 관할법원으로 한다.

 

21 (일반사항)

. “공급사의 귀책사유로 인한 공급사의 인적, 물적피해 및 공급사이 동원한 요원의 재해보상은 공급사의 책임으로 한다.

. “공급사계약사의 사전 서면승인없이 용역의 전부 또는 일부를 재하도급할 수 없다.

. 본 계약과 관련하여 쌍방간에 이의 발생시는 상호 협의하여 정한다.

. 본 특수조건은 운영, 개발용역에 공통으로 사용되며, 용역의 성격상 본 특수조건적용이 적절치 않음이 명백한 경우에는 해당 조항은 적용하지 않는다.

 

22 (계약문서의 우선순위)

본 계약과 관련된 계약문서의 우선순위는 용역계약특수조건, 용역내역서, 용역계약일반조건의 순서로 한다. , 본 계약과 관련하여 별도로 합의된 내용이 있는 경우에는 이를 최우선으로 적용한다.

 

23 (특기사항)

. 본 계약의 진행도중 계약사의 외주비지급기준이 변경될 경우 계약사공급사는 상호 협의에 따라 본 계약을 변경할 수 있다.

. 본 특수조건은 기존 S/W용역 기본계약에 우선하여 적용된다.

 

.

 

 

 

반응형
public class Login extends Activity {
    // 멀티 퍼미션 지정
    private String[] permissions = {
            Manifest.permission.READ_PHONE_STATE,
            Manifest.permission.CALL_PHONE, // 전화걸기 및 관리
            Manifest.permission.WRITE_CONTACTS, // 주소록 액세스 권한
            Manifest.permission.WRITE_EXTERNAL_STORAGE, // 기기, 사진, 미디어, 파일 엑세스 권한
            Manifest.permission.RECEIVE_SMS, // 문자 수신
            Manifest.permission.CAMERA
            };
    private static final int MULTIPLE_PERMISSIONS = 101;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);

        if (Build.VERSION.SDK_INT >= 23) { // 안드로이드 6.0 이상일 경우 퍼미션 체크
            checkPermissions();
        }

    }

    private boolean checkPermissions() {
        int result;
        List<String> permissionList = new ArrayList<>();
        for (String pm : permissions) {
            result = ContextCompat.checkSelfPermission(this, pm);
            if (result != PackageManager.PERMISSION_GRANTED) {
                permissionList.add(pm);
            }
        }
        if (!permissionList.isEmpty()) {
            ActivityCompat.requestPermissions(this, permissionList.toArray(new String[permissionList.size()]), MULTIPLE_PERMISSIONS);
            return false;
        }
        return true;
    }

    @Override
    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
        switch (requestCode) {
            case MULTIPLE_PERMISSIONS: {
                if (grantResults.length > 0) {
                    for (int i = 0; i < permissions.length; i++) {
                        if (permissions[i].equals(this.permissions[i])) {
                            if (grantResults[i] != PackageManager.PERMISSION_GRANTED) {
                                showToast_PermissionDeny();
                            }
                        }
                    }
                } else {
                    showToast_PermissionDeny();
                }
                return;
            }
        }

    }

    private void showToast_PermissionDeny() {
        Toast.makeText(this, "권한 요청에 동의 해주셔야 이용 가능합니다. 설정에서 권한 허용 하시기 바랍니다.", Toast.LENGTH_SHORT).show();
        finish();
    }

}
반응형

안드로이드 액티비티를 만들때 Blur 효과를 주어 좀더 사용제한효과를 주기 위해 사용되는 방법입니다.


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);


getWindow().setFlags(WindowManager.LayoutParams.FLAG_BLUR_BEHIND,WindowManager.LayoutParams.FLAG_BLUR_BEHIND);


FLAG_BLUR_BEHIND

added in API level 1
public static final int FLAG_BLUR_BEHIND

This constant was deprecated in API level 14.
Blurring is no longer supported.

Window flag: blur everything behind this window.

Constant Value: 4 (0x00000004)


이젠 다른 방법으로 블러 처리 해야한다.

우선 급한데로 

<activity android:name=".CustomProgressDialog" android:theme="@android:style/Theme.Translucent"> </activity>


스타일을 사용해서 처리했다. 


반응형

1. onCreate() : 액티비티카 생성되는 시점에 호출된다.

일반적으로 뷰를 생성하고 리스트에 데이터를 연결하며 이전 액티비티 상태를 복원하는 것과 같은 초기 기동 동작을 실행하는 부분이다.

2. onRestart() : 액티비티가 정지되었다가 다시 시작할 때 호출된다.

3.onStart() : 액티비디가 사용자에게 보이기 시작할때 호출된다.

4.onResume() : 사용자와 상호 작용을 시작하는 시점에 호출된다. 이 시점에 액티비니는 히스토리 스택의 맨 위에 위치한다.

5.onPause() : 다른 액티비티에 의해 화면에서 가려진 시점에서 호출된다. 이전 액티비티가 onResume() 을 실행하기 바로 직전에 호출된다. 일반적으로 액티비티의 마지막 상태를 저장하고 , CPU를 사용하는 작업을 중단한다.

6.onStop() : onPause() 다음에 호출된다. 이 단계에서 다시 액티비티가 화면에 나타나면 onRestart()가 호출된다. 만약 시스템 메모리가 부족하게 디면 안드로이드는 이 단계 액티비티로부터 메모리를 회수하게 된다.

7.onDestory() : 액티비티가 완전히 종료되기 전에 호출된다. 어플리케이션은 종료되기 직전 데이터를 처리해야 하는 경우에 이 메소드를 사용한다. 종료되는 것은 사용자가 종료하는 경우도 있지만 안드로이드가 메모리 회수를 위해 액티비티를 강제로 제거하는 경우도 있을 수 있다.

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
 
public class LifeCycleCheckActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_life_cycle_check);
 
        Toast.makeText(this, "onCreate()", Toast.LENGTH_SHORT).show();
         
        Button btExit = (Button) findViewById(R.id.buttonexit);
        btExit.setOnClickListener(new Button.OnClickListener() {
            public void onClick(View v) {
                finish();
            }
        });
    }
 
    @Override
    protected void onDestroy() {
        super.onDestroy();
        Toast.makeText(this, "onDestroy()", Toast.LENGTH_SHORT).show();
    }
 
    @Override
    protected void onPause() {
        super.onPause();
        Toast.makeText(this, "onPause()", Toast.LENGTH_SHORT).show();
    }
 
    @Override
    protected void onRestart() {
        super.onRestart();
        Toast.makeText(this, "onRestart()", Toast.LENGTH_SHORT).show();
    }
 
    @Override
    protected void onResume() {
        super.onResume();
        Toast.makeText(this, "onResume()", Toast.LENGTH_SHORT).show();
    }
 
    @Override
    protected void onStart() {
        super.onStart();
        Toast.makeText(this, "onStart()", Toast.LENGTH_SHORT).show();
    }
 
    @Override
    protected void onStop() {
        super.onStop();
        Toast.makeText(this, "onStop()", Toast.LENGTH_SHORT).show();
    }
}
 



// 위에 Example 코드를 실행해보고 실제로 동작을 Toast 메시지로 확인해보면 명확하게 확인 할 수 있다.


반응형

버전이 올라가면서 기존 소스코드에 문제가 있어서 테스트 해본 소스코드


우선 안드로이드 메니페스트에

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
정의 해주고
아래 소스코드 처럼 intf.getHardwareAddress(); 에서 하드웨어 주소를 가져와서 처리하면 사용가능합니다.

public class MainActivity extends AppCompatActivity {

Button btn1 = findViewById(R.id.btn1);
TextView text1 = findViewById(R.id.text1);

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);



Button.OnClickListener mClickListener = new View.OnClickListener(){
@Override
public void onClick(View v) {

// text1.setText(getMACAddress().toString());
text1.setText(macAddress);



}
};


}


public static String getMACAddress(String interfaceName) {
try {
List<NetworkInterface> interfaces = Collections.list(NetworkInterface.getNetworkInterfaces());
for (NetworkInterface intf : interfaces) {
if (interfaceName != null) {
if (!intf.getName().equalsIgnoreCase(interfaceName)) continue;
}
byte[] mac = intf.getHardwareAddress();
if (mac==null) return "";
StringBuilder buf = new StringBuilder();
for (int idx=0; idx<mac.length; idx++)
buf.append(String.format("%02X:", mac[idx]));
if (buf.length()>0) buf.deleteCharAt(buf.length()-1);
return buf.toString();
}
} catch (Exception ex) { } // for now eat exceptions
return "";
}
public String macAddress = getMACAddress("wlan0");

}


반응형


가상페이지 뷰란 

실제 웹페이지 로딩이 이 없는 페이지를 목표 설정하기 위한 가상 페이지뷰 Hit 정보를 전송하는 작업을 위한 설정입니다.




반응형

'IT & Programming > digital marketing' 카테고리의 다른 글

디지털마케팅 학습  (0) 2018.04.25

실시간 보고서(Real_time Report)

실시간 보고서는 사이트에 접속한 유저들에 대한 정보들을 제공하는 보고서로, 실시간 접속 유저들이 사이트에서 어떤 콘텐츠를 어떤접속 경로를 통해 유입되어서 소비되는지 에 대한 정보를 제공한다.


잠재고객 보고서(Audience Report)

잠재고객 보고서 (Audience Report)는 사이트에 유입된 고객에 대한 상세 정보를 제공해주는 보고서로, 잠재고객의 접속 위치(서울 부산) 브라우저유형 모바일 디바이스 및 사이트 서비스 제공 영역(교육,엔터테인먼트)에 대한 경쟁사 대비 벤치마킹 보고서 등을 제공한다. 


획득보고서(Acquisition Report)

획득보고서는 사이트 방문 잠재고객들이 어떻게 우리 사이트에서 유입되었는지에 대한 상세 정보를 제공한다. 

예를 들어 체널 보고서(Channel Report)에서는 우리 사이트에 잠재고객들이 방문한 경우 '브라우져에 URL을 입력하고 직접방문했는지' , '페이스북이나 트위터를 통해서 유입되었는지' ,'검색엔진의 유료키워드를 통해서 방문했는지' 와 같은 다양한 정보들을 제공한다. 


방문 형태 보고서(Acquisition Report) Flow

방문형태 보고서(Behavior Report)는 유입된 유저들이 우리 사이트에서 어떤 콘텐츠 소비패턴을 보이는지에 대한 정보를 제공한다. 예를 들어, 행동흐름 보고서(Behavior Flow Report)에서는 구글에서 검색어를 입력하고 고객이 방문했을 때 사이트내의 콘텐츠를 어떤 방식으로 소비하고 이탈하는지에 대한 정보를 제공한다. 

전환보고서 (Conversion Report)

전환보고서(Conversion Report)는 트래픽과 같은 양적 지표 이외에 사이트 운영영에서 가장 중요시되는 KPI기준으로 질적 분석 지표를 제공하는 역활을 한다. 예를 들어 마소캠퍼스의 경우 사이트 운영에서 제일 중요시되는 지표는 '강좌구매' 를 기준으로 했을 떄 유저들이 어떤 경로를 통해서 장바구니에 유입되는지 그리고 구매진행을 하는 유저의 비율이 어떻게 되고 실제 구매완료까지 진해오디는 비율이 어떻게 되는지와 같은 구매완료 기준의 퍼널 분석(Funnel Analysis) 보고서를 제공한다.


행동 데이터

행동데이터란 '방문자가 사이트에서 무엇을 하는지 알려주는 데이터'라 할 수 있다. 즉 사람들이 사이트에서 방문했을떄 어디를 가는지 어떤 페이지가 추가 정보를 요청하는지 사이트에 유저가 어떻게 유입되는지 아니면 언제 어떻게 무엇을 구매하는지와 같은 유저의 구체적인 행동 패턴을 측정하는 데이터를 말하며 이러한 행동 데이터는 웹 분석 도구 등을 통해 측정 가능 하다. 

형태 데이터

형태 데이터는 사람들이 어떤 행동을 왜? 하는지 알려준다고 생각하는 방법을 의미한다. 사람들이 사이트에서 물건을 구매한 경우 예로 든다면 사람들이 구매했다는 정보는 행동 데이터에 기반해서 알 수 있지만 그 사람들이 그 물건을 구매한 이유를 어떻게 알 수 있을까?

ROI 마케팅과 데이터 분석

마케팅 관점에서 데이터 분석은 ROI 마케팅의 가장 기본적이 요소라 볼 수 있다. 

ROI 마케팅이란 Return Of Inverstment 즉 높은 투자 대비 수익율을 얻어낼 수 있는 마케팅을 의미한다. 

마케팅 비용을 100원을 사용했다면 100원 이상을 벌어낼 수 있는 비용 대비 수익성을 기대할 수 있는 마케팅을 진행하는것을 의미한다. 

따라서 분석 도구를 활용한 트래픽이나 특정 수익을 발생시킨 캠페인 결과 분석 단계가 ROI 마케팅 에서는 반드시 필요해진다.


//데이터 분석을 진행할 때 멋진 보고서나 분석을 위한 분석, 보고서를 위한 보고서를 만드는 것은 지양해야 한다는 것을 가조하고 싶다. 이 보다는데이터 분석은 마케팅 캠페인을 진행하는 목적은 무엇이고 그 목적에 이 마케팅 캠페인이 얼마나 도움 되었으며, 그 결과 어떠한 것을 달성했는지를 정량적으로 분석해내는 것이 중요한 것이다.

리드란

'리드란' 마케팅 용어로 합법적으로 취득한 연락가능한 고객정보(전화번호, 이메일 등)을 의미하며 ,'잠재고객'이나 '가망고객' 이란 말로도 표현할 수 있으며 이러한 리드확보 중심의 디지털 마케ㅇ에 대한 효과측정 모델의 대표적인 정량적 요소는 평균 리드 가치가 된다.


평균리드가치란 확보한 총 리드 중에서 구매완료된 리드를 통해 발생한 매출을 총 리드수로 나눈 것으로 예를 들어 월간 1,000 리드가 발생했고 , 그중에 200리드를 통해 2억원의 매출을 발생시켰다면, 평균 리드 가치는 20만원이라고 측정할 수 있다.

그렇다면 이렇게 작성된 평균리드가치를 디지털 마케팅에서 어떻게 적용할 수 있을까? 예를 들어 배너광고를 통해 1명의 리드를 확보했는데, 총 광고 비용이 10만원 비용이 들었다면, 그 배너광고는 양호한 효과를 보이는 네이티브 광고를 진행했는데 광고 비용은 100만 원이 지출되었으나 1명의 리드를 확보하는 것에서 그쳤다면 어떠한가? 이 디지털 채널의 마케팅 투입 비용 대비 실제 ROI관점에서 조금더 효과적인 디지털 채널을 활용하는 방식으로 마케팅 예산을 조정하는 것이 좋은 전략이다.



반응형

'IT & Programming > digital marketing' 카테고리의 다른 글

가상페이지뷰  (0) 2018.07.11

+ Recent posts