Rovin

블로그 이미지

RovinJ

'분류 전체보기'에 해당되는 글 60건

제목 날짜
  • Java e-book and software tool - black friday 2017.11.27
  • 출근길 2017.08.09
  • Go's Declaration Syntax ( Structs, Pointers, New, Slices )1 2015.07.18
  • Go's Declaration Syntax ( function, variable, control flow ) 2015.07.17
  • What is Concurrency?? ㅋㅋ 2015.07.17
  • Rally? 2015.04.11
  • require() 와 module.exports 2015.04.09
  • Postfix Notation 후위표기식 2015.03.11
  • [Tomcat] JVM 크래쉬 로그 2015.02.11
  • [Trello] 이슈? 일정? 관리 비슷한 2015.02.09

Java e-book and software tool - black friday

IT Story 2017. 11. 27. 12:44


아래 주소는 자바 관련 서적

https://www.humblebundle.com/books/java-books




유용한 툴 싸게 파네요...

https://github.com/mRs-/Black-Friday-Deals



아 지난주에 paw를 원가에 샀는데......ㅠㅠ


저작자표시 비영리 (새창열림)

'IT Story' 카테고리의 다른 글

[Trello] 이슈? 일정? 관리 비슷한  (0) 2015.02.09
증강 현실? 홀로그램??  (0) 2015.02.01
악 NoSQL 교육.....  (0) 2013.04.18
Posted by RovinJ

출근길

My Story 2017. 8. 9. 08:10
이제 얼마 남지 않은 출근길..
개발자로 미미박스에서의 2년 반...
많은 일을 함께 경험하고 지내온 사람들...
사람에 대한 정...
좋은 시간으로 간직...


'My Story' 카테고리의 다른 글

ㅠㅠ 윤서한테 처음으로 거절당한날 ㅠㅜ  (0) 2015.02.03
31살때는 이렇게!  (0) 2015.01.28
신차 계약!!  (0) 2013.07.23
빅데이터의 충격 ! 이라는 책을.. 주문했다..  (0) 2013.04.10
Hello Cisco !?  (0) 2013.02.19
Posted by RovinJ

Go's Declaration Syntax ( Structs, Pointers, New, Slices )

GO 2015. 7. 18. 08:41



< Struct >

struct는 필드의 조합 ( Java에서 class같은 의미 )

Ex)

type Vertex struct {

X int

Y int

}

func main(){

fmt.Println( Vertex{ 1 , 2 } )

v : = Vertex{1,2}

v.X = 4 

}



< Pointers >

포인트가 존재하지만 연산은 불가능하다. 

구조체 변수는 구조체 포인터를 이용해서 접근할 수 있다.

간접적인 접근 실제 구조체에도 영향을 미친다. 

(&)를 이용하여 접근 

Ex)

type Vertex struct {

X int

Y int

}

func main(){

p := Vertex{1,2}

q := &p

q.X = 1e9 

}


< Struct Literals >

필드와 값을 나열해서 구조체를 새로 할당하는 방법 

'{Name : value}' 구문을 통해 할당 가능 ( 순서 상관없다 ) 

특별한 접두어 &를 사용하면 구조체 리터럴에 대한 포인터를 생성할 수 있다.

Ex)

type Vertex struct {

X int

Y int

}

var (

p = Vertex{1,2}   // has type Vertex    == {1,2}

q = &Vertex{1,2} // has type *Vertex  == &{1,2}

r = Vertex{X:1}   // Y :0  is implicit      == {1,0}

s = Vertex{}       // X: 0, Y : 0              == {0,0}

)


< New >

필드와 값을 나열해서 구조체를 새로 할당하는 방법 

new(T) 는 모든 필드가 0 (  zero value ) 이 할당된 T타입의 포인터를 반환한다.

Ex)

var t *T = new (T)

또는 

t := new(T)


t는 T에서 반환된 포인터를 가진다.

즉 

z := new(T) // 반환된 포인터를 가짐 ( &{} )

y := T{} // 생성된 구조체


< Slices >

배열의 값을 가르킨다 (point) 그리고 배열의 길이를 가지고 있고 

[]T는 T타입을 가지는 요소의 배열이다.

p := []int{1,2,3,4}


