반응형

백준 1475번 문제

 

 

 

 

별것아닌것같은데 헤매서 힘든문제였다

 

방번호를 0~9까지의 숫자 세트를 이용해서 만드는 문제로

6과 9는 각각 뒤집어서 사용할 수 있다

 

 

9999의 경우 숫자세트 4개가 필요한게 아니라, 9와 6 1세트, 9와 6 1세트 해서 총 2가 출력되면 된다

 

 

 

#include<bits/stdc++.h>
using namespace std;
 
int main() {
	string str;
	cin >> str;
 
	int arr[10]={0};
	int tmp;
	for(int i=0; i<str.size();i++){
		tmp = str[i]-'0';
		if(tmp ==9) {
			arr[6]++;
		}
		else{
			arr[tmp]++;
		}
	}
 
	int max = 1;
	
	if(arr[6] % 2==0){
		arr[6] = ceil(arr[6]/2);	
	}else{
		arr[6] = ceil(arr[6]/2)+1;
	}
	
	for(int i=0; i<9; i++){
		if(max < arr[i]){
			max = arr[i];
		}
	}
 
	cout << max;
 
	return 0;
}

 

숫자를 입력받으면 10으로 나눠주는걸 반복해야되니까

문자열로 받은 다음 하나 하나 쪼개서 숫자로 바꿔 배열에 삽입해주었다

 

그리고, 0부터 9까지의 int형 배열을 만들고 입력받은 숫자에 해당하는 배열 인덱스를 증가시켜줬다

그렇게 마지막에는 배열내의 가장 큰 값을 출력해주면 완성

 

 

 

+ 6과 9의 값은 하나로 합쳐서 관리하는게 편해서 배열을 0부터8까지만 들어가게끔 만들었다

 따라서 arr[6]의 값은 반으로 나누는 과정이 필요하다

 

+ 근데 소수점자리를 올려주는 ceil 함수는 그리 호락호락하지않았다

  (정수로 반환 해주지않아서 2.5가 계속 2로 나오는 바람에 arr[6]의 값을 홀수 짝수 나눠서 계산했다)

 

 

0 1 2 3 4 5 6 7 8
0 0 0 0 0 0 0 0 0

 

 

9999의 경우 배열 예시

0 1 2 3 4 5 6 7 8
0 0 0 0 0 0 4 0 0

 

입력한 숫자에 해당하는 인덱스의 값을 모두 올려주고 난 다음에는

 

arr[6]의 값을 반으로 나누어주고

arr 배열에서 가장 큰 값을 출력해주도록 했다

 

 

 

 

문자를 정수로 변환하는법 참고 (char to int)

 

 

 

 

 

 

 

출처 : https://www.acmicpc.net/problem/1475

 

1475번: 방 번호

첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수 또는 0이다.

www.acmicpc.net

 

https://stackoverflow.com/questions/1253670/why-do-round-and-ceil-not-return-an-integer

 

Why do round() and ceil() not return an integer?

Once in a while, I find myself rounding some numbers, and I always have to cast the result to an integer: int rounded = (int) floor(value); Why do all rounding functions (ceil(), floor()) return a

stackoverflow.com

 

 

반응형
반응형

클라이언트에서 서버로 이미지를 보낼때 방법이 몇가지 있는데 그중 base64로 인코딩하여

이미지를 보내는 방법을 사용해본 내용이다

 

 

※ base64란?

8비트 이진 데이터(예를 들어 실행 파일이나, ZIP 파일 등)를 문자 코드에 영향을 받지 않는 공통 ASCII 영역의 문자들로만 이루어진 일련의 문자열로 바꾸는 인코딩 방식

 

전자 메일을 통한 이진 데이터 전송 등에 많이 쓰이고 있다. 모두 처음 62개는 알파벳 A-Z, a-z와 0-9를 사용하고 있으며 마지막 두 개를 어떤 기호를 쓰느냐의 차이만 있다.

 

인코딩된 문자열은 알파벳 대소문자와 숫자, 그리고 "+", "/" 기호 64개로 이루어지며, "="는 끝을 알리는 코드로 쓴다.

 

 

 

 

