2018년 12월 31일 월요일

[list] 리스트 수정할 때 주의할 점


2. 리스트에서 연속된 범위의 값 수정하기

>>> a[1:2]
[2]
>>> a[1:2] = ['a', 'b', 'c']
>>> a
[1, 'a', 'b', 'c', 4]
a[1:2]는 a[1]부터 a[2]까지를 말하는데 a[2]는 포함하지 않는다고 했으므로 a = [1, 2, 4]에서 a[1]의 값인 2만을 의미한다. 즉, a[1:2]를 ['a', 'b', 'c']로 바꾸었으므로 a 리스트에서 2라는 값 대신에 ['a', 'b', 'c']라는 값이 대입되었다.
[리스트 수정할 때 주의할 점]
2번 예제에서 리스트를 a[1:2] = ['a', 'b', 'c']로 수정하는 것과 a[1] = ['a', 'b', 'c']로 수정하는 것은 전혀 다른 결과값을 갖게 되므로 주의해야 한다. a[1] = ['a', 'b', 'c']는 리스트 a의 두 번째 요소를 ['a', 'b','c']로 바꾼다는 말이고 a[1:2]는 a[1]에서 a[2] 사이의 리스트를 ['a', 'b', 'c']로 바꾼다는 말이다. 따라서 a[1] = ['a', 'b', 'c']로 수정하게 되면 위와는 달리 리스트 a가 [1, ['a', 'b', 'c'], 4]라는 값으로 변하게 된다.
>>> a[1] = ['a', 'b', 'c']
>>> a
[1, ['a', 'b', 'c'], 4]


[출처:] https://wikidocs.net/14

(mac) MySAL 암호 재설정


맥에서 MySQL 초기암호 재설정

맥에서 MySQL 설정하기

라라벨 개발환경을 세팅하기 위해 MySQL을 설치했는데, 1) 처음 발급해주는 관리자 비밀번호를 아무 생각없이 엔터치고 넘어가버렸다. 2) 무식하게 재설치해봤지만 비밀번호는 다시 알려주지 않더라 3) 비밀번호를 재설정하려고 검색하는데 옛날 버전의 내용들이 많아서 시키는게 잘 안 되더라 4) 거기다 아직 mysql에 익숙하지 않아서 버벅댔다. 다시 고생 안 하기 위해 (삽질한 내용은 괄호안에) 정리!

1. MySQL 맥버전 설치

가장 쉬운 방법은 MySQL 사이트에서 최신 버전의 .dmg 파일을 다운로드하는 것이다. 다운로드하기 위해서는 로그인을 해야 하는데 하단에 있는 No thanks …를 누르면 로그인 없이도 다운로드할 수 있다. 설치하는 과정에서 초기 비밀번호를 랜덤하게 생성해서 제공하기 때문에 무의식적으로 엔터를 누르지 않도록 한다. (사실 그 이후로 다른 맥에 MySQL을 설치할 기회가 있어서 초기 비밀번호를 메모하고 정확하게 입력했지만 여전히 로그인이 안 되어서 매번 재설정 과정을 강제 복습함) 참고로 Homebrew로도 설치할 수 있는데, 관련 내용은 여기에 잘 정리되어 있다.

2. MySQL 서버 켜기

설치가 끝나고 맥의 시스템 환경설정에 가면 하단에 MySQL 메뉴가 생긴다. 여기 들어가면 클릭 한번으로 간단하게 서버를 켜고 끌 수 있다. MySQL에 접속하기 위해 서버를 켰다. 참고로 터미널 명령어로도 서버를 켜고 끌 수 있다.
sudo /usr/local/mysql/support-files/mysql.server start
sudo /usr/local/mysql/support-files/mysql.server stop
step2step2

3. 터미널에서 접속하기

MySQL 실행은 “/usr/local/mysql/bin/” 폴더에서 할 수 있다. (검색하다가 찾은 블로그에서 알려준대로 하다가 잘 안 되길래 뭐가 문제인가 봤더니 중간에 local을 빼먹어서 다른 폴더를 헤매고 있었던 것이었다!) 첫번째와 같이 경로로 이동해서 mysql을 실행하거나 또는 두번째처럼 붙여서 바로 실행할 수 있다. mysql을 실행하면 비밀번호를 물어보는데 분실한 상황이므로 새로 설정해야 한다.
cd /usr/local/mysql/bin/
sudo ./mysql
/usr/local/mysql/bin/mysql -uroot

