728x90
반응형

* Ajax 란?

 - 비동기 JavaScript 와 XML 을 말한다. 간단히 말하면, 서버측 Scripts 와 통신하기 위한 XMLHttpRequest 객체를 사용하는 것을 말한다

서버측으로 다양한 형식(JSON, XML, HTML 및 일반 텍스트 형식들)의 정보를 주고 받을 수 있다. 

비동기성을 통해 페이지 전체를 리프레쉬 하지 않고 사용자의 Event가 있으면 전체 페이지가 아닌 일부분만을 업데이트 할 수 있다.

서버로부터 받은 데이터로 작업을 한다


* Asynchronous JavaScript And Xml

1) 기존 방식의 사이트

 - 웹 어플리케이션의 기존 구현 방식의 특징

 - 웹브라우저가 웹 서버에 요청을 전송한다

 - 웹서버는 JSP/PHP/ASP 등의 서버측 어플리케이션을 사용해서 사용자의 요청을 처리한 뒤, 처리 결과를 HTML로 생성해서 웹 브라우저에 전송한다.

 - 웹 브라우저는 응답으로 받은 HTML을 분석한 뒤 그 내용을 화면에 그려준다.

 - 웹 브라우저가 웹 서버와 통신을 하고, 요청 결과는 HTML로 생성되고, 사용자의 입장에서는 페이지 이동이 발생하게 된다.

2) Ajax 방식의 사이트

 - 제시어 기능이 있다. 이는 '사용자에게 즉각적인 반응과 풍부한 UI 경험을 제공'한다는 것이다.

 - Ajax 는 ActiveX 와 같이 특정한 웹 브라우저에서만 제공하는 기능에 의존하지 않는다. 어떤 브라우저를 사용하든지 상관없이 웹 어플리케이션을 사용할 수 있게 된다.

3) Ajax 의 주요 구성요소

 - XMLHttpRequest : 웹 서버와 통신을 담당한다. 사용자의 요청을 웹 서버에 전송하고, 웹 서버로부터 받은 결과를 웹 브라우저에 전달한다.

 - DOM : 문서의 구조를 나타낸다. 폼 등의 정보나 화면 구성을 조작할 때 사용한다.

 - CSS : 글자색, 배경색, 위치, 투명도 등 UI 와 관련된 부분을 담당한다.

 - JavaScript : 사용자가 마우스를 드래그하거나 버튼을 클릭하면, XMLHttpReqeust 객체를 사용해서 웹 서버에 요청을 전송한다. 

또한, XMLHttpRequest 객체로부터 응답이 오면 DOM, CSS 등을 사용해서 화면을 조작한다.

4) 이벤트 발생 과정

 - 사용자가 이벤트를 발생시키면 JavaScript는 DOM을 사용해서 필요한 정보를 구한 뒤, XMLHttpRequest 객체를 통해서 웹 서버에 요청을 전달한다.

 - 웹 서버는 XMLHttpRequest로부터의 요청을 알맞게 처리한 뒤, 그 결과를 XML 이나 단순 텍스트로 생성해서 XMLHttpRequest 에 전송한다.

 - 서버로부터 응답이 도착하면 XMLHttpRequest 객체는 JavaScript에 도착 사실을 알리게 되고, JavaScript는 응답 데이터와 DOM을 조작해서 사용자 화면에 반영한다

5) Ajax 가 기존과 다른 차이점

 - 웹 브라우저가 아닌 XMLHttpRequest 객체가 웹 서버와 통신한다.

 - 웹 서버의 응답 결과가 HTML이 아닌 XML 또는 단순 text이다

 - 페이지 이동 없이 결과가 화면에 반영된다.


* 서버로의 비동기 통신 기술과 동적 클라이언트 스크립팅 기법을 하나로 묶은 것.

* 웹 브라우저가 직접 웹 서버와 통신하며 데이터를 주고 받는 것과 다르게 자바스크립트가 DOM을 이용해서 XMLHttpRequest 객체를 통해서 웹 서버에게 요청을 전달한다. 웹 서버는 요청을 처리하고 그 결과를 XML 이나 text로 생성해서 다시 XMLHttpRequest에게 넘긴다.그리고 그 결과는 다시 자바스크립트가 받아서 DOM을 이용해 조작해서 화면에 반응한다.



출처: http://smiler.tistory.com/entry/Ajax란?category=615519 [아직은 내가 쓴 글보다 퍼온 글이 훨씬 많음]

728x90
반응형

'Web Programming > front-end' 카테고리의 다른 글

jQuery input 배열 값 가져오기  (0) 2018.08.30
오른쪽 마우스 금지 소스 / 드래그 금지 소스  (1) 2014.04.09
<thead><tbody>  (0) 2013.09.30
<colgroup>  (0) 2013.09.25
<div>코딩  (0) 2013.09.25
728x90
반응형

◼︎ 슬랙의 장점



1. 파일공유 


