결론만 말하면, 커뮤니케이션 잘하는 디자이너가 쓰는 툴이면 뭐든 좋다.



난 zeplin이 좀 더 맞는 듯(소통이 잘되서) 이미지 다운 안되는 부분 있으면 알아서 보내주고 그러니까... 일전에 알던 어떤 디자이너는 나인패치까지 만들어 줬었다.(안드로이드 하던 시절)


웹뷰일 뿐이겠지만 어플이 하나 더 있어서 화면 전환하기가 편해서.


나머지 기능은 똑같아 보인다. 엔진이 같을 듯.



결론만 말하면 안 지워진다.


내가 지운 글에 있던 사진이다.

https://1.bp.blogspot.com/-J9n86LoUacc/XB8nO-ZiYXI/AAAAAAABw5w/NKHYjhs1JtoqbJneLvSuk5YW5Q7LVhkXwCLcBGAs/s1600/233332323.png

이런 주소로 저장이 되기 때문에 블로그 이전하며 글을 지워도 티스토리에서는 계속 해당 사진을 볼 수 있는 것이다.


그럼, 왜 안 지워질까?


빅데이터 가공하는데 이용되기 때문이다.


- 끗 -


사족으로 "이건, 잘못된게 아니라고?" 이런 질문을 받을 수도 있겠다.


내가 스타트업 있을 때 스타트업 사장한테 배웠다.

힘 있는데 나쁜 짓 하는게 뭐가 나쁘냐고.

그 때는 그 말을 하며 삼성을 미워하는게 정말 싫었는데, 그 뒤로 프리랜서, 중소기업 직원으로 일하면서 알게 되었다.

모두가 그렇게 하는 것을.

그래서 교훈으로 남았으나 우리 가족은 정말 힘들 세월을 보냈었다. 그런데도 나쁜게 아니라고?


나쁜게 아니라는 결론이다.


원망은 없다. 말년에 복수하면 되니까. 보통 밥을 다 짓고 난 다음에 재를 뿌려야 진정한 복수다.


다만 힘있는 자들이 이렇게 한다는 것을 모르면 안되겠다.


이런 진실들이 여기 많다. -> 뉴스타파 



'Blog History' 카테고리의 다른 글

미금역 건진 장소  (0) 2019.01.18
꿀위키라는 정의가 존재했었다.  (0) 2019.01.15
개인 방송에 욕이 많은 이유  (4) 2019.01.08
방관자 효과... 털린 집은 또 털린다.  (0) 2019.01.08
PC방 살인사건  (0) 2019.01.08

아나콘다 쓰지 말자.

conda install anaconda-clean
anaconda-clean --yes

rm -rf ~/anaconda3

rm -rf ~/opt/anaconda3

rm /usr/local/bin/python3 삭제전에

which pip                                                   1 ↵ ──(Tue,Mar05)─┘

pip: aliased to /Users/junhoha/.pyenv/versions/3.9.13/bin/pip
(base) ┌─(~)─────────────────────────────────────────────────────────(junhoha@Junhoui-MacBookPro:s005)─┐
└─(17:23:44)──> which pip3                                                        ──(Tue,Mar05)─┘
/usr/bin/pip3

뭐지 저 가상환경은 언제 또 만든거지.

나중에 다 지운다고 생각하고 일단 다 백업하자.

/usr/local/bin/python3.9 -m pip list

하나하나 백업하기 힘드므로

pip list | awk 'NR>2 {print $1}' | tee ~/hjh_pypackage.txt 

위 2줄 빼고 패키지 이름만 일단 저장함.

└─(17:36:55)──> brew list | grep python                                           ──(Tue,Mar05)─┘
python-tk@3.10
python@3.10
(base) ┌─(/usr/local/bin)────────────────────────────────────────────(junhoha@Junhoui-MacBookPro:s005)─┐
└─(17:38:17)──> brew uninstall python-tk@3.10                                     ──(Tue,Mar05)─┘
Uninstalling /opt/homebrew/Cellar/python-tk@3.10/3.10.13... (5 files, 151.0KB)
(base) ┌─(/usr/local/bin)────────────────────────────────────────────(junhoha@Junhoui-MacBookPro:s005)─┐
└─(17:38:51)──> brew uninstall python@3.10                                        ──(Tue,Mar05)─┘
Uninstalling /opt/homebrew/Cellar/python@3.10/3.10.13_2... (3,131 files, 57.3MB)
(base) ┌─(/usr/local/bin)────────────────────────────────────────────(junhoha@Junhoui-MacBookPro:s005)─┐
└─(17:38:59)──> which python3                                                     ──(Tue,Mar05)─┘
/usr/local/bin/python3 

뭐야...

아... 내가 컴파일 해서 썼었구나.... ㅠㅠ 이제 성능이 매우 뛰어나다는 3.11 로 가보자. 공식 사이트에서 3.11.8 받았다.(2월 updated)

GDBM_CFLAGS="-I$(brew --prefix gdbm)/include" \
   GDBM_LIBS="-L$(brew --prefix gdbm)/lib -lgdbm" \
   ./configure --with-pydebug \
               --with-openssl="$(brew --prefix openssl@3.0)"

 

make -s -j2

 

Could not build the ssl module!

Python requires a OpenSSL 1.1.1 or newer

brew update
brew upgrade openssl

export LDFLAGS="-L$(brew --prefix openssl@1.1)/lib"
export CPPFLAGS="-I$(brew --prefix openssl@1.1)/include"

make clean

./configure --enable-optimizations   

안되네.

brew upgrade openssl@1.1

export LDFLAGS="-L$(brew --prefix openssl@1.1)/lib $LDFLAGS"
export CPPFLAGS="-I$(brew --prefix openssl@1.1)/include $CPPFLAGS"
./configure --with-openssl=$(brew --prefix openssl@1.1) --with-openssl-rpath=auto
make

XXXXX

export LDFLAGS="-L/opt/homebrew/opt/openssl@1.1/lib $LDFLAGS"
export CPPFLAGS="-I/opt/homebrew/opt/openssl@1.1/include $CPPFLAGS"
export PKG_CONFIG_PATH="/opt/homebrew/opt/openssl@1.1/lib/pkgconfig"

./configure --with-openssl=/opt/homebrew/opt/openssl@1.1 --with-openssl-rpath=auto

make clean
make

 

우분투에서

cd /usr/src

sudo wget https://www.python.org/ftp/python/3.11.8/Python-3.11.8.tgz

... https://tecadmin.net/how-to-install-python-3-11-on-ubuntu-22-04/ 여기 껄로 참조~

 

How To Install Python 3.11 on Ubuntu 22.04 / 20.04 – TecAdmin

As of today, Python 3.11 is the latest version available for installation. Python developers who want to start creating a new application should use the latest version. This tutorial will help you to install Python 3.11 on Ubuntu systems. In this guide, we

tecadmin.net

 

/usr/src/Python-3.11.8$ ./python 
Python 3.11.8 (main, Mar  5 2024, 18:19:28) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.

 

cat hjh_....txt | while read pkg; do python3.9 -m pip install "$pkg"; done

로 패키지 설치해주면 됨.

 

=============

여기가 비싼 지식

=============

회사에서는 google cloud api 를 다수 이용하고 있다. firebase, ai 등 포함.

https://cloud.google.com/python/docs/setup?hl=ko

 

Python 개발 환경 설정  |  Google Cloud

의견 보내기 Python 개발 환경 설정 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 이 가이드에서는 Google Cloud에서 실행되는 Python 앱 개발을 포함하여 Python 개

cloud.google.com

document가 워낙 많고 3.7 이상이면 된다고 하지만 3.12 쓰다가 서버 날리고 재설치 했다. 3.11도 안되는 부분이 많다. 속도 빠르다면서 갑자기 스턱이 되어 버리고 터미널까지 멈춰서 강제 종료 해야 한다.

 