내가 구현하고 싶은것

클라이언트는 이미지를 base64 인코딩하여 서버로 전달한다

 

서버는 클라이언트에서 전달받은 base64 이미지에, 특정한 처리를 하고 다시 클라이언트로 결과를 보내준다

이때, 받은 base64 인코딩된 이미지를 웹 페이지에 보여주는 방법을 함께 기록해보았다

 

 

이미지를 base64 방식으로 인코딩 하는법

 

// Select the image
const img = document.querySelector('#testImg');

img.addEventListener('load', function (event) {
   getDataUrl(event.currentTarget);
   //console.log(dataUrl);
});

사용자가 선택한 이미지가 로드 완료되는 순간

getDataUrl을 호출하여 base64 인코딩을 시작한다

 

function getDataUrl(img) {
   // Create canvas
   const canvas = document.createElement('canvas');
   const ctx = canvas.getContext('2d');
   // Set width and height
   canvas.width = img.width;
   canvas.height = img.height;
   // Draw the image
   ctx.drawImage(img, 0, 0);
   
   var base64 = canvas.toDataURL('image/*');
   strImage = base64.replace(/^data:image\/[a-z]+;base64,/, "");
   }

 

 

 

html에서 인코딩된 base64 img 보여주는법

<img src="data:image/jpeg;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MEVBMTczNDg3QzA5MTFFNjk3ODM5NjQyRjE2RjA3QTkiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MEVBMTczNDk3QzA5MTFFNjk3ODM5NjQyRjE2RjA3QTkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDowRUExNzM0NjdDMDkxMUU2OTc4Mzk2NDJGMTZGMDdBOSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDowRUExNzM0NzdDMDkxMUU2OTc4Mzk2NDJGMTZGMDdBOSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PjjUmssAAAGASURBVHjatJaxTsMwEIbpIzDA6FaMMPYJkDKzVYU+QFeEGPIKfYU8AETkCYI6wANkZQwIKRNDB1hA0Jrf0rk6WXZ8BvWkb4kv99vn89kDrfVexBSYgVNwDA7AN+jAK3gEd+AlGMGIBFDgFvzouK3JV/lihQTOwLtOtw9wIRG5pJn91Tbgqk9kSk7GViADrTD4HCyZ0NQnomi51sb0fUyCMQEbp2WpU67IjfNjwcYyoUDhjJVcZBjYBy40j4wXgaobWoe8Z6Y80CJBwFpunepIzt2AUgFjtXXshNXjVmMh+K+zzp/CMs0CqeuzrxSRpbOKfdCkiMTS1VBQ41uxMyQR2qbrXiiwYN3ACh1FDmsdK2Eu4J6Tlo31dYVtCY88h5ELZIJJ+IRMzBHfyJINrigNkt5VsRiub9nXICdsYyVd2NcVvA3ScE5t2rb5JuEeyZnAhmLt9NK63vX1O5Pe8XaPSuGq1uTrfUgMEp9EJ+CQvr+BJ/AAKvAcCiAR+bf9CjAAluzmdX4AEIIAAAAASUVORK5CYII=">

 

 

자바스크립트에서 base64 인코딩 이미지 보여주는법

document.getElementById('img').src = "data:image/;base64,"+data;

html 이미지 태그 중 id가 img인 객체에 base64 인코딩 이미지 넣는법

 

"data:image/;base64," + "실제 base64 인코딩된 이미지 데이터"

 

data:image/;base64, : 이 부분이 base64 인코딩 이미지를 넣어주는 부분이라고 보면 될듯

 

 

 

 

참고 : 

 

base64란

 

https://stackoverflow.com/questions/201479/what-is-base-64-encoding-used-for

 

What is base 64 encoding used for?

I've heard people talking about "base 64 encoding" here and there. What is it used for?

stackoverflow.com

https://ko.wikipedia.org/wiki/%EB%B2%A0%EC%9D%B4%EC%8A%A464

 

베이스64 - 위키백과, 우리 모두의 백과사전