for i := 0; i < len(p); i++ {

fmt.Printf("p[%d] == %d\n", i, p[i])

// p[0] == 1 

// p[1] == 2... 

}



'GO' 카테고리의 다른 글

Go's Declaration Syntax ( function, variable, control flow )  (0) 2015.07.17
What is Concurrency?? ㅋㅋ  (0) 2015.07.17
Posted by RovinJ

Go's Declaration Syntax ( function, variable, control flow )

GO 2015. 7. 17. 23:24

Ref : http://blog.golang.org/gos-declaration-syntax


첫문자가 대문자로 시작하면 그 패키지를 사용하는 곳에서 접근할 수 있는 exported Name이 된다고 한다. ( Java에서 접근 제어자 )


기본 자료형

- bool

- string

- int, int8, int16, int32 int64

- uint, uint8 uint16 uint32 uint64 uintptr

- byte // uint8 alias

- rune // int32의 다른 이름 ( alias ) 유니코드 코드 포인트 값을 표현한다

- float32 float64

- complex64 complex128



< Function >

func  함수명 (파라매터1,파라매터2...) (결과값1,결과값2...){

return 결과값1,결과값2

return <== 결과값을 붙이지 않으면 (결과값으로 지정된 변수드를 자동으로 return 한다 

}


# 1

Go는 C,C++,Java와 다르게 매개변수의 타입은 변수명 뒤에 명시한다..

Ex) 

func add( x int, y int ) int {

return x+y

}

# 2

두개 이상의 매개변수가 같은 타입일 때 같은 타입을 취하는 마지막 매개변수에만 타입을 명시하고 나머지는 생략할 수 있다.

Ex)

func add( x, y int ) int {

return x+y

}

# 3

하나의 함수는 여러개의 결과를 반환 할 수 있다

func swap(x,y string)(string,string){

return y,x

}

func main(){

a,b : swap("hello","world") <-- 이부분 두개의 리턴값을 a,b 에 대입!!  즉 a 는 y값을 받고, b는 x값을 받는다...

fmt.Println(a,b)

}


< Variables >

# 1. 변수 선언 var 사용

var x,y,z int = 1,2,3

var c, java = true, "java"


:= 를 사용하게 되면 var와 명시적인 타입 ( int,bool)을 생략할 수 있다. 단 함수 밖에서는 := 를 선언할 수 없다

즉 

var x,y,z int = 1,2,3 과 x,y,z := 1,2,3 은 같다


2. const 선언 

상수는 character,string,boolean, 숫자 타입 중 하나가 될 수 있음 


const xxx = value

const (

xxx = 10

yyyy = 1000

)


< 반복문 >

for 밖에 없다고 한다 

1. for sum < 1000 {}    ( while 문 처럼) 

2. for i :=0; i < 10; i++{}

3. for {}   ( 무한 루프 ) 


< if 문 >

1. if 1 < sum {}

2. if v:=math.Pow(x,y) ; v < lim {}  


위와 같이 if 에서 연산한 값을 넣고 비교 하는 로직을 작성 할 수 있다..... 와우 





'GO' 카테고리의 다른 글

Go's Declaration Syntax ( Structs, Pointers, New, Slices )  (1) 2015.07.18
What is Concurrency?? ㅋㅋ  (0) 2015.07.17
Posted by RovinJ

What is Concurrency?? ㅋㅋ

GO 2015. 7. 17. 22:52

회사에서 GO로 개발된 대쉬보드 쪽을 인수인계 받아야한다.

이참에 미뤄뒀던 GO를 공부해보려 한다~

2012년 GO에 대한 세미나 내용이다.

https://www.youtube.com/watch?t=119&v=f6kdp27TYZs

<Ref Site>

Go Lang : https://golang.org/

GO Korea community : http://golang.kr

https://code.google.com/p/golang-korea/wiki/EffectiveGo

http://go-tour-kr.appspot.com/#1    <-- 기본적인 내용을 다루고 있는 사이트 (총 72 챕터)


Go 란 ???

Google에서 개발한 언어이다.

Concurrent을 잘 지원한다고 한다. ( 병렬 프로그래밍 ) 

자바에서도 동시성(병행)처리에 대해서 공부한적이 있다. 병렬처리 ~

가비지 컬렉션 기능도 있다.

