반응형 책벌레와 벌레 그 사이 어딘가/개념쌓기68 [개념쌓기]GCC란? GCC(GNU Compiler Collection) : GNU 프로젝트의 일환으로 개발되어 널리 쓰이고 있는 컴파일러 GNU(GNU's Not Unix) : GNU는 유닉스가 아니다라는 의미 각종 자유 소프트웨어들이 돌아가고 번영할 수 있는 기반 생태계를 구축하기 위해 시작한 프로젝트 컴파일러? 컴파일(Compile)은 어떤 언어의 코드를 다른 언어로 바꿔주는 과정을 말한다. 예로, 사람이 인식하고 이해가능한 C언어 코드를 컴퓨터가 이해할 수 있게 기계어로 바꿔주는 것이다. 컴파일러(Complier)는 어떤 프로그래밍 언어의 코드로 쓰여진 소스 파일을 다른 언어로 바꿔주는 번역기다. 소스 코드가 실행 파일이 되는 과정 -전처리 단계 -컴파일 단계 -어셈블 단계 -링크 단계 1. 전처리 단계 전치리기 지시.. 2023. 4. 8. [개념쌓기] YUV 테스팅 기기의 기능 중에 스냅샷 기능을 통해 파일을 생성하여 이를 YUV로 확인하는 작업을 진행했다. 몇 번 해보다 보니 조금?은 기계화가 되어 수월하게 했는데, 뭐가 뭔지는 몰라서 찾아보게 됐다. YUV? 휘도(Y)와 청색 색차(U), 적색 색차(V) 정보로 색을 구성하는 방법 나도 마찬가지고, 보통은 RGB만을 알고 있다. RGB는 색감의 다양성을 제공하지만 그만큼 용량이 커진다는 단점이 있다. 동영상을 RGB 그대로 재생한다면 영상의 용량은 매우 커질 것이며, 이는 치명적으로 다가올 수 있다. RGB와 달리 위에서 말한 것처럼 YUV는 휘도(Y)와 색상신호 2개(U, V)로 표현하는데 Y 신호만 받게되면 흑백이 된다. 여러 번 복제한 VHS 테이프나 방송 상태가 좋지 못한 채널에서 흑백으로 보이는 .. 2023. 4. 4. [개념쌓기] C & C++ & C# 제일 최종적으로 배울 C#전에 C++입문자로써, 뭐가 뭔지 우선적으로 알아볼 필요가 있다고 생각해서 정리했다. C 우선 C이다. C는 많은 프로그래밍 언어 중에서 오래된 언어에 속한다. 자바, 자바스크립트, 파이썬, PHP, GO와 같은 많은 언어들에게 영향을 줬다. 지금까지도 꾸준히 기본으로 인정되는 프로그래밍 언어이기도 하다. C언어가 만들어질 당시에는 컴퓨터 하드웨어가 지금처럼 좋지 않았기 때문에 C 언어는 리소스가 부족한 기계에서 작동할 때 유용하다는 특성이 있다. 즉, 메모리에 대한 기본 수준의 액세스를 제공해, 런타임 지원이 거의 필요 없기에 효율적으로 작동하는 프로그래밍 언어다. 적은 공간을 요하면서도 빠르다는 장점이 있다. C++ C++는 운영체제 개발에서 C와 함께 사용되며, 고수준의 서.. 2023. 4. 3. [개념쌓기] CORS 복습 지난번에 프로젝트를 하며 서로 다른 출처를 지닌 리소스를 사용하기 위해 CORS에 대해 공부했었는데, 아직 내용에 대해 명확히 기억나는 부분이 SOP부분 뿐이라 다시 복습하게 됐다. 단순히 포스팅을 옮기는 것만 한 것이 아니라, 공부를 하며 기존 포스팅했던 글의 내용을 상당 부분 수정했다. https://veganwithbacon.tistory.com/33 [개념쌓기] CORS CORS가 무엇일까 우선 CORS가 왜 필요한지를 알아야 한다 웹 공간에서는 다른 출처로의 리소스 요청에 대한 제한과 관련된 두가지 정책 CORS,SOP(Same-Origin Policy)이 존재하는데 서로 다른 출처를 가진 veganwithbacon.tistory.com 2023. 1. 20. [개념쌓기] final/ finally/ finalize() final/ finally/ finalize 종종 사용하긴 했지만, 셋의 차이에 대해 명확히 몰랐기에 정리했다. 👀한 눈에 확인하기(para coreanos como yo) 1. final 변수 : final이 적용된 변수의 값은 초기화 후에는 변경할 수 없다 메소드 : final로 선언된 메서드는 하위 클래스에서 오버라이드 할 수 없다 클래스 : final로 선언된 클래스는 계승 대상이 될 수 없다.(하위 클래스를 만들 수 없다) 2. finally finally 키워드는 try/catch 블록과 함께 사용되며 예외가 던져지더라도 항상 실행될 코드가 지정하기 위해 사용된다 3. finalize java의 garbage collector는 객체를 삭제하기 전, finalize() 메소드를 호출 1. fi.. 2023. 1. 16. [개념쌓기] 직렬화(Serialization)? Spring을 사용하다보니 Serialization을 쓰는 일이 많아져서 Serialization이 무엇인지 궁금해서 기록을 위해 블로깅을 했다 🔔성격 급한 꼬레아노들을 위한 간단 정리 Java에서 직렬화란? - 자바 시스템 내에서 사용되는 객체 또는 데이터를 외부의 자바 시스템에서도 사용할 수 있도록 바이트 형태로 변환하는 기술 - JVM의 메모리(힙/스택)에 있는 객체 데이터를 바이트 형태로 변환하는 것 그럼 역직렬화는? - 바이트로 변환된 데이터를 다시 객체로 변환하는 기술 - 직렬화된 바이트 형태의 데이터를 객체로 변환해 JVM에 상주시키는 것 SUID !!다음과 같은 경우 제대로된 객체를 불러올 수 없다 1. 저장하는 쪽과 불러오는 쪽의 컴파일러가 다를 경우 2. 저장하는 시기와 불러오는 시기의.. 2023. 1. 15. [개념쌓기] Object class? 자바의 최상위 클래스 자바의 최상위 클래스가 Object클래스인 것은 익히 알고 있을 것이다. 몰랐다면 이제 알면 된다. Object 클래스 : 모든 자바 클래스들의 부모 클래스이며 모든 자식 클래스는 Object의 메소드를 가진다. *System.out.println(new A()); 와 같이 모든 클래스 타입을 출력할 수 있는 것이 Object클래스가 있기 때문이다 class B extends A{~~ } class A{~~ } class A extends Object{~~ } 마지막의 경우 상속을 하지 않으면 자동으로 Object를 상속한다 즉, 모든 class는 object class의 메소드를 사용가능하며, 일부는 overriding 할 수 있다. Object 클래스는 필드없이 메소드로 구성된다 이 메소드들은 모든 .. 2023. 1. 12. 이전 1 2 3 4 5 6 7 ··· 10 다음 반응형