컴퓨터 분야에서 쓰이는 Base 64 (베이스 육십사)란 8비트 이진 데이터(예를 들어 실행 파일이나, ZIP 파일 등)를 문자 코드에 영향을 받지 않는 공통 ASCII 영역의 문자들로만 이루어진 일련의 문자

ko.wikipedia.org

 

 

 

base64 이미지 인코딩하는법

 

https://stackoverflow.com/questions/6150289/how-can-i-convert-an-image-into-base64-string-using-javascript

 

How can I convert an image into Base64 string using JavaScript?

I need to convert my image to a Base64 string so that I can send my image to a server. Is there any JavaScript file for this? Else, how can I convert it?

stackoverflow.com

 

 

base64 이미지 보여주는법

 

https://stackoverflow.com/questions/8499633/how-to-display-base64-images-in-html

 

How to display Base64 images in HTML

I'm having trouble displaying a Base64 image inline. How can I do it?...

stackoverflow.com

 

 

반응형
반응형

컴퓨터에 비쥬얼스튜디오를 설치하지않고 코딩테스트 공부하는법

온라인 컴파일러 사이트를 이용하는법이 있다

 

급하게 코드를 수정해야할 일이 생길경우 요긴하게 쓰인다

나는 주로 태블릿을 이용할때, 내 컴퓨터가 아닌 바깥에서 급하게 사용할때

말고도 사실 백준 문제풀때는 주로 여기서만 컴파일을 해본다

 

요즘 누가 코테 공부하는데 비쥬얼켜고 그럼

다들 온라인으로 ㄱㄱ

 

ideone 기본 화면

무료인점과 동시에 가입도 필요없고 컴파일 해본 내 코드를 숨겨둘수도있다

 

덕분에 사이트에 광고는 엄청나게 많은편

 

ideone 지원언어

 

지원되는 언어는 위와같다 웬만한 언어들은 다 지원된다고 보면 되겠다

 

 

주로 사용하는언어

Bash, Pascal, C, Perl, C#, PHP, C++, Python, C++14, Python 3, Haskell, Ruby, Java, SQLite, Objective-C, Swift, Pascal, VB.net

 

그 외의 언어

Ada95, Common Lisp, Java, Prolog, Assembler 32bit, Common Lisp, JavaScript, Python, Assembler 32bit, D, JavaScript, Python 3 nbc, Assembler 64bit, D, Kotlin, R, AWK, D, Lua, Racket, AWK, Dart, Nemerle, Rust, BC, Elixir, Nice, Scala, Brainf**k, Erlang, Nim, Scheme, C, F#, Node.js, Scheme, C++ 4.3.2, Fantom, Objective-C, Scheme, C++14, Forth, OCaml, Smalltalk, C99, Fortran, Octave, TCL, Clips, Go, Perl, Text, Clojure, Gosu, Pico Lisp, Unlambda, Cobol, Groovy, Pike, VB.NET, COBOL 85, Icon, Prolog, Whitespace, CoffeeScript, Intercal

 

 

당연하게 인풋값을 넣을수있다

화면 아래에있는 stdin을 클릭하면 위처럼 값을 넣을수있는 창이 생김

 

입력을 깜빡해도 오른쪽 아래의 run을 누르면 추후에 다시 입력이 가능하니 걱정 ㄴㄴ

 

 

 

stdin 옆에 지구본과 안경그림이 있는데

지구본 그림은 public이라고 내가 컴파일한 소스를 남에게 보여줄수있게 하며

옆의 안경그림은 private 기능과 같이 내가 작성한 코드를 남에게 비공개로 컴파일한다는 뜻이다

 

 

딱 하나 단점으로는

가끔씩 쿠키 저장이 안되는지 run을 눌러 컴파일을 하면 코드가 싹 날라가고 새창이 나온다는 점이다

나는 그래서 혹시모를 예방을 위해 run을 누르기전에 아예 모든 코드를 복사해두고 사용한다

 

그것만 제외한다면 아주 괜찮음

 

 

컴파일속도도 굉장히 빠른편이니 외부에서 코테 스터디라도 하게된다면 이러한 접근을 추천한다

