namespace WindowsFormsApplication5
{
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Drawing.Drawing2D;

    /// <summary>
    /// Main application form
    /// </summary>
    public partial class Form1 : Form
    {
        /// <summary>
        /// Initializes a new instance of the WindowsFormsApplication5.Form1 class
        /// </summary>
        public Form1() {
            InitializeComponent();
            DoubleBuffered = true;
        }

        private Point selectionStart;
        private Point selectionEnd;
        private Rectangle selection;
        private bool mouseDown;

        private void GetSelectedTextBoxes() {
            List<TextBox> selected = new List<TextBox>();

            foreach (Control c in Controls) {
                if (c is TextBox) {
                    if (selection.IntersectsWith(c.Bounds)) {
                        selected.Add((TextBox)c);
                    }
                }
            }

            // Replace with your input box
            MessageBox.Show("You selected " + selected.Count + " textbox controls.");
        }

        protected override void OnMouseDown(MouseEventArgs e) {
            selectionStart = PointToClient(MousePosition);
            mouseDown = true;
        }

        protected override void OnMouseUp(MouseEventArgs e) {
            mouseDown = false;

            SetSelectionRect();
            Invalidate();

            GetSelectedTextBoxes();
        }

        protected override void OnMouseMove(MouseEventArgs e) {
            if (!mouseDown) {
                return;
            }

            selectionEnd = PointToClient(MousePosition);
            SetSelectionRect();

            Invalidate();
        }

        protected override void OnPaint(PaintEventArgs e) {
            base.OnPaint(e);

            if (mouseDown) {
                using (Pen pen = new Pen(Color.Black, 1F)) {
                    pen.DashStyle = DashStyle.Dash;
                    e.Graphics.DrawRectangle(pen, selection);
                }
            }
        }

        private void SetSelectionRect() {
            int x, y;
            int width, height;

            x = selectionStart.X > selectionEnd.X ? selectionEnd.X : selectionStart.X;
            y = selectionStart.Y > selectionEnd.Y ? selectionEnd.Y : selectionStart.Y;

            width = selectionStart.X > selectionEnd.X ? selectionStart.X - selectionEnd.X : selectionEnd.X - selectionStart.X;
            height = selectionStart.Y > selectionEnd.Y ? selectionStart.Y - selectionEnd.Y : selectionEnd.Y - selectionStart.Y;

            selection = new Rectangle(x, y, width, height);
        }
    }
}

 

Posted by 모과이IT
,

https://stackoverflow.com/questions/33058358/jitpack-io-failed-to-resolve-github-repo

'개발지식창고 > Android_Java' 카테고리의 다른 글

blocked by play protect debug apk  (0) 2021.10.13
scrollable tab  (0) 2018.06.23
FLAG_ACTIVITY 사용법  (0) 2018.06.21
안드로이드 기기 해상도  (0) 2018.06.20
ScrollView 안에 LinearLayout의 weight를 사용하는 법  (0) 2018.06.19
Posted by 모과이IT
,

Android SDK 폴더의 platform-tools 폴더로 이동하여 아래 명령어를 실행한다

 

adb shell settings put global verifier_verify_adb_installs 0

 

[출처]

https://stackoverflow.com/questions/15014519/apk-installation-failed-install-failed-verification-failure

 

Posted by 모과이IT
,

http://osxdaily.com/2011/11/23/restart-mission-control-in-os-x-lion/

 

How to Restart Mission Control in Mac OS X

If you make any customizations to Mission Control, or if you encounter obvious problems with how Desktops and apps are handled and assigned, you can restart Mission Control without having to reboot…

osxdaily.com

The command line method is much faster if you’re comfortable with Terminal.app, launch Terminal from /Applications/Utilities/ and type the following command:

killall Dock

Posted by 모과이IT
,

https://m.blog.naver.com/PostView.nhn?blogId=kcskiller&logNo=220605108920&proxyReferer=https%3A%2F%2Fwww.google.com%2F

 

[iOS] Main.storyboard 에서 custom class

StoryBoard 에서 View 나 기타 등등 UI 를 그렸을 때, 기능을 적용시키기 위하여 Custom Class 를 ...

blog.naver.com

 

TestView.h