결국 찾은 버전은

3.9 가 가장 안정적.

3.10.12 도 잘 된다.

python 3.9.13 을 쓰는데 python 3.10.12 도 괜찮다.

마이너버전까지도 맞춰야 관련 라이브러리나 연결된 API를 쓰는데 크게 무리가 없다는 생각이다.

이 "궁합" 문제는 내가 개발자를 하는 30년 넘게 있어온 문제이다. 파이썬 2와 3 싸울 때 만큼은 아니지만, 아직도 버전이 넘어가면

중구 난방이라는 느낌을 지울 수 없다. 그래서 requirements.txt 도 중요한 것이겠지.

작은 기록들도 큰 책임을 지고 있는 사람들에겐 수억원의 가치가 있다.는게 내 생각이다. 언젠가는 3.11로 가야한다. 성능 향상을 버릴 수는 없으니. 그러나 적어도 5년 뒤 정도 생각하고 있다.

/usr/local/bin/python3.9
pip3
pip 23.1.1 from /Users/junhoha/Library/Python/3.9/lib/python/site-packages/pip (python 3.9)

pip3
pip 24.0 from /Users/junhoha/.pyenv/versions/3.9.13/lib/python3.9/site-packages/pip (python 3.9)

pip
pyenv which python                                                                                                              ──(Wed,Mar06)─┘
/Users/junhoha/.pyenv/versions/3.9.13/bin/python
┌─(~)───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────(junhoha@Junhoui-MacBookPro:s000)─┐
└─(16:43:46)──> pyenv which pip                                                                                                                 ──(Wed,Mar06)─┘
/Users/junhoha/.pyenv/versions/3.9.13/bin/pip

 

 

 

===========

 

지난 추억... 아이패드 프로는 구독자에게 아이패드는 지인에게... 

 

 

 

참 앞으로는 구독자 이벤트 안 하기로 했다능. 

'{Infra} Server Setting' 카테고리의 다른 글

rm -rf / 방지  (0) 2019.01.16
서버 인코딩 문제 결국 로직으로 해결 *2024 updated.  (0) 2019.01.16
reboot 이후  (0) 2019.01.11
docker가 말썽을 부릴 때...  (0) 2019.01.11
proxy setting - 2  (0) 2019.01.11

이불을 빨고 나서도 이지경이면, 반품이 맞는 것 같아서 일반 반품 신청했다.


마음 같아서는 longterm 을 더 많이 재어서 사용하고 싶은 마음이다. 이불이 너무 포근하고 좋기 때문이다. 오죽하면 바로 반품하지 않고 세탁을 했을까.

아이가 없다면 그냥 쓰겠는데, 이것은 정말 아니다 싶었다. 

라돈 침구류는 세탁한다고 없어지는 것은 아니라는 것을 알게 되었다.

http://biz.chosun.com/site/data/html_dir/2018/07/30/2018073002013.html

2011년 판매 한 제품을 2018년에 회수할 정도니 이건 절대 못 쓰겠다는 확신이 들었다.

더불어... 내가 집에 라돈 측정기로 구석구석 측정하고 롱텀이던 숏텀이던 50 넘은 적이 없었다. 그래서 안심하고 지인들에게 빌려주기 시작했었다.

다시 나에게 돌아왔을 시기에 우연찮게 측정하게 된 것이다. 그 덕에 라돈 관련 카테고리도 만들게 되었다.


지금 자정이 넘은 시각, 5시간 정도 측정한 것 같은데 내일 아침까지 측정해서 long term value를 공유할 생각이다.


인기없는 블로그라 매출에 이상이 있진 않을 것 같은데, 지금 롱텀이 많이 떨어진 것을 보면 혹시 정상 수치(148)가 나올지도 모르니까. 외국은 이 수치가 더 낮은데 꼴랑 20 차이라

반품은 피할 수 없겠다. 세탁 했으니 확인하고 수거하라고 하긴 했다.




간단하다. snapkit 과 기타 소스로 프로그램을 짠 다음... 코드로 색상을 입혀주면 된다.


    //MARK: Angel Theme

    let mainMenu_cell_masterTextColor : String = "...."

    let mainMenu_cell_backgroundColor : String = "...."


    //MARK: Dark Knight Theme

    //    let mainMenu_cell_backgroundColor : String = "...."

    //    let mainMenu_cell_masterTextColor : String = "...."

'!A. Basics' 카테고리의 다른 글

탭바 컨트롤러 인덱스 알아내기  (0) 2019.01.14
collections removeall()  (0) 2019.01.14
changing detail view in MDview  (0) 2019.01.12
헥사 코드로 컬러 설정하기  (0) 2019.01.12
master cell customizing : master detail view  (0) 2019.01.12

splitViewController의 viewControllers[1]이 detailView이다.

[0]은 master View

