윈도우즈 좋은글 JavaScript 아키텍쳐 구글 모델 Linux PHP Architectural Patterns 아키텍쳐 패턴 Google mysql Microsoft 중퇴 Netflix sendmail Apache GDI+ CNN ssl MSA phpMyAdmin 아파치 2015년 11월 IIS Micro Service Architecture Rating Machine Learning firewall 리눅스 메모리 mysql 백업 암호 Open API mysql backup Python JDK JSP smtp Servlet Apache Mahout TensorFlow Amazon S3 mac mini MAC OS mcrypt .NET 머신러닝 Java windows iPlanet mysql 자동 백업 image password pop3 해부 CF 모델 Tomcat root 마이크로 서비스 아키텍쳐

APM.ZIP

CentOS 6.x에 APM(Apache+PHP+MySQL) 설치 및 초기 설정 방법   (created at 2017-03-14)   387  

Centos 6.x를 Minimal Install로 설치하면 Apache 및 MySQL이 설치되어져 있지 않습니다. 본 포스트에서는 이런 환경에서 Apache, PHP, MySQL을 설치하고 기본 설정까지 해 보도록 하겠습니다. 참고로 저는 Centons 6.8을 설치하였습니다. 먼저 Root로 로그인하여 다음과 같이 패키지를 설치합니다. 여기서 Apache, MySQL이 부팅시 자동실행 되도록 하기 위해 다음의 커맨드를 실행합니다. 설치가 완료 되었는지...

중학생을 위한 리눅스마스터 2급 및 코딩능력마스터 시험 일정 및 기출문제   (created at 2020-11-16)   378  

리눅스 마스터 2급 시험은 1년에 4회(1월,4월,7월,10월) 실시하며, 일정은 아래의 사이트에서 확인 가능합니다. https://www.ihd.or.kr/guidecert1.do 또한 코딩능력마스터 시험 일정은 아래의 사이트에서 확인 가능합니다. https://www.ihd.or.kr/guidecert8.do     1. 신분증 국가 공인 자격증이다 보니 시험볼 때 신분증이 있어야하는데, 중학생은 “청소년증” or 학생증(사진부착 학...

CENTOS 7.x에 ffmepg 설치하는 방법   (updated at 2023-12-14)   512  

mov, avi 같은 포멧으로 Centos 기반 서버에 저장된 동영상을 mp4로 변환할 일이 생겨 ffmpeg을 설치하는 방법을 공유하고자 합니다. STEP 1. epel-release를 설치합니다.STEP2. nux repository를 설치합니다.STEP3. ffmpeg과 ffmpeg-devel 패키지를 설치합니다.STEP4. 동작 여부를 테스트 해 봅니다. 위와 비슷한 정보가 뜬다면 일단 ffmpeg 설치에 성공하신 것입니다. 이후...

플러거블 스토리지 엔진을 가진 MySQL 아키텍쳐 - InnoDB는 인메모리 캐싱을 하는 고성능 솔루션   (created at 2018-07-02)   372  

오라클 홈페이지에 가니 플러거블 스토리지 엔진 기반으로 동작하는 MySQL 아키텍쳐 그림을 볼 수 있었습니다. 플러거블(Pluggable)이라 함은 스토리지 방식을 선택할 수 있다는 것인데요. 이는 각각의 스토리지가 컴포넌트처럼 동작한다는 의미를 내포합니다. MySQL 5.5.5 이전 버젼에서는 MyISAM이 기본 스토리지 엔진이었습니다, 그런데 5.5.5부터는 InnoDB가 기본적으로 붙도록 바뀌었습니다. 쓰는 입장에서는 별 차이를 느낄 수 없을 것이라...
플러거블 스토리지 엔진을 가진 MySQL 아키텍쳐 - InnoDB는 인메모리 캐싱을 하는 고성능 솔루션플러거블 스토리지 엔진을 가진 MySQL 아키텍쳐 - InnoDB는 인메모리 캐싱을 하는 고성능 솔루션

MVC(Model-view-controller) pattern은 Django, Rails와 같은 웹 어플리케이션 개발에 주로 응용되는 아키텍쳐   (created at 2017-12-21)   308  

