반응형

이 파일은 안전하게 다운로드할 수 없습니다. 크롬 오류 해결방법

지식창고/생활 팁|2021. 5. 27. 11:02
반응형

비트코인 카테고리에 은성수 관련 글을 쓰려고 사진을 다운받던 중 문제가 생겼다. 바로 위 사진처럼 다운로드가 되지 않는 것이다. "이 파일은 안전하게 다운로드할 수 없습니다."라는 문구가 뜨면서 다운로드 오류가 발생한다. 결국 사진은 다운받았으며 해결방법은 아래를 참고해보자!

 

왜 다운로드가 되지 않는지 확인해보니 위와 같은 크롬의 안내 글이 있었다. 내가 사진을 다운받으려는 사이트 자체 혹은 사진에 바이러스가 있거나 그런 경우 같다.

 

특히 HTTPS 보안연결이 안되어 있는 사이트에서 이런 상황이 종종 발생하는데 내가 사용하려는 사이트는 보안 연결이 돼있는 사이트이다. 딱히 해결방법이 없는것일까?

 

아니다. 그냥 계속 다운로드를 눌러서 강제로 다운로드하면 된다.

반응형

댓글()

은성수 암호화폐 투자금 보호 호재 (비트코인 차트 시황분석)

돈 버는 공부/암호화폐|2021. 5. 27. 09:43
반응형

지난 4월 중순 은성수 금융위원장은 암호화폐에 대해서 있지도 않고 어디있는지도 모르는 가상의 자산이라고 평가했다. 더불어 암호화폐라고 불리는 가상자산에 대해서 인정할 수 없는 화폐라는 것이 정부의 입장이며 금융시장에 들어오지 않았으면 좋겠다고 말했다. 이 발언으로 비트코인은 6천 800만원에서 5천만원 중반으로 이더리움은 300만원에서 200만원대로 급락했다.

 

 

이는 비트코인 시즌1 막바지라고 불리는 2018년 1월에 발생한 박상기(당시 법무부 장관)의 난에 비유된다. 그때 당시 박상기는 "거래하는 거래소가 폐쇄될 위험이 있으니 본인 책임하에 확인하라"는 말을 하며 최고조였던 비트코인 및 알트코인의 가격을 급락시켰다.

 

 

두번 모두 암호화폐의 가격이 아래에 있고 잠잠할 때 이런말을 하는것이 아니라 충분히 몇주간 상승하여 버블이 터지기 직전에 이런 말을 했다. 이런 정부 고위간부의 언행으로 일반 투자자들 특히 2030세대들은 크게 분노하였다. 때문에 국민청원에는 은성수 금융위원장의 자진사퇴 촉구 글이 올라왔고 참여인원은 20만명이 넘었다.

 

그러다 돌연 5월 현재 은성수 금융위원장은 "신고한 가상화폐 거래소 통하면 투자금 보호"라는 입장을 전달했다. 그러면서 거래소 폐쇄 발언은 안정을 강조한 것이라고 말한다.

 

특금법이라고 불리는 개정 특정금융정보법에 따르면 가상화폐 거래소는 9월 25일까지 고객실명을 확인할 수 있는 은행계좌를 연동하여 정부에 신고해야한다. 더불어 이렇게 신고된 거래소를 사용하는 고객들은 투자금을 보호받을 수 있다. 투자자들은 투자금을 보호해줄 수 있는 거래소를 사용해야할 것으로 보인다. (하락하면 보호해준다는게 아니라 거래소가 먹튀하는것에 대해서 보호해준다는 뜻이니 오해가 없어야 한다.)

 

위 사진은 비트코인의 주봉차트이다. 보통 이평선이 정배열(위에서부터 작은 이평선->큰 이평선 순서로 배열) 되어있고 가격은 이평선 위에 있어야 상승장으로 본다. 2주 전에 주봉이 파란색 20주 이평선을 하락마감하면서 지난 주에는 큰폭으로 하락이 발생했다. 이후 매물대 영역에서 반등이 나오면서 이번주는 약 상승 중이다.

 

하지만 다시 가격이 노란색 10주 이평선 위로 올라가야 상승장으로 볼 수 있다. 가격이 반등하더라도 파란색 20주 이평선에서 저항을 받고 떨어진다면 하락장이 더 진행된다는 말이다.

 