@interface TestView : UIView {

}

 

TestView.m

@implementation TestView

 

이런식으로 나와야 Custom Class 등록 가능. 

 

Posted by 모과이IT
,

1. httpd.conf 수정

DOCUMENT_ROOT 수정

/usr/local/apache/conf 폴더안에 php.ini 있어야지 정상동작


2. mysql 추가 설정

원격접속허용

https://zetawiki.com/wiki/MySQL_%EC%9B%90%EA%B2%A9_%EC%A0%91%EC%86%8D_%ED%97%88%EC%9A%A9


3306 포트 열어주기


<외부 아이피 접속 허용>

 GRANT ALL PRIVILEGES ON *.* TO root@'%' IDENTIFIED BY '자신의비밀번호';


mysql -u root -p db명 < db명.sql


<blink로 화면 변하는것 수정>

[root@localhost ~]# vi /etc/grub.conf

...... consoleblank=0 옵션 추가...........

title CentOS 6 (2.6.32-504.el6.x86_64)

        root (hd0,0)

        kernel /vmlinuz-2.6.32-504.el6.x86_64 ro root=/dev/mapper/VolGroup-lv_root rd_NO_LUKS LANG=en_US.UTF-8 

rd_NO_MD rd_LVM_LV=VolGroup/lv_swap consoleblank=0 SYSFONT=latarcyrheb-sun16 crashkernel=auto rd_LVM_LV=VolGrou

p/lv_root  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet

        initrd /initramfs-2.6.32-504.el6.x86_64.img


Posted by 모과이IT
,

1. 빌드 환경 설정


yum install -y libjpeg libjpeg-devel libjpeg-turbo-devel gd gd-devel gdbm-devel php-mbstring libexif-devel libmcrypt libmcrypt-devel libvpx libvpx-devel libXpm libXpm-devel icu libicu libicu-devel t1lib t1lib-devel gmp-devel mhash* gettext gettext-devel libtidy libtidy-devel libxslt libxslt-devel libedit-devel libc-client libc-client-devel pam-devel readline-devel libpng libpng-devel krb5-devel db4-devel expat*


1-1. libmcrypt & libmcrypt-devel 패키지 설치

CentOS에서는 위 패키지가 yum에 포함되어있지 않아 직접 설치해야 한다. Ubuntu는 확인하지 못했는데 apt-get으로 된다면 그렇게 설치하면 된다.


cd /usr/local/src

wget http://elders.princeton.edu/data/puias/unsupported/6/x86_64/libmcrypt-2.5.8-9.puias6.x86_64.rpm

wget http://elders.princeton.edu/data/puias/unsupported/6/x86_64/libmcrypt-devel-2.5.8-9.puias6.x86_64.rpm

rpm -ivh libmcrypt-2.5.8-9.puias6.x86_64.rpm

rpm -ivh libmcrypt-devel-2.5.8-9.puias6.x86_64.rpm

2. MySQL 라이브러리 참조


cd /usr/local/mysql

ln -s lib lib64



3. PHP 다운로드 및 컴파일


cd /usr/local/src

wget http://am1.php.net/get/php-5.6.25.tar.gz/from/this/mirror

tar xvfz mirror

cd php-5.6.25

./configure --prefix=/usr/local/php \

--with-apxs2=/usr/local/apache/bin/apxs \

--with-config-file-path=/usr/local/apache/conf \

--with-mysql=/usr/local/mysql \

--with-mysql-sock=/usr/local/mysql \

--with-mysqli=/usr/local/mysql/bin/mysql_config \

--with-pdo-mysql=/usr/local/mysql \

--with-regex=php \

--with-libxml-dir=/usr \

--with-openssl --with-pcre-regex --with-zlib \

--with-bz2 --with-curl --with-gdbm \

--with-db4=/usr --with-dbm --with-pcre-dir=/usr --with-openssl-dir=/usr \

--with-libxml-dir=/usr --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr \

--with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr \

--with-t1lib=/usr --with-gettext --with-gmp --with-mhash --with-imap \

--with-imap-ssl --with-kerberos --with-icu-dir=/usr --with-ldap \

--with-ldap-sasl --with-libmbfl --with-onig --with-mcrypt \

