목록전체보기 (408)
NeuroWhAI의 잡블로그
package com.neurowhai data class Book(val id: Int, val name: String, var info: String = "NOPE") { // 오직 기본 생성자에 선언된 프로퍼티만 데이터로 취급하므로 // 그 외의 멤버는 toString, copy, hashCode등의 // 자동으로 생성된 메소드에서 다루지 않음. val fullName get() = "$id - $name" } class Outer { class Inner { fun foo() = 42 } } class Outer2 { var value: Int = 42 inner class Inner { // inner 키워드로 수식된 내부 클래스는 // 외부 클래스의 멤버에 접근 가능 fun sum(n: Int..
코딩을 다루는 네이버 카페에서 취미로 질문에 답을 해주고 있습니다. 초심자가 많은 카페인지라 답변해주면서 (안좋은 쪽으로) 참 다양한 경우를 보는데 오늘은 훈훈한 일이 있어서 공유합니다 ㅎㅎ 거의 해결된 타이밍에 이런 댓글이 달려서 반신반의하며 메일을 보니 와우! 감동했네요 ㅎㅎ
제가 일하던 곳 근처에서 일어난 일이어서 관심이 컸던 사건이죠.다른 사람들이 올려주신 영상들을 모아 타이밍을 맞춰 제작했던 영상입니다. ㅎㅎ근데 웃긴게 해외 조회가 월등히 많았습니다.해외 커뮤니티에서 소개된게 아닐까 싶네요.
http://www.hanbit.co.kr/store/books/look.php?p_code=B2165426861 오래된 책이지만 하드웨어 공부는 엄두가 안나서 안하고 있었는데 도서관에서 우연히 보고 괜찮다 싶어서 샀고 오늘 다 봤습니다 ㅎㅎ(원래 책 사면 블로그에 올리는데 복귀 당일 머리 아픈 일이 있었어서 까먹고 못올림...ㅠ) 원래 하드웨어에 관심이 없어도 C언어 같은 언어를 배우면 어느정도 알게는 되는데 역시 이렇게 제대로 보는게 좋은 것 같습니다.책 제목이 CPU라서 CPU 내용만 있나 싶기도 할 수 있지만 GPU에 대해서도 꽤 많이 알려줍니다.(GPU 구조, CUDA 등...)또 C++같은 언어 사용자라면 알아두면 좋을 vtable 내용도 있습니다.가상메모리, 파이프라인도 알아두면 아이디어를 ..
가짜 공유란 캐시 코히런스 때문에 시스템이 실제로 공유되고 있지 않은 캐시 데이터를 동기화하는 행위 또는 그로 인해 발생하는 성능 하락을 말합니다. 얼마전 책에서 읽었는데 충격적인지라 기억에 남습니다. 그냥 바로 코드를 봅시다. (주의: 하드웨어 환경에 따라 결과가 상이할 수 있음) 코드 및 결과 : https://wandbox.org/permlink/Nr8F51OgbILBiIUw #include #include #include using namespace std; using int64 = long long int; constexpr int64 NUMBERS = 1000000000LL; volatile int64 num1 = 0; volatile int64 num2 = 0; void job1() { fo..
한 달전쯤 https://notice.tistory.com/2440 이런 공지가 떠서 자동으로 적용될 줄 알았더니 설정에서 직접 바꿔줘야 하더라고요;; 그래서 그 방법을 적어보고자 합니다. 먼저 블로그 관리 페이지로 갑니다. 좌측 메뉴 하단에 보면 관리 - 블로그가 있을겁니다. 눌러주시고 스크롤을 좀 내리시면 아래 설정이 보일겁니다. 보안 접속을 사용합니다.로 바꿔주시고 버튼을 눌러 저장해주시면 됩니다. SSL 적용은 쉬운데 부수적으로 사용하고 있던 서비스들(구글 에널리틱스 등) 설정도 손을 봐야 했어서 좀 번거로웠네요 ㅠㅠ 검색하면서 사이트맵이란 것도 알게 되어서 이것도 적용해보려고 하고 있습니다 ㅎㅎ https로 바꾸고 유입이 낮아졌다는 이야기도 있는데 크롤러가 프로토콜 변경을 늦게 알아차린 이유로 ..
http://blog.conceptnet.io/posts/2017/how-to-make-a-racist-ai-without-really-trying/ 재미있는 글이네요.영어라서 다 이해한건 아니지만 대충 보면 머신러닝을 이용해서 문장에 담긴 감정을 수치화하는 도구를 만드는데꽤나 잘 동작하는 듯 싶었지만 의도치 않게 객관적으로 봤을때 중립적인 문장들에서도 특정 단어들에 부정적인 감정이 매겨지는 결과가 나타나는걸 볼 수 있습니다. 본문의 예를 들면 특정 국가 식당에 가자는 문장에서는"Let's go get Italian food" : 2.04"Let's go get Chinese food" : 1.41"Let's go get Mexican food" : 0.39처럼 멕시코 식당에 가자는 문장이 비교적 낮은 ..
package com.neurowhai class Human { val name: String var age: Int = 1 get() = field set(value) { if (value != 1) { println("1살인데요.") } else { field = value } } val job get() = "구닌" var truth = "뉴로와이는 천재다." private set lateinit var info: String init { name = "NeuroWhAI" } fun setup() { info = "전역을 원한다." } } fun main(args: Array) { val me = Human() println("I am ${me.name}!") me.age = 42 println("..
https://en.cppreference.com/w/cpp/language/structured_binding Structured binding은 C++17에서 추가된 문법입니다.한글로는 뭐라고 해야할지 모르겠네요. 구조적 바인딩?구조체나 배열 등이 가지는 멤버들을 풀어서 바인딩(변수에 할당)할 수 있게 해주는 편의 문법입니다. 가장 간단한 예를 들자면 int arr[3] = { 1, 2, 3 }; auto [a, b, c] = arr; cout
안녕하세요. 실력이 후달려서 Kaggle에서 경쟁은 못하고 튜토리얼만 하고 있는 사람입니다 ㅠ 오늘 커널을 하나 제거하려는데 방법을 몰라서 검색하다가 알아낸 것을 기록하고자 글을 씁니다. 먼저 자신의 커널 페이지로 가야하는데 프로필로 가줍시다. 그럼 아래에 Kernels라는 탭이 보일거에요. 그걸 누르면 아래처럼 커널 목록을 볼 수 있습니다. 여기서 중요한게 하나 있는데 만약 자신의 커널이 아래처럼 기울임꼴에 Uncommitted Draft라고 되어있다면 당장 삭제하는 방법이 없어요. 그럴땐 해당 커널을 클릭하면 바로 Edit 화면으로 들어가게 되는데 여기에서 Commit을 한번 해주고 진행하면 되어요. 다시 자신의 커널 목록으로 돌아와서 삭제하고 싶은 커널을 클릭하면 아래 화면이 뜰거에요. 여기에서 O..