반응형

그런데 사수라고 해야 되나? 아무튼 나보다 선배에게 지금까지 내가 개발한 것들에 대해서 얘기를 듣게 되었다.

네가 개발한 것 너 말고 다른 사람이 했을 때 쉽게 수정, 확장을 할 수 있냐고..
네가 개발한 것 너만 쉽게 하지 그것도 시간이 조금 지나면 확인해서 수정하는데 시간이 들지 않냐고..
개발하는 기술이 타자 몇 자 더 줄이는 게 중요한 게 아니라고..
누가 봐도 쉽게 수정을 할 수 있는 게 더 좋지 않냐고.. 예전과는 다르게 서버 성능이 엄청 좋아져서 차이 없다고..

더 많은 얘기를 해줬지만 생략을 한다.
이런 얘기를 들었을때 처음에는 거부감이 들었지만 곰곰히 생각을 하니 나도 회사를 옴기며 기존 소스를 파악하는데 많은 시간을 보내고, 작은거 하나 수정하는데도 소스 파악하느라 시간 많이 걸렸다.

그래서 요즘은 개발을 할때 CRUD를 기본으로 최대한 단순하게 만들려고 노력을 하고 있다.
프로세스를 단순화 하고 설사 비슷한 기능이 있다고 하더라도 줄이지 않고 파일하나를 더만들고 펑션을 더만들고 이렇게 개발을 하고 있다.

나중에 다른 개발자가 봐서 뭐라고 하던 이후 유지보수가 조금이라도 수월하게 개발을 했으면 한다.

내생각이 정답은 아니지만 혹시나 이글을 보는 개발자들에게 조금이나마 도움이 되었으면 한다.

반응형

'프로그래밍 > 기타' 카테고리의 다른 글

크롬에서 강제 https 설정 지우기  (0) 2017.11.30
반응형

일을 하다보면 FK(foreign key)가 걸려있는 데이터를 수정하거나 삭제를 해야되는 경우가 발생을 한다.
그냥 삭제를 진행하면 테이블간 관계로 인하여 오류가 뜨고 더이상의 진행이 안된다.

그럴때는 SQL 연결프로그램이나 터미널에서 MYSLQ에 접속을 한다음 아래와 같은 명령어를 입력후에 데이터 수정 / 삭제를 진행하면 된다.
참고로 TABLE 삭제 할 때도 동일하다.

SET foreign_key_checks = 0;
위 명령어를 입력 실행을 하면 FK키의 제약조건이 해지가 된다.

SET foreign_key_checks = 1;
위 명령어를 입력 실행을 하면 FK키의 제약조건을 활성화 시킨다.

이렇게 진행을 하면 어렵지 않게 진행을 할수 있다.

반응형
반응형
##### CentOS7에 Composer로 CodeIgniter4 설치 #####
> yum install -y openssh-server
> yum install -y openssh-clients
> yum install -y vopenssh-askpass

> yum update -y
> yum group install -y "Development Tools"
> yum install -y net-tools
> yum install -y bind-utils
> yum install -y rsync
> yum install -y wget

/************************
 * httpd 설치
 ************************/
SSL 없을시

> yum install -y httpd
> systemctl enable httpd
> systemctl start httpd

openssl 설정에 필요 부분

> yum install -y httpd
> yum install -y openssl 
> yum install -y mod_ssl
> systemctl enable httpd
> systemctl start httpd


/************************
 * php 설치
 ************************/

> wget -P /root https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
> rpm -Uvh /root/epel-release-latest-7.noarch.rpm
> wget -P /root http://rpms.remirepo.net/enterprise/remi-release-7.rpm
> rpm -Uvh /root/remi-release-7.rpm
> yum install -y yum-utils
> yum-config-manager --enable remi-php72
> yum install -y php
> yum install -y php-common
> yum install -y php-fpm
> yum install -y php-cli
> yum install -y php-redis
> yum install -y php-brotli
> yum install -y php-gd
> yum install -y php-xml
> yum install -y php-gmp
> yum install -y php-imap
> yum install -y php-bcmath
> yum install -y php-interbase
> yum install -y php-json
> yum install -y php-mbstring
> yum install -y php-mysqlnd
> yum install -y php-odbc
> yum install -y php-opcache
> yum install -y php-memcached
> yum install -y php-tidy
> yum install -y php-pdo
> yum install -y php-pdo-dblib
> yum install -y php-pear
> yum install -y php-pgsql
> yum install -y php-process
> yum install -y php-pecl-apcu
> yum install -y php-pecl-geoip
> yum install -y php-pecl-gmagick
> yum install -y php-pecl-hrtime
> yum install -y php-pecl-json
> yum install -y php-pecl-memcache
> yum install -y php-pecl-mongodb
> yum install -y php-pecl-rar
> yum install -y php-pecl-pq
> yum install -y php-pecl-redis4
> yum install -y php-pecl-yaml
> yum install -y php-pecl-zip
> yum install -y php-intl
> yum install -y php-pdo.x86_64
> yum install -y php-pdo-dblib.x86_64
> yum install -y php-pecl-imagick.x86_64
> yum install -y php-pecl-imagick-devel.x86_64
> yum install -y php-xmlrpc.x86_64

