노출되는 이미지가 불편하시겠지만 양해를 구합니다. 노출, 클릭등에 관한 자료로 활용 중입니다.

checkbox로 <div>를 감추거나 보여주거나



<input type="checkbox">를 통해서 <div>영역을 감추거나 보여주거나 처리 하는 예제




'Web Tech. > PHP, Web' 카테고리의 다른 글

sqlmap - a penetration testing tool  (0) 2017.11.20
github에 업로드 하기 ( from Window )  (0) 2017.06.14
Chrome, Inspect  (0) 2017.04.05
Bootstrap 시작 하기  (0) 2017.02.07
3. OctoberCMS , Creating Themes  (0) 2017.01.20
블로그 이미지

StartGuide

I want to share the basic to programming of each category and how to solve the error. This basic instruction can be extended further. And I have been worked in southeast Asia more than 3 years. And I want to have the chance to work another country.

,
노출되는 이미지가 불편하시겠지만 양해를 구합니다. 노출, 클릭등에 관한 자료로 활용 중입니다.


sqlmap - a penetration testing tool



1. 다운로드 : sqlmap.org 



git clone --depth 1 https://github.com/sqlmapproject/sqlmap.git sqlmap-dev





2. 사용법


https://github.com/sqlmapproject/sqlmap/wiki/Usage



>python sqlmap.py -u "URL" --dbs

'Web Tech. > PHP, Web' 카테고리의 다른 글

checkbox로 <div>를 감추거나 보여주거나  (0) 2017.11.24
github에 업로드 하기 ( from Window )  (0) 2017.06.14
Chrome, Inspect  (0) 2017.04.05
Bootstrap 시작 하기  (0) 2017.02.07
3. OctoberCMS , Creating Themes  (0) 2017.01.20
블로그 이미지

StartGuide

I want to share the basic to programming of each category and how to solve the error. This basic instruction can be extended further. And I have been worked in southeast Asia more than 3 years. And I want to have the chance to work another country.

,
노출되는 이미지가 불편하시겠지만 양해를 구합니다. 노출, 클릭등에 관한 자료로 활용 중입니다.

github에 업로드 하기 ( from Window )



* github에 저장소 만들기


1. github에 신규 저장소 생성 ( Create a new repository )




* 로컬 저장소(PC 또는 작업 디렉토리)


2. Open Git Bash ( 작업 디렉토리에서 )


3. Git 저장소를 초기화 ( 작업 디렉토리에서 )


$ git init



4. 로컬 저장소에 변경된 부분을 추가


$ git add .  (또는 git status로 변경된 부분을 확인후 개별 등록 가능 )



5. Commit (변경된 부분에 대한 주석 추가)


$ git commit -m "First commit"



* 6-7은 fork하는 원본 저장소의 변경 사항을 가져올떄만...


6. Copy link the remote repository URL ( Copy URL )


7. 로컬 저장소에 remote repository를 추가


$ git remote add origin [remote repository URL]



8. Push the changes to GitHub ( 업로드 등록 )


$ git push origin master




참조 : https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/




* git pull 과 fetch 차이


- fetch는 merge없이 다운로드

- pull은 merge하고 다운로드


http://silvernine.me/wp/?p=309

'Web Tech. > PHP, Web' 카테고리의 다른 글

checkbox로 <div>를 감추거나 보여주거나  (0) 2017.11.24
sqlmap - a penetration testing tool  (0) 2017.11.20
Chrome, Inspect  (0) 2017.04.05
Bootstrap 시작 하기  (0) 2017.02.07
3. OctoberCMS , Creating Themes  (0) 2017.01.20
블로그 이미지

StartGuide

I want to share the basic to programming of each category and how to solve the error. This basic instruction can be extended further. And I have been worked in southeast Asia more than 3 years. And I want to have the chance to work another country.

,
노출되는 이미지가 불편하시겠지만 양해를 구합니다. 노출, 클릭등에 관한 자료로 활용 중입니다.

Chrome/크롬을 통한 모바일 디바이스 Inspect


0. 모바일 디바이스, 개발자 옵션 활성화하기


https://developer.android.com/studio/run/device.html#developer-device-options


- Samsung 갤럭시, 활성화

http://www.samsung.com/us/support/answer/ANS00030524/



1.크롬에서 Inspect 화면으로 이동후에 USB 연결한다.




2. 반응이 없을때


1) USB Driver 설치


- Get the Google USB Driver ( & OEM USB Drivers )

https://developer.android.com/studio/run/win-usb.html


2) Android SDK\platform-tools\adb 실행


(1) adb 실행

> adb devices


(2) 디바이스에서,  허용하기


(3) 성공시


참조 :  Get Started with Remote Debugging Android Devices

https://developers.google.com/web/tools/chrome-devtools/remote-debugging/?utm_source=dcc&utm_medium=redirect&utm_campaign=2016q3


블로그 이미지

StartGuide

I want to share the basic to programming of each category and how to solve the error. This basic instruction can be extended further. And I have been worked in southeast Asia more than 3 years. And I want to have the chance to work another country.

,
노출되는 이미지가 불편하시겠지만 양해를 구합니다. 노출, 클릭등에 관한 자료로 활용 중입니다.

Bootstrap 시작 하기


1. 학습 사이트 

http://www.w3schools.com/bootstrap/default.asp 

전체 항목을 배워야 하지만, 너무 많아서 어디서 부터 시작을 해야 할지 모를것 같다.

 


 
2. 동영상 학습  

https://www.youtube.com/watch?v=sTi_hcaBmsg  , 강좌 1. Bootstap Basic

 "웹학교"에서 YouTube를 통해서 w3school.com 사이트를 활용한 강의
사용되는 사이트가 2014년9월(3.2.2)이라 현재 버젼(3.3.5)과는 차이가 있지만 이해 가능


 
3. Bootstrap를 적용한 Theme 학습 - BS Theme "Company"


해당 테마를 하나씩 따라하면, 간단한 회사 홈페이지를 구현하게 되고, 이해가 쉬워진다.


사이트 : http://www.w3schools.com/bootstrap/bootstrap_theme_company.asp



* Bootstrap 사용시 포함할 부분



블로그 이미지

StartGuide

I want to share the basic to programming of each category and how to solve the error. This basic instruction can be extended further. And I have been worked in southeast Asia more than 3 years. And I want to have the chance to work another country.