그리고 현재 Google Play Store가 GO로 개발되었다고 한다.

C코드로 만들어내는 컴파일러가 개발되고 추후 롭파이크가 구글에서 실제로 사용되고 있는 부분이 있다고 공개적으로 알려지면서 사람들의 이목을 끌기 시작!!


정적 타입 컴파일 언어의 효율성과 동적 언어처럼 쉬운 프로그래밍을 할 수 있도록 하는 것이 목표라고 한다.

- 안전성 : 타입 안전성과 메모리 안전성 

- 병행성과 통신을 위한 훌륭한 지원

- 효과적인 가비지 컬렉션

- 빠른 컴파일


문법은 C와 비슷! 

코드 블록들은 중괄호로 둘러 싸고 기본적인 제어구조를 가지고 있다.

C와 다른점은 한라인 끝의 세미콜론은 필수가 아닌 옵션이라는 것

변수 선언은 다르게 작성되고 대개 옵션이다.

형변환은 명시적으로 해야한다.

병행성 프로그래밍을 다루기 위해 go와 select 키워드가 사용된다고 한다.

map, 유니코드 문자열, 배열 slice, 그리고 내부 쓰레드 통신을 위한 채널이 있다.

타입 상속, 제너릭, assertions, method overloading, pointer연산은 go에서 포함하고 있지 않다.




'GO' 카테고리의 다른 글

Go's Declaration Syntax ( Structs, Pointers, New, Slices )  (1) 2015.07.18
Go's Declaration Syntax ( function, variable, control flow )  (0) 2015.07.17
Posted by RovinJ

Rally?

Etc 2015. 4. 11. 10:55

https://www.rallydev.com/

에자일기반의 협업도구

프로젝트 관리!?

Posted by RovinJ

require() 와 module.exports

Javascript/NodeJS 2015. 4. 9. 09:09

nodeJS는 대부분 모듈화를 하여 사용한다.그리고 CommonJS라는 표준을 따른다.

require()와 module.exports 가 있는데 이 두가지는 CommonJS의 모듈 표준이다.

하나의 자바스크립트 파일은 하나의 모듈이 될 수 있다.

자바스크립트 파일에서 정의한 객체는 모두 외부에서 접근할 수없고 내부에서만 접근 할 수있는 지역범위로 정의된다.

예로 전역범위의 네임스페이스를 침범하지 않으려고 (function() {})() 와 같이 익명함수로 코드를 감싸는 방법과도 같다

그래서 외부에서 접근을 허용해야하는 객체는 명시적으로 지정해야한다.

함수나 변수를 module.exports에 할당하면 외부에서 접근이 가능하다.

이 모듈을 사용하는 파일에서는 require()로 다른 자바스크립트 파일을 불러와 module.exports로 허용된 변수나 함수를 사용한다.



Posted by RovinJ

Postfix Notation 후위표기식

Algorithm&DataStructure 2015. 3. 11. 12:02

우연히 알고리즘 관한 책을 보다가 , 후위연산자, 후위표기식이라는 말이 나왔다.

이게 뭐지? 하고 구글신께 여쭤보니 

수를 계산시 우리는 보통 중위 표기식을 많이 사용하는데

컴퓨터가 계산식의 우선순위를 논리적으로 판단이 어렵기 때문에

이부분을 후위표기하는 방법을 사용하여 중위표기식을 후위 표기식으로 변환시켜 

알고리즘으로 만들고 컴퓨터가 그걸 인식하게 하여 계산한다고 한다.


다익스트라? 라는 사람이 고안한 방법이 있는데 

판단이 어려우니 중위표기를 후위 표기로 변환 하고 계산한다고 한다.


1번 계산식 : 1+2+3+4 ==> 우선순위 없음

2번 계산식 : 1+2*3+4  ==> 곱하기부터 연산

3번 계산식 : 1+(2*3-(4-2)+3)  ==> 괄호부터 연산

3번 같이 복잡한 괄호가 들어가서 우선순위가 필요한 계산식의 경우 중위 표기 방식으로 계산하기 힘들다

잡해지면 잡해질수록 힘듬!!

그래서 후위 표기식으로 변환하여 연산


1. 가장 앞에 위치한 연산자 찾음

2. 연산자 앞의 두개의 피연산자를 연산한다.  