MVC(Model-view-controller) 아키텍쳐 패턴(Architectural pattern)은 웹 어플리케이션 개발에 주로 이용되는 아키텍쳐 패턴입니다. MVC는 다음의  3개 파트로 구성되어져 있습니다. 모델(model) - 기본 함수와 데이터를 포함합니다 뷰(view) - 정보를 사용자에게 보여줍니다. 웹페이지 그 자체를 생각하시면 될 것 같습니다 컨트롤러(controller) - 사용자로부터의 입력을 처리합니다 이 패턴의 기본 아이디어는 ...
MVC(Model-view-controller) pattern은 Django, Rails와 같은 웹 어플리케이션 개발에 주로 응용되는 아키텍쳐

CentOS에서 포트 여는 방법 - iptables를 이용하여 80포트, 22번 포트 등을 열어   (created at 2017-03-14)   790  

외부에서 서버에 접속하려면 포트를 열어줘야 합니다.   CentOS에서 HTTP나 SSH같은 포트를 열어주려면 iptables를 이용하면 되는데, 80번 포트를 예를 들어 봅시다. 참고로 아래의 커맨드는 root권한으로 실행되어져야 합니다. # iptables -I INPUT -p tcp --dport 80 -j ACCEPT# /etc/init.d/iptables save# /etc/init.d/iptables restart

Machine Learning Tool의 종류와 용도   (created at 2017-03-12)   416  

Machine Learning Tool의 종류는 어떤 것이 있고, 그 용도는 어떤 것으로 설계되었는지 살펴봅니다. 1. Tensorflow Google Brain Team에서 개발했고, Neural Network 및 Machine Learning에 대한 연구에 사용되고 있습니다. Gmail, 음성 인식, Google 포토 및 Google 검색과 같이 일상적으로 사용하는 인기있는 Google 서비스에는 Tensorflow가 탑재되어 있다고 합니다. Tens...

레드햇 오픈스택 플랫폼(Red Hat OpenStack Platform) 대응 전략   (created at 2015-11-28)   318  

레드햇(Red Hat)은 클라우드 시장에서 다음의 3가지 방향성을 기반으로 움직이고 있습니다.모듈라 아키텍쳐확장성클라우드 관리를 위한 컴포넌트(서비스)이 3가지 방향성은 레드햇(Red Hat)이 어떠한 방향으로 레드햇이 움직이는지 이해하는데 도움이 됩니다.여기서 레드햇 클라우드에서 빠질 수 없는 부분이 바로 오픈스택(OpenStack)입니다. 흥미로운 것은 오픈스택(OpenStack)은 여러 업체들이 여기저기서 도입해 오면서, 이미 시장에서 큰 존재감을 ...
레드햇 오픈스택 플랫폼(Red Hat OpenStack Platform) 대응 전략레드햇 오픈스택 플랫폼(Red Hat OpenStack Platform) 대응 전략레드햇 오픈스택 플랫폼(Red Hat OpenStack Platform) 대응 전략

구글 머신러닝 솔루션 텐서플로(Google Machine Learning - TensorFlow) 오픈소스 공개에 따른 현재와 미래의 비젼   (created at 2015-11-15)   411  

2015년 11월, 구글은 머신러닝(Machine Learning)이라는 기술을 공개했습니다. 사실 머신러닝은 구글이 최초로 만든 기술은 아닙니다, 구글이 그들의 소프트웨어를 공개하면서, 그들의 제품 이름이 아닌 대중이 알아듣기 좋은 적절한 이름으로 이미 업계에서 통용되고 있는 단어(머신러닝;Machine Learning)를 사용했습니다. 구글 머신러닝은 텐서플로(TensorFlow)라는 이름으로 오픈소스로 공개되었습니다. 구글의 머신러닝은 공부한 시간을...
구글 머신러닝 솔루션 텐서플로(Google Machine Learning - TensorFlow) 오픈소스 공개에 따른 현재와 미래의 비젼구글 머신러닝 솔루션 텐서플로(Google Machine Learning - TensorFlow) 오픈소스 공개에 따른 현재와 미래의 비젼구글 머신러닝 솔루션 텐서플로(Google Machine Learning - TensorFlow) 오픈소스 공개에 따른 현재와 미래의 비젼

MAC에 Apache, PHP, MySQL 설치 - MAMP로 쉽게 설치 할 수 있어   (created at 2014-09-03)   369  