4. 비밀번호 재설정

아래와 같이 입력하면 인증을 생략하고 안전모드로 데몬을 실행한다. 즉, 비밀번호 없이도 MySQL에 접속할 수 있게 된다. (여기서도 많이 헤맸다. 해당 경로로 이동해서 그대로 mysqld_safe –skip-grant-tables 명령어를 치면 실행할 수 없는 명령이라고 나오는데, 반드시 관리자 권한(sudo)로 실행하고 경로에도 ./를 붙여서 실행해야 한다) 그리고 이 단계에서 비밀번호를 물어보는 건 MySQL 비밀번호가 아닌 맥의 관리자 비밀번호다.
sudo /usr/local/mysql/bin/mysqld_safe --skip-grant-tables
위 명령어는 실행된 상태로 유지되므로 새로운 터미널 창을 열어서 MySQL에 접속한다. 이제 비밀번호를 묻지 않고 바로 접속이 된다. (예이!) 만약 접속이 잘 안 된다면 방금 전 실행한 명령어가 완전히 실행되었는지(=바람개비가 다 사라졌는지) 확인한다.
/usr/local/mysql/bin/mysql -uroot
접속한 뒤에는 아래와 같이 비밀번호를 root로 변경한다. password=(‘root’)에 root 대신 원하는 비밀번호를 입력해도 된다. (참고로 5.7 버전 이전에는 set password=password(‘원하는 비밀번호’)였는데 컬럼명이 바꼈다.1 굳이 바뀐 컬럼명을 직접 보고자 한다면 use mysql;을 하고 show full columnes from user;를 치면 된다.)
mysql> use mysql; 
mysql> update user set authentication_string=password('root') where user='root';
마지막으로 변경사항을 적용하기 위해 flush privileges 명령어를 실행한다.
mysql> flush privileges;

5. MySQL 접속하기

다시 MySQL에 접속하면 잘 되는 것을 확인할 수 있다. 만약 접속이 거부되면 -uroot -proot와 같이 비밀번호까지 붙여서 한번에 실행하는 것을 시도한다.
/usr/local/mysql/bin/mysql -uroot
/usr/local/mysql/bin/mysql -uroot -proot
그런데 접속 후 명령을 실행하게 되면 다음과 같은 에러가 발생한다. ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement. 이 경우 아래 명령어를 실행하면 정상적으로 MySQL 명령을 실행할 수 있다.2
mysql> use mysql; 
mysql> set password = password('원하는 비밀번호');


출처 : https://gomdoreepooh.github.io/notes/mysql-reset-password

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

위와 같이 설정 후 MySQL 접속 후 명령을 실행하게 되면 다음과 같은 장애가 발생한다.

mysql> SELECT 1;

ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.

위와 같은 오류가 발생하는 경우 다음과 같은 명령어를 실행한다.

mysql> SET PASSWORD = PASSWORD('2261bbs');

Query OK, 0 rows affected (0.01 sec)

mysql> SELECT 1;
+---+
| 1 |
+---+
| 1 |


출처: http://kogun82.tistory.com/122 [Ctrl+C&V 로 하는 프로그래밍]







2018년 12월 26일 수요일

(mac) MySQL 설치 및 시작

간단하게 MySQL 설치하기 (Mac, HomeBrew)

2018-01-29
MacOS 재설치 후 기본적인 설정을 하면서 간단히 정리해본 MySQL 설치 과정

MySQL 설치

$ brew install mysql
brew 명령어를 위한 HomeBrew 패키지 관리자 미설치시 아래 명령어를 통해 설치 필요
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

MySQL 설정

아래 명령어로 mysql을 시작합니다.
$ mysql.server start
아래 명령어로 기본 설정을 시작합니다.
$ mysql_secure_installation
이제 여러 질문들이 출력됩니다.
출력에 대한 답은 본인이 한 방법으로만 간단하게 기술하겠습니다.
우선 아래의 과정에 앞서 정리해보자면 아래와 같습니다.
  1. 비밀번호 복잡도 검사 과정 (n)
  2. 비밀번호 입력 & 확인
  3. 익명 사용자 삭제 (y)
  4. 원격 접속 허용 (n)
  5. test DB 삭제 (n)
  6. 수정할 것이 있는가? (y or n)