,
노출되는 이미지가 불편하시겠지만 양해를 구합니다. 노출, 클릭등에 관한 자료로 활용 중입니다.



3. OctoberCMS , Creating Themes




1) 테마 만들기 ( myoctober.app:8000/backend , homestead설정 사용시 )



생성하기

- CMS -> Front-end theme -> 'Create a new blank theme'


속성 설정


- Name : Olympos

- Directory name : olympos

- Description : New starter theme

- Author : Ivan Doric

- Homepage : http://myoctober.app:8000






*테마 생성 위치 : themes/olympos/theme.yaml



활성화 - Activate Theme ( 신규 테마로 변경 )

: CMS->Front-end theme ->'Activate' Olympos





2) Layout 생성하기 : default.htm



메뉴 : CMS -> Layouts -> +Add : default.htm


위치 : themes/olympos/layouts/default.htm



* 기존 demo/layouts/default.htm를 copy하고, header/footer는 일단 삭제


* css : style.css 신규 생성

  <link href="{{ 'assets/css/style.css'|theme }}" rel="stylesheet">

      


* js : app.js는 신규 생성 ( jquery.js는 복사 )

        <script src="{{ [
            'assets/js/jquery.js', 'assets/js/app.js',
            ]|theme }}"></script>




3) Homepage 생성하기 : homepage.htm



메뉴 : CMS -> Layouts -> +Add : homepage.htm ( URL : / )


위치 : themes/olympos/pages/homepage.htm


Markup :

<h1>This is our homepage</h1>


4) 실행 결과

 






* 브라우저 View Source결과 ( script는 단일 파일로 변경되어, 요청 traffic을 감소 시킴 )

<!-- Scripts -->
<script src="http://myoctober.app:8000/combine/ffc6422ecc7902bad467abb69edcd8cb-1484897286"></script>

동영상 (영문 강좌)

     - watch-learn.com october-cms


블로그 이미지

StartGuide

I want to share the basic to programming of each category and how to solve the error. This basic instruction can be extended further. And I have been worked in southeast Asia more than 3 years. And I want to have the chance to work another country.

,
노출되는 이미지가 불편하시겠지만 양해를 구합니다. 노출, 클릭등에 관한 자료로 활용 중입니다.


2.October CMS , Basic Concepts ( 기본 개념 )




* Backend 접속 하기


URL : myoctober:8000/backend

ID/PW : admin/admin







1) 컨셉 1, Pages



- CMS -> Pages메뉴에서 '+Add'를 통해서 생성


- TITLE의 입력시

--입력값에 따라 URL 및 Filename을 자동 생성( 필요에 따라 변경 가능 )


-- [hostname:port]/URL로 접근 가능


-- 설정 항목 : Filename, Layout, Description, Markup(HTML)


- Markup내에서
-- Content 사용시:
 --- 사용 문법 : {% content "welcome.htm" %}
  --- 저장 위치 : themes/demo/content/welcome.html



-- Layout 선택 : default


     --- 저장 위치 :  themes/demo/layouts/default.htm


     --- Partial 사용시 : footer
         ---- 저장 위치 : themes/demo/partials/footer.htm
         ---- 사용 문법 : {% partial 'footer' %}



- Page의 물리적인 파일 구조와 저장 위치


    -- 위치 : themes/demo/pages/homepage.thm ( 기본 설치는 themes/demo에 위치 )


    -- 파일 : 속성 영역과 HTML Code영역으로 구분되어서 저장




예) 신규 Page : 'about'



- 설정 화면 : Layout(default)




- 결과 화면




2) 컨셉2, Plugin


- 설치 메뉴 

-- Settings -> SYSTEM -> Updates & Plugins -> Install Plugins


- blog plugin 설치후 사용하기 

-- 카테고리와 글을 추가

-- Categories -> New(새 카테고리) : New cat (Name ), new-cat ( Slug )

-- New post(새 포스트) -> (edit text) ->Save ( Manage, Published선택 )



- 목록 화면을 보여주기 위해서 페이지 추가

-- Pages -> +Add

--- blog라는 TITLE로 생성 (blog.htm)

-- Components -> BLOG를 선택하고 'Post List'를 'Markup' 영역으로 이동후 Save

--- blog.htm : {% component 'blogPosts' %}



-- 실행 화면 : myoctober:800/blog



- 내용 화면을 보여주기 위해서 페이지 추가

-- Pages -> +Add

--- blog-post라는 TITLE로 생성 (blog-post.htm, url : /blog/:slug )


-- Components -> BLOG를 선택하고 'Post'를 'Markup' 영역으로 이동후 Save

--- blog-post.htm : {% component 'blogPost' %}




-- 목록 페이지의 Post List 컴포넌트의 Links(Post page)에 연결


-- 실행 화면 ( 목록에서 선택시 )  : Layout(default) 미적용





* Backend 스크린샷

-Dashboard


-CMS

-- Pages, Partials, Layouts, Content, Assets, Components


-Media
-- Images, Video, Audio, Documents


-Setting
-- CMS : Front-end theme, Maintenance mode
-- SYSTEM : Updates & Plugins, Administrators, Customize back-end, Editor settings
-- MAIL : Mail Configuration, Mail templates
-- LOGS : Event log, Request log, Access log







관련 동영상 : Part2 Basic Concepts

http://watch-learn.com/series/making-websites-with-october-cms






사전 준비 : October CMS on Homestead 설치, http://printhelloworld.tistory.com/79

블로그 이미지

StartGuide

I want to share the basic to programming of each category and how to solve the error. This basic instruction can be extended further. And I have been worked in southeast Asia more than 3 years. And I want to have the chance to work another country.

,
노출되는 이미지가 불편하시겠지만 양해를 구합니다. 노출, 클릭등에 관한 자료로 활용 중입니다.


OctoberCMS on Laravel(라라벨) Homestead



1) 소개


OctoberCMS는 무료이고, 오픈 소스이며, 자체 호스팅형의 CMS 플랫폼으로 Laravel PHP 프레임웍을 기초로 한다.


2번째 속성으로 Simple하고 모듈형 CMS는 개발자에 의해 확장되며, 정확하고 아름다운 UI를 갖고 있다.



Getting back to basics


 https://octobercms.com/blog/post/getting-back-to-basics


