728x90
반응형

전체보기 2040

[스위프트] 문자열 유형으로 enumerate을 enum하는 방법

질문 : 문자열 유형으로 열거 형을 열거하는 방법은 무엇입니까? enum Suit: String { case spades = "♠" case hearts = "♥" case diamonds = "♦" case clubs = "♣" } 예를 들어 다음과 같이 어떻게 할 수 있습니까? for suit in Suit { // do something with suit print(suit.rawValue) } 결과 예 : ♠ ♥ ♦ ♣ 답변 시작 스위프트 4.2 (엑스 코드 10), 단지에 프로토콜 적합성을 추가 CaseIterable 에서 이익을 allCases . 이 프로토콜 준수를 추가하려면 어딘가에 작성하면됩니다. extension Suit: CaseIterable {} 열거 형이 자신의 것이라면 선언에서..

개발관련/other 2021.07.27

C ++ 표준 int, long 유형의 크기 기준

질문 : C ++ 표준은 int, long 유형의 크기를 무엇으로 지정합니까? 기본 C ++ 유형의 크기에 대한 자세한 정보를 찾고 있습니다. 아키텍처 (16 비트, 32 비트, 64 비트)와 컴파일러에 따라 다르다는 것을 알고 있습니다. 하지만 C ++에 대한 표준이 있습니까? 32 비트 아키텍처에서 Visual Studio 2008을 사용하고 있습니다. 내가 얻는 것은 다음과 같습니다. char : 1 byte short : 2 bytes int : 4 bytes long : 4 bytes float : 4 bytes double: 8 bytes char , short , int , long , double , float (및 내가 생각하지 않은 다른 유형)의 크기를 나타내는 신뢰할 수있는 정보를 찾..

React.js의 상태 배열 수정

질문 : React.js의 상태 배열 수정 state 배열의 끝에 요소를 추가하고 싶습니다. 이것이 올바른 방법입니까? this.state.arrayvar.push(newelement); this.setState({ arrayvar:this.state.arrayvar }); push 하여 배열을 제자리에서 수정하면 문제가 발생할 수 있습니다. 안전합니까? 배열의 복사본을 만드는 대안과 낭비적인 setState 답변 React 문서 는 다음과 같이 말합니다. this.state를 변경 불가능한 것처럼 취급하십시오. push 는 상태를 직접 변경하므로 나중에 상태를 다시 "재설정"하는 경우에도 오류가 발생하기 쉬운 코드로 이어질 수 있습니다. componentDidUpdate 와 같은 일부 수명주기 메서드가..

JavaScript에서 스택과 큐를 구현하는 방법

질문 : JavaScript에서 스택과 큐를 어떻게 구현합니까? JavaScript에서 스택 및 큐를 구현하는 가장 좋은 방법은 무엇입니까? 나는 shunting-yard 알고리즘을 수행하려고하며 이러한 데이터 구조가 필요합니다. 답변 var stack = []; stack.push(2); // stack is now [2] stack.push(5); // stack is now [2, 5] var i = stack.pop(); // stack is now [2] alert(i); // displays 5 var queue = []; queue.push(2); // queue is now [2] queue.push(5); // queue is now [2, 5] var i = queue.shift(); ..

PHP에서 정적 코드 분석을 수행하는 방법

질문 : PHP에서 정적 코드 분석을 수행하려면 어떻게해야합니까? PHP 소스 파일에 대한 정적 분석 도구가 있습니까? 바이너리 자체는 구문 오류를 확인할 수 있지만 다음과 같이 더 많은 작업을 수행하는 것을 찾고 있습니다. 사용하지 않는 변수 할당 먼저 초기화되지 않고에 할당 된 배열 그리고 아마도 코드 스타일 경고 ... 답변 php 를 실행하여 실행하지 않고 구문의 유효성을 검사합니다. php -l FILENAME 상위 수준의 정적 분석기에는 다음이 포함됩니다. php-sat -http ://strategoxt.org/ 필요 PHP_Depend PHP_CodeSniffer PHP 메스 감지기 PHPStan PHP-CS-Fixer 팬 하위 수준 분석기에는 다음이 포함됩니다. PHP_Parser tok..

Android에서 내 애플리케이션의 메모리 사용량을 확인하는 방법

질문 : Android에서 내 애플리케이션의 메모리 사용량을 어떻게 확인합니까? 프로그래밍 방식으로 Android 애플리케이션에서 사용되는 메모리를 어떻게 찾을 수 있습니까? 할 수있는 방법이 있기를 바랍니다. 또한 휴대폰의 여유 메모리도 어떻게 얻습니까? 답변 Linux와 같은 최신 운영 체제에서 메모리 사용은 매우 복잡하고 이해하기 어려운 영역입니다. 사실 당신이 얻는 숫자를 정확하게 해석 할 가능성은 극히 낮습니다. (다른 엔지니어와 함께 메모리 사용 수치를 볼 때마다 거의 항상 그들이 실제로 의미하는 바에 대한 긴 논의가있어 모호한 결론을 내릴뿐입니다.) 참고 : 이제 여기에있는 자료의 대부분을 다루고 Android 상태에 대한 최신 정보 인 앱의 메모리 관리에 대한 훨씬 더 광범위한 문서가 있습..

Git 브랜치를 로컬 및 원격으로 삭제하는 방법

질문 : Git 브랜치를 로컬 및 원격으로 삭제하려면 어떻게해야합니까? 로컬 및 원격으로 브랜치를 삭제하고 싶습니다. $ git branch -d remotes/origin/bugfix error: branch 'remotes/origin/bugfix' not found. $ git branch -d origin/bugfix error: branch 'origin/bugfix' not found. $ git branch -rd origin/bugfix Deleted remote branch origin/bugfix (was 2a14ef7). $ git push Everything up-to-date $ git pull From github.com:gituser/gitproject * [new branch..

개발관련/Git 2021.07.23

git reset --hard에서 커밋되지 않은 변경 사항을 복구하는 방법

질문 : git reset --hard에서 복구 하시겠습니까? git reset --hard HEAD 에서 작업 디렉토리에 대한 커밋되지 않은 변경 사항을 복구하는 방법이 있습니까? 답변 일반적으로 커밋되지 않은 변경 사항은 되돌릴 수 없습니다. 이전에 준비된 변경 사항 ( git add )은 인덱스 개체에서 복구 할 수 있어야 git fsck --lost-found 를 사용하여 관련 개체를 찾습니다. (이렇게하면 객체가 .git/lost-found/ 디렉토리에 기록됩니다. 여기서 git show 을 사용하여 각 파일의 내용을 볼 수 있습니다.) 그렇지 않은 경우 여기에 대한 대답은 다음과 같습니다. 백업을보십시오. 아마도 당신의 에디터 / IDE는 / tmp 나 C : \ TEMP에 임시 복사본을 저장..

개발관련/Git 2021.07.23

Android 버튼에서 drawableLeft를 프로그래밍 방식으로 설정하는 방법

질문 : Android 버튼에서 drawableLeft를 프로그래밍 방식으로 설정하는 방법은 무엇입니까? 버튼을 동적으로 만들고 있습니다. 먼저 XML을 사용하여 스타일을 지정하고 아래 XML을 프로그래밍 방식으로 만들려고합니다. 이것이 제가 지금까지 가지고있는 것입니다. 드로어 블을 제외한 모든 것을 할 수 있습니다. linear = (LinearLayout) findViewById(R.id.LinearView); Button button = new Button(this); button.setText("Button"); button.setOnClickListener(listener); button.setLayoutParams( new LayoutParams( android.view.ViewGroup.L..

CSS를 통해 PNG 이미지의 색상을 변경하는 방법

질문 : CSS를 통해 PNG 이미지의 색상을 변경 하시겠습니까? 흰색으로 단순한 모양을 표시하는 투명한 PNG가 주어지면 어떻게 든 CSS를 통해 색상을 변경할 수 있습니까? 어떤 종류의 오버레이입니까? 답변 -webkit-filter 및 filter 와 함께 필터를 사용할 수 있습니다. 필터는 브라우저에 비교적 새롭지 만 다음 CanIUse 표에 따라 90 % 이상의 브라우저에서 지원됩니다. https://caniuse.com/#feat=css-filters 이미지를 그레이 스케일, 세피아 등으로 변경할 수 있습니다 (예제 참조). 이제 필터를 사용하여 PNG 파일의 색상을 변경할 수 있습니다. body { background-color:#03030a; min-width: 800px; min-heig..

C ++ 컴파일이 오래 걸리는 이유

질문 : C ++ 컴파일이 왜 그렇게 오래 걸리나요? C ++ 파일을 컴파일하는 것은 C # 및 Java와 비교할 때 매우 오래 걸립니다. 일반적인 크기의 Python 스크립트를 실행하는 것보다 C ++ 파일을 컴파일하는 데 훨씬 더 오래 걸립니다. 현재 VC ++를 사용하고 있지만 모든 컴파일러와 동일합니다. 왜 이런거야? 내가 생각할 수있는 두 가지 이유는 헤더 파일을로드하고 전처리기를 실행하는 것이었지만 그것이 왜 그렇게 오래 걸리는지 설명 할 수없는 것 같습니다. 답변 몇 가지 이유 헤더 파일 모든 단일 컴파일 단위에는 수백 또는 수천 개의 헤더가 (1)로드되고 (2) 컴파일되어야합니다. 전처리 기가 헤더 컴파일 결과가 모든 컴파일 단위마다 다를 수 있도록 보장하기 때문에 일반적으로 모든 컴파일 ..

Collatz 추측을 테스트하기위한 C ++ 코드가 손으로 작성한 어셈블리보다 빠르게 실행되는 이유

질문 : Collatz 추측을 테스트하기위한 C ++ 코드가 손으로 작성한 어셈블리보다 빠르게 실행되는 이유는 무엇입니까? 이 두 가지 솔루션을 Project Euler Q14 , 어셈블리 및 C ++로 작성했습니다. 그들은 Collatz 추측 을 테스트하기 위해 동일한 무차별 대입 접근 방식을 구현합니다. 조립 솔루션은 다음과 같이 조립되었습니다. nasm -felf64 p14.asm && gcc p14.o -o p14 C ++는 다음과 같이 컴파일되었습니다. g++ p14.cpp -o p14 어셈블리, p14.asm : section .data fmt db "%d", 10, 0 global main extern printf section .text main: mov rcx, 1000000 xor rd..

C ++ 프로그래머가 'new'사용을 최소화해야하는 이유

질문 : C ++ 프로그래머가 'new'사용을 최소화해야하는 이유는 무엇입니까? std :: list 을 사용할 때 std :: string 으로 스택 오버플로 질문 메모리 누수를 우연히 발견 했으며 주석 중 하나는 다음 과 같이 말합니다. 사용을 중지 new 너무 많이. 당신이 한 곳에서 새로운 것을 사용한 이유를 볼 수 없습니다. C ++ 에서 값별로 객체를 생성 할 수 있으며 이는 언어 사용의 큰 장점 중 하나입니다. 힙에 모든 것을 할당 할 필요는 없습니다. 자바 프로그래머처럼 생각하지 마세요. 그게 무슨 뜻인지 잘 모르겠습니다. 왜 객체는 가능한 한 자주 C ++의 값으로 생성되어야하며 내부적으로 어떤 차이가 있습니까? 내가 답을 잘못 해석 했습니까? 답변 널리 사용되는 메모리 할당 기술에는 자..

확실한 C ++ 의 가이드 및 목록

질문 : 확실한 C ++ 책 가이드 및 목록 이 질문은 매년 출판되는 수십 권의 나쁜 C ++ 책 중에서 몇 가지 진주를 수집하려고합니다. 인터넷에서 찾아 볼 수있는 자습서에서 이동 중에 자주 선택되는 다른 프로그래밍 언어와 달리 잘 작성된 C ++ 책을 공부하지 않고 C ++를 빠르게 선택할 수있는 사람은 거의 없습니다. 이것을하기에는 너무 크고 복잡합니다. 사실, 너무 크고 복잡해서 아주 나쁜 C ++ 책 이 많이 있습니다. 그리고 우리는 나쁜 스타일에 대해 말하는 것이 아니라 눈에 띄게 명백한 사실적 오류를 자랑하고 엄청나게 나쁜 프로그래밍 스타일을 홍보하는 것과 같은 것입니다. 허용 된 답변을 편집하여 양질의 책 과 대략적인 기술 수준 을 제공하십시오. 가급적 C ++ 채팅방 에서 추가 내용을 논..

AngularJS에서 범위 prototypal / prototypal inheritance 의 의미

질문 : AngularJS에서 범위 프로토 타입 / 프로토 타입 상속의 뉘앙스는 무엇입니까? API 참조 범위 페이지에 다음 내용이 표시됩니다. 범위는 상위 범위에서 상속 할 수 있습니다. 개발자 가이드 범위 페이지 에는 다음과 같은 내용이 있습니다. 범위 (원형)는 부모 범위에서 속성을 상속합니다. 그렇다면 자식 범위는 항상 부모 범위에서 프로토 타입 적으로 상속됩니까? 예외가 있습니까? 상속 할 때 항상 일반적인 JavaScript 프로토 타입 상속입니까? 답변 빠른 답변 : 일반적으로 자식 범위는 프로토 타입 적으로 부모 범위에서 상속되지만 항상 그런 것은 아닙니다. 이 규칙에 대한 한 가지 예외는 scope: { ... } 지시문입니다.이 경우 프로토 타입 적으로 상속되지 않는 "격리"범위가 생성..

사용자가 외부를 클릭 할 때 jQuery를 사용하여 DIV를 숨기는 법.

질문 : 사용자가 외부를 클릭 할 때 jQuery를 사용하여 DIV를 숨 깁니다. 이 코드를 사용하고 있습니다. $('body').click(function() { $('.form_wrapper').hide(); }); $('.form_wrapper').click(function(event){ event.stopPropagation(); }); 그리고이 HTML : I Agree Disagree div 내부에 링크가 있고 클릭했을 때 더 이상 작동하지 않는다는 것입니다. 답변 똑같은 문제가 있었는데이 쉬운 해결책을 내놓았습니다. 재귀 적으로 작동합니다. $(document).mouseup(function(e) { var container = $("YOUR CONTAINER SELECTOR"); // if..

equal, eql, ===, ==의 차이점

질문 : equal ?, eql ?, === 및 ==의 차이점은 무엇입니까? 이 네 가지 방법의 차이점을 이해하려고 노력하고 있습니다. 나는 기본적으로 == 메서드가 equal? 두 피연산자가 정확히 동일한 객체를 참조하면 true를 반환합니다. === 는 기본적으로 == 를 호출 equal? ... 좋아,이 세 가지 방법이 모두 재정의되지 않으면 === , == 그리고 equal? 정확히 똑같은 일을합니까? eql? 이 온다? . 이것은 무엇을 하는가 (기본적으로)? 피연산자의 해시 / ID를 호출합니까? 루비에는 왜 이렇게 많은 등호 기호가 있습니까? 의미론이 달라야합니까? 답변 여기에서 Object 문서 를 많이 인용 할 것입니다. 왜냐하면 여기에 훌륭한 설명이 있다고 생각하기 때문입니다. 이 메서..

개발관련/other 2021.07.23

Python의 easy_install로 설치된 패키지를 제거하는 방법

질문 : Python의 easy_install로 설치된 패키지를 제거하려면 어떻게해야합니까? Python의 easy_install 사용하면 새 패키지를 매우 편리하게 설치할 수 있습니다. 그러나 내가 말할 수있는 한, 설치된 패키지를 나열하고 제거하는 종속성 관리자의 다른 공통 기능을 구현하지 않습니다. 설치된 항목을 찾는 가장 좋은 방법은 무엇이며 설치된 패키지를 제거하는 가장 좋은 방법은 무엇입니까? 패키지를 수동으로 제거 할 경우 업데이트해야하는 파일이 있습니까 (예 : rm /usr/local/lib/python2.6/dist-packages/my_installed_pkg.egg 또는 유사)? 답변 setuptools / easy_install의 대안 인 pip 는 "uninstall"명령을 제공..

C 및 C ++에서 char를 int로 변환

질문 : C 및 C ++에서 char를 int로 변환 C 및 C ++에서 char 를 int 로 어떻게 변환합니까? 답변 수행하려는 작업에 따라 다릅니다. 값을 ASCII 코드로 읽으려면 다음과 같이 작성할 수 있습니다. char a = 'a'; int ia = (int)a; /* note that the int cast is not necessary -- int ia = a would suffice */ 문자 '0' -> 0 , '1' -> 1 등을 변환하려면 다음과 같이 쓸 수 있습니다. char a = '4'; int ia = a - '0'; /* check here if ia is bounded by 0 and 9 */ 설명 : a - '0' 은 ((int)a) - ((int)'0') 와 동일하며..

HTML <base> 태그는 어떤 상황에서 활용할수 있을까?

질문 : HTML에 대한 권장 사항은 무엇입니까? 꼬리표? 이전에 실제로 사용 된 HTML 태그를 본 적이 없습니다. 내가 그것을 피해야한다는 것을 의미하는 사용에 함정이 있습니까? 내 사이트의 링크를 단순화하는 데 유용한 응용 프로그램이있는 것처럼 보이지만 최신 프로덕션 사이트 (또는 다른 사이트)에서 사용중인 것을 본 적이 없다는 사실이 저를 걱정스럽게 만듭니다. 몇 주 동안 기본 태그를 사용한 후 기본 태그를 사용하여 처음 나타나는 것보다 훨씬 덜 바람직하게 만드는 몇 가지 주요 문제를 발견했습니다. 기본적으로 기본 태그 아래의 href='#topic' 및 href='' 에 대한 변경 사항은 기본 동작과 매우 호환되지 않으며 기본 동작의 이러한 변경으로 인해 컨트롤 외부의 타사 라이브러리가 예상치 ..

클래스 용 CSS의 와일드 카드 *

질문 : 클래스 용 CSS의 와일드 카드 * .tocolor 스타일링하는 div가 있지만 고유 식별자 1,2,3,4 등도 필요하므로 tocolor-1 다른 클래스로 추가합니다. tocolor 1 tocolor 2 tocolor 3 tocolor 4 .tocolor{ background: red; } tocolor-* 만 갖는 방법이 있습니까? 이 CSS에서와 같이 와일드 카드 * .tocolor-*{ background: red; } 답변 필요한 것은 속성 선택기입니다. html 구조를 사용하는 예는 다음과 같습니다. div[class^="tocolor-"], div[class*=" tocolor-"] { color:red } div 대신 요소를 추가하거나 모두 제거 class 대신 지정된 요소의 속성을..

[Python] 다중 처리 vs 스레딩

질문 : 다중 처리 대 스레딩 Python 스레딩에 비해 다중 처리 의 장점을 이해하려고합니다. 다중 처리 가 Global Interpreter Lock을 우회한다는 것을 알고 있지만 다른 이점이 있으며 스레딩 이 똑같은 일을 할 수 없습니까? 답변 threading 모듈은 스레드를 사용하고 multiprocessing 모듈은 프로세스를 사용합니다. 차이점은 스레드는 동일한 메모리 공간에서 실행되는 반면 프로세스에는 별도의 메모리가 있다는 것입니다. 이로 인해 다중 처리를 사용하여 프로세스간에 개체를 공유하기가 조금 더 어려워집니다. 스레드는 동일한 메모리를 사용하기 때문에 예방 조치를 취해야합니다. 그렇지 않으면 두 개의 스레드가 동시에 동일한 메모리에 기록됩니다. 이것이 글로벌 인터프리터 잠금의 목적..

Javascript에서 문자열의 첫 번째 문자 삭제

질문 : Javascript에서 문자열의 첫 번째 문자 삭제 첫 번째 문자가 0이면 문자열의 첫 번째 문자를 삭제하고 싶습니다. 0은 두 번 이상있을 수 있습니다. 첫 번째 문자를 확인하고 0이면 삭제하는 간단한 기능이 있나요? 지금은 JS slice() 함수로 시도하고 있지만 매우 어색합니다. 답변 substring 문자열을 사용하여 문자열의 첫 번째 문자를 제거 할 수 있습니다. var s1 = "foobar"; var s2 = s1.substring(1); alert(s2); // shows "oobar" 문자열의 시작 부분에있는 모든 0을 제거하려면 : var s = "0000test"; while(s.charAt(0) === '0') { s = s.substring(1); } 출처 : https..

HTTP 파일 업로드하는 방법

질문 : HTTP 파일 업로드는 어떻게 작동합니까? 파일이 첨부 된 다음과 같은 간단한 양식을 제출할 때 : Choose a file to upload: 내부적으로 파일을 어떻게 전송합니까? 파일이 HTTP 본문의 일부로 데이터로 전송됩니까? 이 요청의 헤더에 파일 이름과 관련된 내용이 없습니다. 파일을 보낼 때 HTTP의 내부 작동을 알고 싶습니다. 답변 파일을 선택하고 양식을 제출할 때 어떤 일이 발생하는지 살펴 보겠습니다 (간결하게하기 위해 헤더를 잘랐습니다). POST /upload?upload_progress_id=12344 HTTP/1.1 Host: localhost:3000 Content-Length: 1325 Origin: http://localhost:3000 ... other heade..

개발관련/other 2021.07.22

각각 offsetWidth, clientWidth, scrollWidth 및 -Height 이해

질문 : 각각 offsetWidth, clientWidth, scrollWidth 및 -Height 이해 offsetWidth / clientWidth / scrollWidth (및 -Height )와 관련하여 StackOverflow에 대한 몇 가지 질문이 있지만 해당 값이 무엇인지에 대한 포괄적 인 설명은 제공하지 않습니다. 또한 웹에는 혼란 스럽거나 잘못된 정보를 제공하는 여러 소스가 있습니다. 시각적 힌트를 포함하여 완전한 설명을 할 수 있습니까? 또한 이러한 값을 사용하여 스크롤 막대 너비를 계산하려면 어떻게해야합니까? 답변 CSS 상자 모델은 특히 스크롤 콘텐츠와 관련하여 다소 복잡합니다. 브라우저는 CSS의 값을 사용하여 상자를 그리는 반면, CSS 만있는 경우 JS를 사용하여 모든 치수를 ..

728x90
반응형