--with-libedit --with-readline --with-tidy --with-libexpat-dir=/usr \

--with-xmlrpc --with-xsl --with-pear --with-pic --with-libdir=lib64 \

--enable-bcmath --enable-calendar --enable-exif \

--enable-ftp --enable-pcntl --enable-gd-native-ttf \

--enable-gd-jis-conv --enable-intl --enable-mbstring \

--enable-shmop --enable-sockets --enable-sysvmsg \

--enable-sysvsem --enable-sysvshm --enable-wddx \

--enable-zip --enable-mysqlnd --enable-dba=shared \

--enable-mod-charset --enable-dom --enable-mbregex \

--enable-inline-optimization --enable-sigchild --enable-soap \

--enable-maintainer-zts --enable-opcache=nom


make


(** make시 오류해결)

https://zetawiki.com/wiki/CentOS_php-pear_%EC%84%A4%EC%B9%98

"php설치시 “PEAR package PHP_Archive not installed” 오류 관련 참고"

make후 pear 패키지 install failed 뜨면 위와 같이 따로 설치해주면 된다


make install



4. PHP 환경설정


cp php.ini-production /etc/httpd/php.ini

 vi /etc/httpd/php.ini


;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;Module Settings;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

[Date]

date.timezone = "Asia/Seoul"


5. Apache 환경설정


vi /usr/local/apache/conf/httpd.conf


# httpd.conf 내에서 PHP모듈이 정상적으로 추가되어있는지 확인 (자동으로 연동되어 등록됨)

LoadModule php5_module          modules/libphp5.so


#<IfModule dir_module>을 찾아 아래 내용 추가

<IfModule dir_module>

     DirectoryIndex index.html index.htm index.php index.cgi

</IfModule>


#<IfModule mime_module> 을 찾아 아래 내용 추가

<IfModule mime_module>

     AddType application/x-compress . z

     AddType application/x-gzip . gz . tgz

     AddType application/x-httpd-php .php .php3 .php4 .php5 .phtml .html .htm .inc

     AddType application/x-httpd-source .phps

</IfModule>


#httpd.conf 저장한 뒤

/etc/init.d/httpd restart


6. 환경변수 등록


cd ~

vi .bash_profile


#PATH부분에 아래 내용을 추가한다

PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/php/bin


#.bash_profile 저장한 뒤


source .bash_profile



7. 연동 확인


vi /usr/local/apache/htdocs/phpinfo.php


<? php

phpinfo();

?>


# 입력 후 저장


8. /etc/httpd/php.ini 수정

https://jguru-study.tistory.com/31

short_open_tag = on

 수정 저장후

service httpd restart


[참고사이트]

https://jguru-study.tistory.com/29

https://jguru-study.tistory.com/30

https://jguru-study.tistory.com/31


Posted by 모과이IT
,

[MySQL Source 설치]


1. 기존에 설치된 MySQL과 cmake 삭제

yum remove -y mysql* cmake


2. 빌드 환경 설정


yum install -y zlib zlib-devel cpp perl bison freetype freetype-devel freetype-utils ncurses-devel libtermcap-devel bzip2-devel


3. cmake 다운로드 및 설치


MySQL 5.5부터는 ./configure가 아닌 cmake를 통해 컴파일을 진행해야 한다.


cd /usr/local/src

wget https://cmake.org/files/v3.5/cmake-3.5.2.tar.gz

tar xvfz cmake-3.5.2.tar.gz

cd cmake-3.5.2

./bootstrap

make && make install

4. MySQL 그룹 및 계정 만들기


groupadd mysql

useradd -g mysql mysql

5. MySQL 다운로드


cd /usr/local/src

wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.30.tar.gz

tar xvfz mysql-5.6.30.tar.gz

cd mysql-5.6.30

6. MySQL cmake 컴파일


/usr/local/bin/cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DDEFAULT_CHARSET=utf8 \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_EXTRA_CHARSETS=all \

-DENABLED_LOCAL_INFILE=1 \

-DMYSQL_DATADIR=/usr/local/mysql/data \

-DMYSQL_USER=mysql \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \

-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \

-DMYSQL_TCP_PORT=3306


make

make install

위 컴파일 내용을 간단히 설명하자면 다음과 같다.