아래는 위에 나타낸 과정의 자세한 내용입니다.
Securing the MySQL server deployment.

Connecting to MySQL using a blank password.

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?

Press y|Y for Yes, any other key for No:
위의 과정은 복잡한 비밀번호 설정을 위한 과정을 거치겠냐고 묻는 과정이며,
No로 스킵하였습니다.
Please set the password for root here.

New password:

Re-enter new password:
위의 과정은 루트 비밀번호를 입력하는 과정입니다.
비밀번호와 비밀번호 확인란을 입력하게 됩니다.
By default, a MySQL installation has an anonymous user,
allowing anyone to log into MySQL without having to have
a user account created for them. This is intended only for
testing, and to make the installation go a bit smoother.
You should remove them before moving into a production
environment.

Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
익명 사용자를 삭제할 것인지 묻습니다.
y를 입력하였습니다.
Normally, root should only be allowed to connect from
'localhost'. This ensures that someone cannot guess at
the root password from the network.

Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
원격 접속을 허용할 것인지 묻습니다,
로컬에서만 개발 예정이기에 y를 입력했습니다.
By default, MySQL comes with a database named 'test' that
anyone can access. This is also intended only for testing,
and should be removed before moving into a production
environment.

Remove test database and access to it? (Press y|Y for Yes, any other key for No) :
test 데이터베이스 삭제를 묻고 있습니다.
No를 입력하였습니다.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) :
수정할 것이 있다면 위의 설정 과정을 다시 거칠 수 있습니다.
No를 입력하였습니다.
All done!
위의 메세지와 함께 설정이 종료됩니다.

MySQL 사용

$ mysql -u root -p
위 명령어 입력 후 루트 비밀번호를 입력하여 mysql을 사용할 수 있게 됩니다.


출처 : https://junhobaik.github.io/mac-install-mysql/

2018년 7월 23일 월요일

클래스에 사용되는 "self"의 정체

클래스에 사용되는 "self"의 정체


다음과 같이 연산을 수행할 대상(4, 2)을 객체에 지정할 수 있게 만들어 보자.
>>> a.setdata(4, 2)
위의 문장이 수행되려면 다음과 같이 소스 코드를 작성해야 한다.
>>> class FourCal:
...     def setdata(self, first, second):
...         self.first = first
...         self.second = second
...
>>>
이전에 만들었던 FourCal 클래스에서 pass라는 문장을 삭제하고 class 내부에 setdata라는 함수를 만들었다. 클래스 안에 구현된 함수는 다른말로 메서드(Method)라고 부른다. 앞으로 클래스 내의 함수는 항상 메서드라고 표현할테니 용어를 기억해 두도록 하자.
일반적인 함수를 만들 때 우리는 다음과 같이 작성한다.
def 함수명(매개변수):
    수행할 문장
    ...
메서드도 클래스에 포함되어 있다는 점만 제외하면 일반함수와 다를 것이 없다.
setdata 메서드를 다시 보면 아래와 같다.
def setdata(self, first, second):   # ① 메서드의 매개변수
    self.first = first              # ② 메서드의 수행문
    self.second = second            # ② 메서드의 수행문