viewcontroller를 상속하였기에 뷰 컨트롤러를 넣을 수 있으니 기존 만들어 둔 뷰 컨트롤러를 붙이기 딱 좋다.

    override func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {

        switch indexPath.row {

        case 0:

            debugPrint("indexPath.row - 0")

        case 1:

            debugPrint("indexPath.row - 1")

            let detailViewController = self.storyboard?.instantiateViewController(withIdentifier: "detailview1") as! UINavigationController

            self.splitViewController?.viewControllers[1] = detailViewController

        case 2:

            debugPrint("indexPath.row - 2")

            let detailViewController = self.storyboard?.instantiateViewController(withIdentifier: "detailview2") as! UINavigationController

            self.splitViewController?.viewControllers[1] = detailViewController

        case 4 :

            debugPrint("indexPath.row - 3")

            let detailViewController = self.storyboard!.instantiateViewController(withIdentifier: "detailview3")

            self.splitViewController?.viewControllers[1] = detailViewController









FMI (For More Information)

https://stackoverflow.com/questions/38092605/how-to-change-detail-view-in-splitviewcontroller-programatically-in-swift



'!A. Basics' 카테고리의 다른 글

collections removeall()  (0) 2019.01.14
테마적용?  (0) 2019.01.12
헥사 코드로 컬러 설정하기  (0) 2019.01.12
master cell customizing : master detail view  (0) 2019.01.12
싱글톤은 최소 2개 이상  (0) 2019.01.12

https://www.raywenderlich.com/1039-scanner-tutorial-for-macos



cell.backgroundColor = UIColor(hexColor: "9d9d9d")





extension UIColor {

        convenience init(hexColor: String) {

        let scannHex = Scanner(string: hexColor)

        var rgbValue: UInt64 = 0

        scannHex.scanLocation = 0

        scannHex.scanHexInt64(&rgbValue)

        let r = (rgbValue & 0xff0000) >> 16

        let g = (rgbValue & 0xff00) >> 8

        let b = rgbValue & 0xff

        self.init(

            red: CGFloat(r) / 0xff,

            green: CGFloat(g) / 0xff,

            blue: CGFloat(b) / 0xff, alpha: 1

        )

    }

}


기계 산지 몇 달 만에 40넘는 것도 처음인데 302... 아이 발레 학원 데려다 주기 전에 올려놨었다가... 보고

고장난 줄 알고 빼서 보다가 떨어지는거 보고 다시 올려서 사진 찍었다.

사업 하시는 분께 누가 되지 않고 싶지만, 이건 좀 너무하다 싶어서 (사실 쌍욕이 하고 싶지만) 다른 분들을 위해 올려둔다.

쿠팡에 싸게 나와서 전량 매진 되었던 제품이기 때문이다. 피해자 많을 듯.



일단 빨아보자. 그리고 자는 동안 재 측정해서 다시 포스팅을 올려보려고 한다.






만든이 사이트

파일 7zip 은 여기서

AllCap_v1102.7z


정말 멋진 프로그램이다. pe포멧이라 윈도우에서만 된다.


'will be deleted.' 카테고리의 다른 글

크롬_필수_플러그인  (0) 2020.09.24
Everyday  (0) 2019.03.13
티스토리 좋은 서식  (1) 2019.02.02
Google Analytics  (0) 2019.01.28
google search console  (0) 2019.01.25



class CustomCell_mainMenuCell: UITableViewCell {

    

    let displayName = UILabel()

    let img = UIImageView()

    

    override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {

        super.init(style: style, reuseIdentifier: reuseIdentifier)

        

        img.image =  imageLiteral(resourceName: "temp")

        

        displayName.translatesAutoresizingMaskIntoConstraints = false

        displayName.font = UIFont.appRegularFontWith(size: GS.s.commonFontSize)


        contentView.addSubview(displayName)

        contentView.addSubview(img)

        

        img.snp.makeConstraints {

            $0.right.equalToSuperview()

            $0.width.equalTo(12)

            $0.height.equalTo(GV.s.mainMenu_cell_height)


정의하고,




        self.tableView.register(CustomCell_mainMenuCell.self, forCellReuseIdentifier: "titleCell")

        

등록하고,


 override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

        

        let cell = tableView.dequeueReusableCell(withIdentifier: "titleCell", for: indexPath) as! CustomCell_mainMenuCell

        

        cell.displayName.text = GV.s.title_mainMenu[indexPath.row]

        

        cell.value.font = UIFont.appRegularFontWith(size: 17)

        cell.value.font = UIFont.appLightFontWith(size: 15)

        

        switch indexPath.row {

        case 0:

            break


쓴다.




싱글톤은 최소 2개 이상 만들어야 한다.

나 같은 경우 UI를 그리기 위한 GlobalVarialbes 와 전역 설정을 위한 GlobalSettings 는 꼭 만들고 시작한다. 안드로이드 10년 동안 할 때도 마찬가지였다.

동시성 코드는 일하고 있는 곳의 코드라서 못 넣고 일반적인 소리만 한다. 하나마나 ^^

class GV {

    

    static let s = GV()



    private init() {

   enum text {

        case content

        case label

    }


    func bssBarTextAttributer(_ label : UILabel, _ type : text) {

        switch type {

        case text.content:

            label.font = UIFont.init(name: "".font1B(), size: GV.s.ui_dashboard_bssBar_panel_fontSize)

            label.textColor = UIColor(red: 62, green: 62, blue: 62)

            label.textAlignment = .center


        case text.label:

            label.font = UIFont.init(name: "".font1(), size: GV.s.ui_dashboard_bssBar_panel_label_fontsize)

            label.textColor = UIColor(red: 128, green: 128, blue: 128)

            label.textAlignment = .center

        }

    }


이렇게 정의한 후


    lazy var sensorBS : UILabel = {

        let label : UILabel = UILabel()

        label.text = "---"

        bssBarTextAttributer(label, text.content)

        return label

    }()


    lazy var bloodSugar : UILabel = {

        let label : UILabel = UILabel()

        label.text = "---"

        bssBarTextAttributer(label, text.content)

        return label

    }()


    lazy var bolus : UILabel = {

        let label : UILabel = UILabel()

        label.text = "-.--"

        bssBarTextAttributer(label, text.content)

        return label

    }()


편하다. 후행 클로저 같은 솔루션도 있으나 snippet 이 안됨. 그리고 요걸 맞보면 못쓰지 ^^ 싱글톤에 넣어 전역에서 써주면 더욱 좋다.

'!A. Basics' 카테고리의 다른 글

헥사 코드로 컬러 설정하기  (0) 2019.01.12
master cell customizing : master detail view  (0) 2019.01.12
싱글톤은 최소 2개 이상  (0) 2019.01.12
Snapkit closure 이해  (0) 2019.01.07
JAVA C/C++ Objective-C Swift  (0) 2019.01.02



그런, 크롬 플러그인 때가 더 그립긴 하다.


구글에서 하나 만들어서 넣어줘도 좋을 듯.


'블로그 항해 일지 > Tips' 카테고리의 다른 글

어제 오늘 방문자 수  (0) 2019.02.08
powergrep exclude  (0) 2019.01.22
github에서 repo 미리 만들고 커맨드로 머지하기  (0) 2019.01.07
파이썬 관련 주요 인물  (0) 2019.01.06
Android 개발자 iOS전환 - 2  (0) 2019.01.03


네이버와 국내 경찰청은 연계되어 있다. 즉, 국가 기관과 연계되어 있다는 뜻.


그런데 국내 검색창은 아직 이런 상태다. 찾고 싶은게 없다. 도저히 없다. 국민 청원 빼고는 어느 국내 정부 기관 사이트 가도 제대로 동작하는게 없다. 성범죄자 알림 서비스도 가끔 이용하는데 너무너무 불편하다.


구글 이용할 때의 느낌은 없다. 내가 원하는 것을 찾아 주었으면 좋겠다.


다른 건 잘 된다고 변명하고 싶어도 국가와 짜고 진실을 왜곡한 적이 있어서 그러지 못하는거 알아서 쓴다.


그래도 어쩌겠나, 해외 도둑놈 보다는 국내 도둑놈이 더 잘되었으면 좋겠다는 마음.



최근 수업 과정에서 오드로이드와 라즈베리 파이의 GPIO로 소프트웨어 PWM, RS-232를 구현하고 있다. 물론, 하드웨어의 PWM을 이용하는 것보다는 깨끗한 파형을 내기 힘들다. 그러나 오실레이터나 크리스탈, 혹은 CPU Clock을 SW로 나누고 그것을 이용해 모터를 제어 하거나 관련 프로토콜을 SW로 구현하는 것은 꽤 괜찮은 수업 방식이라고 생각되어 진행하게 되었다.


결론은 잘 된다는 것. <- 이게 젤 중요하지


그러나 구현 과정에서 학생들이 보드를 많이 태웠는데 그 이유는 다음과 같았다.


1. 전원 연결이 중간에 끊겨 GPIO의 전류가 역방향으로 흐르게 하였다. 전원 껐다 켰다 하며...

2. 장치 연결 시 풀다운 저항이나 캐패시터를 이용하지 않았다.

3. 데스크톱과 직접 연결 시 전압 체크를 하지 않았다.

4. 주변 장치 연결 시 전원이 켜진 상태로 연결하였다.(GPIO, 화면 출력을 위한 HDMI 포트 等)


그리하여 작년 수업 과정과 합해서 총, 15대의 보드가 고장 났다. 물론, 1달 내내 수많은 과제를 하는데, 관련 과제가 많아 보드를 혹사시키는 것도 문제다. 실습 장비가 없으면 안되기에 미리, 어느 정도 귀띔은 해준다. 따라서 고의적으로 보드를 태우게 한 것은 아니다. 다만, 전자공학과 및 컴퓨터 공학 대학원까지 졸업하거나 전자공학과 4학년을 졸업한 친구들도 있기에 실무는 다르다는 것을 말해주고 싶은 마음이 있는 것은 사실이다. 간단히 말하면 보드를 태운 경험은 정말 소중하다는 것. 고의는 아니지만, 그에 따르는 수리나 추가 구입 비용에 대한 질타는 내 몫이다.


실무경험으로 한 가지 확실한 것은 GPIO를 이용한 프로젝트 진행 時 오드로이드에 반해 라즈베리 파이는 쇼트가 잘 나지 않는다는 것. 두 보드 모두 장/단점이 있고 이용 목적에 따라 다르다. 다만, 앞으로는 교육 비용 문제로 격이 더 저렴한 라즈베리파이를 이용하게 될 것 같다. 사실, 커뮤니티가 잘 안 되어 있는 보드를 찾아서 작년 1달 교육을 진행했는데,... 이제는 위키가 너무 잘 되어 있는 것도 하나의 이유.


소스는 github에 GPL 3.0으로 공개하고 모두 함께 작업하기로 하였다.


소스를 바로 보는 것은 실력 향상에 도움이 되지 않으니, 다음과 같은 과정을 거쳐 공부하길 바란다.


1. 오실로스코프로 UART 단자의 신호를 분석한다.

2. 하드웨어/소프트웨어 플로우 컨트롤 및 패리티 비트를 빼고 10비트가 나오는지 확인한다.

3. 시작 비트는 0 이 되는 순간이다.

4. 같은 신호를 GPIO와 delay 함수를 이용하여 구현한다.

5. usleep은 문제가 있어서 다른 함수(nanosleep)를 찾게 되고, 그것도 여의치 않아서 시간 계산을 따로 하는 함수를 찾게 된다.

6. 구현된 신호로 GPIO를 이용하여 UART Tx를 만든다.

7. 한 문자만 보내는 것을 여러 문자가 보내 지도록 함수를 만든다.

8. Rx도 같은 방법으로 구현한다. 다만, 같은 GPIO로 연결하면 둘 다 HIGH 상태이기 때문에 [처리]가 필요.

9. Tx, Rx 모두 구현하기 때문에 자신만의 신호를 만들 수 있다.

10. 완성형 한글 지원부터 유니코드 지원까지 customized UART protocol을 만들어 본다.

11. RS-232, 422, 485 까지 비교해 본다.


이런 과정을 거치면 같은 시리얼 통신인 CAN, I2C, SPI, I2S, CAN, USB 등을 한 번에 이해할 수 있게 된다. 일이관지(一以貫之, 하나의 이치로 모든 것을 꿰뚫는다). 인터넷을 돌아다니다 보면 UART, SPI, I2C 잘못 비교된 글이 많더라. UART 자체적으로 RS-232, 422, 423, 485 에 따라 속도나 전송거리, full/half duplex로 나뉘는데 그걸 마치 UART와 SPI, I2C의 차이로 적은 자료가 많았다. 주의! 주의!


'블로그 항해 일지 > Embedded' 카테고리의 다른 글

x86용 부트코드  (0) 2019.01.08
ODROID GPS 모듈 입양 完  (2) 2019.01.08
GPIO 제어 via 블루투스 on 삼성폰  (0) 2019.01.08
블루투스 연결  (0) 2019.01.08
GPIO 컨트롤  (0) 2019.01.08

sudo -s

screen -S fastapi

screen -S tensorflow

screen -S proxy

eval $(ssh-agent)

Ctrl + a, d

apache 점검

proxy 점검

nginx 충돌 점검 systemctl stop nginx

IP 접속하면 domain 으로 넘어가는지 확인

ssl 정상 연결 확인.

인증서 유효기간 확인

/nginx/certificates# openssl x509 -noout -enddate -in ./fullchain_socanner.pem
notAfter=May 10 00:25:04 2024 GMT

FE/BE 서비스 점검.

서버 모니터링...

 

-=0-0=-0=0-=0=-0=-0=-0=-0=-

 

 

 

저작권 벌금 절약 :  마이크로 소프트의 속셈은 잘 모르겠지만 쿠팡에서 소프트웨어를 너무 싸게 판다. 1년 넘은 것 같다.

 

꽤 괜찮은 듯

 

전시회 정보는 왠만한 곳에서는 제대로 나오지도 않는다. 그래서 다들 인터파크 인터파크 하나 보다.

 









 

얜 너무 온순해서 집에서 키워도 되겠다.
 
알비노가 확실히 예쁘더라
 
개발자니까 파이썬이라고 해야 하나?
 
 



 



 



 

 

내 경우 docker 로 nginx proxy를 설정할 때 문제가 되어 기록해 둔다.

처음 설정은 잘 된다. 시스템 리부팅 후에 꼬여서 문제. 사견인데 이 문제에 대해 "꼬였다" 용어 정리를 먼저 하면,

nginx 가 실행되는 시기, docker ps 에서 권한 문제로

root 인데도 제대로 컨트롤이 안 되는 경우를 꼬였다고 표현하고 있다.

root 인 상태에서

systemctl restart 했을 때 깨끗하지 않고 docker ps 에서 이래저래 나오면 

restart : always 된 경우다. "no" 로 바꿔주면 되고

이미 실행된 녀석들은

docker update --restart=no $(docker ps -q)

명령어로 도커 재 시작시 다시 실행 안되도록 해 주면 된다.

docker ps 하면 지워졌다고 나오는데  systemctl restart docker 하면 또 실행되어서 docker ps 가 된다.

이런 땐, systemctl restart docker.service

그래도 안되면 도커 지웠다가 다시 설치.

dpkg -l | grep -i docker

sudo apt-get remove --purge docker-ce docker-ce-cli containerd.io

sudo apt-get remove --purge docker.io

이 후

apt install 로 docker와 docker.io 설치하면 됨.

 

도커가 꼬여서 도커 업그레이드, 재설치, 리부팅 등등 삽질을 했었는데 

하나의 포트만 쓰는 리눅스의 프로세스 처럼 기존 docker 와 충돌은 보장하지 않기 때문에 꼬임 현상이 나는 듯 하다.

sudo docker system prune 으로 깔끔한 정리. -af 는 신중히.

네, 맞습니다. Docker에서 --prune 옵션은 특정 Docker 명령어와 함께 사용되어 관련 자원을 정리하는 데 도움을 줄 수 있습니다. 하지만, docker system prune과는 다르게, 이 옵션은 보통 Docker의 다른 하위 명령어와 함께 사용됩니다. --prune 옵션의 사용 예와 용도는 다음과 같습니다:

Docker 이미지 Prune

미사용 Docker 이미지를 정리하려면, docker image prune 명령어를 사용할 수 있습니다. 이 명령은 태그가 없고 (dangling 상태인) 이미지들을 삭제합니다.

sudo docker image prune

이 명령어에 -a 옵션을 추가하면, 사용 중이지 않은 모든 이미지를 삭제합니다:

 
sudo docker image prune -a

Docker 컨테이너 Prune

중지된 모든 Docker 컨테이너를 정리하려면, docker container prune 명령어를 사용할 수 있습니다.

sudo docker container prune

Docker 네트워크 Prune

사용하지 않는 모든 네트워크를 정리하려면, docker network prune 명령어를 사용할 수 있습니다.

sudo docker network prune

Docker 볼륨 Prune

미사용 Docker 볼륨을 정리하려면, docker volume prune 명령어를 사용할 수 있습니다.

sudo docker volume prune

각각의 prune 명령어는 관련된 자원 유형(이미지, 컨테이너, 네트워크, 볼륨)을 대상으로 하며, -f 또는 --force 옵션을 추가하여 사용자 확인 없이 바로 정리를 진행할 수 있습니다.

--prune 옵션은 이러한 prune 관련 명령어와는 별개로, 특정 Docker 명령어의 결과물을 정리하는 데 사용되기도 합니다. 예를 들어, docker build 명령어에 --prune 옵션을 사용하여 빌드 캐시를 정리할 수 있습니다. 하지만, 이는 Docker 버전에 따라 다르며, 일부 명령어에서는 --prune 옵션이 사용되지 않을 수도 있습니다. 사용 가능한 옵션과 기능은 Docker의 버전 및 공식 문서를 참조하여 확인해야 합니다.

 

 

[This document will be continuously updated.]

https://developer.arm.com/downloads/-/gnu-rm

 

Downloads | GNU Arm Embedded Toolchain Downloads – Arm Developer

Download the GNU Embedded Toolchain for ARM, an open-source suite of tools for C, C++, and Assembly programming for 32-bit ARM Cortex-A, ARM Cortex-M and Cortex-R families

developer.arm.com

아래 신 버전으로 바뀌었는데 지난 바이너리는 여기서 받는다.

https://developer.arm.com/Tools%20and%20Software/GNU%20Toolchain

 

Arm GNU Toolchain

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling coo

developer.arm.com

https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads

 

Arm GNU Toolchain Downloads – Arm Developer

Download the Arm GNU Toolchain, an open-source suite of tools for C, C++, and Assembly programming for the Arm architecture.

developer.arm.com

 

x86 기반 ubuntu 22.04 에서 바닐라 커널을 ARM 용으로 빌드해보자.

 

커널은 

curl -O https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.15.72.tar.xz 이런 식으로 받으면 된다.

 

https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x86_64-arm-none-eabi.tar.xz?rev=e434b9ea4afc4ed7998329566b764309&hash=688C370BF08399033CA9DE3C1CC8CF8E31D8C441

받아야 한다. 크롬으로 tar.xz에 가서 링크 복사 하면 된다.

curl -O https://developer.arm.com/-/media/Files/downloads/gnu/13.2.rel1/binrel/arm-gnu-toolchain-13.2.rel1-x86_64-arm-none-eabi.tar.xz?rev=e434b9ea4afc4ed7998329566b764309&hash=688C370BF08399033CA9DE3C1CC8CF8E31D8C441 

로 받자. 리눅스 커널 메인 폴더에 받아 버리는게 간지.

 

curl -O 로 잘 안되면 wget 으로 받아서 .tar.xz 로 이름 잘 바꿔주고

tar xvf 로 압축을 잘 풀어준다.

 

~/kernel/5_15_72/linux-5.15.72/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi$ ls
13.2.Rel1-x86_64-arm-none-eabi-manifest.txt  arm-none-eabi  bin  include  lib  libexec  license.txt  share

 

~/kernel/5_15_72/linux-5.15.72/arm-gnu-toolchain-13.2.Rel1-x86_64-arm-none-eabi/bin$ arm-none-eabi-gcc --version
arm-none-eabi-gcc (15:10.3-2021.07-4) 10.3.1 20210621 (release)
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

'프로그래머 > ARM, GCC, Linux Kernel, What I love' 카테고리의 다른 글

ARM Firmware 003  (0) 2019.02.09
ARM Firmware 002  (0) 2019.02.09
ARM Firmware 001  (0) 2019.02.09
Apple M1 에서는 컴파일러가 그냥 ARM 용이다.  (0) 2019.02.02
우분투에서 ARM 용 커널 빌드  (0) 2019.01.26



유통 상황에 따라 남기는게 다르겠지만,
효율적인 유통 혹은 직접 유통하는 분들에게
좋은 수익이 돌아갔으면 한다.



사진에 보이는 거 두박스 정도 먹고 나니
둘 다 좋지만 나에게는 고려 홍삼 스틱이 좀 더 낫더라

일단 진해서 먹는 느낌이 있음

효능은 뭐 다른 홍삼도 많이 먹고 있어서 비교 불가

'진행 프로젝트 > [진행] Useful Logs' 카테고리의 다른 글

인스타 정리 중 5  (0) 2019.01.19
인스타 정리중 4  (0) 2019.01.19
인스타 정리중 3  (0) 2019.01.19
인스타 정리중 2  (0) 2019.01.19
인스타 정리중 1  (0) 2019.01.19

카더라 통신

카더라 통신의 장점은 그것이 진실임에도 카더라로 취급된다는 데에 있다. 술자리에서 친해진 사람들과 나눈 이야기인데 굳이 검증할 필요도 논리적으로 설명할 필요도 없다. 불뚝 튀어나온 배와 함께 얻은 소중한 경험에서 오는 정보인데 굳이 정보를 나누려고 할까? 그것은 너무도 정보가 없는 대학생들이 지천에 널려 있기 때문이다. 그들이 좋은 선택을 하길 바란다면 정말 허심탄회하게 모든 이야기를 필요가 있다.

그런데 해줄까? 하나의 일화를 소개하겠다. 친한 친구가 십수 일당 30 하는 타일 기술을 배우기 위해 3년을 보조원으로 살았다. 그러나 결론만 말하면 배웠다. 바로 옆에서 수많은 에피소드 들을 직접 들을 있었지만 결론은 간단했다. 제대로 가르쳐 주는 순간 경쟁자가 된다. 다른 에피소드들을 말해주면 인턴인데 스킬에 집중해서 가르쳐 주다 보면 기본기를 잃어버려 크래커 트리에서 말하는 소위 '스크립트 키들' 되어 버린다. 열심히 배워야 신입 사원의 자세가 사라지는 것은 설상가상이다.

샌프란에 거주하는 프로그래머에게 물었다. 70 되도록 일하는지.

- 보험료가 너무 비싸서 아들이 12 불을 받고 페이스북에 들어갔는데도 일할 수밖에 없다고 했다. 아들 역시 세금이 40% 넘어서 자기 집이 없는 이상 생활수준은 필자가 말한 것만 못하다고 한다.


구글 직원이 트럭에 살면서 블로그 포스팅을 하는 뉴스 기사가 가십거리가 되었는지 충분히 이해되는 대목이었다.


애플에 근무하는 직원에게 물었다. 60 되도록 일하는지.

- 똑같이 보험료 이야기를 했다. 애플 제품이 임직원가에 싸게 팔기도 해서 아이폰도 수량 제한은 있었지만 싸게 구입했다고 한다. 업무강도는 만족할 만한 수준이라고 한다. , 휴가가 45 정도 되는데 유럽 여행 다니기도 좋다고 말했다.


같이 세계 특허가 있어서 지속적으로 keep in touch 하고 있는데 자세한 이야기는 애플 회사 분위기상 본인에게 피해를 있어서 공개하지 못한다.


버라이즌에 근무하는 다른 나라 출신 직원에게 물었다. 메트로 PCS 같이 중소 통신사 있다가 곳으로 갔으니 좋겠다고.

- 때문이 아니라 이직은 어쩔 없었다고 했다. 좋은 곳으로 옮겼다고 생각하겠지만 미국에서는 곳에서 오래 일하는 것이 페이가 좋다고 말해주었다. 그러나 유리천장이 있고, 보이지 않는 차별이 존재한다고 했다. 객관적인 실적인 내가 내었는데 상사는 자기랑 학교가 같고 지역이 같은 이유로 나보다 경력이 안되고 실력이 안되는데 위에 앉혀 버렸다고 했다. 정치적으로 괴롭혀서 이직할 수밖에 없었다고 했다.


좋은 곳으로 같지만 깊은 이야기를 들어보면 실재로는 아니었다.


십수 구글 개발자로 갔던 지인이 있다. 구글 근무해서 좋은 점은 저명한 사람들에게 메신저로 질문할 있어서 좋다고 했다.


우리나라에서 영어를 쓰는 것은 부끄러워하는 것이 당연한 것이라는 메시지의 광고나 상황들을 종종 접한다. 이렇게 영국, 미국의 속국처럼 살다 보니까 해당 국가에 지인이 있고 말들을 전달하는 것만으로도 마치 무슨 대단한 것이 있는 것처럼 착각하고 때가 많다. 필자가 아끼는 사람이 알코올 중독으로 십수 년간 같이 힘들어 하지만 사람 관계에 술은 정말 중요하다고 생각한다. 보통 회사 시스템은 사람 관계에 비용이 많이 나가기 때문에 시스템화하려고 한다. 그러나 진짜 정보를 얻으려면 face to face 답이다.


 진솔한 이야기들을 정리해서 우리가 잘못 알고 있는 것을 짚어 보면.

미국에서 억대 연봉자는 한국에서 6000 받으며 지방에 거주할 있는 개발자보다 생활수준이 낫지는 않다. 물론, 골프나 요트를 좋아하면 상황은 바뀌겠지만 치안, 의료 옵션을 추가하면 한국 쪽으로 저울이 기울어질 것이다. 미국에서 이직이 잦은 것은 고액 연봉을 보장해 주지도 않고, 뛰어난 엔지니어라서 그런 것도 아니다.


국가 기반 정책을 연구하는 단체에서 근무하는 사람이 말해주었던 진실. 미국에서 박사로 거주하기 위해서 따는 박사와 본국으로 돌아가는 것이 명확한 상태에서 취득하는 박사는 학위 난이도와 공부할 드는 비용이 판이하게 다르다는 . 미국에서는 MBA 따도 일자리가 없어서 연봉과 만족도가 낮은 다른 일을 하는 사람이 많다는 실재 사는 이야기들을 듣다 보면 한국 사정을 전혀 모른다는 것을 당당하게 이야기하며 목적지가 선진국임을 설파하는 많은 사람들의 이야기는 걸러 들어야 길을 찾을 있다는 확신이 들거라 생각한다. 참고로 이렇게 말하는 필자도 미울지도 모르겠지만 필자의 영어 실력은 형편없고, 프로젝트 때문에 서바이벌로 영어를 배웠다. 이에 반해, 최신 멘토링 하는 멘티들은 모두 토익 900 육박하고 교환학생이나 유학을 사람도 많다. 그러나 영어의 필요성을 느껴서인지 시간이 지나면 어렵게 공부했던 것을 모두 까먹어 버린다. 필자의 책은 사도 좋으니 무조건 원서는 사서 보라고 하고 싶다. JAVA 봐도 제임스 고슬링 책에는 UTF-16 관련 이야기가 초반부에 나와서 한글로 예제 소스를 짜도 문제가 없을 터인데 모두 영어로 예제를 짜고 있다. 코드로 멘토링 한글로 코딩을 하면서 가르쳐 주면 훨씬 효과가 좋다는 것을 경험했고, 지금도 하고 있다.


위의 소중한 경험들을 주변에 많이 설파하고 있지만, 퍼지지 않는 같아서 가끔 개발 능력보다 마케팅 능력이 중요한지 의문이 든다. 사실 의문이라기보다는 확신인 것이 최근 이세돌로 돌풍이 불었던 분야만 봐도 마케팅의 힘을 실감한다. IBM 체스나 퀴즈대회로 쇼를 때는 먹히지 않았던 분야다. 이런 마케팅의 홍수 속에서 진짜를 가르쳐 주려면 어느 정도는 그들의 룰에 따를 필요가 있을 같다.

Ubuntu에서 Docker를 설치하는 표준 방법 중 하나는 Docker의 공식 저장소를 시스템에 추가하고 그곳에서 Docker 패키지를 설치하는 것입니다. 아래 단계를 따라 Docker CE를 설치해 보세요.

  1. Docker의 공식 GPG 키 추가:
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  2. Docker의 공식 저장소를 APT 소스 목록에 추가:
    echo \ "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  3. 패키지 목록 업데이트 및 Docker CE 설치:
    sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io

이렇게 하면 Docker CE, CLI, 그리고 containerd.io를 설치할 수 있습니다. 이 과정을 통해 최신 버전의 Docker가 설치되며, 이전에 발생했던 문제들을 해결할 수 있습니다.

 

  1. 실행 중인 컨테이너 확인:이 명령어는 현재 실행 중인 모든 Docker 컨테이너의 목록을 보여줍니다.
    sudo docker ps
  2. 모든 컨테이너 확인:이 명령어는 시스템상의 모든 Docker 컨테이너를 보여주며, 실행 중이지 않은 컨테이너도 포함됩니다.sudo docker ps -a
  3. Docker 이미지 목록 확인:이 명령어는 로컬 시스템에 저장된 모든 Docker 이미지의 목록을 보여줍니다.sudo docker images
  4. Docker 네트워크 확인: sudo docker network ls

 

Docker 데몬 로그 확인

시작 실패의 구체적인 원인을 파악하기 위해 Docker 데몬의 로그를 확인해야 합니다. Docker 데몬 로그는 보다 상세한 오류 메시지를 포함하고 있을 수 있으며, 문제 해결에 중요한 단서를 제공할 수 있습니다.

journalctl -u docker.service
 

sudo systemctl status docker.service

sudo systemctl restart docker

사용자를 docker 그룹에 추가하면, sudo 없이 Docker 명령을 실행할 수 있습니다. 이 방법은 명령을 실행할 때마다 sudo를 입력하는 번거로움을 줄여줍니다. 사용자를 docker 그룹에 추가하려면 다음 명령을 사용하세요:

sudo usermod -aG docker $USER

docker-compose down docker-compose build --no-cache docker-compose up -d
  • 이 스크립트는 기존의 Docker 컨테이너와 이미지를 내리고(docker-compose down), 캐시를 사용하지 않고(--no-cache) 새로운 이미지를 빌드한 다음, 컨테이너를 백그라운드에서 실행합니다(docker-compose up -d).

version: '3.6'
services:
  proxy:
    restart: always
    build:
      context: .
      dockerfile: Dockerfile
    hostname: proxy
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./nginx:/etc/nginx
      - ./log:/var/log/nginx
    networks:
      - proxy-net

  echo:
    image: jmalloc/echo-server
    expose:
      - "8080"
    hostname: echo
    networks:
      - proxy-net

networks:
  proxy-net:
    external: true

=== 화사첨족 ===

news가 안 열리면,

기본 앱 설정 - 웹브라우저 설정에서 기본 앱을 설정해주어야 함.

devenv /resetuserdata    // X

윈도우 10에서 설정 찾기 참 편하다.

그나저나 bizspark 은 완전이 바뀌어버렸네...

Product keys
There is no paid active subscription associated with your account
Add a paid subscription to access downloads and product keys.

예전에는 졸업하더라도 키 목록이 있어서 좋았는데 ㅠ

그 때 그 때 바뀌는 회사라 믿음이 안가는 것은 여전하다.

정말 오픈 소스 진영이 좋은 역할을 많이 한다.

 

 

코빗 서버 점검 페이지

 

Korbit
 
All Systems OperationalRefreshed less than 1 minute ago
Korbit - Website  Operational
90 days ago
 
100.0 % uptime
 
Today
Korbit - API  Operational
90 days ago
 
100.0 % uptime
 
Today
 Trading
BTC/KRW  Operational
BCH/KRW  Operational
ETH/KRW  Operational
ETC/KRW  Operational
XRP/KRW  Operational
Other Digital Assets  Operational
 Deposits/Withdrawals
KRW  Operational
BTC  Operational
BCH  Operational
ETH  Operational
ETC  Operational
XRP  Operational
Other Digital Assets Withdrawal  Operational
System MetricsMonthWeekDay
Korbit - Website
100%
15:0018:0021:002. Jan03:0006:0009:0012:00050100
Korbit - API Response Time
13ms
15:0018:0021:002. Jan03:0006:0009:0012:0001020
Past Incidents
Jan 22018
No incidents reported today.
Jan 12018
No incidents reported.
Dec 312017
No incidents reported.
Dec 302017
No incidents reported.
Dec 292017
No incidents reported.
Dec 282017
No incidents reported.
Dec 272017
No incidents reported.
Dec 262017
No incidents reported.
Dec 252017
No incidents reported.
Dec 242017
No incidents reported.
Dec 232017
No incidents reported.
Dec 222017
Resolved - 문제가 해결되어 출금 계좌 등록이 가능합니다. / We have fixed the issue. You may register your withdrawal bank account. 
Dec 22, 18:53 KST
Investigating - 출금 계좌 등록이 정상적으로 처리되지 않습니다. 복구 후 안내 드리겠습니다. / Unable to register withdrawal bank accounts. We are investigating the issue. 
Dec 21, 15:22 KST
Dec 212017
Resolved - 문제가 해결되어 정상적으로 원화 출금 서비스를 이용하실 수 있습니다. / We have fixed the issue. 
Dec 21, 15:12 KST
Investigating - 원화 출금이 지연되고 있습니다. 현재 문제 해결을 위하여 조치중이니 회원님의 양해를 부탁드립니다. / KRW withdrawals are being delayed. We are investigating the issue right now. 
Dec 21, 14:53 KST
Dec 202017
No incidents reported.
Dec 192017
No incidents reported.

 

 

 

 


높다.
나도 배운다

안녕하세요. 토스팀입니다.

다가오는 2019년 2월 1일부로 토스 서비스 이용 약관이 변경됨을 공지드립니다.

변경 사항은 아래와 같습니다.

제 2 조 (용어의 정의)

변경 전

① 본 약관에서 사용하는 용어의 정의는 다음과 같습니다.
1. "회원"이란 본 약관에 따라 가입신청에 대한 회사의 승낙을 받아 회사가 제공하는 서비스를 이용하는 자를 말합니다.
(생략)
16. "직불전자지급수단"이라 함은 회원과 가맹점간에 전자적 방법에 따라 금융회사의 계좌에서 자금을 이체하는 등의 방법으로 재화 또는 용역의 제공과 그 대가의 지급을 동시에 이행할 수 있도록 회사가 발행한 증표 또는 그 증표에 관한 정보를 말합니다.

변경 후

① 본 약관에서 사용하는 용어의 정의는 다음과 같습니다.
1. "회원"이란 본 약관에 따라 가입신청에 대한 회사의 승낙을 받아 회사가 제공하는 서비스를 이용하는 자를 말합니다.
(생략)
16. "직불전자지급수단"이라 함은 회원과 가맹점간에 전자적 방법에 따라 금융회사의 계좌에서 자금을 이체하는 등의 방법으로 재화 또는 용역의 제공과 그 대가의 지급을 동시에 이행할 수 있도록 회사가 발행한 증표 또는 그 증표에 관한 정보를 말합니다.
17.“전자지급결제대행서비스”라 함은 전자적 방법으로 재화 또는 용역의 구매에 있어서 지급결제정보를 송신하거나 수신하는 것 또는 그 대가의 정산을 대행하거나 매개하는 서비스를 말합니다.

비고

제2조 제1항 17호 신설

제 14 조 (서비스 이용제한)

변경 전

① 회원의 서비스 이용 중 다음 각 호의 사유가 발생하는 경우, 회사는 해당 회원의 서비스 이용을 제한 또는 정지할 수 있습니다.
1.PIN을 누적하여 연속 5회 이상 오류 입력하는 경우
(생략)
11. 이 약관에서 규정한 사항이나 별도 페이지에 규정한 이용정책을 위반한 경우
12. 기타 회사가 합리적인 판단에 의해 서비스의 제공을 거부할 필요가 있다고 인정할 경우

변경 후

① 회원의 서비스 이용 중 다음 각 호의 사유가 발생하는 경우, 회사는 해당 회원의 서비스 이용을 제한 또는 정지할 수 있습니다.
1.PIN을 누적하여 연속 5회 이상 오류 입력하는 경우
(생략)
11. 이 약관에서 규정한 사항이나 별도 페이지에 규정한 이용정책을 위반한 경우
12. 회원의 계정에 대한 채권추심, 압류명령 등 법원의 명령이 있는 경우
13. 기타 회사가 합리적인 판단에 의해 서비스의 제공을 거부할 필요가 있다고 인정할 경우

비고

제14조 제1항 제12호 신설, 기존 12호는 13호로 조정

제 17 조 (서비스 이용 내역의 보존 및 확인)

변경 전

⑤ 서비스 이용내역의 서면제공 요청은 아래의 이메일 주소로 신청하거나, 아래 담당자에게 전화로 직접 신청할 수 있습니다. 회원은 동 신청을 함에 있어서 서면을 수령하는데 필요한 정보를 명확히 제공하여야 합니다. 회사는 우편 제공시 일반우편의 방법으로 송부합니다.

○ 이메일 : support@toss.im
○ 담당 : 양주영
○ 전화 : 1599-4905

변경 후

⑤ 서비스 이용내역의 서면제공 요청은 아래의 이메일 주소로 신청하거나, 아래 담당자에게 전화로 직접 신청할 수 있습니다. 회원은 동 신청을 함에 있어서 서면을 수령하는데 필요한 정보를 명확히 제공하여야 합니다. 회사는 우편 제공 시 일반우편의 방법으로 송부합니다 .

○ 이메일 : support@toss.im
(삭제)
○ 전화 : 1599-4905

비고

제17조 제5항 일부삭제

제27조(분쟁처리담당자 및 이의신청)

변경 전

① 회원은 서비스 이용과 관련하여 회사에 이의가 있는 경우 서면으로 회사에 이의를 제기할 수 있습니다. 분쟁처리책임자는 아래와 같습니다.

1. 분쟁처리책임자
1. 담당 이승건
2. 전화 1599-4905
3. 이메일 support@toss.im

변경 후

① 회원은 서비스 이용과 관련하여 회사에 이의가 있는 경우 서면으로 회사에 이의를 제기할 수 있습니다. 분쟁처리책임자는 아래와 같습니다.

1. 분쟁처리책임자/담당자 강희진
2. 전화 1599-4905
3. 이메일 support@toss.im

비고

분쟁처리책임자/담당자 지정에 따른 변경

제 29 조 (토스머니의 충전)

변경 전

③ 회원이 토스머니의 충전에 이용할 수 있는 금융기관은 회사가 사전에 출금이체 (펌뱅킹) 관련 계약을 체결한 금융기관에 제한됩니다. 이용 가능한 금융기관의 목록은 회사의 홈페이지 또는 토스 서비스를 통해 공지합니다. 이용 가능한 금융기관에 변동사항이 생길 경우 회사는 즉시 홈페이지 또는 토스 서비스 공지사항을 통하여 회원에게 공지합니다.

변경 후

③ 회원이 토스머니의 충전에 이용할 수 있는 금융기관은 회사가 사전에 출금이체 (펌뱅킹) 관련 계약을 체결한 금융기관에 제한됩니다. 이용 가능한 금융기관의 목록은 회사의 홈페이지 또는 토스앱을 통해 공지합니다. 이용 가능한 금융기관에 변동사항이 생길 경우 회사는 즉시 홈페이지 또는 토스앱 공지사항을 통하여 회원에게 공지합니다

비고

제29조 제3항 문구 정정

제 30 조 (토스머니의 이용)

변경 전

(생략)
③ 회원은 토스머니를 회사가 제시하는 가맹점에서 해당 가맹점과의 계약에 따라 허용된 경우, 해당 상품 또는 서비스 구매 등에 관한 지급 및 결제 수단으로 사용할 수 있습니다. 회사는 토스머니를 사용하여 결제를 할 수 있는 가맹점의 정보에 관하여 본 약관 제22조에 정한 방법으로 회원에게 알립니다.

변경 후

(생략)
③ 회사는 토스머니의 양도 시 상대방(토스머니를 양도받는 자)이 양도인의 성명을 확인할 수 있도록 할 수 있습니다.
④ 회원은 토스머니를 회사가 제시하는 가맹점에서 해당 가맹점과의 계약에 따라 허용된 경우, 해당 상품 또는 서비스 구매 등에 관한 지급 및 결제 수단으로 사용할 수 있습니다. 회사는 토스머니를 사용하여 결제를 할 수 있는 가맹점의 정보에 관하여 본 약관 제22조에 정한 방법으로 회원에게 알립니다.

비고

제30조 제3항 신설
기존 3항은 4항으로 조정

제 32 조 (토스머니의 환급 등)

변경 전

① 회원이 보유 중인 토스머니의 환급을 회사에 요구할 경우, 회사는 그 보유중인 잔고 범위 내에서 회원이 요청하는 금액에 이르기까지 회원이 지정한 은행계좌로의 현금을 계좌이체 하는 방법으로 환급합니다. 재화 등의 구매나 이벤트 등을 통하여 회사로부터 무상으로 제공받은 토스머니는 동조의 환급 대상에서 제외됩니다. 환급의 경우 회사는 회사가 정하여 제22조에 따라 회원에게 고지하는 기준에 따른 환급 수수료를 공제할 수 있습니다.

변경 후

① 회원이 보유 중인 토스머니의 환급을 회사에 요구할 경우, 회사는 그 보유중인 잔고 범위 내에서 회원이 요청하는 금액에 이르기까지 회원이 지정한 은행계좌로의 현금을 계좌이체 하는 방법 또는 “전자적 장치”를 통한 현금 출금을 허용하는 방법으로 환급합니다. 재화 등의 구매나 이벤트 등을 통하여 회사로부터 무상으로 제공받은 토스머니는 동조의 환급 대상에서 제외됩니다. 환급의 경우 회사는 회사가 정하여 제22조에 따라 회원에게 고지하는 기준에 따른 환급 수수료를 공제할 수 있습니다.

비고

제32조 추가

제6장 전자지급결제대행서비스

변경 후

제 39 조 (서비스의 제공)
회사가 제공하는 전자지급결제대행서비스는 지급결제수단에 따라 다음과 같이 구별됩니다.
①선불전자지급수단결제대행서비스 : 회원이 결제대금의 지급을 위하여 제공한 지급결제수단이 선불전자지급수단인 경우, 회사가 전자결제시스템을 통하여 선불전자지급수단의 정보를 송, 수신하고 결제대금의 정산을 대행하거나 매개하는 서비스
② 직불전자지급수단결제대행서비스 : 회원이 결제대금의 지급을 위하여 제공한 지급결제수단이 직불전자지급수단인 경우, 회사가 전자결제시스템을 통하여 직불전자지급수단의 정보를 송, 수신하고 결제대금의 정산을 대행하거나 매개하는 서비스
③ 신용카드결제대행서비스 : 회원이 결제대금의 지급을 위하여 제공한 지급결제수단이 신용카드인 경우로서, 회사가 전자결제시스템을 통하여 신용카드 지불정보를 송,수신하고 결제대금의 정산을 대행하거나 매개하는 서비스
④ 기타 회사가 제공하는 서비스로서 지급결제수단의 종류에 따라 '휴대폰 결제대행서비스', 'ARS결제대행서비스', '상품권결제대행서비스'

제40조 (이용금액의 한도)
회사의 정책 및 결제업체(선불전자지급수단 발행업자, 카드사 등)의 기준에 따라 결제수단별 월 누적 결제액 및 결제한도가 제한될 수 있습니다.

제41조 (거래지시의 철회)
① 회원이 전자지급결제대행서비스를 이용한 경우, 회원은 거래지시된 금액의 정보에 대하여 수취인의 계좌가 개설되어 있는 금융기관 또는 회사의 계좌의 원장에 입금기록이 끝나거나 전자적 장치에 입력이 끝나기 전까지 거래지시를 철회할 수 있습니다. 다만, 회원이 회사에게 거래지시의 철회를 하였더라도 부득이하게 철회의 의사가 금융기관에 도달하기 전 금융기관의 계좌의 원장에 입금기록이 끝나거나 전자적 장치에 입력이 끝난 후에는 거래지시의 철회가 불가능할 수 있습니다.
② 회사는 회원의 거래지시의 철회에 따라 지급거래가 이루어지지 않은 경우 수령한 자금을 이용자에게 반환하여야 합니다.

비고

제39조 신설,제40조 신설,
제41조 신설

제7장 금융사기 피해신고 계정에 대한 조치

변경 전

제6장 금융사기 피해신고 계정에 대한 조치

변경 후

제7장 금융사기 피해신고 계정에 대한 조치

비고

제6장 신설로 인한 변경

제7장 금융사기 피해신고 계정에 대한 조치

변경 전

제39조 (정의)

변경 후

제42조 (정의)

비고

조항 변경

제7장 금융사기 피해신고 계정에 대한 조치

변경 전

제40조 (피해의 신고)

변경 후

제43조 (피해의 신고)

비고

조항 변경

제7장 금융사기 피해신고 계정에 대한 조치

변경 전

제41조 (회사의 조치)

변경 후

제44조 (회사의 조치)

비고

조항 변경

제7장 금융사기 피해신고 계정에 대한 조치

변경 전

제42조 (피해 구제의 절차)

변경 후

제45조 (피해 구제의 절차)

비고

조항 변경

제7장 금융사기 피해신고 계정에 대한 조치

변경 전

제43조 (면책)

변경 후

제46조 (면책)

비고

조항 변경

개정된 Toss 서비스 이용약관에 동의하지 않으시는 경우에는 회원탈퇴를 요청하실 수 있으며, 개정약관 시행일 전까지 별도의 이의를 제기하지 않으실 경우 본 개정약관에 동의하시는 것으로 간주됨을 알려드립니다.

금번 약관 개정과 관련하여 궁금하신 사항은 고객센터(1599-4905, 카카오톡아이디: @toss)로 문의하여 주시기 바랍니다.

감사합니다.


개정 약관 전문 보기


딱히 검색이 잘된다거나
돈이 되지는 않는 듯

클래스와 객체

객체란?

클래스가 메모리가 올라간 상태를 말한다.


클래스란?

public class TheNewBook {}에서 class 말한다.


객체란?

TheNewBook a = new TheNewBook();처럼 new 붙은 것을 말한다.


클래스란?

객체가 new 되어 메모리에 올라가기 상태를 말한다.


자바에서 메모리에 올리는 예약 어는 가지가 있다.


static

new


이다. C++에서는 new, C에서는 malloc, calloc 기타 이를 응용한 라이브러리 함수들이겠다. 참고로 라이브러리도 API 일종이다. 위에서 말했던 int a = 1704; 예약어들이 없더라도 메모리에 공간을 확보하고 해당 값을 넣는 작업이 하부에서 진행된다. 객체지향이라는 것도 결국 메모리에 어떤 값을 만들고 그것을 이용해서 설계하는 방식의 일종일 뿐이다. 메모리에 값을 만들고 그것을 실행하면 모두 객체지향이라고 있다. 물론, 절차 지향이라고도 있다. 문제는 프로그래밍에 대한 새로운 시각으로 용어들을 없애버리고 싶다는 것이다. 장이 넘어가면 아마 절차 지향 객체지향이라는 단어를 쓰지 않아도 것이라 생각한다.


필자가 아는 프로그래밍 언어들은 CPU 메모리로 장난치데 도움을 주는 것들이다. 물론, C 자바의 메모리 모델은 다르다. 그것만 설명해도 많은 페이지를 할애해야겠으나 지금 책에서의 목표는 아니다.


클래스는 자체로 없다. C++에서 어떤 class struct 변경해도 전혀 문제가 없다. class struct 차이는 행동이 안에 들어 있느냐 없느냐 이기 때문에 적절한 변환만 준다면 동일한 것으로 수도 있게 된다. 하드디스크에 있는 프로그램이 실행이 되면 프로세스라 부르는데 뭔가를 실행하려면 메모리에 올려야 한다. 클래스는 하드디스크에 있는 프로그램이라고 보면 된다. 그러나 안에 static이나 new, malloc 메모리에 올려주는 예약 어가 있거나 생략되어 작동을 하는지에 주목할 필요가 있다는 것이다. 전공자는 앞의 용어들은 "그냥 이렇게 쓰는 갑다"라고 이해하고 다음과 같이 말아주면 좋겠다.

메모리() 컴퓨터 들었던 단어이고 내가 아는 바로 메모리다. 업그레이드에 필요하다고 들었다. CPU 컴퓨터에서 가장 중요한 부분이라고 들었는데 뭔가를 실행시켜 주는 것이다. 그리고 책은 내가 아는 CPU 메모리로 모든 프로그래밍 언어의 개념이 통한다고 말하고 있다.


두꺼운 책을 마지막까지 읽고 나면 결국 이야기를 하려고 기나긴 길을 돌아왔음을 알게 것이다.

+ Recent posts