Ctrl + ↑ Позднее

EMMET — Справочник сокращений для ускорения верстки

25 августа 2016, 16:28

Справочник EMMET сокращений или шпаргалка EMMET представляет собой сборник всех комбинаций команд или аббревиатур широко известного плагина для ускорения верстки.

EMMET может все использоваться совместно с такими редакторами, как Sublime Text, PHPStorm и WebStorm, NetBeans, Eclipse, Aptana, Coda, TextMate, Komodo Edit, Notepad++, CodeMirror, Brackets, Adobe Dreamviewer и Ace

оф. сайт: http://emmet.io/


Базовый синтаксис EMMET

Дочерний: >
Соединение: +
Поместить выше (в дереве HTML): ^
Группировать: ()
Умножение: *
id и class
Атрибуты: []
Текст: {}


Отдельно рассмотрим HTML сокращения.

!
a:link
a:mail
base
br
link
link:css
link:favicon
link:rss
meta:utf
meta:vp
meta:compat
script:src
img
ifr
emb
obj
map+
area
form:get
form:post

Atom — современный редактор кода

25 августа 2016, 15:57

Atom — современный редактор кода (A hackable text editor for the 21st Century).
оф. сайт: https://atom.io/

Видео обзор данного редактора

Популярные плагины для веб разработки:

  • atom-beautify
  • autocomplete-html-entities
  • color-picker
  • emmet
  • git-plus
  • minimap

Немного об Atom. Данный редактор кода разработан Гитхаб (github).


Atom не является обычным веб-приложением. Это специализированный вариант браузера Chromium, переделанный так, чтобы быть в первую очередь текстовым редактором, а не веб-браузером. Каждое окно Atom — это отдельная локальная веб-страница.


За такими проектами будущее, как говорят сами разработчики: «Мы уверены в будущем платформы, на которой построен Atom, ведь веб-технологии развиваются совместными усилиями целой отрасли. Нативные технологии приходят и уходят, а веб становится всё лучше и лучше с каждым годом. Мы с удовольствием будем использовать все его возможности.»

Детально о JOIN в SQL

23 августа 2016, 15:56

Рассмотрим 7 типов join:

  1. INNER JOIN
  2. LEFT JOIN
  3. RIGHT JOIN
  4. FULL OUTER JOIN (в MySQL UNION)
  5. LEFT JOIN EXCLUDING INNER JOIN
  6. RIGHT JOIN EXCLUDING INNER JOIN
  7. OUTER JOIN EXCLUDING INNER JOIN


    Наглядно посмотрим в чем разница.

А теперь подробно о каждом из них.


Inner JOIN

SELECT <select_list> 
FROM Table_A A
INNER JOIN Table_B B
ON A.Key = B.Key



Left JOIN

SELECT <select_list>
FROM Table_A A
LEFT JOIN Table_B B
ON A.Key = B.Key



Right JOIN

SELECT <select_list>
FROM Table_A A
RIGHT JOIN Table_B B
ON A.Key = B.Key



Outer JOIN

SELECT <select_list>
FROM Table_A A
FULL OUTER JOIN Table_B B
ON A.Key = B.Key



Left Excluding JOIN

SELECT <select_list> 
FROM Table_A A
LEFT JOIN Table_B B
ON A.Key = B.Key
WHERE B.Key IS NULL



Right Excluding JOIN

SELECT <select_list>
FROM Table_A A
RIGHT JOIN Table_B B
ON A.Key = B.Key
WHERE A.Key IS NULL



Outer Excluding JOIN

SELECT <select_list>
FROM Table_A A
FULL OUTER JOIN Table_B B
ON A.Key = B.Key
WHERE A.Key IS NULL OR B.Key IS NULL



А теперь все это на примере 2 простых таблиц из БД:

TABLE_A
  PK Value
---- ----------
   1 FOX
   2 COP
   3 TAXI
   6 WASHINGTON
   7 DELL
   5 ARIZONA
   4 LINCOLN
  10 LUCENT

TABLE_B
  PK Value
---- ----------
   1 TROT
   2 CAR
   3 CAB
   6 MONUMENT
   7 PC
   8 MICROSOFT
   9 APPLE
  11 SCOTCH

-- INNER JOIN
SELECT A.PK AS A_PK, A.Value AS A_Value,
       B.Value AS B_Value, B.PK AS B_PK
FROM Table_A A
INNER JOIN Table_B B
ON A.PK = B.PK

A_PK A_Value    B_Value    B_PK
---- ---------- ---------- ----
   1 FOX        TROT          1
   2 COP        CAR           2
   3 TAXI       CAB           3
   6 WASHINGTON MONUMENT      6
   7 DELL       PC            7

(5 row(s) affected)

-- LEFT JOIN
SELECT A.PK AS A_PK, A.Value AS A_Value,
B.Value AS B_Value, B.PK AS B_PK
FROM Table_A A
LEFT JOIN Table_B B
ON A.PK = B.PK

A_PK A_Value    B_Value    B_PK
---- ---------- ---------- ----
   1 FOX        TROT          1
   2 COP        CAR           2
   3 TAXI       CAB           3
   4 LINCOLN    NULL       NULL
   5 ARIZONA    NULL       NULL
   6 WASHINGTON MONUMENT      6
   7 DELL       PC            7
  10 LUCENT     NULL       NULL

