$bash

'0x0300 : Study/0x0306 : ETC'에 해당되는 글 13건

  1. How to Create a Programming Language
  2. Forensic ?
  3. RSA script
  4. Openssl install
  5. 여기는 왜 안되는거죠....???
  6. 8. 저작 재산권 1
  7. 7. 저작권
  8. 6. 정보기기 보안 및 관리 수칙
  9. 5. 해커의 분류
  10. 4. 해킹과 크래킹 2

How to Create a Programming Language

0x0300 : Study/0x0306 : ETC

How to Create a Programming Language?


1. Become familiar with terminology.

Compiler writers often use unfamiliar terminology. Read up on compilers before proceeding. Be sure to know everything that you need to know.


2. Decide what problem your language is solving.

Is it addressing a domain-specific problem, or is it a general purpose language?


3. Think about the semantics of your language and the concepts of it.

- Are you going to allow direct pointer access or not?

- What are the data types of your language?

- Is it a static or dynamic language?

- What is your memory model? Are you going to use a garbage collector or manual memory management? (If you use a garbage collector, prepare to write one or adapt an existing one to your language.)

- How are going to handle concurrency? Are you going to use a simple threading/locking model or something more complex like - Linda or the actor model? (Since nowadays computers have multiple cores.)

- Are there primitive functions embedded in the language or will everything come from a library?

- What is the paradigm or paradigms of you language? Functional? Object-oriented? Prototype (like JavaScript)? Aspect-oriented? - Template oriented? Or something entirely new?

- How is your language going to interface with existing libraries and languages (mainly C)? This point is important if you're building a domain-specific language.

- Finally, some of the answers to this questions are going to be answered by the second step and will help you answer the next step.


4. Think of some specific tasks that someone would want to be able to perform with your language.

For example, 'they may want to direct a robot to follow a line' or 'they may want to create relatively portable desktop programs in it' or 'they may want to create web applications with it'.


5. Experiment with syntax ideas (the text of the language) for the above examples.

Be careful to keep your language in the context-free language category or something inside it. Your parser generator and you will appreciate it later on.


6. Write out a formal grammar for the syntax.


7. Decide whether the language will be interpreted or compiled.

Meaning that in the interpreted world your user will typically edit your program in an editor, and run it directly on the interpreter; while in the compile world, your user will edit your program, compile it, save the resulting executable somewhere and run it.


8. Write the front end scanner and parser or find a tool that helps you with this.

Also, think about how your compiler/interpreter will warn your user about erroneous programs and syntax errors.


9. Use the parser information to write the object code or an intermediate representation.

Have the parser create an AST, then create your object code from the AST using three address code or its big brother SSA, then create a symbol table to define your functions, global variables, etc.


10. Write the executor or code generator that will bind everything together.


11. Write many test programs to test the language.

You want to create programs that stress the burdens of your formal grammar in order to see that your compiler accepts everything that is inside your definition and rejects everything that is outside of it.


12. Consider how the user will debug their own programs.


13. If your language uses a standard library, you will want to write it.

Specifically, if you write a compiler, you will need the code that the operating system will execute in order to begin running the user code (for example, allocating all global variables).


14. Publish your language, along with the specification for it and some examples of what you can do in it.

Don't forget to document how you can integrate with existing libraries, languages and how to use the runtime features and/or standard library.


'0x0300 : Study > 0x0306 : ETC' 카테고리의 다른 글

Forensic ?  (0) 2017.05.21
RSA script  (0) 2017.05.08
Openssl install  (0) 2017.02.25
여기는 왜 안되는거죠....???  (0) 2016.09.08
8. 저작 재산권  (1) 2016.07.03

Forensic ?

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

RSA script

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

Openssl install

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

여기는 왜 안되는거죠....???

0x0300 : Study/0x0306 : ETC


hack-me 재밌어서 몇몇 문제 풀었는데 막혀부러띠;;


'0x0300 : Study > 0x0306 : ETC' 카테고리의 다른 글

RSA script  (0) 2017.05.08
Openssl install  (0) 2017.02.25
8. 저작 재산권  (1) 2016.07.03
7. 저작권  (0) 2016.07.03
6. 정보기기 보안 및 관리 수칙  (0) 2016.06.30

8. 저작 재산권

0x0300 : Study/0x0306 : ETC

저작 재산권

- 저작권을 가지고 있는 사람이 재산적 이익을 보호하는 권리

- 제 3자강 이용하고 대가를 지불 하는 원리


종류

1. 복재권

2. 공연권

3. 공중 송신권

4. 전시권

5. 배포권

6. 대여권

7. 2차 저작물 작성권


'0x0300 : Study > 0x0306 : ETC' 카테고리의 다른 글

Openssl install  (0) 2017.02.25
여기는 왜 안되는거죠....???  (0) 2016.09.08
7. 저작권  (0) 2016.07.03
6. 정보기기 보안 및 관리 수칙  (0) 2016.06.30
5. 해커의 분류  (0) 2016.06.30

7. 저작권

0x0300 : Study/0x0306 : ETC

저작권

:: 창작물을 만든이(저작자) 자기 저작물에 대해 가지는 배타적인 법적 권리로, 많은 국가에서 인정되는 권리이다


저작권의 영향을 받는 저작물

일반 저작물

- 음악, 어문, 사진, 영상, 연극 , 도형, 건축, 미술품, 프로그램 등.