-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ //mysql 설치할 디렉토리

-DMYSQL_DATADIR=/usr/local/mysql/data \ //db설치(data폴더)할 디렉토리

-DDEFAULT_CHARSET=utf8 \ //mysql 서버의 문자셋

-DDEFAULT_COLLATION=utf8_general_ci \ //db의 문자셋

-DWITH_EXTRA_CHARSETS=all \ //추가로 지원할 문자셋

-DENABLED_LOCAL_INFILE=1 \ //local_infile변수 사용가능여부, 텍스트 파일의 데이터를 특정 테이블에 저장하는 변수

-DMYSQL_USER=mysql \ //mysql유저를 지정

-DWITH_INNOBASE_STORAGE_ENGINE=1 \ //스토리지 엔진, default innodb

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \ //스토리지 엔진

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \ //스토리지 엔진

-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \ //스토리지 엔진

-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \ //mysql 소켓 디렉토리

-DMYSQL_TCP_PORT=3306 //mysql 포트번호, default가 3306임


7. mysql그룹/계정 권한주기


chown -R (계정명):(그룹명) /usr/local/mysql

chown -R mysql:mysql /usr/local/mysql

chown -R mysql:mysql /usr/local/mysql/data

8. DB 생성


cd /usr/local/mysql

./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data

9. MySQL 설정파일 및 데몬 복사 / base, datadir지정


cp support-files/my-default.cnf /etc/my.cnf

#(메모리 용량에 따라 my- 뒤에 이름이 다를 수 있음)

#(이미 존재하는 파일이라면 덮어씌우면 됨)


cp support-files/mysql.server /etc/init.d/mysqld

chmod 755 /etc/init.d/mysqld


vi /etc/init.d/mysqld 

#입력 후 아래 내용 추가

#basedir=/usr/local/mysql

#datadir=/usr/local/mysql/data



10. 환경변수 등록 및 MySQL 데몬 실행


cd ~

vi .bash_profile


#PATH부분에 아래 내용을 추가한다

PATH=$PATH:$HOME/bin:/usr/local/mysql/bin


source .bash_profile

service mysqld start



service mysqld start로 msyql의 데몬을 실행하면 mysql만 입력해도 root계정을 통해 mysql에 접근이 가능하다.




11. MySQL root 계정 비밀번호 변경


# mysqladmin -u root password 암호

mysqladmin -u root password root123


암호 설정 후 root 유저로 접속 테스트

mysql -u root -p

Enter password : 



root 계정 비밀번호를 설정하면, mysql 입력만 하면 오류가 발생한다.

따라서, mysql -u root -p로 비밀번호까지 입력해야 접근할 수 있다.





12. 리눅스 시작시 mysql 구동되도록 설정


chkconfig --add mysqld

chkconfig mysqld on

chkconfig --list mysqld


[참고사이트]

https://jguru-study.tistory.com/29

https://jguru-study.tistory.com/30

https://jguru-study.tistory.com/31


Posted by 모과이IT
,

1. Centos 설치후 네트워크 설정

https://byd0105.tistory.com/18?category=787821


2. ftp 설정(sftp도 자동설정됨) 및 방화벽 open(iptable)

https://efficient.tistory.com/entry/centos-ftp%EC%84%A4%EC%B9%98-%EB%B0%8F-%EC%84%A4%EC%A0%95

[root@localhost ~]# yum -y install vsftpd ftp


3. 아파치, php, mysql 설치

https://jguru-study.tistory.com/29?category=665186


1)기존 설치된 아피치 쉡서버 제거

yum remove -y httpd httpd-*


2) 빌드환경설정

yum install -y make gcc g++ gcc-c++ autoconf automake libtool pkgconfig findutils oepnssl openssl-devel openldap-devel pcre-devel libxml2-devel lua-devel curl curl-devel libcurl-devel flex




3)관련 모듈 다운로드 및 설치


(1) apr 다운로드


cd /usr/local/src

wget https://archive.apache.org/dist/apr/apr-1.5.2.tar.gz

tar xvfz apr-1.5.2.tar.gz

cd apr-1.5.2

./configure --prefix=/usr/local/apr