집에 방치되어져 있는 Mac Mini를 서버로 사용해보려고 이것 저것 찾다 보니 MAMP라는 솔루션을 찾았습니다. MAMP는 Mac OS에서 Apache, MySQL, PHP를 사용하게 해 주는 솔루션입니다. 각각 따로 따로 설치하지 않아도 되며, 하나만 설치하면 MySQL, PHP, Apache가 한방에 설치됩니다.   참고로 MAMP는 http://www.mamp.info/en/downloads/ 에서 받으실 수 있습니다. 즉, 맥에 웹서버 ...
MAC에 Apache, PHP, MySQL 설치 - MAMP로 쉽게 설치 할 수 있어MAC에 Apache, PHP, MySQL 설치 - MAMP로 쉽게 설치 할 수 있어MAC에 Apache, PHP, MySQL 설치 - MAMP로 쉽게 설치 할 수 있어

Centos 사용 중 phpMyAdmin에서 mcrypt 확장 모듈을 불러 올 수 없는 경우   (created at 2014-04-05)   368  


SSL 인증서 설치 방법   (created at 2009-11-10)   287  

1. 인증서의 설치 절차Thawte에 인증서를 신청하거나 무료테스트 인증서를 신청화면 텍스트화일 형태의 인증서를 받게 됩니다. 인증서의 형식은 CSR과 마찬가지로 Ascii텍스트로 암호화된 문장으로 구성되어 있습니다. BEGIN CERTIFICATE와 END CERTIFICATE를 포함한 텍스트를 *.crt혹은 *.der, *.cer등 다양한 확장자로 저장합니다. 각 웹서버에서 이 인증화일을 불러들일 준비를 합니다 2. Apache(modSSL)Apach...

친절한 톰캣(Tomcat)의 기능 개요 및 설치 방법   (created at 2008-12-17)   271  

톰캣(Tomcat)은 참 친절한 소프트웨어죠. Windows XP, Vista에서도 Java Servlet, JSP, Beans 같은 자바 코드를 돌릴 수 있으니까 말이죠. 그것도 무료로...톰캣(Tomcat)은 기술적으로는 아파치 소프트웨어 파운데이션(Apache Software Foundation)에서 서버인 자바(Java)를움직이게 하기 위해 개발한 AP서버 입니다. 즉 서블릿(servlet), JSP, 빈즈와 같은 자바 코드를 이해하기 위...

윈도우 환경에서 mysql 자동 백업하기   (created at 2008-01-04)   403  

1. mysql_backup.bat 파일은 만든다. mysqldump -u유저명-p패스워드 디비명 > C:serverBackup\%2%DATE%_BACKUP.sql2.위에서 만든 파일을 APM_SetupServerMYSQLinmysql_backup.bat 로 이동  3. 제어판 -> 예약된 작업 -> 예약된 작업 추가  자동으로 매일 백업 설정...

shell script를 이용한 mysql 자동 백업(backup)   (created at 2008-01-04)   201  

다음 script를 /etc/cron.daily/mysql_back.sh로 만들어 두면 백업이 끝납니다. MySQL DB를 dump해서 다른 server에 옮겨 둡니다. 같은 서버에 데이타를 두면 server crash가 발생할 때... 대응이 불가능하죠?... -..-a #!/bin/bash BACKUP_DIR=/home/backup DATE=$(date +%Y%m%d) rm -rf $BACKUP_DIR/people2-$DATE.sql /usr/loca...

mysql의 백업과 복구 (backup & restore)   (created at 2008-01-04)   204  

우선.. mysql을 접속합니다. 접속까지의 명령어는 기본 명령어 설명에 있으니 생략을;;로그파일이 많이 쌓여서 디스크 용량이 부족한 경우 일단 로그파일을 지웁니다. mysql>RESET MASTER로그 파일은 XXX-bin.000001 같은 형식으로 쌓입니다. 위치는 디폴트로 설치했다면 /usr/local/mysql/var/에 있을 겁니다. RESET MASTER를 입력하면 로그 파일들이 지워집니다.백업을 하는 방법은 쉘에서 하는 법과 mysql내에서 ...

mysql 백업에서 복구까지   (created at 2007-10-12)   151  