위 사진은 4시간봉 차트이다. 하락분의 최소 되돌림 비율에서 매물대를 형성하고 있다. 더불어 역헤드앤숄더와 같은 미신적 패턴을 보여주었으나 상단선을 돌파하지 못하고 눌리는 모습니다. 이는 패턴보다는 추세적인 흐름이 이어진다는 뜻이다. 고점과 저점을 높이고 있기 때문에 추후 파란색 80시간 이평선, 빨간색 240시간 이평선의 골든크로스를 기대중이다.

 

정리: 반등이 진행되며 주봉관점 저항인 20주 이평선이 상승장과 하락장을 가르는 포인트가 될 것이다.

반응형

댓글()
  1. BlogIcon firenews 2021.05.28 22:04 댓글주소  수정/삭제  댓글쓰기

    이용약관위배로 관리자 삭제된 댓글입니다.

  2. BlogIcon firenews 2021.06.29 14:09 신고 댓글주소  수정/삭제  댓글쓰기

    제2의 비트코인 꼭보세요!! (이제 올라갈듯 )

    2008년에 비트코인을 매일 50코인을 무료로 채굴할 수 있었습니다. 대부분의 사람들은 가치가 없다고 느꼈습니다. 지금 비트코인(Bitcoin)은 1코인당 6000만원 상당의 가치가 있습니다.

    2011년에 라이트코인이 선보였고, 매일 100코인을 무료로 채굴할 수 있었습니다. 대부분의 사람들은 이것이 여전히 가치가 없다고 생각했습니다. 라이트코인(Lite coin)은 현재 1코인에 30만원입니다.

    이더리움이 2015년에 나왔습니다. 매일 30코인을 무료로 채굴할 수 있었습니다. 대부분의 사람들은 여전히 그것을 믿지 않았습니다. 이제 이더이움(Ethereum)은 1코인당 300만원 상당의 가치가 있습니다.

    현재 전 세계적으로 돌풍을 일으키고 있는 상장을 준비중인 최고의 가치를 내재하고 있는 코인을 알려드립니다.

    **파이코인**

    파이코인은 2019년에 태어났고 몇 번의 반감기를 거쳐 지금 하루에 6코인정도를 무료로 채굴할 수 있습니다.

    다음 반감기 오기전 혹은 무료채굴 종료 전에 서두르셔야 합니다.

    비트코인의 단점을 보완하여 스마트폰으로 채굴 할수 있는 파이코인.

    스마트폰의 성능에 전혀 지장이 없으며, 하루 1번의 스위칭으로 24시간(1세션)동안 무료 채굴 합니다.

    이 황금같은 기회를 놓치지 마세요..!!

    파이(PI)는 스탠퍼드 박사들이 개발한 새로운 디지털 화폐이며 전 세계적으로 1800만 명 이상의 사용자가 존재합니다.
    파이를 받으시려면 앱스토어에 파이네트워크(pi network) 검색 설치 후 가입 시 저의 사용자 이름 firenews 누르시면 가입됩니다.

    http://minepi.com/firenews

    파이코인 이외에 2번째로 관심있는 코인인 비(bee)코인은 현재 1200만명이 넘고 올해 상장합니다.
    앱스토어에서 bee network 치고 다운로드받아 추천인 firenews1004 입니다.

    영국에서 나온 올해 9월 상장예정인 유망한 이글코인은 앱스토어에서 이글코인 치시고 다운받으셔서 추천인 firenews 입니다.

    싱가폴에서 나온 올해 상장예정인 전망 높은 ANT코인은 앱스토어에서 ANT NETWORK 치시고 다운 받아 추천인 firenews1004 입니다.

    발키리스왑은 이미 상장된 코인인데 전체 수량이 800만여 주 밖에 안돼 전망이 매우 높은 코인입니다. 아직 채굴 가능합니다. 밑에
    http://app.vswap.cc/#register?invitecode=804274 로 채굴 가능합니다.

초간단 도지코인 채굴방법 (dogecoin, space x, tesla)

프로그래밍/블록체인|2021. 5. 26. 17:25
반응형