"많은 유명한 CMS들은 복잡하고 뒤얽혀진 시스템이 되었으며, 만약에 안을 들여다 보면 꽤 실망하게 될 것이다..."




2) OctoberCMS 설치 (신규, 추가)


vagrant를 실행하고, October project를  설치한다. ( 신규 프로젝트 생성 )

 
    > vagrant up
    > vagrant ssh
    > cd Code
    
    >
    > composer create-project october/october myoctober dev-master -vvv
    >
myoctober :  선호하는 폴더명/Domain명으로 대체


*비슷한 설명 : https://octobercms.com/docs/console/commands#console-install-composer




3) hosts파일에 등록하기 ( 접근용 Domain )

  192.168.10.10    myoctober.app


4) .homestead/Homestead.yaml 수정하기

   sites:
        - map : myoctober.app   
          to : /home/vagrant/Code/myoctober
    databases:
        - myoctober


5) vagrant 재시작

 
    > vagrant reload --provision
    > vagrant ssh
    > cd Code

* Oracle VM Virtual Box가 무반응시에 Oracle VM Virtual Box관리자 화면에서 시작/종료를 반복후에 위의 reload명령어를 수행한다.



* vagrant reload --provision 옵션 설명 : https://www.vagrantup.com/docs/cli/reload.html



6) 설치 결과를 확인하는 접속





* 단일 장비에서는 설정을 console명령으로 직접 변경 가능하다,

   DB 선택, DB 계정, Domain명등을 설정할 수 있다


    > php artisan October:install



아래는 backend 접속을 위한 수동 설정을 다룬다.


6) DB 설정


MySQL(33060), Postgres(54320)을 사용하며, username과 password는 homestead/secret이다.



7) /config/database.php를 수정

    'default' => 'pgsql', // 'mysql'

from

        'pgsql' => [
            'driver'   => 'pgsql',
            'host'     => 'localhost',
            'port'     => '',
            'database' => 'database',
            'username' => 'root',
            'password' => '',
            'charset'  => 'utf8',
            'prefix'   => '',
            'schema'   => 'public',
        ],


to

 
        'pgsql' => [
            'driver'   => 'pgsql',
            'host'     => env('DB_HOST'),
            'port'     => env('DB_PORT'),
            'database' => env('DB_DATABASE'),
            'username' => env('DB_USERNAME'),
            'password' => env('DB_PASSWORD'),
            'charset'  => 'utf8',
            'prefix'   => '',
            'schema'   => env('DB_SCHEMA'),
        ],

.env 파일 만들기 ( 위치 : project root )

DB_HOST=127.0.0.1
DB_PORT=5432
DB_DATABASE=myoctober
DB_USERNAME=homestead
DB_PASSWORD=secret
DB_SCHEMA=public


데이타베이스 migrate (터미널상에서)

> cd myoctober > php artisan october:up


octoberCMS의 backend접속 하기

> http://myoctober.app:8000/backend
> admin/admin





원문 : https://renatio.com/blog/install-octobercms-laravel-homestead

블로그 이미지

StartGuide

I want to share the basic to programming of each category and how to solve the error. This basic instruction can be extended further. And I have been worked in southeast Asia more than 3 years. And I want to have the chance to work another country.

,
노출되는 이미지가 불편하시겠지만 양해를 구합니다. 노출, 클릭등에 관한 자료로 활용 중입니다.



Laravel(라라벨) 5.3,

Layouts, CSS & JS Part 1




Layout를 사용해서 파일이나 페이지에 포함되도록 끼워 넣는 방법과 JS파일을 연결하는 방법을 정리한다.



1. 기본 Layout 폴더와 페이지를 만들기


위치 : reources\views\layout\layouts.blade.php


    
<!DOCTYPE HTML>
<html>
<head>
  <title>
    @yield('title') Page
  </title>
</head>
<body>
    @yield('content')
</body>
@stack('scripts')
{!! Html::script('js/hello.js') !!}
</html>

1.1 public/js/hello.js

    
alert('Hello World!!');



2. laravelcollective/html 설치하기

    
> composer require laravelcollective/html


2.1 laravelcollective/html 등록하기


위치 : config/app.php

    
    'providers' => [ Collective\Html\HtmlServiceProvider::class, ],

    'aliases' => [ 'Form' => Collective\Html\FormFacade::class,
                        'Html' => Collective\Html\HtmlFacade::class, ],


3. View 페이지 ( Blade Template PHP ) 작성 하기


위치 : resources/views/pages/hello.blade.php

    
    @extends('layout.layouts')
    @section('title','Hello World')

    @section('content')
        My name is Henrio !!!
    @endsection

    @push('scripts')
        {!! Html::script('js/hello2.js') !!}
    @endpush

2.1 public/js/hello2.js

    
alert('Hello, Hello, It's ME.');


동영상 강좌  : https://www.youtube.com/watch?v=Xza0wUFJC3M&index=3&list=PL-4_JsMSrLiqrzQ36KwYVn4uCjYLiAd_C






Laravel(라라벨) 5.3 ,

Layouts, CSS & JS Part 2



1. download Bootstrap


 copy folder to /public with name of 'bootstrap'




2. include css to layouts.blade.php

	<head>
		{!! Html::style('bootstrap/css/bootstrap.min.css')!!}
	</head>


3. add form code to hello.blade.php

	@section('content')
	    <div class="container">

		<div class="row">
		    <h4>Hello World! Henrio</h4>
		    <hr/>
		</div>

		<div class="row">

		    <div class="container">

			{!! Form::open( ['url' => '', 'method' => 'POST',
			    'class' => 'form-horizontal'] ) !!}
			{!! Form::token() !!}

			<div class="row">
			    <div class="col-sm-2 center-block">
				{!! Form::label('text','Insert Your Text Here!',
				    ['class' => 'control-label pull-right']) !!}
			    </div>
			    <div class="col-sm-4 center-block">
				{!! Form::text('text','',
				    ['class' => 'form-control pull-left']) !!}
			    </div>
			    <div class="col-sm-6 center-block">

			    </div>
			</div> <!-- class row -->

			<div class="row">
			     
			</div> <!-- class row -->

			<div class="row">
			    <div class="col-sm-6 center-block">
				{!! Form::submit('Submit The Input',
				    ['id' =>'btn-stmt','class' => 'btn btn-info pull-right']) !!}
			    </div>
			    <div class="col-sm-6 center-block">

			    </div>
			</div> <!-- class row -->

			{!! Form::close() !!}

		    </div> <!-- class container  -->

		</div> <!-- class row -->

	    </div> <!-- class container -->
	@endsection


4. create styles.css under css folder

	
	#btn-sbmt {
	    position:relative;
	    margin-top:50px;
	}