① setdata 메서드의 매개변수
setdata 메서드는 매개변수로 self, first, second라는 3개의 입력값을 받는다. 그런데 일반적인 함수와는 달리 메서드의 첫 번째 매개변수 self는 특별한 의미를 가지고 있다.
self에 어떤 특별한 의미가 있는지 다음의 예를 보면서 자세히 살펴보자.
>>> a = FourCal()
>>> a.setdata(4, 2)
위에서 보는 것처럼 먼저 a라는 객체를 만들었다. 그리고 a라는 객체를 통해 setdata 메서드를 호출했다.
※ 객체를 통해 클래스의 메서드를 호출하려면 a.setdata(4, 2) 와 같이 도트(.) 연산자를 이용해야 한다.
그런데 뭔가 좀 이상하지 않은가?
setdata라는 메서드는 self, first, second라는 총 3개의 매개변수를 필요로 하는데 실제로는 a.setdata(4, 2) 처럼 4와 2라는 2개의 값만 전달한 것이다.
왜 그럴까?
그 이유는 a.setdata(4, 2)처럼 호출하면 setdata 메서드의 첫 번째 매개변수 self에는 setdata메서드를 호출한 객체 a가 자동으로 전달되기 때문이다.
다음 그림을 보면 객체와 호출 입력 값들이 메서드에 어떻게 전달되는지 쉽게 이해가 갈 것이다.
파이썬 클래스에서 가장 헷갈리는 부분이 바로 이 부분이다. setdata라는 메서드는 매개변수로 3개를 필요로 하는데 왜 a.setdata(4, 2)처럼 2개만 입력해도 실행이 되는가? 이 질문에 대한 답변을 여러분도 이제는 알았을 것이다.
파이썬 메서드의 첫번째 매개변수명은 관례적으로 self라는 이름을 사용한다. 호출 시 호출한 객체 자신이 전달되기 때문에 self("self"는 자기자신이라는 뜻을 가진 영어단어이다.)라는 이름을 사용하게 된 것이다. 물론 self말고 다른 이름을 사용해도 상관은 없다.
※ 메서드의 첫번째 매개변수를 self를 명시적으로 구현해야 하는 것은 파이썬만의 독특한 특징이다. 예를들어 자바같은 언어는 첫번째 매개변수인 self가 필요없다.
[메서드의 또 다른 호출 방법]
잘 사용하지는 않지만 다음과 같이 메서드를 호출하는 것도 가능하다.
>>> a = FourCal()
>>> FourCal.setdata(a, 4, 2)
위와 같이 "클래스명.메서드" 형태로 호출할 때는 객체 a를 입력 인수로 꼭 넣어 주어야 한다. 반면에 다음처럼 "객체.메서드" 형태로 호출할 때는 첫 번째 입력 인수(self)를 반드시 생략해야 한다.
>>> a = FourCal()
>>> a.setdata(4, 2)



출처:<https://wikidocs.net/28>

lambda 식


lambda

lambda는 함수를 생성할 때 사용하는 예약어로, def와 동일한 역할을 한다. 보통 함수를 한줄로 간결하게 만들 때 사용한다. 우리말로는 "람다"라고 읽고 def를 사용해야 할 정도로 복잡하지 않거나 def를 사용할 수 없는 곳에 주로 쓰인다. 사용법은 다음과 같다.
lambda 매개변수1, 매개변수2, ... : 매개변수를 이용한 표현식
한번 직접 만들어 보자.
>>> sum = lambda a, b: a+b
>>> sum(3,4)
7
sum은 두개의 인수를 받아 서로 더한 값을 리턴하는 lambda 함수이다. 위의 예제는 def를 사용한 아래 함수와 하는 일이 완전히 동일하다.
>>> def sum(a, b):
...     return a+b
...
>>>
그렇다면 def가 있는데 왜 lambda라는 것이 나오게 되었을까? 이유는 간단하다. lambda는 def 보다 간결하게 사용할 수 있기 때문이다. 또한 lambda는 def를 사용할 수 없는 곳에도 사용할 수 있다. 다음 예제에서 리스트 내에 lambda가 들어간 경우를 살펴보자.
>>> myList = [lambda a,b:a+b, lambda a,b:a*b]
>>> myList
[at 0x811eb2c>, at 0x811eb64>]
즉, 리스트 각각의 요소에 lambda 함수를 만들어 바로 사용할 수 있다. 첫 번째 요소 myList[0]은 2개의 입력값을 받아 두 값의 합을 돌려주는 lambda 함수이다.
>>> myList[0]
at 0x811eb2c>
>>> myList[0](3,4)
7
두 번째 요소 myList[1]은 2개의 입력값을 받아 두 값의 곱을 돌려주는 lambda 함수이다.
>>> myList[1](3,4)
12
파이썬에 익숙해질수록 lambda 함수가 굉장히 편리하다는 사실을 알게 될 것이다.

출처:<https://wikidocs.net/24>


2018년 7월 22일 일요일

조건부 표현식


조건부 표현식

다음과 같은 코드를 보자.
if score >= 60:
    message = "success"
else:
    message = "failure"