데이터베이스 관리자와 개발자들은 정기적인 데이터 백업의 중요성을 잘 알 것이다. 만약 디스크나 서버가 고장날 경우 백업을 미리 해 뒀는지 여부는 1년치 업무결과를 잃어버리느냐 아니면 몇시간만에 정상으로 복귀하느냐를 결정한다.하지만 다행스럽게도 MySQL 사용자는 백업과 복구를 할 수 있는 간편하게 할 수 있는 내장 전용 툴을 사용할 수 있다. 이툴을 이용하면 이기종 플랫폼으로 MySQL 데이터베이스를 간편하게 옮길 수 있으며, 또 다른 포맷으로 레코드를 ...

실수로 삭제한 mysql DB 복구방법   (created at 2007-01-30)   314  

delete나 truncate 같은 명령으로 데이터를 지웠을때 복구하는 방법입니다. mysql의 모든 명령들은 로그를 남기기때문에 가능합니다. 일단 mysql의 DB가 쌓이는 디렉토리로 이동합니다. 대게 /usr/local/mysql/data /usr/local/mysql/var 등으로 설정해 놓으셨을겁니다. 해당 디렉토리로 이동하면 xxx-bin.001 xxx-bin.002 같은 바이너리 파일들이 존재할겁니다. 이게 바로 DB를 첨 생성할때부터 지금까지...

MySQL root 패스워드 분실했을 경우   (created at 2007-01-30)   183  

1>암호 초기화# killall mysqld (데몬을 죽입니다)# cd /usr/local/mysql (mysql이 깔린 곳으로 갑니다)# ./bin/safe_mysqld --skip-grant &여기까지가 초기화2>새 암호 넣기# ./bin/mysql (sql 실행)mysql>use mysqlmysql>update user set password=password('새암호') where user='root';(root 암호 변경합니다. '새암호' 자리에 ...

지정날짜에 이미지 보여주기 혹은 감추기   (created at 2006-10-10)   223  

질문)안녕하세요? 예를 들어 추석기간에는 쇼핑을 하실 수 없습니다. 메인에 쇼핑하기 버튼을 10월4일 00:00부터~ 10월8일 24:00 까지 안보이게 할 수 있을까요? 부탁드립니다~~~~~~~~ 모두들 연휴 잘보내세요~ ^^* 답)$now = date('Y-m-d H:i:s') if( $now > '2006-10-04 00:00:00' && $now < '2006-10-08 23:59:59') { ~~~~~~~ }

구글 메일(GMail)로 메일 발송하기   (created at 2006-10-10)   203  

메일 발송에 대해선 포탈에 IP를 등록한다는 둥 서버이름을 제대로 써야한다는 둥 말도 많고 탈도 많은데요, 메일서버를 구비하지 않고도 구글 메일을 이용해서 메일을 발송할 수 있습니다. 엄청난 뒷북일 수도 있지만, 검색해보니 없네요 :-) 급조한 소스 들어갑니다. 간단하기 때문에 딱 보시면 알듯 하구요, 중요한 것은 구글의 SMTP 메일 설정 몇가지 일듯 합니다. 우선 문자셋 기준은 UTF-8로 되어 있고, 예제로 만든 페이지에서 구글 광고를 삭제한 원본 ...

이미지를 지정된 비율로 자르기 (crop)   (created at 2006-10-10)   231  

정수 연산시 무조건 올림, 무조건 버림, 반올림 처리 방법   (created at 2006-10-06)   297  

3가지 함수 가 있다.ceil() - 소숫점 이하 숫자 존재시 무조건 올림floor() - 소숫점 이하 숫자 존재시 무조건 버림round() - 반올림

PHP3를 사용하려면   (created at 2006-09-29)   165  

마이크로소프트 웹 서버 IIS의 HTML 내장 스크립트 언어 ASP를 능가하는 오픈 소스 스크립트 언어 PHP를 사용하시려면 시디롬으로부터 php 패키지를 설치하신 후, 아파치 웹 서버만 재가동하면 됩니다. # rpm -Uvh /mnt/cdrom/RedHat/RPMS/php-*.rpm# /etc/rc.d/init.d/httpd stop# /etc/rc.d/init.d/httpd start/etc/httpd/conf/httpd.conf 파일을 열어 다음 3...

가상 호스트(Virtaul Host)를 꾸미려면...   (created at 2006-09-29)   187  