5. add styles.css to layouts.blade.php

	<head>
		{!! Html::style(css/styles.css')!!}
	</head>



동영상 강좌 https://www.youtube.com/watch?v=PS-Yr8CRI1o&index=4&list=PL-4_JsMSrLiqrzQ36KwYVn4uCjYLiAd_C





Laravel(라라벨) 5.3,

Forms And Working With Models



1. Create Controller & Model , MySQL Table

	
> php artisan make:controller TextController
> php artisan make:model Posts
> create table (
		id int not null auto_increment primary key,
		posts text,
	)


2. Modify Code for model at app/Posts.php

class Posts extends Model
{
    //
    public $timestamps = false;

    protected $table = "posts";
    protected $primaryKey = "ID";
    protected $casts = ["ID" => "INT"];

}	


3. Modify Code for controller at app/Http/Controllers/TextController.php

public function submitted(Request $request) {
        $text = $request->get('text');
        echo $text;	
}


4. Add router to routes/web.php

Route::post('submitted','TextController@submitted');	


5. Add post url at resource/views/pages/hello.blade.php

	
                {!! Form::open( ['url' => '/submitted', 'method' => 'POST',
                    'class' => 'form-horizontal'] ) !!}
                {!! Form::token() !!}


Test access and check the result  : http://[hosturl]:8000/hello




6. Modify code to save at app/Http/Controllers/TextController.php

        $text = $request->get('text');
        //echo $text;
        $posts = new Posts();
        $posts->Posts = $text;
        // save
        $posts->save();	





동영상 강좌 https://www.youtube.com/watch?v=OgbUlgSwl-o&index=5&list=PL-4_JsMSrLiqrzQ36KwYVn4uCjYLiAd_C



관련된 이전 글 : Laravel 5.3 , Routes & Controllers for MVC ( Model View Controller )


- Controller 와 View 수정을 위한 위치등을 참조...


http://printhelloworld.tistory.com/admin/entry/post/?id=76


블로그 이미지

StartGuide

I want to share the basic to programming of each category and how to solve the error. This basic instruction can be extended further. And I have been worked in southeast Asia more than 3 years. And I want to have the chance to work another country.

,
노출되는 이미지가 불편하시겠지만 양해를 구합니다. 노출, 클릭등에 관한 자료로 활용 중입니다.


Laravel(라라벨) 5.3,

Routes & Controllers for MVC



-- vagrant를 통해서 homestead를 설치한 환경에서 작성




1. Route 파일 위치 확인하기


routes/ 폴더 아래에 api.php , console.php, web.php가 존재한다.




사용할 파일은 web.php 이다.


* 해당 파일의 내용을 확인하는 방법은 http://[호스트명]:8000/으로 접속하면 결과를 볼 수 있다. welcome.blade.php는 resource/views/welcome.blade.php에 위치 한다.



2. HelloController 생성하기


HelloWorld>php -v
HelloWorld>php artisan make:controller HelloController


3. View ( Blade Template ) 생성하기


resources/views/아래에 pages 폴더를 만들고, 그 아래에 hello.blade.php파일을 생성한다.



4. HelloController에 function을 추가하기



*  http://[호스트명]:8000/hello으로 접속하면 Error가 발생하는 것을 볼 수 있다.



5. Web Route 파일에 분기 로직을 추가 하기



*  http://[호스트명]:8000/hello으로 접속하면 Empty화면을 볼 수 있다.



6. View ( View Blade Template ) 수정 하기




*  http://[호스트명]:8000/hello으로 접속하면 정상적인 결과를 볼 수 있다.




참조 동영상


https://www.youtube.com/watch?v=gx4q5Nnw9eY



Laravel 5.3 Tutorial Series  ( 최종 Update : 2016. Nov. 5 )


https://www.youtube.com/playlist?list=PL-4_JsMSrLiqrzQ36KwYVn4uCjYLiAd_C

블로그 이미지

StartGuide

I want to share the basic to programming of each category and how to solve the error. This basic instruction can be extended further. And I have been worked in southeast Asia more than 3 years. And I want to have the chance to work another country.

,
노출되는 이미지가 불편하시겠지만 양해를 구합니다. 노출, 클릭등에 관한 자료로 활용 중입니다.


Laravel(라라벨) Homestead 사용하기




Laravel은 로컬 개발환경을 포함해서 PHP 개발 경험 전체를 즐겁도록 하기 위한 노력을 많이 한다고 설명하며,  그것은 Homestead다.



(먼저 필요한 것 중에서) Vagrant는 쉽고 우아한 방법으로 가상머신 관리와 공급을 제공한다. ( 가상화 인스턴스인 Virtual Machine을 관리하는 소프트웨어 이다. )


Oracle Virtual BoxVagrant를 설치 해야 한다. 

여러 Provider를 지원하기는 하지만, 기본 Provider는 VirtualBox이다. 


=> Vagrant 설치후 확인 : vagrant -v


http://rangken.github.io/blog/2015/vagrant-1/ ( Vagrant 기본 설정 및 명령어 )




Laravel Homestead는 공식 지원이며, 미리 설치된 Vagrant box이며, 로컬 머신에 PHP, HHVM, web server 또는 어떤 다른 소프트웨어의 설치가 필요없는 개발 환경을 제공한다.


=> 다양한 box들 : https://atlas.hashicorp.com/boxes/search



0. 설치 환경


- window 10
- virtual box 4.3.12 ( 5.0.x ~ 5.1.x 는 설치시 에러 )



1. 설치 및 셋업



1) HomeStead Vagrant Box 설치 


    -- Vagrant Box는 일종의 스냅샷 이미지 ( OS와 프로그램이 미리 설치되어 있는 이미지)

    -- Ubuntu 16.04.01 (homestead 4.4.0) ,PHP 7.1, HHVM, Nginx

    -- MySQL, Postgres, NodeJs, Redis, Memcached, Beanstalkd, Blackfire Profiler

> vargrant box add laravel/homestead



=> C:\Users\[계정명]\.vagrant.d\boxes\laravel-VAGRANTSLASH-homestead\0.4.0\virtualbox 에 가상 디스크가 생긴다.



2) Homestead 프로젝트 설치