물론 현재 사용하는 노트북 데탑에서도 요긴하게 잘쓰고있긴함

 

 

 

https://ideone.com/

 

Ideone.com

Ideone is something more than a pastebin; it's an online compiler and debugging tool which allows to compile and run code online in more than 40 programming languages.

ideone.com

 

반응형
반응형

백준 10807번 개수 세기 문제

 

 

입력되는 정수의 개수 : 1개부터 100개까지 (1<= N =< 100)

입력되는 정수의 범위 : -100부터 100까지 (-100 <= v =< 100)

 

 

 

자연수가 아니라 정수 v가 -100부터 시작되는 값이어서 어떻게하지 하면서

문제를 보고 초반에는 약간 헤맸는데

 

 

다행히 정수 v의 범위가 자연수에 - 부호를 붙여주면 값은 동일하다고 판단해서

자연수 범위의 배열과 마이너스 일때 배열을 따로 추가해서 관리해보았다

 

입력한 정수의 값이 0보다 큰 경우, arr_plus에 증감연산자를 사용해서

특정 정수를 만날때마다 그 배열의 인덱스를 증가시켜 횟수를 적립시켰다

 

마찬가지로 0보다 작은 경우, arr_minus에 저장해서 관리함

 

사용배열 : arr_plus[100], arr_minus[100]

 

 

 

 

//수도코드

arr_plus[100] = 0;
arr_minus[100] = 0

int input,v;
cin >> input;

for(int i=0; i<input; i++){

	if(i>0) arr_plus[i]++;
	else arr_minus[-i]++;
}

cin >> v;

if (v>=0) cout << arr_plus[v];
else cout << arr_minus[-v];

 

 

대충 이렇게 작성해보았는데

 

 

그냥 후루룩 쓰다보니 간과했던게 배열의 범위를 100개가 아닌 101로 주었어야 했음

마이너스 값의 경우 상관없지만, 0부터 100까지의 값을 저장해주어야 하는

arr_plus에서 범위가 초과하는 문제가 생긴다

 

그래서 2번 틀렸다가 겨우 알아냄..

 

 

그렇게 초안에서 다듬고 틀린부분을 수정한 완성본이 아래의 코드

 

 

 

#include <bits/stdc++.h>
using namespace std;

int main() {
	
	int cnt,v;
	
	int arr_plus[101] = {0};
	int arr_minus[101] = {0};
	
	cin >> cnt;
	
	int tmp;
	
	for(int i=0; i<cnt; i++){
		cin >> tmp;
		
		if(tmp >=0){
			arr_plus[tmp]++;
		}
		else{
			arr_minus[-tmp]++;
		}
	}
	
	cin >> v;
	
	v>=0 ? cout << arr_plus[v] : cout << arr_minus[-v];
	
	return 0;
}

 

 

cnt : 맨 처음 입력인 입력할 정수의 개수

tmp : 입력받을 정수들

v : 찾을 정수

 

arr_plus[101] = 입력받은 tmp 중 0부터 100까지의 정수의 횟수를 저장할 배열

arr_minus[101] = 입력받은 tmp 중 -100부터 -1까지의 정수의 횟수를 저장할 배열

 

여기서 0을 plus에 둘지 minus 배열에 둘지는 그냥 본인 선택하기에 다를듯

 

 

마지막에 삼항연산자 문법을 사용해서 if else문을 줄여보았다

 

 

 

삼항연산자 문법

 

 

 

 

 

출처 : 

 

 

10807번: 개수 세기

첫째 줄에 정수의 개수 N(1 ≤ N ≤ 100)이 주어진다. 둘째 줄에는 정수가 공백으로 구분되어져있다. 셋째 줄에는 찾으려고 하는 정수 v가 주어진다. 입력으로 주어지는 정수와 v는 -100보다 크거

www.acmicpc.net

 

 

 

C 언어 코딩 도장: 20.2 삼항 연산자 사용하기

먼저 삼항 연산자를 사용하기 전에 if 조건문으로 num1의 값이 참이면 num2에 100을 할당하고, 거짓이면 num2에 200을 할당하는 코드를 만들어보겠습니다. if_else.c #include int main() { int num1 = 5; int num2; if