가상 호스트 기능이란 물리적으로 하나의 머신, 그리고 일반적으로 IP 주소 하나, 그리고 아파치 웹 서버만 하나만 가지고 여러 개의 웹 사이트를 동시에 서비스할 수 있는 기능을 말합니다. 우선은 도메인 네임 서버(DNS)에서 알맞게 특정 IP 주소에 여러 개의 이름을 제대로 등록했는지 확인하십시오. 가상 호스트 문제의 대부분은 아파치가 아닌 DNS에 있습니다. 예를 들어, 192.168.1.1 이라는 주소 하나에 www.foo.com, www.bar.co...

포트 변경하는 법   (created at 2006-09-29)   219  

clinet 와 server 의 통신은 port 를 통해서 이루어집니다.  이중 서비스 포트를 막아두었다면 1024 이후의 포트로 지정하여 서비스를   하시면 됩니다.. 해당 서비스는 /etc/services 에서 지정을 하여 주시면 되고...ftp 나 telnet 처럼 inetd 에서 서비스되는 경우라면 위 화일에서 지정을 하시면 되고.. httpd 처럼 standalone 이라면.. 각 configuration&nb...

개인 계정에 대한 쿼터 설정 방법   (created at 2006-09-29)   312  

안녕하세요?개인 계정에대한 쿼터 설정은 edquota 명령을 사용하면 됩니다./home 에 있는 계정의 쿼터 설정이니까 맞는듯 하네요.edquota [사용자계정] 저렇게 명령을 사용하면 되구요 용량 제한이나 파일 개수제한등의작업이 가능하구요 매번 하기 귀찮으니까 다음과 같은 방법을edquota -p seaofp xxxxx예로 쓴건데 xxxxx라는 계정의 쿼터를 seaofp라는 사용자의 쿼터와똑같이 설정하는 겁니다. :)자세한건 man페이지 참고하세염.이만...

메일서버 세팅하기   (created at 2006-09-29)   160  

