sueleesoossoo's devlog


  • Home

  • Categories

  • About

  • Archives

  • Tags

TIL: Ajax란?

Posted on 2018-09-23 | 0 comments

Ajax

Asynchronous Javascript Xml을 말한다.
Javascript의 비동기통신(XmlHttpRequest)을 사용해 웹 브라우저의 페이지를 전환하지 않은 채 일부를 수정함으로써 편의성을 높여주는 기술이다.

대표적인 사용법으로는 구글맵의 지도를 움직이거나 지도에서 가게 정보를 표시하는 것을 예로 들 수 있다.

Read more »

TIL: [Maven] Maven Wrapper이란?

Posted on 2018-09-22 | 0 comments

참고

  • https://www.popit.kr/how-to-use-maven-wrapper/
  • http://maven.apache.org/

Maven이란?

Maven은 Java 프로젝트의 전체적인 라이프 사이클을 관리하는 도구이다. 이전에는 Ant가 사용되었스며, 최근에는 Gradle이 사용되고 있는 추세이다. 이는 Apache License로 배포되는 오픈 소스 소프트웨어이다.

Maven Lifecycle

Maven Lifecycle이란 Maven에서 미리 정의하고 있는 빌드 순서를 의미한다. 그리고 라이프 사이클의 각 빌드 단계를 Phase라고 한다. 또한 이런 각 Phase들은 의존관계를 가지고 있다.

plugins

Maven은 plugins을 구동해주는 프레임워크이다. 모든 작업은 플러그인에서 수행한다. 플러그인은 저장소에서 관리된다.
Maven은 여러 plugins로 구성되어 있으며, 각각의 플러그인은 하나 이상의 goal(명령, 작업)을 포함하고 있다. Goal은 Maven의 실행단위이다.

Maven Wrapper

mvnw라고도 불리는 Maven Wrapper는 Apache Maven을 프로젝트에서 요구하는 버전으로 유지하기 위해 사용하는 도구이다. 복잡해지는 빌드 환경을 Maven Wrapper를 이용해 해결할 수 있다.

Read more »

[OS] 운영체제란?

Posted on 2018-09-10 | 0 comments

참고 : http://copycode.tistory.com/39?category=740133

운영체제 (Operation System)

컴퓨터의 대부분을 관리하는 역할을 한다. 운영체제는 컴퓨터 하드웨어를 잘 관리하여 성능을 높이고 사용자에게 편의성을 제공하는 프로그램이다.

컴퓨터를 구성하고 있는 기본적인 요소는 CPU, 메인 메모리, 하드디스크이다.
CPU는 컴퓨터에서 연산을 담당하고, 메인 메모리는 컴퓨터에서 작동하고 있는 프로그램인 프로세서들을 저장, 관리한다. 컴퓨터를 키기 전에는 운영체제는 하드디스크에 존재하지만, 컴퓨터를 켰을 때, 하드디스크에 있는 운영체제가 메인 메모리로 올라가게 된다.
이러한 동작을 하는 곳은 메인 메모리이다. 메인 메모리는 원래 RAM인 휘발성 메모리로 컴퓨터가 꺼지면 자료를 모두 날려버린다. 컴퓨터를 킬 때 운영체제를 올리는 프로그램까지 날려버리면 운영체제는 하드디스크로 올라올 수 없게 되므로, 메인 메모리에 작은 부분은 부팅을 위한 ROM인 비휘발성인 부분으로 지정되어 있다. 그러면 운영체제가 컴퓨터를 제어하기 시작한다.
운영체제는 시스템 콜과 인터럽트에 의해서 움직인다.
시스템 콜이란, 컴퓨터가 필요한 작업을 수행하기 위해 운영체제에 어떤 일을 요구하는 요청이다.
인터럽트는 하드웨어 인터럽트와 소프트웨어 인터럽트로 나누어진다. 인터럽트가 실행되면 운영체제 내의 코드가 실행되고 Interrupt Service Routine을 하게 된 후 다시 대기하는 상태가 된다.

Read more »

[OS] 아두이노와 라즈베리파이 차이점

Posted on 2018-09-10 | 0 comments

아두이노

  • 램 : 2k
  • 플래시메모리 : 32k
  • 타이머와 Serial
  • I2C, SPI 등이 들어있다.

ATMega 328칩 외부에는 전압 조정기(5V로 조정), 수동 회로요소(passive components), 입출력연결단자로 구성되어 있다.

IDE에서 작성된 프로그램은 칩에서 사용하는 유일한 프로그램이다.
인터프리터도 필요없고, 운영체제도, 펌웨어도 필요없다.

C코드는 기계어로 컴파일되어 칩에 실리게되며 아두이노에서 작동된다.
(동그라미 안쪽의 램프가 깜빡거리도록 프로그래밍 되어있음)