도지코인은 2013년 비트코인 광풍을 풍자하기 위해 실리콘밸리 개발자들이 장난스럽게 만든 암호화폐입니다. 하지만 최근 일론머스크의 전폭적인 지지로 도지코인은 리플의 시총을 뛰어넘으며 약 70조에 도달했지요. 특히 도지코인은 우리나라 최대 암호화폐 거래소 업비트에도 도지코인이 상장되어 있기 때문에 우리나라 사람들의 관심도 높아지고 있습니다. (일론머스크는 트위터를 통해 스페이스X와 테슬라를 도지코인과 연결할 것같은 글을 쓰기도했죠.)

 

그리하여 이번 글에서는 도지코인을 채굴하는 간단한 방법에 대해서 알아보겠습니다. 생각보다 간단하니 하나하나 따라해보시면 재밌을 것입니다!

 

우선 채굴 프로그램을 설치하기 위해 언마이너블 사이트로 접속해서 프로그램을 다운받아줍니다.

 

초록색 버튼을 누르면 다운로드가 시작되고 컴퓨터에는 압축파일이 저장됩니다. 압축파일을 풀어주면 실행파일이 하나 생기는데 이 프로그램으로 채굴을 하는 것입니다. (보안프로그램을 끄고 실행해야한다고 하네요.)

프로그램을 실행하고 Continue 버튼을 누르면 GPU와 CPU를 선택해야합니다. 물론 코인을 채굴할 때는 성능이 좋은 그래픽카드가 속도가 빠릅니다. 더불어 Mining file도 필요한데요. 이 파일은 unMineableDev 깃허브에 있습니다.

 

 

해당 깃허브 주소로 들어가서 How to setup 부분의 아랫쪽으로 내려가면 필요한 파일을 다운 받을 수 있는 링크가 있습니다. 이 파일들도 크롬이 자동으로 다운로드를 막기 때문에 다시 다운로드 창으로 들어가서 강제로 다운을 받아야합니다. (위험한 파일 보관 클릭하면 돼요.)

 

 

이후 코인은 도지코인으로 선택하고 주소는 업비트의 도지코인 입금주소를 복붙해오면 됩니다. 추가로 밑에 I have a referral code를 누르면 코드를 입력할 수 있고 수수료를 절감할 수 있습니다. (저의 레퍼럴 코드는 cgdi-1e5e 입니다. 입력하시면 수수료 절감과 동시에 저에게도 보상이 들어옵니다. 참고해주세요.)

반응형

댓글()
  1. BlogIcon firenews 2021.05.30 23:43 신고 댓글주소  수정/삭제  댓글쓰기

    제2의 비트코인 꼭보세요!! (이제 올라갈듯 ㅋ)

    2008년에 비트코인을 매일 50코인을 무료로 채굴할 수 있었습니다. 대부분의 사람들은 가치가 없다고 느꼈습니다. 지금 비트코인(Bitcoin)은 1코인당 6000만원 상당의 가치가 있습니다.

    2011년에 라이트코인이 선보였고, 매일 100코인을 무료로 채굴할 수 있었습니다. 대부분의 사람들은 이것이 여전히 가치가 없다고 생각했습니다. 라이트코인(Lite coin)은 현재 1코인에 30만원입니다.

    이더리움이 2015년에 나왔습니다. 매일 30코인을 무료로 채굴할 수 있었습니다. 대부분의 사람들은 여전히 그것을 믿지 않았습니다. 이제 이더이움(Ethereum)은 1코인당 300만원 상당의 가치가 있습니다.

    현재 전 세계적으로 돌풍을 일으키고 있는 상장을 준비중인 최고의 가치를 내재하고 있는 코인을 알려드립니다.

    **파이코인**

    파이코인은 2019년에 태어났고 몇 번의 반감기를 거쳐 지금 하루에 6코인정도를 무료로 채굴할 수 있습니다.

    다음 반감기 오기전 혹은 무료채굴 종료 전에 서두르셔야 합니다.

    비트코인의 단점을 보완하여 스마트폰으로 채굴 할수 있는 파이코인.

    스마트폰의 성능에 전혀 지장이 없으며, 하루 1번의 스위칭으로 24시간(1세션)동안 무료 채굴 합니다.

    이 황금같은 기회를 놓치지 마세요..!!

    파이(PI)는 스탠퍼드 박사들이 개발한 새로운 디지털 화폐이며 전 세계적으로 1800만명 이상의 사용자가 존재합니다.
    파이를 받으시려면 앱스토어에 파이네트워크(pi network) 검색 설치 후 가입 시 저의 사용자 이름 firenews 누르시면 가입됩니다.

    http://minepi.com/firenews

    파이코인 이외에 2번째로 관심있는 코인인 비(bee)코인은 현재 1200만명이 넘고 올해 상장합니다.
    앱스토어에서 bee network 치고 다운로드하여 추천인 firenews1004 입니다.

    영국에서 나온 올해 11월 상장예정인 유망한 이글코인은 앱스토어에서 이글코인 치시고 다운받으셔서 추천인 firenews 입니다.

    미국에서 나온 상장된 카우코인과 비슷한 COKU코인은 24시간마다 채굴이며 상장 유망합니다.
    앱스토어에 coku(코쿠) 치시고 다운받으셔서 추천인
    yCNxelZQjsWq8v3nKFJruwvBnxq1 입니다.

    인도에서 나온 신생코인인 Tri코인은 극초기라 많은 채굴이 가능합니다. 앱스토어에서 Tri coin 치시고 다운받으셔서
    추천인 : MTau6W40JaN1 입니다.

    카카오그룹에서 나온 유망한 코인인 카우카우코인은 핫빗코리아에 상장했으며 아직 채굴 가능합니다.
    카우카우코인 다운 받으셔서 추천인 ZBKJNQ 입니다.