- 저작자가 생존 하는 동안과 사망 이후 70년간 보호 기간이 이루어 진다.


특수 저작물

- 2차 저작물

:: 원본 저작물에 기초로 실질적 변형이 있는 저작물.

// 새로운 저작물로 원본 저작물과 별도로 보호가 된다.


- 편집 저작물

:: 새로운 창작적인 선택, 배열로 이루어진 저작물.

// 사전, 신문 등은 별도로 독립된 저작물로 보호된다.


- 데이터베이스 저작물

:: 소재를 체계적으로 배열하거나 편집한 저작물

// 개별적 접근 또는 검색 할 수 있도록 한 저작물이다.



저작권의 영향을 받지 못하는 저작물

- 사회 공공의 이익을 위해 법의 보호를 받지 못하는 저작물

= 헌법, 법률, 명령

= 사실의 전달에 불가한 시사보도


- 보호기간 만료, 저작권 포기 저작물


'0x0300 : Study > 0x0306 : ETC' 카테고리의 다른 글

여기는 왜 안되는거죠....???  (0) 2016.09.08
8. 저작 재산권  (1) 2016.07.03
6. 정보기기 보안 및 관리 수칙  (0) 2016.06.30
5. 해커의 분류  (0) 2016.06.30
4. 해킹과 크래킹  (2) 2016.06.30

6. 정보기기 보안 및 관리 수칙

0x0300 : Study/0x0306 : ETC

정보기기 보안 및 관리 수칙

- 크랙용, 비 인증 처리된 프로그램을 설치 하지 않는다.

- 전자 우편의 첨부 파일 및 링크 등등 함부로 열어 보지 않는다.

- 중요한 자료는 항상 암호화 하거나 비밀번호를 설정한다.

- 보안 소프트웨어의 실시간 감시 기능을 켜 놓고 장기적으로 전체 검사를 주기적으로 실행한다.

- 정보 기기의 운영체제와 보안 소프트웨어는 항상 최신 버전을 유지하도록 한다.

- 기기의 분실을 대비하여 중요한 정보는 항상 백업, 분실 했을 경우 원격으로 개인정보를 삭제 할 수 있도록 한다.


'0x0300 : Study > 0x0306 : ETC' 카테고리의 다른 글

8. 저작 재산권  (1) 2016.07.03
7. 저작권  (0) 2016.07.03
5. 해커의 분류  (0) 2016.06.30
4. 해킹과 크래킹  (2) 2016.06.30
3. 정보 윤리와 네티켓  (0) 2016.06.28

5. 해커의 분류

0x0300 : Study/0x0306 : ETC

해커의 분류.

White hat 

:: 순수하게 공부와 학업을 목적으로 악의적 목표가 없이 하는 해커.


Black hat

:: 악당이라는 의미로 타인에게 피해를 주는 해커.


Gary hat

:: 화이트와 블랙의 개념이 섞인 헤커 순수한 목표로 공부하지만 대가로 무언가 주어진다면 악의적인 행동을 할 수 있는 해커.


Blue hat

:: 보안 분야의 베타 테스터의 개념, 보안 컨설팅 화사에서 근무하는 사람을 의미한다고 한다.


Script Kiddie

:: 프로그램을 이용하여 해킹하는 아마추어 해커.


Hacktivist

:: 해커와 정치가의 합성어로 정치적 사회적 슬로건을 가지고 알리려는 해커.

'0x0300 : Study > 0x0306 : ETC' 카테고리의 다른 글

7. 저작권  (0) 2016.07.03
6. 정보기기 보안 및 관리 수칙  (0) 2016.06.30
4. 해킹과 크래킹  (2) 2016.06.30
3. 정보 윤리와 네티켓  (0) 2016.06.28
2. 컴퓨터가 처리과정중 필요 하는 이유  (0) 2016.06.28

4. 해킹과 크래킹

0x0300 : Study/0x0306 : ETC

해킹(Hacking)

:: 허가 받지 않은 상태에서 다른 사람이나 기관의 컴퓨터 시스템에 접근하여 저장된 정보를 마음대로 복사, 변경 삭제 등의 광범위한 행위를 

의미한다.


해킹의 유형?

3가지 유형은 말그대로 웹은 웹에서 시스템은 운영체제 또는 프로그램, 네트워크는 네트워크 에서 나오는 취약점을 찾아 공격하는 행위이다.


개인적 견해..?

// 해킹의 유형에는 Web, system, Network 가 있다고 한다. 하지만 본인은 System, Network 가 큰 의미이 해킹유형이라고 생각한다.

// Web은 Network 요소와 System요소가 복합적으로 있다고 생각한다. 하지만 단순히 웹페이지 에서만 진행되는 것이 웹이라면...할말이 쩝..


크래킹(Cracking)

:: 다른 컴퓨터의 시스템을 파괴하려는 계획을 세우고 침입하는 행위라는 부정적인 의미의 해킹을 의미한다.

'0x0300 : Study > 0x0306 : ETC' 카테고리의 다른 글

6. 정보기기 보안 및 관리 수칙  (0) 2016.06.30
5. 해커의 분류  (0) 2016.06.30
3. 정보 윤리와 네티켓  (0) 2016.06.28
2. 컴퓨터가 처리과정중 필요 하는 이유  (0) 2016.06.28
1. 자료와 정보  (0) 2016.06.28