레이블이 언어인 게시물을 표시합니다. 모든 게시물 표시
레이블이 언어인 게시물을 표시합니다. 모든 게시물 표시

2022년 6월 4일 토요일

[영어] 영어 공부의 장점

영어를 하면 정말 좋을까?

영어 뿐 아니라 무엇이든 할 수 있으면 좋은 것이다.

무엇보다 영어는 큰 장점이 있다.


지금 세계 최강 국가는 미국이다.

미국에 의해 국제 질서가 유지된다.

그래서 세계 공용어로 영어를 쓴다.

어느 나라에 가든지 영어는 통하는 분위기이다.

영어는 세계와 연결되는 도구이다.

특히 여행을 좋아하는 사람이라면 영어는 반드시 필요하다.

여행은 다른 나라 문화의 사람과의 만남이다. 

현지의 사람을 만나려면 대화가 통해야 하고

그러려면 그 지역의 언어를 알아야 한다.

모든 현지 언어를 알 수는 없다면 공용어인 영어는

그 차선책으로 대화를 나누는 수단이 될 것이다.

영어는 당신의 여행을 즐겁게 해줄 것이다.


지금은 정보화 시대이다.

인터넷 속에 많은 정보가 있고 

그 중에 나에게 필요한 정보를 찾는 것이 중요하다.


대부분의 정보는 특히 최신 정보는 영어로 표기된 것이 많다.

정보의 시작점이 대부분 영어권이고,

돈이 몰리는 곳에 정보도 몰리기 때문이다.

영어를 한다는 것은 이런 인터넷 환경에서 장점이 된다.

영어는 정보화 시대에 양질의 정보를 얻는 좋은 수단이다.



영어는 더 큰 세계와 기회를 준다.

만일 해리포터의 작가 JK롤링이 한국에서 태어났다면,

그렇게 세계적으로 유명한 작가가 될 수 있었을까?

영어권인 영국에서 태어났기에 가능한 것일지도 모른다.

한국이라는 나라는 인구 5000만 정도의 작은 국가이다.

어쩌면 JK롤링보다 더 훌륭한 작가들이 한국에서 태어나

한국어를 한다는 이유만으로 주목받지 못하고 있을 수도 있다.


엄청난 구독자를 자랑하는 세계적인 유투버들도 

만일 그들이 한국에서 태어났다면 그렇게 유명해 질 수 있었을까?

언어의 장벽을 뛰어 넘는 것은 차원이 다른 기회를 얻는 것이다.

직업을 구할 때도 마찬가지이다.

영어를 못하면 한국에서만 직업을 찾는 한계성을 가지게 된다.

만일 세계 속에서 직업을 얻게 된다면 

얼마나 많은 기회와 높은 연봉을 받을 수 있을까?

영어는 세계적 기회를 얻는 수단이 될 수 있다.



영어를 배우는 것은 세계로 통하는 다리와

언어의 장벽을 넘을 수 있는 날개를 갖게 되는 것이다.

2015년 9월 4일 금요일

Redis 설정과 랭킹처리(node.js)

redis용 npm 모듈을 설치한다.

  npm install redis


레디스 서버와 연결한다.

var redis = require('redis');
var client = redis.createClient("6379", "192.192.0.0");
client.on('connect', function() {
    //console.log('connected');
});

redis.createClient("6379", "192.192.0.0")
레디스 포트는 설정을 바꾸지 않는한,  "6379"번을 사용한다.
redis.createClient("포트", "레디스서버 IP")
이다.


점수를 추가한다

var board = "leaderboard";
var score = 13;
var id = "blaknwhite";
client.zadd(board, score, id, function(err, reply){
    if(err){
        console.log("error");
        return;
    }else{
        console.log("ranking : " + reply);
    }
});

client.zadd(board, score, id, function(err, reply)
board는 키값이다. 이 키값으로 랭킹그룹을 구분한다.
예를 들어 12번 스테이지의 랭킹그룹과 13번 스테이지의 랭킹그룹을 가지고 싶다면 키값을
"stage12"와 "stage13"으로 설정하여 그룹을 나눌 수 있다.
score는 점수를 넣는다.
id에는 유저id를 넣는다.
function(err, reply)는 콜백 함수로서, 에러가 발생하면 err에 값이 있게 되고, 정상적일때는 reply에 rank값이 들어있다.
이때의 rank는  작은값을 0으로 sort 했을때(오름차순)의 값이다.

예를 들어 id(score) 가
  black1(10) ---- 0
  black2(22) ---- 1
  black3(34) ---- 2
라면 black1의 rank는 0,black3는 2 가 된다.

만약 내림차순으로 얻으려면( black3의 랭킹이 0)

client.zrevrank( board, save_data_id, function(err, reply){
});

을 사용한다.

두개의 command를 동시에 실행한다

만약 점수를 추가하면서 zrevrank의 값을 얻어 오려면, 두개의 command를 동시에 실행하는
multi를 사용하면 된다.

var multis = client.multi();
multis.zadd( board, score, id);
multis.zrevrank( board, id);
multis.exec(function(err, re){
    if(err){
        console.log("error");
        return;
    }else{
        console.log("ranking : " + re[1]);
    }
});

콜백함수의 re에는 값이 배열 형식으로 들어가 있다
 re[0] -> zadd의 return값
 re[1] -> zrevrank의 return값


랭킹리스트를 가져온다

내림차순으로 0등부터 2등까지를 점수와 함께 가져오고 싶다면

var board = "leaderboard";
var start= 0;
var end = 2;
client.ZREVRANGE(board, start, end, 'WITHSCORES', function(err, reply){
    if(err){
        console.log("error");
        return;
    }else{
        var count = reply.length;
        var j =0;
        for(var i=0; i < count; i+=2 ){
            console.log("ID : "  + reply[i]);
            console.log("Score : "  + reply[i+1]);
        }
    }
});

예를 들어 id(score) 가
  black1(34) ---- 0
  black2(22) ---- 1
  black3(17) ---- 2
  black4(11) ---- 3
일때
 
client.ZREVRANGE(board, start, end, function(err, reply) 라면
reply[0] -> black1
reply[1] -> black2
reply[2] -> black3
이 된다.

점수도 같이 표시되는
client.ZREVRANGE(board, start, end, 'WITHSCORES', function(err, reply) 라면
reply[0] -> black1
reply[1] -> 34
reply[2] -> black2
reply[3] -> 22
reply[4] -> black3
reply[1] -> 17
이 된다.