아두이노는 소형 제어장치(MicroController)이다.

라즈베리파이

라즈베리파이는 싱글보드컴퓨터라고 불린다. 약어로 SBC라고 한다.
보드의 소형처리장치(Microprocessor)는 음향, 영상, USB, 이더넷 및 HDMI까지 지원한다.

라즈베리파이에서는 프로그램을 써서 하드웨어를 직접 제어하지 않고, 운영체제가 깔려있어 운영체제 내에서 프로그래밍을 한다.
라즈베리파이의 운영체제는 통상적으로 리눅스를 사용한다.


둘 다 명령을 수행하는 중앙처리장치(CPU)가 있다.
이는 타이머(Timer)와 기억장치(Memory), 입출력 핀(I/O Pin) 등이 들어있다.

여기서 입출력 핀은 소형제어장치(MicroController)가 강점을 가지고 있다. 그래서 소형제어장치가 하드웨어를 직접적으로 제어한다.
하지만 소형처리장치(Microprocessor)는 입출력 부분이 약한 경향이 있어, 트랜지스터가 하드웨어를 다루게 된다.

예를 들면, 모터를 동작하거나, 글자를 표시하는 LCD, 센서를 제어하는 것과 같은 제어 중심의 프로젝트라면 아두이노와 같은 소형제어장치(MicroController)로 제어하는 것이 좋다.

그러나 비디오, 카메라, 복잡한 수치계산, 그래픽 처리에는 라즈베리파이가 더 적합하다고 볼 수 있다.

제어가 중심이면 아두이노가 더 낫고, 데이터를 처리해야 한다면 라즈베리 파이가 더 좋다.

참고 : http://andrew0409.tistory.com/82

Read more »

TIL: [windows] windows linux subsystem - ssh server 설정

Posted on 2018-09-05 | 0 comments

wsl에서 자동으로 ssh server 돌아가게 해주기

  1. ssh server 지우고 재설치하기
    • sudo apt remove openssh-server
    • sudo apt install openssh-server
  2. etc/ssh/sshd_config 파일 수정하기
    • Port 2222
    • UsePrivilegeSeparation no
    • PasswordAuthentication yes : ssh keys 설정시 다시 no로 바꾸기
  3. ssh server 재시작
    • sudo service ssh --full-restart
  4. ssh server는 default로 off 상태로 되어있어서, on 상태로 바꾸어야한다.
    • sudo service ssh start
  5. ssh server 자동으로 돌아가게하는 script 만들기
    • vi sshd.bat 만들기
    • C:\Windows\System32\bash.exe -c "sudo /usr/sbin/sshd -D" 추가
    • 파일 저장 후, mv ssh.bat /mnt/c/Users/YourUserName/Documents. 로 파일 위치 옮기기
    • vi sshd.vbs 만들기
    • 다음 코드 추가하기
        Set WinScriptHost = CreateObject("WScript.Shell")
        WinScriptHost.Run Chr(34) & "C:\Users\YourUserName\Documents\sshd.bat" & Chr(34), 0
        Set WinScriptHost = Nothing
      
    • 파일 저장 후, mv sshd.vbs /mnt/c/Users/YourUserName/Documents.로 파일 위치 옮기기
    • 윈도우 방화벽으로 Port 2222 허용 및 작업 스케쥴링으로 sshd.bat, sshd.vbs task로 추가하기
    • sudo visudo로 들어가서 %sudo ALL=NOPASSWD: /usr/sbin/sshd 추가하기 -> 패스워드 요구하는 설정 뺴는 작업

위 작업은 https://gist.github.com/dentechy/de2be62b55cfd234681921d5a8b6be11 에서 참고하였습니다.

Read more »

TIL: [zsh] zsh - highlighting 설치

Posted on 2018-09-04 | 0 comments

우분투 zsh 플러그인 설치법

  1. zsh-autosuggestions git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions

  2. syntax-highlighting git clone https://github.com/zsh-users/zsh-syntax-highlighting.git

  3. vim ~/.zshrc plugins 부분에 설치한 플러그인 입력 ``` plugins=( git zsh-autosuggestions zsh-syntax-highlighting

) ```

  1. 터미널창 닫고 다시 켜서 확인 (edited)
Read more »

TIL: [windows] windows linux subsystem - github 블로그 연동

Posted on 2018-09-04 | 0 comments

까먹을까봐 씀..

windows linux subsystem Ubuntu에서 내부 파일 접근하려면

cd /mnt

위와 같이 하면 로컬 디스크 \c나 \d에 접근이 가능해진다.
그렇게 내부로 들어가서 project만들고 Ubuntu처럼 쓰면 된다!

Read more »