3. 연산자가 계속 있으면 반복하여 계산한다.

재밌구나 !! 컴퓨터 


출처 : http://hns17.tistory.com/194

Posted by RovinJ

[Tomcat] JVM 크래쉬 로그

Apache 2015. 2. 11. 22:00

출처 : http://helloworld.naver.com/helloworld/1134732


우연히 Tomcat에 대한 로그 분석에 글을 읽었다.

Tomcat의 어플리케이션과 서버관련 Log는  /logs에 있지만 JVM에 대한 크래쉬 로그는

hs_err_pid파일로 분석할 수 있다고 한다. 

이 파일에는 Stack trace정보가 찍힌다고 한다 

예전 Android EPG 를 개발할 때 펌웨어에서 찍는 것을 본 적이 있는데 비슷한것 같다?

Tomcat TroubleShooting and Diagnostic Guide  

표 2 hs_err_pid 파일의 주요 구성 항목

구성 항목

설명

Header

오류에 관한 간략한 정보가 기술된 영역. 프로세스 아이디, 스레드 아이디, VM버전, 크래시를 일으킨 function frame정보 등이 있다.

Thread

크래시 발생 당시의 스레드 관련 정보

Process

모든 프로세스에 대한 정보. 이 프로세스에는 스레드 목록과 메모리 사용량에 대한 정보가 있다.

System

운영체제 버전, CPU정보, 메모리 설정 관련 정보 등

다음은 성능 테스트 시의 JVM 크래시 로그 중 크래시 당시의 스레드가 무엇인지 알려 주는 정보다.


#
# A fatal error has been detected by the Java Runtime Environment:
# SIGSEGV (0xb) at pc=0xb7961e23, pid=11757, tid=1405516688
#
# JRE version: 6.0_18-b07
# Java VM: Java HotSpot(TM) Server VM (16.0-b13 mixed mode linux-x86 )
# Problematic frame:
# V [libjvm.so+0x5a2e23]
#
# If you would like to submit a bug report, please visit:
# http://java.sun.com/webapps/bugreport/crash.jsp

--------------- T H R E A D ---------------

Current thread (0x09a57400): GCTaskThread [stack: 0x53be7000,0x53c68000] [id=11760]


1af63e587c1c9eca69a775ccdddaa9f2.png

그림 1 JVM Heap Space 구조

위 그림은 출처에서 따왔는데 너무도 잘 표현한 것 같다.

JVM Heap Space 구조.. 

eden영역이 꽉차게 되면 GC가 도는데  

S0, S1중 한쪽을 비우고 다른한쪽에는 보존해야 할것을 보존한다.

이런식으로 돌때 자주 살아남는? 메모리는 Old로 이동되게 된다.


'Apache' 카테고리의 다른 글

[Thrift] Thrift 란?  (0) 2015.02.03
Posted by RovinJ

[Trello] 이슈? 일정? 관리 비슷한

IT Story 2015. 2. 9. 21:07

이슈 관리 같은 사이트?

trello.com



'IT Story' 카테고리의 다른 글

Java e-book and software tool - black friday  (0) 2017.11.27
증강 현실? 홀로그램??  (0) 2015.02.01
악 NoSQL 교육.....  (0) 2013.04.18
Posted by RovinJ
이전페이지 다음페이지
블로그 이미지

by RovinJ

공지사항

    최근...

  • 포스트
  • 댓글
  • 트랙백
  • 더 보기

태그

  • 우수타
  • 영어공부

글 보관함

«   2025/06   »
일 월 화 수 목 금 토
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30

링크

카테고리