위 코드는 score가 60 이상일 경우 message에 "success"를 아닐 경우에는 "failure"를 대입하는 코드이다.
파이썬의 조건부 표현식(conditional expression)을 이용하면 위 코드를 다음과 같이 간단히 표현할 수 있다.
message = "success" if score >= 60 else "failure"
조건부 표현식은 다음과 같이 정의된다.
조건문이_참인_경우 if 조건문 else 조건문이_거짓인_경우
조건부 표현식은 가독성에 유리하고 한 라인으로 작성할 수 있어 활용성이 좋다.

출처:<https://wikidocs.net/20>


2018년 6월 11일 월요일

Multimodal Interface

멀티모달 인터페이스(Multimodal Interface)


멀티 모달이란 용어는 무엇을 뜻하는 개념이고, 어째서 휴먼 인터페이스를 이룰 수 있다고 하는 것일까요? 
우선 멀티 모달 인터페이스에서, ‘모달’ 이라는 의미를 먼저 알아볼 필요가 있습니다. 여기에서 모달은 모달리티(Modality)를 뜻하는데, 

“모달리티란 인터랙션 과정에서 사용되는 커뮤니케이션 채널”이라고 합니다.
(Modality: The type of communication channel used for interaction. It also covers the way an idea is expressed or perceived, or the manner in which an action is performed.

예를 들면, 우리가 PC에 무엇인가를 입력할 때 사용하는 키보드, 마우스 하나 하나가 바로 하나의 모달리티를 위한 장치라고 할 수 있습니다. 손으로 접촉하여 입력하는 개개의 모달리티이지요. 여기서 주의해야 할 점은, 마우스나 키보드는 하나의 모달리티를 위한 ‘기기’인 것이지 모달리티 자체를 의미하지는 않습니다. 말 그대로 모달리티란, 한 가지 방식의 사람-컴퓨터 의사소통의 ‘채널’을 의미하니까요. 그러면 우리가 보통 사용하는 PC 입력 방법 외에 또 다른 모달리티는 무엇이 있을까요? 바로 접촉하지 않아도 입력 가능한 제스처(동작), 음성 입력은 물론 표정 인식과 시선 인식까지도 개개의 모달리티라고 할 수 있습니다. 

모달리티가 무엇인지 알았으니, 멀티 모달은 바로 감이 오실 거에요. 모달리티를 멀티로, 바로 컴퓨터와 의사소통을 할 때, 한 번에 여러 모달리티를 이용하는 것입니다.

“멀티모달 인터페이스는 인간의 제스처, 시선, 손의 움직임, 행동의 패턴, 음성, 물리적인 위치 등 인간의 자연스러운 행동들에 대한 정보를 해석하고 부호화하는 인지기반 기술”
“멀티모달 인터페이스는 인간과 컴퓨터 인터랙션 과정에서 동시 여러 모달리티의 입출력을 허용하며 다수의 모달리티의 조합과 입력 신호 통합해석 등을 통해서 상호 의사를 교환한다.”
(멀티모달 인터페이스 개발을 위한 휴먼-컴퓨터 인터랙션 설계, 임미정, 2006)

멀티모달 인터랙션 병렬 입력 
<출처: 멀티모달 인터페이스 개발을 위한 휴먼-컴퓨터 인터랙션 설계, 임미정, 2006>

멀티 모달 인터페이스의 정의에서 어렵고 길게 표현되어 있기는 하지만, 위 그림을 보면 단번에 이해가 되실 겁니다. 위 그림과 같이 간단히 개념으로만 보자면 ‘사람의 다양한 여러 표현 방식을 주고 받는 컴퓨터 인터페이스 기술’이라고 볼 수 있습니다.

출처: <https://m.blog.naver.com/PostView.nhn?blogId=vinylx&logNo=220367088474&proxyReferer=https%3A%2F%2Fwww.google.co.kr%2F>

2018년 4월 7일 토요일

Hidden layer의 뉴런 개수 결정

Hidden layer의 뉴런 개수 결정

대부분의 문제는 히든 레이어가 1개면 충분하다.

히든 레이어의 개수가 다음에 해당하면 네트워크의 성능이 떨어진다.

  1. 뉴런이 1개인 경우
  2. 뉴런의 개수가 입력층의 뉴런 개수의 평균 또는 출력층의 뉴런 개수의 평균인 경우

뉴런의 개수 결정 방법에 대한 자세한 설명은 출처를 참고하라.

출처 : <https://stats.stackexchange.com/questions/181/how-to-choose-the-number-of-hidden-layers-and-nodes-in-a-feedforward-neural-netw>

2018년 3월 20일 화요일

딕셔너리 소팅하기

파이썬 딕셔너리 소팅하기

[질문]

  dict에서 키가 아닌 값으로 소팅하고 싶습니다 DB에서 2개 필드(string value, numeric value 하나씩)를 읽어 dictionary x = {'1': 2, '3': 4, '4': 3, '2': 1, '0': 0} 를 만들었습니다. string은 유니크한 키이고 numeric은 그렇지 않습니다. string 기준으로는 소팅할 수 있는데 numeric으로는 소팅하는 방법을 모르겠어요. 어떻게 해야되나요?


[답변]

   dict는 리스트나 튜플이랑은 다르게 순서가 없습니다. 따라서 dict 타입은 소팅할 수 없기때문에, dict를 소팅하고 싶다면 dict를 튜플의 리스트로 표현해야 합니다.
예를들어. 키가 아닌 값으로 소팅 하고 싶다면
import operator
x = {'1': 2, '3': 4, '4': 3, '2': 1, '0': 0}
sorted_x = sorted(x.items(), key=operator.itemgetter(1))
이 경우 sorted_x 는 2번째 요소를 기준으로 소팅된 튜플들의 리스트이고.
dict(sorted_x) 는 x랑 같습니다.
키로 소팅하고 싶다면 다음과 같이 쓸 수 있습니다.
import operator
x = {1: 2, 3: 4, 4: 3, 2: 1, 0: 0}
sorted_x = sorted(x.items(), key=operator.itemgetter(0))


출처: <http://hashcode.co.kr/questions/19/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EB%94%95%EC%85%94%EB%84%88%EB%A6%AC-%EC%86%8C%ED%8C%85%ED%95%98%EA%B8%B0>




dictionary의 items()와 iteritmes()의 차이점



dict.items() 와 dict.iteritems()는 파이썬 버전에 따라 다른 결과를 냅니다.
원래 파이썬 items()는 tuple을 원소로 가지는 list를 return 했습니다. 이 방법은 메모리가 많이 필요했기 때문에, generator가 도입된 후 메모리의 효율적 관리를 위해 items()대신 iterator-generator 메소드인 iteritems()를 쓰게 됩니다.

다만 2.x에서는 구버전과의 호환성을 위해서 items()와 iteritems()를 모두 지원했지만 python3에서는 iterm()은 list가 아닌 iterator를 return하고(python3 의 items() = python2의 iteritems()iteritems() 메소드는 쓸 수 없습니다.

2018년 1월 18일 목요일

An unexpected error occurred on Navigator start-up psutil.AccessDenied (pid=725)

Anaconda Navigator Start Error

[검색 결과 #1]

에러 번호를 검색하여 찾은 것이나 정확하게 'pid=725' 항목은 아니었다. 하지만 따라하니 해결되었다.

please run

$ anaconda-navigator --reset

Did you try to run Navigator with sudo, and then without sudo (or Run as Administrator on Windows)?
Please update to the latest version of Navigator.
On Navigator click on the update button on the top right of the interface or
on the terminal type

$ conda update anaconda-navigator

출처 : <https://github.com/ContinuumIO/anaconda-issues/issues/1984>



[검색 결과 #2]

사실, 검색에서 'pid=725' 항목이 나온 결과도 있었으나, 따라해도 정상적으로 동작하지 않았다. 과정은 매우 유사한데 동작하지 않은 이유는 무엇일까?

Please remember to update to the latest version of Navigator to include
the latest fixes.

Open a terminal (on Linux or Mac) or the Anaconda Command Prompt (on windows)
and type:

$ conda update anaconda-navigator
$ conda update navigator-updater

출처 : <https://github.com/ContinuumIO/anaconda-issues/issues/7391>



2018년 1월 7일 일요일

람다 표현식 (Lambda expression)

람다 표현식(Lambda expression)  람다 표현식으로 함수를 정의하고, 이를 변수에 할당하여 변수를 함수처럼 사용한다. (1) 람다 표현식       lambda <매개변수> : 수식      ※ 람다식을 실행하...