TIL: [windows] Window subsystem for linux - install Jekyll

Posted on 2018-09-04 | 0 comments

Install Ruby & Jekyll

# Get Ubuntu up to date and install Ruby
sudo apt-get update -y && sudo apt-get upgrade -y
sudo apt-get install -y build-essential ruby-full

# update ruby gems and install Jekyll
sudo gem update –system
sudo gem install jekyll bundler

참고 : https://davidburela.wordpress.com/2017/05/17/how-to-install-jekyll-on-windows-10-with-windows-subsystem-for-linux/

Read more »

[Java] JVM에 대하여

Posted on 2018-09-04 | 0 comments

아래 글들은 https://d2.naver.com/helloworld/1230로 공부하며 정리하였습니다.

JVM Internal

자바 바이트코드는 JRE 위에서 동작한다. 이 JRE에는 자바 바이트코드를 해석하고 실행하는 JVM(Java Virtual Machine)이 있다. JRE는 자바 API와 JVM으로 구성되며, JVM의 역할은 자바 어플리케이션을 Class Loader를 통해 읽어들여 자바 API와 함께 실행하는 것이다.

Vitual Machine

프로그램을 실행하기 위해 컴퓨터와 유사한 기계를 소프트웨어로 구현한 것이라 할 수 있다. 원래 자바는 WORA(Write Once Run Anywhere)를 구현하기 위해 물리적인 머신과 별개의 가상 머신을 기반으로 동작하도록 설계되었다. 그래서 자바 바이트코드를 실행하고자 하는 모든 하드웨어에 JVM을 동작시킴으로써 자바 실행 코드를 변경하지 않고도 모든 종류의 하드웨어에서 동작되게 한 것이다.

JVM의 특징

  • 스택 기반의 가상 머신 : 대표적인 컴퓨터 아키텍처인 인텔x86 아케텍처나 ARM 아키텍처와 같은 하드웨어가 레지스터 기반으로 동작하는 데 비해 JVM은 스택 기반으로 동작 한다.
  • 심볼릭 레퍼런스 : 기본 자료형(primitive data type)을 제외한 모든 타입(클래스와 인터페이스)을 명시적인 메모리 주소 기반의 레퍼런스가 아니라 심볼릭 레퍼런스를 통해 참조한다.
  • 가비지 컬렉션 : 클래스 인스턴스는 사용자 코드에 의해 명시적으로 생성되고 가비지 컬렉션에 의해 자동으로 파괴된다.
  • 기본 자료형을 명확하게 정의하여 플랫폼 독립성 보장 : C/C++ 등의 전통적인 언어는 플랫폼에 따라 int형의 크기가 변한다. JVM은 기본 자료형을 명확하게 정의하여 호환성을 유지하고 플랫폼 독립성을 보장한다.
  • 네트워 바이트 오더(network byte order) : 자바 클래스 파일은 네트워크 바이트 오더를 사용한다. 인텔x86 아키텍처가 사용하는 리틀 엔디안이나, RISC 계열 아키텍처가 주로 사용하는 빅 엔디안 사이에서 플랫폼 독립성을 유지하려면 고정된 바이트 오더를 유지해야 하므로 네트워크 전송 시에 사용하는 바이트 오더인 네트워크 바이트 오더를 사용한다. 네트워크 바이트 오더는 빅 엔디안이다.
Read more »

TIL: [git] ssh 초기 설정

Posted on 2018-08-29 | 0 comments

git ssh 초기 설정

git 초보 이용자들은 아마도 git push 명령어를 입력할 때마다, 매번 계정과 비밀번호를 입력해야하는 불편함을 겪고 있을 것이다.

이를 위한 해결방법을 정리해놓는다. (까먹을까봐..)

  1. home폴더의 ~/.ssh 파일 안에 들어간다.
  2. ssh-keygen -C <github계정> 명령어 입력
  3. 적당히 enter키를 누른다.
  4. ~/.ssh 파일 목록을 보면 id_rsa,id_rsa.pub가 생겨있는 것을 확인할 수 있다.
  5. id_rsa.pub의 내용을 복사(끝에 계정이 입력되어 있는 파일)
  6. github 홈페이지에 들어간다.
  7. Settings에 들어가서 SSH and GPG keys 메뉴로 들어간다.
  8. New SSH key를 눌러 새로운 키 이름을 입력하고, 아래에 복사한 id_rsa.pub 내용을 붙여넣기 한다.
  9. 등록 후 git push -u origin master하면 계정비번 입력없이 푸시 끝!
Read more »
1 … 33 34 35 36
LEESOO

LEESOO

Junior Frontend Developer

354 posts
12 categories
35 tags
RSS
GitHub
© 2026 LEESOO
Powered by Jekyll
Theme - NexT.Muse