분류 전체보기 (60)
Music (0)
@ Studying @ (0)
My Story (6)
IT Story (4)
Hello (0)
Japanese! (0)
English (0)
U-Phone! (0)
AI (0)
machine_learning (0)
deep_learning (0)
Algorithm&DataStructure (1)
Android (1)
Arduino (2)
Apache (2)
ZooKeeper (0)
Applications (0)
formerRoid (0)
Architecture (0)
Books (0)
[Blog2Book]아는 만큼 보이는 데이터베이스.. (0)
[한빛미디어] MySQL 퍼포먼스 최적화 (0)
[O'REILLY] Javascript Patte.. (0)
[Blog2Book] 자바성능을 결정짓는 코딩 습.. (0)
Do it 직접해보는 하둡 프로그래밍 (0)
Do it 반응형 웹디자인 (0)
Clean Code (0)
데이터가 보인다 (0)
Broadcast (5)
Bots (0)
slack (0)
Cloud (0)
AWS (0)
Data_Eng (2)
Hadoop (2)
Spark (0)
DB (2)
Oracle (0)
SQLite (0)
MySQL (1)
MariaDB (1)
NoSQL (0)
DistributedComputing (0)
GO (3)
Groups (0)
CodeForSeoul (0)
BluffingSloth (0)
HTML&CSS (0)
Ruby (0)
Java (26)
Spring (1)
JSP (2)
PlayFramework (1)
Javascript (2)
Jquery (0)
AngularJS (1)
NodeJS (1)
ES6 (0)
React (0)
Linux (0)
MAC (0)
Network (0)
Xmpp (0)
NAS (0)
PHP (0)
Programming (0)
Eclipse (0)
DesignPattern (0)
Git (0)
Project (2)
VidasOne (1)
Panape (0)
Python (0)
SearchEngines (0)
Elastic_Search (0)
Scala (0)
TastyRoad (0)
Etc (1)
OneNote (0)
UX&UI (0)
Machine (0)
Crawler (0)
Design (0)
여행 (0)
유럽여행- 결혼10주년 (0)

카운터

Total
Today
Yesterday
방명록 : 관리자 : 글쓰기
RovinJ's Blog is powered by daumkakao
Skin info material T Mark3 by 뭐하라
favicon

Rovin

  • 태그
  • 링크 추가
  • 방명록

관리자 메뉴

  • 관리자 모드
  • 글쓰기
  • 분류 전체보기 (60)
    • Music (0)
    • @ Studying @ (0)
    • My Story (6)
    • IT Story (4)
    • Hello (0)
    • Japanese! (0)
    • English (0)
      • U-Phone! (0)
    • AI (0)
      • machine_learning (0)
      • deep_learning (0)
    • Algorithm&DataStructure (1)
    • Android (1)
    • Arduino (2)
    • Apache (2)
      • ZooKeeper (0)
    • Applications (0)
      • formerRoid (0)
    • Architecture (0)
    • Books (0)
      • [Blog2Book]아는 만큼 보이는 데이터베이스.. (0)
      • [한빛미디어] MySQL 퍼포먼스 최적화 (0)
      • [O'REILLY] Javascript Patte.. (0)
      • [Blog2Book] 자바성능을 결정짓는 코딩 습.. (0)
      • Do it 직접해보는 하둡 프로그래밍 (0)
      • Do it 반응형 웹디자인 (0)
      • Clean Code (0)
      • 데이터가 보인다 (0)
    • Broadcast (5)
    • Bots (0)
      • slack (0)
    • Cloud (0)
      • AWS (0)
    • Data_Eng (2)
      • Hadoop (2)
      • Spark (0)
    • DB (2)
      • Oracle (0)
      • SQLite (0)
      • MySQL (1)
      • MariaDB (1)
      • NoSQL (0)
    • DistributedComputing (0)
    • GO (3)
    • Groups (0)
      • CodeForSeoul (0)
      • BluffingSloth (0)
    • HTML&CSS (0)
    • Ruby (0)
    • Java (26)
      • Spring (1)
      • JSP (2)
      • PlayFramework (1)
    • Javascript (2)
      • Jquery (0)
      • AngularJS (1)
      • NodeJS (1)
      • ES6 (0)
      • React (0)
    • Linux (0)
    • MAC (0)
    • Network (0)
      • Xmpp (0)
      • NAS (0)
    • PHP (0)
    • Programming (0)
      • Eclipse (0)
      • DesignPattern (0)
      • Git (0)
    • Project (2)
      • VidasOne (1)
      • Panape (0)
    • Python (0)
    • SearchEngines (0)
      • Elastic_Search (0)
    • Scala (0)
    • TastyRoad (0)
    • Etc (1)
      • OneNote (0)
    • UX&UI (0)
    • Machine (0)
      • Crawler (0)
    • Design (0)
    • 여행 (0)
      • 유럽여행- 결혼10주년 (0)

카테고리

PC화면 보기 티스토리 Daum

티스토리툴바