--> git bash를 사용할 수 있는 환경을 구성후에 사용 할 것



   

(1) 홈 디렉토리에서 저장소 clone

> cd ~
> git clone https://github.com/laravel/homestead.git Homestead



   

(2) Homestead 디렉토리에서 git bash실행

> cd ~/Homestead
> bash init.sh

   => 홈 디렉토리밑에 .homestead/Homestead.yaml설정파일 생성


   또는 > laravel new example 와 같이 어플리케이션을 직접 생성



   

(3) Homestead.yaml 설정


    - cpu 개수는 적당히 늘려주기

    - 로컬 Window 공유 디렉토리 생성 하기 ( ~/Code )

    - sites변경시에는 갱신  : >vagrant reload --provision

---
ip: "192.168.10.10"    # homestead VM이 사용할 주소
memory: 2048
cpus: 2
provider: virtualbox   # Virtual Machine Provider

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa     # SSH로그인에 사용할 private key

folders:
    - map: ~/Code    # 로컬 디렉토리 경로
      to: /home/vagrant/Code    # VM의 디렉토리 경로

sites:
    - map: homestead.app  # 도메인 이름
      to: /home/vagrant/Code/Laravel/public   # 웹서버의 Document Root

databases:
    - homestead

# blackfire:
#     - id: foo
#       token: bar
#       client-id: foo
#       client-token: bar

# ports:
#     - send: 50000
#       to: 5000
#     - send: 7777
#       to: 777
#       protocol: udp

    - project 생성 : ~Code > composer create-project   laravel/laravel --no-dev --prefer-dist -vvv laravel


(4) Host 파일 설정하기

  -- 웹페이지 접속을 위한 도메인 등록

# %WINDIR%\System32\drivers\etc\hosts
192.168.10.10    homestead.app


   

(5) Vagrant Box 실행

    -- boot the VM & 자동으로 공유폴더와 Nginx 사이트를 구성한다.

C:\Users\[계정명]\Homestead\
C:\Users\[계정명]\Homestead\vagrant up
C:\Users\[계정명]\Homestead\

=> 이때  /.ssh/id_rsa가 Not Found일때 : > ~/.ssh/ssh-keygen 실행


$ ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/[계정명]/.ssh/id_rsa): /c/Users/[계정명]/.ssh/id_rsa already exists. Overwrite (y/n)? y Enter passphrase (empty for no passphrase): Enter same passphrase again:


=> 동시에 C:\Users\[계정명]\VirtualBox VMs에 폴더가 Homestead-xx 생긴다.


=> Console ,  userid/password : vagrant/vagrant


=> destroy시 : > vagrant destroy --force


=> SSH auth에서 에러 발생시, 아래 config.ssh.forward_agent = true를 Vagrantfile내에 추가



(6) Vagrant ssh 실행


C:\Users\[계정명]\Homestead\
C:\Users\[계정명]\Homestead\vagrant ssh
C:\Users\[계정명]\Homestead\

=> 접속 실패시 


1) config.ssh.forward_agent = true를 Vagrantfile내에 추가

Vagrant.configure("2") do |config| config.ssh.private_key_path = "~/.ssh/id_rsa" config.ssh.forward_agent = true end

2) id_rsa.pub 복사


~/.ssh/id_rsa.pub@guest 파일 내용을 ~/.ssh/authorized_key@host에 추가


 참조 : http://stackoverflow.com/questions/22922891/vagrant-ssh-authentication-failure



=> 추가로 다중 프로젝트(Laravel 어플리케이션) 생성하기

> vagrant ssh
> cd Code
> laravel new example

#수정하기 
#./homestead/Homestead.yaml

sites:
    - map: homestead.app
      to: /home/vagrant/Code/Laravel/public

    - map: example.app
      to: /home/vagrant/Code/example/public

databases:
    - homestead
    - example




==> 원문 : 


https://laravel.com/docs/5.1/homestead



Homestead environment ( Port Forward , 충돌시 변경되므로 부팅 로그를 확인) :

    • SSH: 2222 → Forwards To 22
    • HTTP: 8000 → Forwards To 80
    • HTTPS: 44300 → Forwards To 443
    • MySQL: 33060 → Forwards To 3306
    • Postgres: 54320 → Forwards To 5432



==> 참고:


https://goo.gl/lRnC8k ( vagrant로 node 개발 환경 구성 하기 )


http://mobicon.tistory.com/322 ( vagrant 개발 환경 구축 및 애플리케이션 공유하기 )

--> Node.js + MongoDB 개발환경


http://l5.appkr.kr/lessons/02-install-homestead-windows.html 

( Homestead 설치 (on Windows) )

--> SSH 설정, MySQL 접속(id/pw: homestead/secret)


http://m.blog.naver.com/two4zero/220602350718 ( laravel - Homestead 설치 )


http://k-story.tistory.com/333 (VirtualBox에서 xshell 연동하기.)

--> Virtual Box 네트워크 어댑터, 포트 포워딩 설정 ( 호스트 IP, 게스트 IP )


http://stackoverflow.com/questions/29450404/is-there-a-default-password-to-connect-to-vagrant-when-using-homestead-ssh-for ( 연결에 사용되는 default password )

--> vagrant@127.0.0.1's password:


* 기타 설치 에러 A:



Q : VBoxManage.exe hostonlyif create에러가 발생 할때

C:\Program Files\Oracle\VirtualBox\>VBoxManage.exe hostonlyif create
0%...
Progress state: E_FAIL
VBoxManage.exe: error: Failed to create the host-only adapter
VBoxManage.exe: error: Code E_FAIL (0x80004005) - Unspecified error
 (extended info not available)
VBoxManage.exe: error: Context: "int __cdecl handleCreate(struct HandlerArg *,int,int *)" 
at line 66 of file VBoxManageHostonly.cpp

Answer 1 : kaspersky 언인스톨, NDIS6 브릿지 드라이버 설청