dojang.io

 

반응형
반응형

내문서 폴더에 파일을 저장해야해서 찾아본 폴더 경로 가져오는법

 

보통 파일을 컴퓨터에 저장할 때, 그 경로를 자동으로 저장하는 방식을 사용할때가 있고

사용자가 매번 지정해서 저장하게 하는 방식을 사용하는데

 

자동으로 특정 폴더에 파일을 저장했어야해서 찾아본 방식

 

 

당장 필요한 경로는 내문서 폴더였는데 찾아본 사이트에 웬만큼 사용하는 시스템 폴더 경로들이 많이있어서

한꺼번에 공유해본다

 

 

내문서 경로 가져오는법 예시

 

string path = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
// path = 내문서

string outputFolder = path + @"\Pingu\Video";
// outputFolder = 내문서\Pingu\Video

만약 내문서 폴더안에 있는 특정 폴더를 지정해주고 싶다면

위의 outputfolder 처럼 사용해주면 된다

 

이때 특정 폴더가 존재하지않는 경우 에러가 나거나 프로그램이 종료될수있으니

미리 폴더의 유무를 확인하고 사용해야되겠다

 

 

사용법

Environment.GetFolderPath(Environment.SpecialFolder.사용하고 싶은 디렉토리 지정);

 

사용 예시

 

 

 

 

아래는 내컴퓨터, 비디오, ProgramFilesX86 등의 사용자 데스크탑 폴더 경로를 가져오는 방법

 