> systemctl restart httpd


/************************
 * sftp 설치
 ************************/

> yum install -y vsftpd
> systemctl enable vsftpd

/************************
 * Maria DB 설치
 ************************/

> sudo vi /etc/yum.repos.d/MariaDB.repo

-아래 내용 입력후 저장

# MariaDB 10.3 CentOS repository list - created 2019-01-13 00:47 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.3/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

-repository 설정을 했으면 아래 명령으로 YUM을 통해서 Maria DB를 설치할 수 있다.

> yum install MariaDB-server MariaDB-client

> systemctl enable mariadb
> systemctl start mariadb
> mysql_secure_installation

/************************
 * Composer 설치
 ************************/
-root 권한 취득

> su root

-composer 설치

> yum install -y composer

-composer 명령어 사용을 위한 system PATH 경로 설정 및 설정 결과 확인

> PATH=$PATH:/root/.config/composer/vendor/bin
> echo $PATH

-/root-사용자로-Composer-사용시-Do-not-run-Composer-as-rootsuper-user-에러가-발생할때-강제로-사용하는-방법

> export COMPOSER_ALLOW_SUPERUSER=1
> composer global about

-이 명령어로 global config에 repos.packagist 를 추가한다.

> composer config -g repos.packagist composer https://packagist.jp

-설정이 되었는지 확인한다.

> composer config -gl|grep repo

-아래 설정이 보이면 추가가 된 것이다.

-[repositories.packagist.org.type] composer
-[repositories.packagist.org.url] https://packagist.jp

-캐시 초기화

> composer global clear-cache
> composer clear-cache

-다운로드 속도 향상
-병렬 다운로드를 가능하게 하는 hirak/prestissimo 패키지를 설치하자.
-288s -> 26s 가 되는 마법이 일어난다고 한다.

> composer global require hirak/prestissimo

/************************
 * Composer로 CI4 설치
 ************************/
-/home/test/manage/ : 소스 설치 경로(예제)

> composer create-project codeigniter4/appstarter /home/test/manage/

/************************
 * selinux->config 파일 수정
 ************************/

> vi /etc/selinux/config

-아래 내용으로 변경

# This file controls the state of SELinux on the system. 
# SELINUX= can take one of these three values: 
#     enforcing - SELinux security policy is enforced. 
#     permissive - SELinux prints warnings instead of enforcing. 
#     disabled - No SELinux policy is loaded. 
SELINUX=disabled 
# SELINUXTYPE= can take one of three values: 
#     targeted - Targeted processes are protected, 
#     minimum - Modification of targeted policy. Only selected processes are protected.  
#     mls - Multi Level Security protection. 
SELINUXTYPE=targeted 

/************************
 * vhost.conf 파일 생성
 ************************/

<VirtualHost *:80>
    ServerName   admtest.co.kr
    DocumentRoot /home/test/manage/public/
       <Directory "/home/test/manage/public">
               Options Indexes FollowSymLinks
               AllowOverride All
               Require all granted
       </Directory>
</VirtualHost>


/************************
 * 서버 재기동
 ************************/

> reboot


Ps. 방화벽이 있다면 방화벽 정지 처리.(개발로 할때만 운영으로 할때는 80, 22, 443 등을 열어야함.)

> systemctl stop firewalld
> systemctl disable firewalld
반응형

'프로그래밍 > PHP' 카테고리의 다른 글

[PHP] intval 정수반환  (0) 2016.01.25
[PHP] 이전 웹주소 처리  (0) 2014.05.14
[PHP] 특정문자 제거.  (0) 2014.05.14
[PHP] XML 다루기 - XML Parser  (0) 2012.07.25
[PHP] XML 다루기 - XMLReader  (0) 2012.07.24
반응형

CentOS7 기준

1. mysql -uroot -hlocalhost -p
2. update user set password=password('비밀번호') where user='root'
3. grant all privileges on *.* to 'root'@'%' identified by '비밀번호'
4. flush privileges;
5. systemctl restart mysql

반응형
반응형

vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
명령어로 실행후
vi에디터에서 아래 내용을 수정한다.

IPADDR=원하는 IP 입력
:wq로 저장하고 나와서

systemctl restart network
명령어를 실행을 한다.

접속을 끊고 입력한 IP로 다시 접속하면 된다.

반응형

'프로그래밍 > 리눅스' 카테고리의 다른 글

[CentOS7] GITHUB 사용  (0) 2021.01.14
[Linux] 서버 스펙정보 확인방법  (0) 2018.12.12
심볼릭 링크 생성  (0) 2017.11.28
[CentOS7] 에서 Maria DB 경로 변경시 주의점.  (0) 2017.09.11
리눅스 명령어  (0) 2012.08.10
반응형

일단 github에 가입을 하고 프로젝트를 생성한다.
git URL을 저장을 한다.

터미널로 서버로 접속을 한후 아래와 같이 진행을 한다.
=========================================
일단 git을 적용한 최상위 폴더로 이동을 한다.
yum install git
명령어로 GIT를 설치를 진행한다.