Hi,
I found a solution preventing you to uninstall Kaspersky.
You have to install manually the VirtualBox Network drivers. You can found those drivers here :
C:\Program Files\Oracle\VirtualBox\drivers\network
There is two folders, go inside both of them and right click install on the *.inf files.
Now the installation of hosts only virtual networks adapters should be nice but don't boot up. You have to manually install a new service on your "VirtualBox Host-Only Network" adapter.
go to the network adapters list
right click on this network adapter choose "Properties"
click on the "Install..." button and add a service
choose The Manufacturer "Oracle Corporation" and the network service named "VirtualBox NDIS6 Bridged Networking driver".
Validate all the windows, and all should be OK. 

Answer 2 : 네트웍 설정 ( Virtual Box )을 아래와 같이 수정


https://www.virtualbox.org/ticket/14040






* ssh-config 확인하는 방법


> vagrant ssh-config
Host default
HostName 127.0.0.1
User vagrant
Port 2222
UserKnownHostsFile /dev/null
StrictHostKeyChecking no
PasswordAuthentication no
IdentityFile "/Users/MYUSER/.vagrant.d/insecure_private_key"
IdentitiesOnly yes
LogLevel FATAL
ForwardAgent yes



* 기타 설치 에러 B:


Q : Warning: Authentication failure. Retrying...이 지속적으로 발생할때


==> default: Forwarding ports...
default: 80 => 8080 (adapter 1)
default: 22 => 2222 (adapter 1)
==> default: Booting VM...
==> default: Waiting for machine to boot. This may take a few minutes...
default: SSH address: 127.0.0.1:2222
default: SSH username: vagrant
default: SSH auth method: private key
default: Warning: Connection timeout. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...
default: Warning: Authentication failure. Retrying...

실제 해결된 방법은 config.ssh.forward_agent = true를 Vagrantfile내에 추가하면 되었다.



Answer 1 : NAT -> Advanced 설정


http://stackoverflow.com/questions/40968297/laravel-homestead-hangs-at-ssh-auth-method-private-key-on-mac



Answer 2  : config.vm.boot_timeout = 600 을 추가하기


http://es.stackoverflow.com/questions/36242/error-config-vm-boot-timeout-en-vagrant-up-para-homestead



-- config.vm.boot_timeout = 600 ( Vagrantfile내에 추가 )

    config.vm.boot_timeout = 600 

    if File.exist? homesteadYamlPath then
        settings = YAML::load(File.read(homesteadYamlPath))
    elsif File.exist? homesteadJsonPath then
        settings = JSON.parse(File.read(homesteadJsonPath))
    end



Answer 3  : private key를  host 등록하기  


https://github.com/mitchellh/vagrant/issues/5186


0. vagrant ssh-config를 통해 IdentifyFile위치 확인 insecure_private.key.pub 내용 복사

$ vagrant ssh-config
Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile C:/Users/admin/.vagrant.d/insecure_private_key
  IdentitiesOnly yes
  LogLevel FATAL
  ForwardAgent yes

1. vagrant up중에 default: Warning: Authentication failure. Retrying...반복시에 중단

2. vagrant ssh접속 시도, passsword를 입력요청시에 vagrant를 입력
3. insecure_private.key.pub를 복사해서 ~/.ssh/authorized_keys에 추가 4. vagrant halt후에 vagrant up --provision으로 재시작

<예제>

    
    config.ssh.private_key_path = File.expand_path('~/.ssh/id_rsa')
    config.vm.boot_timeout = 600 

    if File.exist? homesteadYamlPath then
        settings = YAML::load(File.read(homesteadYamlPath))
    elsif File.exist? homesteadJsonPath then
        settings = JSON.parse(File.read(homesteadJsonPath))
    end


vagrant 실행 화면 ( 정상적인 상황 )
    
$ vagrant reload --provision
==> homestead-7: Attempting graceful shutdown of VM...
    homestead-7: Guest communication could not be established! This is usually because
    homestead-7: SSH is not running, the authentication information was changed,
    homestead-7: or some other networking issue. Vagrant will force halt, if
    homestead-7: capable.
==> homestead-7: Forcing shutdown of VM...
==> homestead-7: Checking if box 'laravel/homestead' is up to date...
==> homestead-7: Clearing any previously set forwarded ports...
==> homestead-7: Clearing any previously set network interfaces...
==> homestead-7: Preparing network interfaces based on configuration...
    homestead-7: Adapter 1: nat
    homestead-7: Adapter 2: hostonly
==> homestead-7: Forwarding ports...
    homestead-7: 80 (guest) => 8000 (host) (adapter 1)
    homestead-7: 443 (guest) => 44300 (host) (adapter 1)
    homestead-7: 3306 (guest) => 33060 (host) (adapter 1)
    homestead-7: 5432 (guest) => 54320 (host) (adapter 1)
    homestead-7: 22 (guest) => 2222 (host) (adapter 1)
==> homestead-7: Running 'pre-boot' VM customizations...
==> homestead-7: Booting VM...
==> homestead-7: Waiting for machine to boot. This may take a few minutes...
    homestead-7: SSH address: 127.0.0.1:2222
    homestead-7: SSH username: vagrant
    homestead-7: SSH auth method: private key
    homestead-7: Warning: Authentication failure. Retrying...
    homestead-7: Warning: Authentication failure. Retrying...
    homestead-7: Warning: Authentication failure. Retrying...
    homestead-7: Warning: Authentication failure. Retrying...
	....
    homestead-7: Warning: Authentication failure. Retrying...
    homestead-7: Warning: Authentication failure. Retrying...
    homestead-7: Warning: Authentication failure. Retrying...
==> homestead-7: Machine booted and ready!
==> homestead-7: Checking for guest additions in VM...
    homestead-7: The guest additions on this VM do not match the installed version of
    homestead-7: VirtualBox! In most cases this is fine, but in rare cases it can
    homestead-7: prevent things such as shared folders from working properly. If you see
    homestead-7: shared folder errors, please make sure the guest additions within the
    homestead-7: virtual machine match the version of VirtualBox you have installed on
    homestead-7: your host and reload your VM.
    homestead-7:
    homestead-7: Guest Additions Version: 5.1.10
    homestead-7: VirtualBox Version: 4.3
==> homestead-7: Setting hostname...
==> homestead-7: Configuring and enabling network interfaces...
==> homestead-7: Mounting shared folders...
    homestead-7: /vagrant => C:/Users/admin/Homestead
    homestead-7: /home/vagrant/Code => C:/Users/admin/Code
