SELECT TOP 100, 컬럼1, 컬럼2, * FROM 테이블이름;
SELECT TOP 1000 * FROM 테이블이름;

 mysql에선 'limit n'으로 쿼리를 작성하지만 mssql은 select 바로 다음에 'TOP N(숫자)'으로 쿼리를 작성해주면 상위 N개의 결과값이 검색된다.

 생각나서 찾아보니 하위 N개에 대한 쿼리는 없는 듯... order by desc/asc로 처리해주면 된다.

Content 부분만 은은한 배경화면 구성을 해봤읍니다.

마음에 쏙 드는 돌하르방 배경화면

 

블로그관리 > 스킨편집 > html 편집

위 순서로 접근 하신 후 '파일업로드 > + 추가' 버튼을 눌러 원하는 배경화면을 추가해줍니다.

감귤과 돌하르방이 역동적인 이미지를 사용할겁니다 (thx to DELTA)

 

그 다음 파일업로드 옆 'CSS'을 선택하여 Ctrl + F로 'content-inner' 검색을해보면 Content관련된 클래스가 있으며 아래처럼 수정을 해주면 배경화면이 반영됩니다.

/*
 * content
 */
#content { margin: 0 0 0 330px; padding: 0; }
#content-inner { max-width: 1030px; width: 100%; padding-right: 30px; 
	 position: relative;
}

#content-inner::before {    
  background-color: #ffffff;
	content: "";
	background-image: url(https://tistory2.daumcdn.net/tistory/4854076/skin/images/header_new222.png);
        opacity: 0.1;
        position: absolute;
        top: 0px;
        left: 0px;
        right: 0px;
        bottom: 0px;
}

#content-inner::befor 을 생성하여 배경화면에 투명값(Opacity)를 넣을 경우 텍스트 포함한 전체가 투명해지기 때문에 'before'라는 가상박스를 활용하여 투명해지는 부분을 분리하였습니다.