[Node.js] 6.Auth 기능, 로그아웃 구현하기 (authentication 미들웨어)

프로그래밍/Nodejs|2021. 5. 26. 09:22
반응형

지난 글에서 로그인 기능을 구현하면서 몽고디비(데이터베이스)와 쿠키에 토큰을 저장했었다. 저장된 토큰을 활용해서 Auth 기능을 구현해보자. Auth를 구현하면 로그인한 사용자만 볼 수 있는 페이지, 로그아웃한 사용자만 볼 수 있는 페이지 등등을 구별해서 클라이언트에 제공할 수 있다.

 

 

index.js
app.get('/api/users/auth', auth, (req, res) => {

  res.status(200).json({
    _id: req.user._id,
    isAdmin: req.user.role === 0 ? false : true,
    isAuth: true,
    email: req.user.email,
    name: req.user.name,
    lastname: req.user.lastname,
    role: req.user.role,
    image: req.user.image
  })
})

 

라우터를 작성해주는데 중간에 auth라는 메소드를 거쳐간다. 이는 미들웨어로서 middleware 폴더를 만들고 안에 auth.js 파일을 만든다.

 

middleware/auth.js
const { User } = require('../models/User');

let auth = (req, res, next) => {

    let token = req.cookies.x_auth;

    User.findByToken(token, (err, user) => {
        if (err) throw err;
        if (!user) return res.json({ isAuth: false, error: true })

        req.token = token;
        req.user = user;
        next();
    })
}


module.exports = { auth };

 

auth.js에서는 실제 authentication 기능을 구현한다. 쿠키에 있는 auth 정보인 토큰을 통한다. 이후 findByToken 유저 메소드를 사용해서 쿠키의 토큰과 데이터베이스에 해당유저가 가지고 있는 토큰이 같은지 비교한다.

 

models/User.js
userSchema.statics.findByToken = function(token, cb) {
    var user = this;

    jwt.verify(token, 'secretToken', function (err, decoded) {

        user.findOne({ "_id": decoded, "token": token }, function (err, user) {
            if (err) return cb(err);
            cb(null, user)
        })
    })
}

 

정리하자면 api/users/auth 라우터에 들어가면 middleware/auth.js로 넘어가서 쿠키의 토큰과 데이터베이스의 토큰을 비교하고 해당유저를 반환해준다. 이후 해당 유저가 있으면 isAuth: true로 만들어줘서 authentication 처리가 완료된다.

 