==> homestead-7: Running provisioner: file...
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: inline script
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: inline script
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: inline script
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: C:/Users/admin/AppData/Local/Temp/vagrant-shell20170103-6508-1tmfveg.sh
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: script: Creating Site: homestead.app
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: script: Creating Site: example.app
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: script: Restarting Nginx
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: script: Creating MySQL Database: homestead
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: script: Creating Postgres Database: homestead
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: script: Creating MySQL Database: example
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: script: Creating Postgres Database: example
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: script: Clear Variables
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: script: Update Composer
==> homestead-7: Updating to version 1.3.0 (stable channel).
==> homestead-7:     Downloading: Connecting...                                               Downloadi         ng: 100%
==> homestead-7: Use composer self-update --rollback to return to version 1.2.3
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: C:/Users/admin/AppData/Local/Temp/vagrant-shell20170103-6508-inqc9i.sh


블로그 이미지

StartGuide

I want to share the basic to programming of each category and how to solve the error. This basic instruction can be extended further. And I have been worked in southeast Asia more than 3 years. And I want to have the chance to work another country.

,
노출되는 이미지가 불편하시겠지만 양해를 구합니다. 노출, 클릭등에 관한 자료로 활용 중입니다.


Laravel(라라벨) 기초 요약

( 주로 Laravel 5.0~5.2 )





1) 어플리케이션 키



-- 세션 데이타를 암호화 하거나 laravel의 암호 패키지인 Crypt클래스로 암/복호화할떄 사용


-- composer나 installer가 프로젝트를 생성시에는 마지막 단계에서 키가 자동 생성됨


-- 임의로 직접 생성 : php artisan key:generate


-- 생성된 APP_KEY는 .env에 저장됨

   : 여러대의 서버를 운영할때는 동일 .env 파일을 사용해야 함


-- 키가 설정되어 있지 않다면, config/app.php에 설정된 기본키를 사용(보안 취약)




2) 설정 파일



-- 데이타 베이스 : config/database.php


    : key/value형식의 배열로 관리


    ex) 'host' => env('DB_HOST', 'localhost')

        : 환경 설정파일인 .env에서 DB_HOST항목을 읽고, 없으면 localhost를 사용


    : 'default' => 'mysql' 의 수정으로 데이타베이스 변경


-- 파일을 위한 캐시 : config/cache.php


-- 메일 설정 : config/mail.php


-- laravel 환경 설정 : config/app.php


    : 'debug' => env('APP_DEBUG', false) 에서 true로 변경하면


    : 'timezone' => 'Asia/Seoul'


    : 'url' => 'http://sample.com'

 

    : 'locale' => 'ko'   # 기본 locale은 en으로 되어 있음


    : 'log' => env('APP_LOG', 'single')  # 어플로그를 단일 파일로 로그는 남기는 설정


        ex) storage/logs/laravel.log 




3) laravel routing(라우팅)





-- url routing은 클라이언트가 요청한 url과 요청방식(get,post,delete,put등)에 따른 서버의 처리방식을 지정


-- Pretty UTL은 RESTful 기반의 웹서비스 제공


   ex) index.php?action=view&article=123


   ex) index.php/view/article/123


-- MVC패턴의 가장 앞에 위치하여 Front Controller라고 함


-- 라우팅 설정 : app/Http/routes.php ( Laravel 5.0~5.2 )

-- 라우팅 설정 : routes/web.php ( Laravel 5.3 )



--- 기본적인 라우트


Route::get('hello', function() {
    return 'Hello!';
});


--- 계층 구조


Route::get('hello/world', function(){
    return 'Hello World!';
});


--- 파라미터 전달

Route::get('hello/world/{name}', function($name){
    return 'Hello World!' . $name ;
});


--- 파라미터 전달 ( null 또는 default )

Route::get('hello/world/{name?}', function($name=null){
     return 'Hello World!' . $name ;
});


4) HTTP 응답


--- Response Class 사용


use Illuminate\Http\Response;
Route::get('hello/world/{name}', function(name) {
    $response = new Response('Hello World', $name, 200);
     return $response;
});


* use구문 선언과, new 객체를 통해 생성 번거롭다



--- response Helper Class 사용 ( use, new를 사용 안함)


Route::get('hello/world/{name}', function(name){
    $response = new Response('Hello World', $name, 200);
     return response('Hello World'. $name, 200)->header('Content-Type','text/plain');
});


* Method Chaining 가능 / 다중 헤더 설정



Route::get('hello/world/{name}', function(name){
    $response = new Response('Hello World', $name, 200);
    return response('Hello World'. $name, 200)
     ->header('Content-Type','text/plain')
     ->header('Cache-Control','max-age=' . 60*60. ".must-revalidate")  
});



* JSON 데이타 형식



Route::get('hello/world/{name}', function(name){
    $data = ['name' => 'Iron Man', 'gender'=>'Man'];
    return response()->json($data);
});


5) Views


--- View Class 사용 ( 점(.)을 계층 구분 )


Route::get('hello/html', function() {
    return View::make('hello.html');
});


* 위치 : resources/views/hello/html.php ( Views위치는 Laravel 5.0~5.3 동일 )


(laravel의 모든 view는 resources/view폴더에 위치 )



--- view Helper Class 사용

Route::get('hello/html', function() {
    return view('hello.html');
});

});


--- view에 변수 전달 


1) app/http/routes.php


 

Route::get('task/view', function() {
    $task = ['name' => 'Task 1', 'due_date' => '2015-06-01 12:00:11'];
 
    return view('task.view')->with('task', $task);
});



2) resource/views/task/view.php


 

< !doctype html >
< html lang="ko">
 <head>
     <meta charset="UTF-8">
     <title>Ok</title>
 </head>
 <body>
     <h1>할일 정보</h1>
     <p> 할 일: <?= $task['name'] ?></p>
     <p> 기 한:   <?= $task['due_date'] ?></p>
 </body>
</html>



6) Blade


: laravel에 포함 되어 있는 Template Engine

: 기본 View와 구분하기 위해 Blade Template 파일은 .blade.php의 확장자 사용


-- 변수 출력 : {{ $var }} 를 사용 ( <?= $var ?> 과 동일한 기능)

    : XSS, Cross-Site Scripting의 악의적인 자바스크립트 동작 막기

 
<!doctype html>
<html lang="ko">
 <head>
     <meta charset="UTF-8">
     <title>Ok</title>
 </head>
 <body>
     <h1>할일 정보</h1>
     <p> 작 업: {{ $task['name'] }} </p>
     <p> 기 한: {{ $task['due_date'] }} </p>
 </body>