(참고 : https://ddorang-d.tistory.com/89)

 

 

개발환경

  • Windows10 OS
  • SSMS(SQL Server Management Studio) 14버전

 예를 들어서 '사원'의 정보를 갖고 있는 테이블이 있을 때, 사원 테이블에 select/Insert/delete/update 쿼리를 작성or테스트 할 경우가 발생한다.

 단순하겐 테이블의 속성들을 조회하여 일일이 쿼리문을 작성해주면 되지만 시간이 정말 오래걸릴 수도 있고 귀찮은 작업이 될 수 있지만 SSMS에서는 테이블 스크립팅 이라는 기능을 제공하여 테이블의 속성에 맞는 쿼리를 자동으로 생성해 주는 편리한 기능을 제공한다.

데이터베이스 > 테이블 > 작업할 테이블에서 마우스 우클릭 > 새 쿼리 편집기 창 클릭

위 화면 처럼 작업할 테이블을 마우스 우클릭으로 선택 > 테이블 스크립팅 메뉴에 마우스 오버를 해보면 작업할 쿼리를 선택할 수 있다.

개인적으로 insert와 update 쿼리를 자주 사용하는데 insert 테이블 스크립팅을 생성해보면

테이블 속성에 맞는 INSERT 문이 자동으로 생성된다

INSERT 쿼리 문이 생성되며 Values에 친절하게 데이터 타입도 명세되어있으며, 이 부분에 입력할 데이터만 작성해주면 된다

개발환경

  • Windows10 OS
  • Bitnami-WAMP 사용

WAMP 환경에서 Codeigniter 3(이하 Ci3) 설치하는 방법이며, 굉장히 간단합니다

결론적으로 Ci3을 다운 받은 후 'htdocs ' 폴더 안에 압축만 풀어주면 됩니다.

 

* 참고로 WAMP에서 htdocs 폴더의 역할은 서버 내에 웹 사이트(PHP Application)가 저장되는 곳을 의미하게 됩니다.

예를 들어 WAMP로 구성된 환경의 웹 서버에서 test123'과 'test456'이라는 사이트가 서비스 중이라 할 때 'htdocs/test123', 'htdocs/test456'의 경로에서 각각의 웹 사이트가 서비스 중이라고 이해하시면 됩니다.

참고 : https://nonipc.com/entry/htdocs%EB%9E%80-php-%ED%8C%8C%EC%9D%BC-%EC%97%B4%EA%B8%B0-%EB%B0%8F-php-%EC%84%A4%EC%A0%95

 


1. 아래 Codeigniter 사이트 접속

https://codeigniter.com/download

 

Welcome to CodeIgniter

Strong Security We take security seriously, with built-in protection against CSRF and XSS attacks. Version 4 adds context-sensitive escaping and CSP

codeigniter.com


2. Ci3 다운로드

버전은 3.x을 사용 할겁니다.

 

Ci 사이트 화면


3. 압축해제

WAMP 환경에서 'apache2/hdocs' 경로 안에 압축을 풀어준 후 폴더이름이 복잡하므로 변경해줍니다.

저는 'ci3'로 변경한 후 진행할겁니다.

WAMP에 Ci3 설치 경로 (저 같은 경우는 bitnami 설치 후 폴더명을 'bitnami'로 변경하여 사용합니다


4. 설치 확인

3에서 'ci3'로 폴더명을 변경하였으므로 아래 주소로 접속 시 첨부한 화면처럼 접속이 되면 정상적으로 설치가 완료된 걸 확인할 수 있습니다. 

 

http://localhost/ci3/

Ci3 설치 확인


WAMP 환경이 구축되어 있다면 Ci3 설치는 굉장히 간단합니다.

개발환경

  • Windows OS
  • Bitnami WAMP 사용
  • 실습경로 : Bitnami 설치폴더/htdocs/ci3 

Codeigniter 3(이하 Ci 3) Framework를 사용하다보면 거슬리는 문제가 하나 있습니다.

 바로 생성한 페이지 사이에 'index.php'라는 경로를 계속 명시해줘야하는 것인데 우선 ci 3의 컨트롤러 부분부터 간단히 살펴본 후에 Ci 3에서 사용자의 요청(웹 사이트 요청)을 어떤 순서로 처리하는지 정리해보겠습니다.


1. Ci 3 의 컨트롤러 살펴보기

Ci 3를 설치하면 아래 경로에 MVC기반의 디렉토리가 생성되어있고 php 클래스 파일이 있습니다.

\bitnami\apache2\htdocs\ci3\application\controllers

위 경로 안에 'welcome.php'라는 파일을 확인 할 수 있는데, 간단히 살펴보면 "Welcome"이라는 php 클래스 파일입니다.

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class Welcome extends CI_Controller {

	/**
	 * Index Page for this controller.
	 *
	 * Maps to the following URL
	 * 		http://example.com/index.php/welcome
	 *	- or -
	 * 		http://example.com/index.php/welcome/index
	 *	- or -
	 * Since this controller is set as the default controller in
	 * config/routes.php, it's displayed at http://example.com/
	 *
	 * So any other public methods not prefixed with an underscore will
	 * map to /index.php/welcome/<method_name>
	 * @see https://codeigniter.com/user_guide/general/urls.html
	 */
	public function index()
	{
		$this->load->view('welcome_message');
	}
}

2. MVC 패턴?

Ci 3는 MVC 패턴 구조를 갖고 있습니다. (참고 : https://developer.mozilla.org/ko/docs/Glossary/MVC)

 그래서 작성한 페이지를 호출하기 위해선 'C (Controller)'를 호출해줘야만 합니다.

MVC로 이루어진 프레임워크에선 C에 해당하는 컨트롤러가 나머지 V(View-보여주는 방식)와 M (Model-데이터 정의)를 말 그대로 '컨트롤'하기 때문입니다.


3. "Welcome" 클래스는 어떻게 호출이 될까

'http://localhost/ci3/'로 접속해보면 아래화면 처럼 Welcome 클래스가 호출됩니다.

 근데 주소에 'Welcome'이라는 단어도 없는데 어떻게 호출이 된 것인지 확인해보겠습니다.

bitnami\apache2\htdocs\ci3\application\config\routes.php

위 경로의 'routes.php' 소스를 살펴 보면 'defaut_controller'라는 Key에 'welcome'이 명시되있는 걸 확인 할 수 있습니다.

Ci 3에선 Directory를 감추기 위해 이런식으로 호출할 주소와 클래스를 맵핑 시킬 수 있습니다.

$route['default_controller'] = 'welcome';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;

defaut_controller의 key 역할은 아무 Class를 주소에 명시하지 않았을 경우에 Defalut로 호출할 클래스를 설정하는 부분입니다.

그렇기 때문에 'http://localhost/ci3/' 주소를 호출하면 'Welcome' 컨트롤러 클래스가 호출되는 겁니다.


그럼 아래처럼 한 번 설정을 추가해볼까요.

$route['default_controller'] = 'welcome';
$route['GO'] = 'welcome'; // GO라는 key를 추가
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;

2번 째 줄에 'GO'라는 key를 추가하면서 welcome 클래스와 맵핑을 시켰습니다.

'http://localhost/ci3/go'를 호출하면 welcome 클래스를 실행시키겠지만...

결과는 호출되지 않습니다.

Ci 3의 특성상 주소(경로)에 'index.php'를 컨트롤러 앞에 작성해주지 않으면 호출이 안 되기 때문입니다.

(왜 꼭 index.php가 들어가야 작동하는 지에 대해선 다음에 다뤄보겠습니다.)

주소/ci3/index.php/클래스명(routes의 key명)으로 하니 호출이 된다!

http://localhost/ci3/GO
http://localhost/ci3/index.php/GO

주소를 아래 처럼 index.php를 넣어주니 정상적으로 작동이됩니다.

마찬가지로 'http://localhost/ci3/index.php/welcome'로 호출하여도 'http://localhost/ci3/'와 같이 welcome 컨트롤러 클래스가 호출됩니다.

 

+ Recent posts