TIL💡/Others(8)
-
언어별 성능 비교
https://www.ciokorea.com/news/257842 수십 년째 요지부동, 'C 언어'가 왕좌 지키는 이유 ‘C 언어’는 지난 1972년 개발돼 지금까지 전 세계적으로 널리 사용되고 있으며, 소프트웨어 시대의 핵심적인 기본 구성요소로 군림하고 있다. www.ciokorea.com 자바의 장점 자바는 JIT(Just-In-Time) 컴파일러가 자바 코드를 컴파일하여 타깃 환경에서 실행한다. JIT 엔진은 프로그램 동작을 기반으로 런타임 시 루틴을 최적화하여 사전 컴파일된 C에서는 불가능한 많은 최적화 클래스를 허용한다. 또한 OS 독립적이므로 한 번 작성하면 어디서든 실행될 수 있다. 이러한 장점들은 닷넷(.NET)도 유사하다. 자바의 단점 자바는 JVM 인터프리터가 기계어로 변환하는 중간 코..
2022.10.26 -
[Visual Studio] 단축키 정리
삼성 SW 역량 테스트를 앞두고 테스트 환경이 전형적인 Windows에 Visual Studio라고 하여서, 새롭게 단축키를 익히고 있다. 주석 처리: ctrl + k + c 주석 해제: ctrl + k + u https://jhnyang.tistory.com/323 자주 사용하는 비주얼스튜디오 단축키 정리 (Visual Studio shortcuts) [C/C++ 프로그래밍 강좌 목차] Visual Studio 단축키 알아보기 안녕하세요 여러분들 ㅎㅎ 오늘은 개발환경 비주얼스튜디오 단축키에 대해 알아보려고 합니다. 단축키를 커스터마이징해서 사용할 수 jhnyang.tistory.com
2022.10.09 -
[병렬화] 병렬 프로그래밍이란?
병렬화 병렬 프로그래밍은 순차적인 직렬프로그램을 분할하고 분할된 단위를 동시에 병렬로 수행함으로써 성능을 향상하는 프로그래밍 기술이며, 이러한 전반적인 과정을 병렬화라고 한다. 병렬프로그래밍을 구현하기 위해서는 가장 먼저 성능의 병목지점인 병렬화 대상을 찾아야 한다. 또한 실제 병렬화가 가능한지에 대한 의존성 분석과 병렬화를 어떤 방식으로 진행할 건지에 대한 패턴 결정이 필요하다. 아래 그림은 병렬화의 전반적인 단계를 나타내고 있다. 병렬화 대상 찾기 병렬화를 수행할 때 가장 먼저 해야할 일은 바로 병렬화 대상을 찾는 것이다. 즉, 순차적인 코드에서 가장 많은 시간이 소요되는 병목구간을 찾는 것이다. 이러한 작업은 프로그래머가 직접 뒤져가며 찾아볼 수도 있지만, 일반적으로 프로파일링 도구의 힘을 빌리기도..
2022.10.02 -
Customize Azure Pipeline YAML
요즘 DevOps 관련된 곳에서 YAML 파일을 자주 사용하는데, 여전히 방법을 잘 몰라서 조금씩 정리를 해보고 있다. 그리고 이번에 맡은 task가 파이프라인 상에서 코드 커버리지를 올리는 일이기에 익숙해져야 했다. 파이프라인은 YAML 파일을 통해 정의된다. 주로 이 파일은 azure-pipelines.yml이며, 레포의 root에 위치한다. YAML 파일의 내용을 같이 보자. trigger: - main pool: vmImage: 'ubuntu-latest' steps: - task: Maven@3 inputs: mavenPomFile: 'pom.xml' mavenOptions: '-Xmx3072m' javaHomeOption: 'JDKVersion' jdkVersionOption: '1.11' j..
2022.07.21 -
C#을 통해 배우는 동시성 프로그래밍 Part 1.
✔︎ 동시성 한 번에 두 가지 이상의 작업을 수행 ✔︎ 멀티스레딩 다수의 실행 스레드를 사용하는 동시성의 한 형태 ✔︎ 병렬처리 많은 작업을 여러 스레드에 나눠서 동시에 수행 ✔︎ 비동기 프로그래밍 불필요한 스레드의 사용을 피하려고 future나 callback을 사용하는 동시성의 한 형태 ✔︎ 리액티브 프로그래밍 애플리케이션이 이벤트에 대응하게 하는 선언형 프로그래밍 방식 동시성은 멋진 소프트웨어의 핵심적인 특징이다. 최종 사용자 애플리케이션은 데이터베이스에 쓰는 동안 사용자의 입력에 응답하려고 동시성을 사용한다. 서버 애플리케이션은 첫 번째 요청을 완료하는 동안 다른 작업을 수행해야 한다면 동시성이 필요하다. 대부분의 개발자들이 '동시성'이라는 단어를 들으면 즉시 '멀티 스레딩'을 떠올린다. 이 두 ..
2022.05.17 -
git 최초 push 시 왜 --set-upstream 옵션을 설정해야할까?
여기서 upstream은 로컬과 연결된 원격 저장소를 의미한다. git push --set-upstream A B = 로컬 A 저장소의 원격 저장소를 B로 지정하여 B에 push하라 최초 1회로 하고 나면 원격 저장소가 설정되기 때문에 이후에는 할 필요가 없다.
2022.04.19