로그아웃 기능은 데이터베이스의 토큰을 지워주는 것으로 만들 수 있다. 왜냐하면 Auth 기능에서 쿠키에 토큰이 있는지 없는지를 확인하고 있다면 데이터베이스의 것과 같은지를 확인하기 때문이다.

 

index.js
app.get('/api/users/logout', auth, (req, res) => {

  User.findOneAndUpdate({ _id: req.user._id },
    { token: "" }
    , (err, user) => {
      if (err) return res.json({ success: false, err });
      return res.status(200).send({
        success: true
      })
    })
})

 

역시나 로그아웃 관련 라우터를 만드는데 역시 미들웨어에 만들어뒀던 Auth를 넣어준다. token에는 빈 문자열을 넣어줘서 토큰을 없애준다.

반응형

댓글()

[Node.js] 5.로그인 기능 구현하기 (Express 백엔드)

프로그래밍/Nodejs|2021. 5. 25. 20:29
반응형

Node.js로 백엔드, 서버개발을 하기 위해서는 각 기능마다 라우터 지정하고 기능을 구현하며 된다. 저번 글에서는 클라이언트에서 이메일과 비밀번호를 입력받고 그 정보를 서버에서 데이터베이스로 전달하고 저장하는 회원가입 기능을 구현했다. (비밀번호 암호화) 이번 글에서는 클라이언트가 입력한 이메일가 데이터베이스에 있는지 확인하고 있다면 비밀번호를 일치하게 작성했는지 비교해 로그인시켜주는 기능을 구현해보자.

 

npm install cookie-parser --save
npm install jsonwebtoken --save

먼저 제이슨 웹 토큰과 쿠키파서라는 라이브러리를 설치해야한다. 왜냐하면 로그인을 완료하면 쿠키에 로그인이 됐다는 정보를 넣어주기 위해서이다. 로그인이 됐다는 것은 토큰을 생성해서 쿠키에 넣어줄 것이다.

index.js
const cookieParser = require("cookie-parser");

app.post('/api/users/login', (req, res) => {

  User.findOne({ email: req.body.email }, (err, user) => {

    if (!user) {
      return res.json({
        loginSuccess: false,
        message: "제공된 이메일에 해당하는 유저가 없습니다."
      })
    }

    user.comparePassword(req.body.password, (err, isMatch) => {

      if (!isMatch)
        return res.json({ loginSuccess: false, message: "비밀번호가 틀렸습니다." })

      user.generateToken((err, user) => {
        if (err) return res.status(400).send(err);

        res.cookie("x_auth", user.token)
          .status(200)
          .json({ loginSuccess: true, userId: user._id })
      })
    })
  })
})

위 코드는 로그인 기능의 전체 흐름을 나타낸다. findOne함수를 이용해서 클라이언트에서 받은 이메일과 일치하는 이메일의 유저가 몽고디비 데이터베이스에 있는지 확인한다. 만약 있다면 해당 user의 비밀번호와 몽고디비 유저의 비밀번호가 일치하는지 확인해본다. comparePassword 함수는 User모델의 schema method로 작성한다. comparePassword 안에 generateToken은 토큰을 만들어주는 함수이다. 마찬가지로 구현은 User의 schema method로 한다.

userSchema.methods.comparePassword = function (plainPassword, cb) {

    bcrypt.compare(plainPassword, this.password, function (err, isMatch) {
        if (err) return cb(err);
        cb(null, isMatch);
    })
}

비밀번호를 비교할 때는 사용자가 입력한 비밀번호와 데이터베이스의 비밀번호를 비교해야한다. 하지만 데이터베이스의 비밀번호는 Bcrypt로 암호화돼있기 때문에 비교할 때 사용자가 입력한 비밀번호도 암호화 시켜야한다.

const jwt = require('jsonwebtoken');

userSchema.methods.generateToken = function (cb) {
    var user = this;
    var token = jwt.sign(user._id.toHexString(), 'secretToken')

    user.token = token
    user.save(function (err, user) {
        if (err) return cb(err)
        cb(null, user)
    })
}

비밀번호가 맞다면 토큰을 만들고 토큰을 유저에게 저장해준다. 이후 index의 라우터에서 쿠키에 저장됐다는 것을 확인했었다.

반응형

댓글()