AdminTools 48 개별 사용자를 위한 관리 도구를 저장하는 데 사용되는 파일 시스템 디렉터리입니다. MMC(Microsoft Management Console)에서는 사용자 지정 콘솔을 이 디렉터리에 저장하며 사용자와 로밍합니다.
ApplicationData 26 현재 로밍 사용자의 애플리케이션 관련 데이터에 대한 공용 리포지토리로 사용되는 디렉터리입니다. 로밍 사용자는 네트워크에 있는 둘 이상의 컴퓨터에서 작업합니다. 로밍 사용자 프로필은 네트워크의 서버에서 유지되고 사용자가 로그온할 때 시스템으로 로드됩니다.
CDBurning 59 CD에 기록될 때까지 기다리는 파일을 위한 스테이징 영역으로 사용되는 파일 시스템 디렉터리입니다.
CommonAdminTools 47 컴퓨터의 모든 사용자를 위한 관리 도구가 들어 있는 파일 시스템 디렉터리입니다.
CommonApplicationData 35 모든 사용자가 사용하는 애플리케이션 관련 데이터에 대한 공용 리포지토리로 사용되는 디렉터리입니다.
CommonDesktopDirectory 25 모든 사용자의 바탕 화면에 나타나는 파일 및 폴더가 들어 있는 파일 시스템 디렉터리입니다.
CommonDocuments 46 모든 사용자에게 공통된 문서가 들어 있는 파일 시스템 디렉터리입니다.
CommonMusic 53 모든 사용자에게 공통된 음악 파일의 리포지토리로 사용되는 파일 시스템 디렉터리입니다.
58 이 값은 이전 버전과의 호환성을 위해 Windows Vista에서 인식되지만 특수 폴더 자체는 더 이상 사용되지 않습니다.
CommonPictures 54 모든 사용자에게 공통된 이미지 파일의 리포지토리로 사용되는 파일 시스템 디렉터리입니다.
CommonProgramFiles 43 전체 애플리케이션에서 공유되는 구성 요소에 대한 디렉터리입니다.
비 x86 프로세스의 x86 공통 프로그램 파일 디렉터리를 가져오려면 ProgramFilesX86 멤버를 사용합니다.
CommonProgramFilesX86 44 Program Files 폴더입니다.
CommonPrograms 23 애플리케이션 간에 공유되는 구성 요소에 대한 폴더입니다.
CommonStartMenu 22 모든 사용자의 시작 메뉴에 나타나는 프로그램 및 폴더가 들어 있는 파일 시스템 디렉터리입니다.
CommonStartup 24 모든 사용자의 시작 폴더에 나타나는 프로그램이 들어 있는 파일 시스템 디렉터리입니다.
CommonTemplates 45 모든 사용자가 사용할 수 있는 템플릿이 들어 있는 파일 시스템 디렉터리입니다.
CommonVideos 55 모든 사용자에게 공통된 비디오 파일의 리포지토리로 사용되는 파일 시스템 디렉터리입니다.
Cookies 33 인터넷 쿠키에 대한 공용 리포지토리로 사용되는 디렉터리입니다.
Desktop 0 실제 파일 시스템 위치가 아니라 논리 데스크톱입니다.
DesktopDirectory 16 데스크톱에서 실제로 파일 개체를 저장하는 데 사용되는 디렉터리입니다. 가상 폴더인 데스크톱 폴더 자체와 이 디렉터리를 혼동하지 마세요.
Favorites 6 사용자가 즐겨찾는 항목에 대한 공용 리포지토리로 사용되는 디렉터리입니다.
Fonts 20 글꼴이 들어 있는 가상 폴더입니다.
History 34 인터넷 기록 항목에 대한 공용 리포지토리로 사용되는 디렉터리입니다.
InternetCache 32 임시 인터넷 파일에 대한 공용 리포지토리로 사용되는 디렉터리입니다.
LocalApplicationData 28 현재 로밍하지 않은 사용자가 사용하는 애플리케이션 관련 데이터에 대한 공용 리포지토리로 사용되는 디렉터리입니다.
LocalizedResources 57 지역화된 리소스 데이터가 들어 있는 파일 시스템 디렉터리입니다.
MyComputer 17 내 컴퓨터 폴더입니다. Environment.GetFolderPath 메서드에 전달되면 MyComputer 열거형 멤버는 항상 빈 문자열(“”)을 생성합니다. 내 컴퓨터 폴더의 경로가 정의되지 않았기 때문입니다.
MyDocuments 5 내 문서 폴더입니다. 이 멤버는 Personal에 해당합니다.
MyMusic 13 내 음악 폴더입니다.
MyPictures 39 내 그림 폴더입니다.
MyVideos 14 사용자에 속한 동영상의 리포지토리로 사용되는 파일 시스템 디렉터리입니다.
NetworkShortcuts 19 네트워크 환경 가상 폴더에 있을 수 있는 링크 개체가 들어 있는 파일 시스템 디렉터리입니다.
Personal 5 문서에 대한 공용 리포지토리로 사용되는 디렉터리입니다. 이 멤버는 MyDocuments에 해당합니다.
PrinterShortcuts 27 프린터 가상 폴더에 있을 수 있는 링크 개체가 들어 있는 파일 시스템 디렉터리입니다.
ProgramFiles 38 프로그램 파일 디렉터리입니다.
비 x86 프로세스에서 ProgramFiles GetFolderPath(Environment+SpecialFolder) 메서드로 전달하면 비 x86 프로그램의 경로가 반환됩니다. 비 x86 프로세스에서 x86 프로그램 파일 디렉터리를 가져오려면 ProgramFilesX86 멤버를 사용합니다.
ProgramFilesX86 42 x86 Program Files 폴더입니다.
Programs 2 사용자의 프로그램 그룹이 들어 있는 디렉터리입니다.
Recent 8 사용자가 가장 최근에 사용한 문서가 들어 있는 디렉터리입니다.
Resources 56 리소스 데이터가 들어 있는 파일 시스템 디렉터리입니다.
SendTo 9 보내기 메뉴 항목이 들어 있는 디렉터리입니다.
StartMenu 11 시작 메뉴 항목이 들어 있는 디렉터리입니다.
Startup 7 사용자의 시작 프로그램 그룹에 해당하는 디렉터리입니다. 사용자가 로그온하거나 Windows를 시작할 때마다 시스템에서 이러한 프로그램이 시작됩니다.
System 37 시스템 디렉터리입니다.
SystemX86 41 Windows System 폴더입니다.
Templates 21 문서 템플릿에 대한 공용 리포지토리로 사용되는 디렉터리입니다.
UserProfile 40 사용자의 프로필 폴더입니다. 애플리케이션에서는 이 수준에 파일이나 폴더를 만들 수 없으며 ApplicationData에서 참조되는 위치 아래에 데이터를 두어야 합니다.
Windows 36 Windows 디렉터리 또는 SYSROOT입니다. %windir% 또는 %SYSTEMROOT% 환경 변수에 해당합니다.

 

 

 

 