(**주의) cp -arp libtool libtoolT (rm: cannot remove `libtoolT': No such file or directory 오류시)

make

make install




(2) apr-util 다운로드


cd /usr/local/src

wget https://archive.apache.org/dist/apr/apr-util-1.5.4.tar.gz

tar xvzf apr-util-1.5.4.tar.gz

cd apr-util-1.5.4

./configure --with-apr=/usr/local/apr/

make

make install


(3) pcre 다운로드


cd /usr/local/src

wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz

tar xvzf pcre-8.37.tar.gz

cd pcre-8.37

./configure --prefix=/usr/local/pcre

make

make install




4) Apache 웹서버 다운로드 및 설치


cd /usr/local/src

wget http://archive.apache.org/dist/httpd/httpd-2.4.23.tar.gz

tar xvfz httpd-2.4.23.tar.gz

mv apr-1.5.2 httpd-2.4.23/srclib/apr

mv apr-util-1.5.4 httpd-2.4.23/srclib/apr-util

cd httpd-2.4.23

./configure --enable-module=so --enable-mods-shared=most --enable-maintainer-mode --enable-deflate --enable-headers --enable-rewrite --enable-ssl --enable-proxy --enable-proxy-http --enable-proxy-ajp --enable-proxy-balance --with-pcre=/usr/local/pcre --prefix=/usr/local/apache

make

make install




5) Apahce 웹서버 서비스 등록 및 실행


(1) httpd 서비스 파일 만들기


cp /usr/local/apache/bin/apachectl /etc/init.d/httpd

vi /etc/init.d/httpd

 


vi에디터로 httpd 파일이 열리면 아래 #으로 처리된 내용을 그대로 추가하고 저장한다.

 

#!/bin/sh

# chkconfig: 2345 90 90

# description: init file for Apache server daemon

# processname: /usr/local/apache/bin/apachectl

# config: /usr/local/apache/conf/httpd.conf

# pidfile: /usr/local/apache/logs/httpd.pid


(2) httpd.conf 파일 수정


vi /usr/local/apache/conf/httpd.conf


vi에디터로 httpd.conf 파일이 열리면 ServerName 부분을 찾아 주석을 제거하고 사용할 서버명을 입력한다. (여기서는 localhost로 한다)


ServerName localhost

 

 이어서 아래 내용을 주석처리하고 저장한다. (#추가)

 #LoadModule unique_id_module modules/mod_unique_id.so


(3) httpd 서비스 시작


service httpd start

 

별다른 오류가 발생하지 않았다면, 서비스가 정상적으로 시작된 것이다.



(4) httpd 서비스 실행 확인


ps -ef | grep httpd

 


(5) 리눅스 시작 시, httpd 서비스 자동실행


chkconfig httpd on

 


(6) httpd 서비스가 자동시작되도록 설정되었는지 확인


chkconfig | grep httpd



6. 방화벽 설정


※ CentOS 7부터는 방화벽으로 iptables를 사용하지 않고, firewalld를 사용한다. (/etc/sysconfig/iptables에 파일이 없음)

따라서, 포트를 열여줘야 한다면 조금 다른 방법으로 진행해야 한다.



아파치 웹서버를 외부에서 웹브라우저로 접속하기 위해서는 TCP 80 포트를 방화벽에서 열어줘야만 한다.


vi /etc/sysconfig/iptables

 



 vi에디터로 iptables 파일이 열리면 아래 #부분의 내용을 추가하고 저장한다. (실제 삽입 시, #을 포함하면 안됨)

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

#-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

#-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

 



 저장까지 완료되었다면, 방화벽 설정 재시작

 

service iptables restart


[참고사이트]

https://jguru-study.tistory.com/29

https://jguru-study.tistory.com/30

https://jguru-study.tistory.com/31



Posted by 모과이IT
,

[쿠키] - 사용자 브라우저에 저장되는 값(보안성이 없고 주로 장바구니 용도)

$_COOKIE['변수명']

쿠키 불러옴

setcookie()

쿠키 저장


[세션] - 서버에 저장되는 쿠키

$_SESSION['변수명']

으로 로딩 및 저장 가능


[캐시]

css,js,image 파일 사용자 브라우저에 저장



Posted by 모과이IT
,