git init
명령어로 해당 폴더에 .git 폴더를 생성하고 해당 경로부터 git를 적용한다는 선언을 한다.

== GIT으로 올릴때 표기되는 정보 등록 ==
git config --global user.email "이메일주소"
git config --global user.name "아이디"

git status
명령어로 현재 상태 확인을 한다.

== GITHUB로 업로드 ==
git add *
명령어는 해당 경로 하위의 전체를 git으로 올릴때
git add 폴더명(파일명)
명령어는 특정 폴더나 파일을 지정해서 올릴때

git commit -m "코멘트"
명령어로 커밋시 등록하는 코멘트를 적는다.

git remote add origin 위에서 생성한 git URL
명령어로 github와 연결을 한다.

git push origin master
명령어로 업로드를 한다.

== GITHUB로 다운로드 ==
git remote add origin 위에서 생성한 git URL
명령어로 github와 연결을 한다.
위에서 이미 연결을 한경우 진행을 하지 않아도 된다.

git pull origin master
명령어로 다운로드를 한다.

== 예제 ==
git init : git폴더 선언
git add README.md : 올릴파일 선택
git commit -m "first commit" : 커밋 코멘트
git branch -M master : 프런치 선택
git remote add origin https://github.com/[GITHUB ID]/[GIT PROJECT TITLE].git  : github와 연결
git push -u origin master : github로 업로드
로그인은 github에 로그인하는 정보를 입력하면 된다.


PS. 간혹 add시 안되는경우 오류내용을 잘보고 vi .gitignore에서 수정을 하면 된다.

 

반응형

'프로그래밍 > 리눅스' 카테고리의 다른 글

[CentOS7] IP변경  (0) 2021.01.14
[Linux] 서버 스펙정보 확인방법  (0) 2018.12.12
심볼릭 링크 생성  (0) 2017.11.28
[CentOS7] 에서 Maria DB 경로 변경시 주의점.  (0) 2017.09.11
리눅스 명령어  (0) 2012.08.10
반응형

요즘 자꾸 까먹는 거 같다.
자주 쓰지를 않으니.. 

테이블 리스트(컬럼포함) 조회
SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_SCHEMA = '데이터베이스명';
이렇게 하면 조회를 해온다.

테이블 인덱스 조회
SELECT *
FROM INFORMATION_SCHEMA.STATISTICS
WHERE TABLE_SCHEMA = '데이터베이스명';
이렇게 하면 조회를 해온다.

잊어버리지 말자.

반응형
반응형
서버 정보 확인하다가 찾게 된 정보 이다.

1. model 확인
dmidecode -s system-product-name or dmidecode | grep Name

2. CPU 확인
cat /proc/cpuinfo

3. ram 확인
cat /proc/meminfo | grep MemTotal

4. os 확인
cat /etc/issue
uname -a
cat /etc/*-release | uniq

5. serial number 확인
dmidecode -s system-serial-number

6. raid 상태확인
cat /proc/mdstat or cat /etc/fstab
cat /proc/driver/cciss/cciss0


7.HDD 모델확인 : hdparm -i /dev/sda

8.bit 확인
1)getconf LONG_BIT
2)arch
3)uname -m
4)echo $HOSTTYPE
5)lscpu |grep ^Arch



반응형

'프로그래밍 > 리눅스' 카테고리의 다른 글

[CentOS7] IP변경  (0) 2021.01.14
[CentOS7] GITHUB 사용  (0) 2021.01.14
심볼릭 링크 생성  (0) 2017.11.28
[CentOS7] 에서 Maria DB 경로 변경시 주의점.  (0) 2017.09.11
리눅스 명령어  (0) 2012.08.10
반응형

작업하던 기능중에 mysql DB에 ','으로 구분되어 있는 값을 검색하는 일이 생겨버렸다.

열심히 찾다보니 좋은 정보를 찾게되어 내용을 정리해서 올려본다.


PHP 함수중에 in_array, array_search 처럼 배열안에 있는 값을 찾을수 있는 MySql 함수를 찾게 되었다.
MySql함수는 find_in_set 함수 이다.

사용방법은 아래와 같다.


ex)

테이블 컬럼에 있는 값이 1,2,3,4, or test, asd, sql, php 등으로 되어 있을경우 사용을 할수 있는거 같다.


1. select test_ex from dum where find_in_set(1, 데이터 컬럼);

2. SELECT *

FROM test1_tbl a, test2_tbl b

WHERE FIND_IN_SET(b.test2_id, a.test1_data) AND

b.test2_name LIKE CONCAT('%', 'TEST', '%');


반응형
반응형

크롬에서 한번이라도 https로 접근을 하면 http로 접근을 하려고 해도 강제로 https로 변경을 하는데 해당 https설정을 삭제 하는 내용.


크롬창을 열고 

chrome://net-internals 입력후 

왼쪽 메뉴에서 Domain Security Policy 클릭후

내용중 하단에 Delete domain security policies 메뉴에 입력창에

https 강제설정 해지하고자 하는 URL을 입력한다.

반응형

+ Recent posts