</html>

-- 조건문 : 키워드 앞에 @를 붙여 준다.

1) 기존 php 코드
 
= 5) { ?>
 

는 5 보다 큽니다.

* php의 복잡한 코드는 가독성도 떨어지고, 실수할 여지가 많다. 2) Blade 조건문
 
@if ($num > 5)
 

{{ $num }} 는 5 보다 큽니다.

@else

{{ $num }} 은 5보다 작습니다.

@endif


7) Layout 상속


1) resources/views/layouts/master.blade.php
<!DOCTYPE html>
<html lang='ko'>
<head>
    <meta charset='utf-8'>
    <title> @yield('title')</title>
    <link href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css' rel='stylesheet'>
</head>
<body>
    <div class='container'>
        @yield('content')
    </div>
</body>
</html> 


* @yield : 자식 컨텐츠에 구현하도록 양보하는 키워드 ( @section 키워드로 구현 )
* @extends : 자식 페이지는 상속할 부모 템플릿을 extends 키워드로 지정
2) resources/views/task/list3.blade.php
 
@extends('layouts.master')
@section('title')
    할일 목록
@endsection
  
@section('content')
    
        @foreach($tasks as $task)
            
        @endforeach
        
할 일 기 한
{{ $task['name'] }} {{ $task['due_date'] }}
@endsection

* Layout 상속 : https://www.lesstif.com/pages/viewpage.action?pageId=24445482



8) Blade 디버깅


- Blade Template : Blade Compiler -> Legacy PHP Code(파일명 변경됨) ->PHP Engine




- 컴파일된 파일 : storage/framework/view 폴더에 위치



원문 :

https://www.lesstif.com/pages/viewpage.action?pageId=28606603

쉽게 배우는 라라벨5 프로그래밍, 2016, Sep



블로그 이미지

StartGuide

I want to share the basic to programming of each category and how to solve the error. This basic instruction can be extended further. And I have been worked in southeast Asia more than 3 years. And I want to have the chance to work another country.

,
노출되는 이미지가 불편하시겠지만 양해를 구합니다. 노출, 클릭등에 관한 자료로 활용 중입니다.



Laravel를 xampp에 설치하기 ( windows 기준 )




1. 사전 준비 ( 설치된 상태라면, pass )



1) xampp 설치하기


다운로드




2) composer설치하기 ( 설치후 composer명령어 실행으로 정상 설치여부를 확인 )


다운로드 : Composer-Setup.exe






2. xampp 구성 변경하기



1) 도메인 정하고, virtual hosts 수정하기


virtual host등록 위치 : [ C:\xampp설치위치]\apache\conf\extra\httpd-vhosts.conf


# VirtualHost for LARAVEL.DEV

<virtualhost laravel.dev:80>
    DocumentRoot "C:\xampp\htdocs\laravel\public"
    ServerAdmin laravel.dev
    <directory "c:\xampp\htdocs\laravel">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </directory>
</virtualhost>


샘플 도메인 : laravel.dev


# localhost name resolution is handled within DNS itself.
#    127.0.0.1       localhost
#    ::1             localhost

127.0.0.1    laravel.dev


시스템 host 등록(관리자권한으로 편집) : c:\windows\system32\drivers\etc\hosts




2) install laravel 명령어 실행


위치 : htdocs폴더


명령어 : composer create-project laravel/laravel {laravel} "5.1.*"


* 실행 결과 : Laravel를 다운로드하고 설치

* {laravel} : 현재 위치에 생성될 프로젝트명(폴더명으로 사용)





* xampp 실행후 웹 화면







원문 :

https://www.codementor.io/magarrent/tutorials/how-to-install-laravel-5-xampp-windows-du107u9ji


유사 페이지 :


https://laravel.com/docs/5.3/installation#installing-laravel




설치 이후 


한글 강좌는 아래 링크로...


https://www.lesstif.com/pages/viewpage.action?pageId=28606603




영문 강좌 사이트는...

https://www.tutorialspoint.com/laravel/index.htm




할일 목록 ( Task List ) 만들기


https://laravel.com/docs/5.1/quickstart

블로그 이미지

StartGuide

I want to share the basic to programming of each category and how to solve the error. This basic instruction can be extended further. And I have been worked in southeast Asia more than 3 years. And I want to have the chance to work another country.

,
노출되는 이미지가 불편하시겠지만 양해를 구합니다. 노출, 클릭등에 관한 자료로 활용 중입니다.


JavaScript 파일을 강제로 갱신하기(JS 자동 업데이트)


1. ?version추가


2. 1일 제한, 항상 최신

Cache-Control: max-age=86400, must-revalidate Cache-Control: no-cache, must-revalidate


3. 강제 갱신(ASP.NET)


4. 파라미터에 파일크기를 추가하기


원문 :

http://stackoverflow.com/questions/32414/how-can-i-force-clients-to-refresh-javascript-files


참조

http://kanu.tistory.com/30  JS, CSS 파일의 수정한 내용 적용 안될때 처리 방법



블로그 이미지

StartGuide

I want to share the basic to programming of each category and how to solve the error. This basic instruction can be extended further. And I have been worked in southeast Asia more than 3 years. And I want to have the chance to work another country.

,
노출되는 이미지가 불편하시겠지만 양해를 구합니다. 노출, 클릭등에 관한 자료로 활용 중입니다.

선호도 높은 16개의 웹 디자인 폰트(2007년 기준..)


-Helvetica, Arial

-Verdana

-Georgia

-Trebuchet

-Century Gothic ( ? 이 편집기는 지원 안됨 )

-Lucida Grande ( ? 이 편집기는 지원 안됨 )




출처 :

This article is the 2nd one in the Web Design series. It was inspired and partially based on the results of the interviews conducted with 35 web designers by Smashing Magazine.

http://www.inspirationbit.com/16-best-loved-font-bits-in-web-design/



* Word에서 사용하면 좋은 글꼴



http://www.officetutor.co.kr/board/faq_lib/frm_vba_content.asp?page=8&idx=65


블로그 이미지

StartGuide

I want to share the basic to programming of each category and how to solve the error. This basic instruction can be extended further. And I have been worked in southeast Asia more than 3 years. And I want to have the chance to work another country.

,