메신저로 협업 커뮤니케이션 시 가장 어려운점은 메신저에서 공유한 파일을 다시 찾는 것. 

이 부분을 쉽게 해결해 준 점이 슬랙의 가장 큰 장점이다. 

파일을 쉽게 공유하고, 그 파일에 대한 커뮤니케이션도 별도로 가능하게 했다.







2. 기존에 사용 중인 서비스의 알림 통합


메신저 뿐이었다면 이렇게 전 세계적인 열풍이 일진 않았을 것이다. 

슬랙의 열풍은 기존에 사용 중이던 도구들을 버리지 않고, 그대로 사용하면서 각 도구들의 알림을 통합해 준 부분이 Killing Spec 이었다.

국내 서비스들 중에서는 적용할 수 있는 서비스가 많지 않지만, 그럼에도 많이 사용하고 있는 Mailchimp, Github, JIRA, Asana, Trello 등의 알림을 슬랙에서 받아볼 수 있다. 






3. 개발자들이 원하는 서비스로의 확장


그 외에도, 슬랙은 파워풀한 API를 제공한다. 

이 API를 통해, 전 세계의 개발자들은 본인이 원하는 정보를 슬랙을 통해 알림을 받을 수 있도록 자기만의 서비스를 개발한다. 

Slack API는 귀찮았던 부분들을 조금의 노력을 들여 쉽게 해결할 수 있어, 개발자들에게 더 없이 좋은 도구가 되었다, 







◼︎ 슬랙의 불편한 점


이렇게 큰 장점을 가지고 있음에도 불구하고 슬랙만으로는 협업 커뮤니케이션에 어려움을 느낀다.

많은 슬랙 사용자들은 슬랙과 히스토리를 정리하기 위한 도구, 메일을 함께 사용한다. 



1. 메신저 플랫폼의 한계


메신저는 <대화 상대>와 <대화 창>을 통해 커뮤니케이션 하는 플랫폼이다. 

모든 정보의 전달은 대화상대가 있어야 하며, 주제와 관련없이 대화창을 통해 정보가 구분된다. 



이슈(주제)가 아닌 대화창(대화상대)으로 정보를 구분

사람들은 자료를 찾을 때 머리 속에, 파일의 제목이나 이미지, 이슈 자체, 혹은 내가 했던 일이나 의사결정 중 하나를 먼저 떠올리게 된다. 

떠올렸던 정보를 기준으로 연관된 자료를 찾는다.

메신저는 대화상대를 기준으로 대화창을 열어 자료를 찾을 수 밖에 없다보니, 지난 히스토리나 정보를 찾는데 한계가 있다. 

다행히 슬랙은 "파일"에 있어서는 따로 모아주지만, 파일이 아닌 정보의 전달이나 의사결정 과정 등은 여전히 한계를 가진다. 







이슈의 혼재 + 일상대화까지 혼재

또한, 대화창을 기준으로 모든 대화가 오가다 보니, 하나의 대화창 안에서 너무 많은 주제로 대화하게 된다. 

중요한 정보와 일상적인 대화가 섞여 결국 원하는 내용을 찾으려면 대화내용을 모두 읽을 수 밖에 없다.





슬랙에서는 검색을 통해 이 부분을 해결한다고 하지만, text 검색의 한계는 극복하기 어려운 것이 사실이다.

같은 맥락을 가진 내용도 사람마다 다른 단어를 사용하게 되는데, 자유도가 높은 메신저 대화에서는 단어 사용의 자유도 역시 높아 검색이 쉽지 않다. 

가령, 팀내 대화에서도, '콜라비 리뉴얼 버전'을 누군가는 "서비스"라고 칭하고, 또 다른 사람들은 "제품", "리뉴얼", "PC버전", "데스크탑", "PC웹" 등 너무 많은 단어들로 지칭되고 있는 현상을 보였다. 

(이 부분은 메신저 플랫폼의 한계라기 보다, text searching 자체의 한계라고 볼 수 있다.)





2. 실시간 커뮤니케이션의 비효율성


실시간 커뮤니케이션은 즉답을 얻을 수 있다는 큰 효과가 있다.

다만, 말을 거는 사람이 원하는 타이밍에 커뮤니케이션이 시작된다. 

이는 메시지를 받는 사람으로 하여금 집중하던 일에 방해요소가 될 수 있다. 이 부분이 업무 효율을 크게 떨어뜨린다. 

(실시간 커뮤니케이션과 비실시간 커뮤니케이션의 장단점은 별도의 글에서 따로 다룰 예정이다.)


또한, 단체창의 경우 대화에 꼭 필요하지 않은 사람까지 알림을 받게 되고, 이 알림 역시 주제별로 걸러낼 수 없다. 

단체창은 너무 괴롭지만, 혹시 중요한 정보를 놓칠세라 결국 하나하나 다 읽어보게 된다. 

위에서 언급했다시피 메신저는 <대화창>을 기준으로 정보가 전달되고 구분되기 때문이다. 