(8 row(s) affected)

-- RIGHT JOIN
SELECT A.PK AS A_PK, A.Value AS A_Value,
B.Value AS B_Value, B.PK AS B_PK
FROM Table_A A
RIGHT JOIN Table_B B
ON A.PK = B.PK

A_PK A_Value    B_Value    B_PK
---- ---------- ---------- ----
   1 FOX        TROT          1
   2 COP        CAR           2
   3 TAXI       CAB           3
   6 WASHINGTON MONUMENT      6
   7 DELL       PC            7
NULL NULL       MICROSOFT     8
NULL NULL       APPLE         9
NULL NULL       SCOTCH       11

(8 row(s) affected)

-- OUTER JOIN
SELECT A.PK AS A_PK, A.Value AS A_Value,
B.Value AS B_Value, B.PK AS B_PK
FROM Table_A A
FULL OUTER JOIN Table_B B
ON A.PK = B.PK

A_PK A_Value    B_Value    B_PK
---- ---------- ---------- ----
   1 FOX        TROT          1
   2 COP        CAR           2
   3 TAXI       CAB           3
   6 WASHINGTON MONUMENT      6
   7 DELL       PC            7
NULL NULL       MICROSOFT     8
NULL NULL       APPLE         9
NULL NULL       SCOTCH       11
   5 ARIZONA    NULL       NULL
   4 LINCOLN    NULL       NULL
  10 LUCENT     NULL       NULL

(11 row(s) affected)

-- LEFT EXCLUDING JOIN
SELECT A.PK AS A_PK, A.Value AS A_Value,
B.Value AS B_Value, B.PK AS B_PK
FROM Table_A A
LEFT JOIN Table_B B
ON A.PK = B.PK
WHERE B.PK IS NULL

A_PK A_Value    B_Value    B_PK
---- ---------- ---------- ----
   4 LINCOLN    NULL       NULL
   5 ARIZONA    NULL       NULL
  10 LUCENT     NULL       NULL
(3 row(s) affected)

-- RIGHT EXCLUDING JOIN
SELECT A.PK AS A_PK, A.Value AS A_Value,
B.Value AS B_Value, B.PK AS B_PK
FROM Table_A A
RIGHT JOIN Table_B B
ON A.PK = B.PK
WHERE A.PK IS NULL

A_PK A_Value    B_Value    B_PK
---- ---------- ---------- ----
NULL NULL       MICROSOFT     8
NULL NULL       APPLE         9
NULL NULL       SCOTCH       11

(3 row(s) affected)

-- OUTER EXCLUDING JOIN
SELECT A.PK AS A_PK, A.Value AS A_Value,
B.Value AS B_Value, B.PK AS B_PK
FROM Table_A A
FULL OUTER JOIN Table_B B
ON A.PK = B.PK
WHERE A.PK IS NULL
OR B.PK IS NULL

A_PK A_Value    B_Value    B_PK
---- ---------- ---------- ----
NULL NULL       MICROSOFT     8
NULL NULL       APPLE         9
NULL NULL       SCOTCH       11
   5 ARIZONA    NULL       NULL
   4 LINCOLN    NULL       NULL
  10 LUCENT     NULL       NULL

(6 row(s) affected)

XRDP для сервера Debian

30 мая 2016, 14:33

Установка графической оболочки и XRDP

Обновляем список доступных пакетов:

apt-get update && apt-get upgrade

Устанавливаем графическое окружение и xRDP:

apt-get -y install gnome-desktop-environment
apt-get -y install xrdp nano

Редактируем файл запуска xRDP. Наща цель — настроить автоматическую загрузку графической оболочки при запуске VPS. Воспользуемся любым редактором, например, nano:

nano /etc/xrdp/startwm.sh
Добавляем в файл startwm.sh следующие строки:

#!/bin/sh
if [ -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi
. /etc/X11/Xsession
gnome-session

В обязательном порядке добавьте в конце пустую строку. Сохраните результаты при помощи нажатия клавиш Ctrl+O и выйдите из меню редактора — Ctrl+X.

Делаем перезапуск xRDP и сервера

service xrdp restart
reboot
Debian   Gnome   XRDP

Python Django — первое приложение

30 мая 2016, 11:33

Разработка на Python обязательно должны быть на Linux- системах.
Рассмотрим создание первого тестового прилежания на framework Django. К примеру ОС Debian.

По-умолчанию Python уже установлен, установим среду и framework Django, после чего запустим его, локальный адрес будет: 127.0.0.1:8000
Приступим:

apt-get install python-pip python-dev build-essential

pip install pip --upgrade

easy_install virtualenv

virtualenv --no-site-packages djangoenv

cd djangoenv

source bin/activate

На экране увидим что то похожее:
(djangoenv) root@debian:/var/djangoenv#

Итак, далее:
easy_install django

cd bin

django-admin.py startproject firstapp

cd firstapp

python manage.py runserver

На экране увидим:
Starting development server at http://127.0.0.1:8000/

Готово, открываем браузер и смотрим.

Ctrl + ↓ Ранее