참고 : 

https://docs.microsoft.com/ko-kr/dotnet/api/system.environment.specialfolder?view=net-5.0#System_Environment_SpecialFolder_Personal 

 

Environment.SpecialFolder 열거형 (System)

시스템 특수 폴더에 대한 디렉터리 경로를 검색하는 데 사용되는 열거 상수를 지정합니다.Specifies enumerated constants used to retrieve directory paths to system special folders.

docs.microsoft.com

 

반응형
반응형

작년에 이미 private 리포지토리를 사용해본적이 있었는데

올해 다시 만들어보려고 했더니 기억상실돼서 다시 찾아본 결과를 기록해본다

 

방법은 간단한데 역시나 어디있는지 찾는게 문제임

 

 

빠르게 스샷으로 참고해보자

 

 

 

먼저 팀프로젝트를 함께할 리포지토리를 만듦

 

 

맨 오른쪽에 있는 세팅을 클릭하여 repository에 대한 설정에 들어간다

 

Manage Access를 클릭하여 이 리포지토리에 접근이 가능한 계정을 관리해준다

 

 

 

협력자 초대 ㄱㄱ

스크롤을 맨 아래로 내린 다음

Invite a collaborator를 클릭 후 사용자 계정을 입력하여 초대를 해주면 된다

 

 

초대를 보내고 나면 이메일로 연락이 가는데 초대받은 사람이 수락하면 끝

 

 

나는 초대를 보낸 입장이라 awaiting response라는 상태를 확인할수있다

 

이렇게 리포지토리 소유자를 제외한 최대 3명까지 비공개 리포지토리를 이용할 수 있다고한다

 

 

 

 

 

스택오버플로우와 깃허브 공식 문서의 답변을 바탕으로 재구성해봄

 

 

https://stackoverflow.com/questions/31264165/can-i-share-my-private-github-repository-by-link/31264715

 

Can I share my private GitHub repository by link?

I have a Java application in a private repository on GitHub and I would like to share it with someone who doesn't have an account. I didn't find any option on the site for this. Is there a way to do

stackoverflow.com

 

 

https://docs.github.com/en/github/setting-up-and-managing-your-github-user-account/managing-access-to-your-personal-repositories/inviting-collaborators-to-a-personal-repository

 

Inviting collaborators to a personal repository - GitHub Docs

Repositories owned by an organization can grant more granular access. For more information, see "Access permissions on GitHub." Pending invitations will expire after 7 days, restoring any unclaimed licenses. Note: GitHub limits the number of people who can

docs.github.com

 

반응형
반응형

웹 개발 때, 크롬에서만 테스트를 진행해보다가 호기심이 생겨서 파이어폭스에서도 돌려보는데

메인페이지 접속부터 에러터지고 순탄치 않아서

 

뭔가했더니 HTML 태그를 끝까지 다 안닫아줘서 발생한 문제였음

 

보통 효율적인 개발툴을 사용한다면 이런 문제가 생기지 않을텐데

노트패드로 급히 수정하다보면 가끔 하게되는 허무한 실수라고 생각된다

 

 

이렇게.. 또 배워갑니다

 

 

 

 

 

심지어 내가 수정해야할 예상태그까지 다 알려준다

크롬은 알아서 해주지만 파이어폭스는 지적을 해줌

 

참 선생인듯 폭스선생

 

반응형
반응형

 

깃에 푸쉬를 하려고 보니 필요한 파일과 업로드해서는 안되는 파일들이 있을것같아

찾아본 결과

개발 중 자동으로 생성되는 것들에 대해서는 푸쉬를 하지 말라고한다

 

예를들어