출처: http://blog.collabee.co.kr/45 [콜라비 블로그 :: 협업툴 collabee]

728x90
반응형

'Web Programming' 카테고리의 다른 글

JAVA SFTP 파일 업로드 다운로드 ( JSCH )  (0) 2023.02.17
MVC Pattern  (0) 2018.09.05
tracert와 traceroute의 차이점  (0) 2018.08.30
프레임워크와 라이브러리의 차이  (0) 2018.08.29
캐시와 쿠키의 차이  (0) 2018.08.29
728x90
반응형

1. PHP Data Types

 PHP는 아래 데이터 타입을 지원합니다:

 - String

 - Integer

 - Float (floating point number - also called double)

 - Boolean

 - Array

 - Object

 - NULL

 - Resource



2. PHP String

 String은 문자의 연속입니다: "Hello World!" 같이

 

 String은 따옴표 안에 어떠한 텍스트든 존재합니다. 따옴표는 쌍따옴표든 사용가능 합니다:


1
2
3
4
5
6
7
8
<?php 
$x = "Hello world!";
$y = 'Hello world!';
 
echo $x;
echo "<br>"
echo $y;
?>
cs
 







3. PHP Integer

 Integer는 전체 숫자입니다. 숫자의 범위는 -2,147,483,648 ~ + 2,147,483,647 입니다.


 Integer의 규칙:

  - 적어도 한 숫자는 가져야 합니다

  - 콤마나 여백을 포함해선 안됩니다.

  - 소수점을 가져서는 안됩니다.

  - 양수나 음수를 가질 수 있습니다.

 



1
2
3
4
<?php 
$x = 5985;
var_dump($x);
?>
cs

 







4. PHP Float

 Float는 소수점을 갖는 숫자이거나 지수 형태의 숫자입니다.




1
2
3
4
<?php 
$x = 10.365;
var_dump($x);
?>
cs
 







5. PHP Boolean

 Boolean은 두 개의 상태를 표현합니다: TRUE 나 FALSE



$x = true;
$y = false;



 

 Boolean은 조건 테스팅에 사용됩니다. 




6. PHP Array

 Array는 단일 변수에 여러 값을 저장합니다.


 
1
2
3
4
<?php 
$cars = array("Volvo","BMW","Toyota");
var_dump($cars);
?>
cs







7. PHP Object

 Object는 데이터가 저장되고 데이터가 어떻게 처리될지에 대한 정보를 갖는 데이터 타입입니다.


 PHP에서 Object는 명시적으로 선언해야 합니다.


 먼저, Object의 Class를 선언해야 합니다. 




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<!DOCTYPE html>
<html>
<body>
 
<?php
class Car {
     function Car() {
         $this->model = "VW";
     }
}
// create an object
$herbie = new Car();
 
// show object properties
echo $herbie->model;
?>
 
</body>
</html>
cs

 


 




 







8. PHP NULL Value

 Null은 NULL 값만을 갖는 특별한 데이터 타입입니다.


 NULL인 데이터타입인 변수는 어떠한 값도 할당받지 않은 변수입니다.


 * 변수의 값 할당 없이 생성된 변수는 자동적으로 NULL 값을 할당합니다.



 
1
2
3
4
5
<?php
$x = "Hello world!";
$x = null;
var_dump($x);
?>
cs





9. PHP Resource

 특별한 Resource 타입은 사실상 데이터 타입이 아닙니다. Resource는 함수의 참조를 저장하거나 외부 자원을 저장합니다.


 resource 데이터 타입을 사용하는 일반적인 예제는 데이터 베이스 호출입니다.




출처: http://palpit.tistory.com/273 [palpit's log-b]

728x90
반응형

'Web Programming > php' 카테고리의 다른 글

php new line to br nl2br()  (0) 2018.09.05
PHP 문자열 길이 (strlen, mb_strlen 함수)  (0) 2018.09.04
php include, require  (0) 2018.09.03
php 배열  (0) 2018.09.03
php 함수 function  (0) 2018.09.03
728x90
반응형

<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %> 


${fn:length(boardList)} 

728x90
반응형

'Web Programming > java-jsp' 카테고리의 다른 글

TDD 테스트 주도 개발방법론  (0) 2018.09.04
클래스 정보 가져오기 - 리플렉션  (0) 2018.09.04
For input string: ""  (0) 2018.09.04
Jsoup parser 크롤링  (0) 2018.08.30
java 경력 기술 면접 질문 리스트  (0) 2018.08.29
728x90
반응형

<url-pattern>/</url-pattern>

728x90
반응형

'Web Programming > spring' 카테고리의 다른 글

spring resttemplate timeout  (0) 2018.09.05
@ResponseBody @RestController  (0) 2018.09.04
BeanCreationException  (0) 2018.09.04
스프링 프레임워크 (Spring Framework)란?  (0) 2018.08.29
Dependency Injection (의존성 주입)이란?  (0) 2018.08.29

+ Recent posts