안녕하세요.. 여러 리눅스를 설치해보니, 역시 sendmail잡기가제일 힘들더군요. 문제가 발생하면 해결하기도 힘들고,님이 질문하신걸 봐서는 잘이해가 안되지만,제가 아는걸 토대로 설명드리겠습니다.센드메일을 하시기 전에 hosts가 제대로 잡혀있어야 합니다.그런다음.. sendmail.cf를 생성합니다.만일 DNS서버와 메일서버가 동일하다면DNS에 MX(mail exchanger)가 필요가 없습니다.단지 sendmail.cw(최신버전은 local-host-...

pop3 제대로 되는지 테스트 하는 방법   (created at 2006-09-29)   224  

자세한것은 모르겠고.. 콘솔에서 이렇게 데스트 하실수 있습니다.사실 콘솔이 아니어도 상관없구요.telnet xxx.xxx.xxx.xxx 110이렇게 하면 POP3 가 되지요. 위에 xxx 대시네 도메인이 있으면 이것을 넣으셔도상관은 없구요.user xxxxxxpass xxxxxx했을때 뭐가 나옵니다. 편지가 몇개 있다. 없다.. 이렇게...접속을했을때...맨처음 나오는 메세지는 POP3 서버마다 틀립니다. 하여간 user 와 pass을 치면 됩니?그리고 ...

메일을 보내면 릴레이를 거부하는데?   (created at 2006-09-29)   220  

메일을 보낸 컴의 IP가 어떻게 된느지요?local에서 보낸 것이라면 /etc/mail/access 에localhost RELAY가 있어야 합니다.그외에는 현재 설정으로는 203.251.135.X 에서만보내기가 가능하도록 설정이 되어 있습니다.만약 현재 님이 메일을 보내려고 시도하는 컴의 IP가 위의 대역에 속해 있다면 db 갱신을 새로 해 보시기바랍니다. db 갱신은makemap hash /etc/mail/access < /etc/mail/access로...

메일(mail)이 보내지는건 되는데, 안받아져요   (created at 2006-09-29)   176  

Kurapa답:/etc/resolv.conf가 다음과 같이 되져 있는지 확인해보라nameserver [자기IP]nameserver 211.62.58.16nameserver 168.126.63.1nameserver 168.126.63.2  다른사람답:혹시.. dns 서버에서 메일서버 설정 = MX 레코드 가 올바로 되어 있는지 확인해보세요.. 자세한 내용은 kldp.org 에서 powered By DNS 문서를 참고하시고요.. @ ...

WOWLINUX에서 POP3 구동시키기   (created at 2006-09-29)   186  

보통 ipmap을 rpm으로 설치하면 만들어질텐데요? 없다면 만드시면 되겠죠.. /etc/xinetd아래에 imap파일을 만드시고 내용을 넣으세요 #################################################### service imap {        disable = no        socket_type &n...

외부에서 PING 안되게 막기   (created at 2006-09-29)   286  

/etc/rc.d/rc.local.mine에 다음을 추가한다.echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all관련자료 ---------------------------------------------------------/proc/sys/net/ipv4/icmp_echo_ignore_all 여기에서 0을 1로 바꾸면 됩니다. > > 2004.01.07 19:19:47에 황인성님께서 쓰신 글입니다. > > &n...

Virtusertable   (created at 2006-09-28)   201  

참고 ~ http://www.oops.org/lecture.php?n=4&sb=sendmail이 part는 virtual hosting시에 여려명의 user가 서로 같은 계정을 요구할때의 곤란함을 해결하기 위한 방법을 제시한다. 이 방법은 sendmail의 virtual user table을 이용하며 sendamil의 compile 방법 및 기본 설정에 대해서는 KLDP에 한글 자료가 있으니 참고하기를 바라고, 이 강좌에서 설정할 virtual user ...

웹서버 및 웹메일 설정 방법   (created at 2006-09-28)   211  

# 가상 유저 (virtual user) 설정방법/etc/mail/virtual***파일에 설정하고자 하는 user를 설정하고 다음과 같이 실행rm -rf *.dbmake/etc/rc.d/init.d/sendmail restart# 다중 도메인 (virtual domain; 가상 도메인) 설정 방법/etc/mail/local-domain-names 파일에 쓰고자하는 도메인명을 추가하고 다음과 같이 실행rm -rf *.dbmake/etc/rc.d/init....

음력-양력 변환기   (created at 2006-09-28)   240  

$Lunar_Month = array( /* 1881 */

PHP에서 메일 함수가 동작하지 않을때   (created at 2006-09-28)   228  

 php.ini 파일에 보면 sendmail 설정 부분이 있습니다. 그곳에 -i 옵션이 설정되어 있는지 확인해보세요. [mail function] SMTP                    =       localho...

어떤 파라메터가 넘어왔는지 알아내는 함수   (created at 2006-09-28)   227  

 어떤 변수들이 post 또는 get method로 넘어왔는지 알아낼 수 있는 함수//HTTP_POST_VARS 란 인수에서 POST 값들을 이름:값 형식으로 하나씩 추출해 냅니다. while(list($Post_Name, $Post_Val)=each($HTTP_POST_VARS)) {   echo("$Post_Name: $Post_Val "); } 이 방법을 사용하면 http://m.kurapa.com/?바보=천치 라는 식으로 파라메터...

웹페이지 긁어서 타이틀 뿌려주는 소스   (created at 2006-09-28)   212  

 $file = @fopen( $url, "r");   if (!$file)   {     echo "usage $PHP_SELF?url=";     return 0;   }   while (!feof($file))   {     $text .= fge...

PHP로 객체지향 프로그래밍 하는 방법   (created at 2006-09-28)   244  

######################################################################### Object Oriented Programming in PHP: The way to large PHP projects #########################################################################This arcticle introduces Object Oriented Pr...

파일에서 한줄만 읽어다 return 해주는 소스   (created at 2006-09-28)   245  

 function read_line_1($filename)  {    $fp=fopen($filename, "rb");    $buff=fgets($file, 40960);    fclose($fp);    return trim($buff);  }

파일 업로드 (file upload) 사이즈 늘리기   (created at 2006-09-28)   776  

대용량 파일 업로드시 자꾸 실패할 경우...php.ini에서다음의 변수 값을 늘려주면 된다upload_max_filesize = 50M ; 최대 50메가까지 올릴 수 있다는 뜻...post_max_size = 50M   ; 최대 50메가까지 올릴 수 있다는 뜻...주의... 둘다 바꿔야됨글구 타임아웃이 자주 나면set_time_limit(0);이렇게 세팅해주면 잘된다.