비쥬얼스튜디오를 이용한 경우, 개발 툴이 빌드마다 자동으로 만들어주는것은

앞으로도 계속적인 변화가 있으므로 그렇다고 함

 

 

그래서 정확히 어떤 확장자를 가진 파일들을 올리지 말아야하는지 찾아보았는데

깃헙에 아예 .gitignore 파일에 대한 템플릿이 올려져있어서

 

이 파일을 루트폴더에 함께 올려주면 올리지 말아야할 파일들을 자동으로 걸러서 업로드가 되니 굉장히 간편했다

 

 

 

위의 이미지는 visual studio 를 사용한 솔루션에 대한 푸쉬를 해본 예제

 

소스트리를 사용하는 사람들은 본인에게 맞는 템플릿을 아래 사이트에서 다운받고

다운받은 .gitignore을 함께 푸쉬해주면 된다.

 

 

 

 

github/gitignore

A collection of useful .gitignore templates. Contribute to github/gitignore development by creating an account on GitHub.

github.com

 

 

 

출처 : 

 

 

Why are the bin and OBJ folders in projects not recommended to be put in the repository?

Answer (1 of 6): Thanks for the A2A Asheq! The reason you should avoid putting the bin and obj folders into your repository is because they are auto-generated. This means that every team member that generates the project will create these files by default

www.quora.com

 

반응형
반응형

리포지토리에 열심히 마크다운 파일을 작성해서 업로드했는데

막상 하고나니 이미지가 없어서 너무 딱딱한 설명서가 되어서,.

 

이미지를 첨부해서 프로그램에 대한 설명을 추가했다

 

깃허브 공식문서에도 설명이 되어있긴 하지만 스택오버플로우는 아예 입에 떠먹여주니까

아래 이미지를 참고해서 markdown에 추가해주면 끝남

 

README.MD 파일에 이미지 추가 하는 법

 

첫번째 방식은 깃허브가 아닌 원격 서버에 이미지가 있는경우인것 같고

두번째 방식은 깃허브에 이미지가 있는경우에, 이미지의 절대경로를 사용한방식으로 보인다

 

 

본인의 깃허브 repository에 이미지가 이미 업로드 되어있다면 두번째 방법이 간편하니

당연히 나는 두번째 방식으로 사용했음

 

 

 

대충 이미지를 첨부하고 싶은 위치에 아래 코드를 붙여넣어주면 완성이다

 

 

![html alt](http://img path)

 

아래 예시 참고해서 사용하자

![play img](https://github.com/yunnyDaram/WPF/blob/master/BullsAndCows/BullsAndCows/ex1.png)

 

 

 

 

 

참고

https://stackoverflow.com/questions/14494747/how-to-add-images-to-readme-md-on-github

 

How to add images to README.md on GitHub?

Recently I joined GitHub. I hosted some projects there. I need to include some images in my README File. I don't know how to do that. I searched about this, but all I got was some links which tel...

stackoverflow.com

 

반응형
반응형

먼저,

ico 파일이 없다면 png, jpg 등 이미지 파일을 ico 파일형식으로 변환해주는

온라인 컨버터 사이트에 접속해서 먼저 ico 파일을 만든다

구글링 시 나오는 아무사이트나 방문하면 됨

 

포토샵으로도 가능하지만 포토샵이 없어서 온라인 사이트 방문해야됨

 

 

 

※방법 자체는 어렵지 않은데 처음해보거나 어디인지 위치를 까먹으면 몰라서 못함

 

 

 

 

텍스트 설명

프로젝트 우클릭 -> 속성 -> 응용프로그램 탭에서 아이콘 및 매니페스트의 아이콘 찾아보기

-> 컴퓨터에 있는 로컬 ico 선택 -> 변경완료

 

 

 

 

사진 설명

 

 

 

 

 

 

 

ico 파일을 선택하면 찾아보기 버튼 옆에 입력한 ico 파일이 적용된 모습을 확인할수있다

 

 

 

 

프로그램 실행 시 아이콘이 적용된 모습

 

 

 

 

 

 

 

반응형

+ Recent posts