aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergey Nazaryev <sergey@nazaryev.ru>2016-11-11 22:11:04 +0300
committerSergey Nazaryev <sergey@nazaryev.ru>2016-11-11 23:02:00 +0300
commit585a141866bafe5dbb41208abf8f24b91e7e1154 (patch)
tree09a5c362cb4c59301ee751cc5982d6b980985cb1
downloadportfolio-585a141866bafe5dbb41208abf8f24b91e7e1154.zip
portfolio-585a141866bafe5dbb41208abf8f24b91e7e1154.tar.gz
portfolio-585a141866bafe5dbb41208abf8f24b91e7e1154.tar.bz2
Initial release
-rw-r--r--Gemfile21
-rw-r--r--Gemfile.lock53
-rw-r--r--README.md14
-rw-r--r--_config.yml110
-rw-r--r--_includes/nav.html29
-rw-r--r--_layouts/articles.html12
-rw-r--r--_layouts/default.html22
-rw-r--r--_layouts/page.html9
-rw-r--r--_layouts/post.html12
-rw-r--r--_layouts/projects.html72
-rw-r--r--_posts/2016-05-20-good-designs.md28
-rw-r--r--_posts/2016-05-20-seo.md161
-rw-r--r--_posts/2016-11-11-linux-spb.md60
-rw-r--r--articles.md7
-rw-r--r--assets/age.js13
-rw-r--r--assets/candara.ttfbin0 -> 218504 bytes
-rw-r--r--assets/external-link.pngbin0 -> 144 bytes
-rw-r--r--assets/favicon.icobin0 -> 1150 bytes
-rw-r--r--assets/products/emuteam.pngbin0 -> 81401 bytes
-rw-r--r--assets/products/emuteam_icon.pngbin0 -> 5239 bytes
-rw-r--r--assets/products/exhosting.pngbin0 -> 65131 bytes
-rw-r--r--assets/products/exhosting_icon.pngbin0 -> 2548 bytes
-rw-r--r--assets/products/gy.jpgbin0 -> 363543 bytes
-rw-r--r--assets/products/gy_icon.pngbin0 -> 1423 bytes
-rw-r--r--assets/products/kopipasta.pngbin0 -> 58686 bytes
-rw-r--r--assets/products/kopipasta_icon.pngbin0 -> 7192 bytes
-rw-r--r--assets/products/lovesushi.pngbin0 -> 97984 bytes
-rw-r--r--assets/products/lovesushi_icon.pngbin0 -> 6493 bytes
-rw-r--r--assets/products/mobium.pngbin0 -> 32675 bytes
-rw-r--r--assets/products/mobium_icon.pngbin0 -> 3684 bytes
-rw-r--r--assets/products/yurcom.pngbin0 -> 47180 bytes
-rw-r--r--assets/products/yurcom_icon.pngbin0 -> 2796 bytes
-rw-r--r--assets/style.css268
-rw-r--r--forge.md38
-rw-r--r--index.md3
35 files changed, 932 insertions, 0 deletions
diff --git a/Gemfile b/Gemfile
new file mode 100644
index 0000000..d846141
--- /dev/null
+++ b/Gemfile
@@ -0,0 +1,21 @@
+source "https://rubygems.org"
+ruby RUBY_VERSION
+
+# Hello! This is where you manage which Jekyll version is used to run.
+# When you want to use a different version, change it below, save the
+# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
+#
+# bundle exec jekyll serve
+#
+# This will help ensure the proper Jekyll version is running.
+# Happy Jekylling!
+gem "jekyll", "3.3.0"
+
+# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
+# uncomment the line below. To upgrade, run `bundle update github-pages`.
+# gem "github-pages", group: :jekyll_plugins
+
+# If you have any plugins, put them here!
+group :jekyll_plugins do
+ gem "jekyll-feed", "~> 0.6"
+end
diff --git a/Gemfile.lock b/Gemfile.lock
new file mode 100644
index 0000000..4dcc886
--- /dev/null
+++ b/Gemfile.lock
@@ -0,0 +1,53 @@
+GEM
+ remote: https://rubygems.org/
+ specs:
+ addressable (2.5.0)
+ public_suffix (~> 2.0, >= 2.0.2)
+ colorator (1.1.0)
+ ffi (1.9.14)
+ forwardable-extended (2.6.0)
+ jekyll (3.3.0)
+ addressable (~> 2.4)
+ colorator (~> 1.0)
+ jekyll-sass-converter (~> 1.0)
+ jekyll-watch (~> 1.1)
+ kramdown (~> 1.3)
+ liquid (~> 3.0)
+ mercenary (~> 0.3.3)
+ pathutil (~> 0.9)
+ rouge (~> 1.7)
+ safe_yaml (~> 1.0)
+ jekyll-feed (0.8.0)
+ jekyll (~> 3.3)
+ jekyll-sass-converter (1.4.0)
+ sass (~> 3.4)
+ jekyll-watch (1.5.0)
+ listen (~> 3.0, < 3.1)
+ kramdown (1.12.0)
+ liquid (3.0.6)
+ listen (3.0.8)
+ rb-fsevent (~> 0.9, >= 0.9.4)
+ rb-inotify (~> 0.9, >= 0.9.7)
+ mercenary (0.3.6)
+ pathutil (0.14.0)
+ forwardable-extended (~> 2.6)
+ public_suffix (2.0.4)
+ rb-fsevent (0.9.8)
+ rb-inotify (0.9.7)
+ ffi (>= 0.5.0)
+ rouge (1.11.1)
+ safe_yaml (1.0.4)
+ sass (3.4.22)
+
+PLATFORMS
+ ruby
+
+DEPENDENCIES
+ jekyll (= 3.3.0)
+ jekyll-feed (~> 0.6)
+
+RUBY VERSION
+ ruby 2.1.5p273
+
+BUNDLED WITH
+ 1.13.6
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..5b2a406
--- /dev/null
+++ b/README.md
@@ -0,0 +1,14 @@
+zar's homepage
+==============
+
+Site based on Jekyll with my blog and portfolio
+
+## Building
+
+For building just type in shell:
+
+```bash
+$ jekyll build
+```
+
+Static HTML pages will be generated in `_site` directory.
diff --git a/_config.yml b/_config.yml
new file mode 100644
index 0000000..807badd
--- /dev/null
+++ b/_config.yml
@@ -0,0 +1,110 @@
+name: Сергей Назарьев
+position: Software Developer
+location: Saint Petersburg
+email: sergey@nazaryev.ru
+description: Сергей Назарьев. Разработчик всяких IT-штук. Санкт-Петербург.
+markdown: kramdown
+
+links:
+ - title: "CV"
+ url: "http://forge.nazaryev.ru/CV.pdf"
+
+ - title: "File Archive"
+ url: "http://files.nazaryev.ru/"
+
+exclude:
+ - Gemfile
+ - Gemfile.lock
+
+services:
+ - title: "Фильтр twitch-стримов"
+ url: "http://twitch.nazaryev.ru"
+
+ - title: "Минималистичный pastebin-like сервис"
+ url: "http://codeo.tk"
+
+ - title: "Файлопомойка"
+ url: "http://files.nazaryev.ru"
+
+sites:
+ - title: "Газовик"
+ url: "http://gazovik.ru"
+
+ - title: "Кинотеатр Пионер"
+ url: "http://pioner-kino.ru"
+
+ - title: "Океан-тур"
+ url: "http://okean-tur.ru"
+
+products:
+ - title: "MobiumApps"
+ url: http://cp.mobiumapps.com
+ screenshot: assets/products/mobium.png
+ icon: assets/products/mobium_icon.png
+ tags: [ ASP.NET, Вёрстка ]
+ description: >
+ Некоторое время по работе поддерживал панель для клиентов
+ сервиса по созданию кроссплатформенных приложений. В
+ свободное от реализации функционала время приходилось
+ подправлять UI.
+
+ - title: "Galaxy RPG"
+ url: http://galaxy-rpg.ru
+ screenshot: assets/products/gy.png
+ icon: assets/products/gy_icon.png
+ tags: [ MODx, PHP ]
+ description: >
+ По старой дружбе с клиентом выступил в этом проекте в роли
+ менеджера и программиста: тесно взаимодействовал с клиентом,
+ верстальщиком и дизайнером.
+
+ - title: "Эксхостинг"
+ url: unknown
+ screenshot: assets/products/exhosting.png
+ icon: assets/products/exhosting_icon.png
+ tags: [ PHP, Linux ]
+ description: >
+ Ныне уже несуществующий игровой хостинг. Для него была
+ сделана удобная и простая панель для управления игровыми
+ серверами. Реализовано распределение серверов на несколько
+ машин.
+
+ - title: "Копипаста"
+ url: https://play.google.com/store/apps/details?id=ru.copypaste
+ screenshot: assets/products/kopipasta.png
+ icon: assets/products/kopipasta_icon.png
+ tags: [ Android, Java ]
+ description: >
+ Читалка сайта Kopipasta.ru с кэшированием и системой
+ избранного. Проба пера.
+
+ - title: "Суши-бар"
+ url: unknown
+ screenshot: assets/products/lovesushi.png
+ icon: assets/products/lovesushi_icon.png
+ tags: [ Android, Java ]
+ description: >
+ Меню для суши-бара Love Суши (г. Саратов). Используется
+ вместо традиционного бумажного меню.
+
+ - title: "Юрком"
+ url: http://cpt-yurcom.ru
+ screenshot: assets/products/yurcom.png
+ icon: assets/products/yurcom_icon.png
+ tags: [ PHP, MODx ]
+ description: >
+ Портал юристов, сделанный под эгидой Nopreset (топовой
+ web-студии г. Саратова). Реализован back-end под управлением
+ CMS\CMF MODx с огромным деревом ресурсов и всяческих
+ хитростей.
+
+ - title: "Эмутим"
+ url: unknown
+ screenshot: assets/products/emuteam.png
+ icon: assets/products/emuteam_icon.png
+ tags: [ Вёрстка, Дизайн ]
+ description: >
+ Сайт «стримеров» — игроков, показывающих игровой процесс в
+ прямом эфире. Я был их посетителем, когда ещё их сайт был
+ одностраничным. Провёл два редизайна, попробовал себя в роли
+ веб-дизайнера.
diff --git a/_includes/nav.html b/_includes/nav.html
new file mode 100644
index 0000000..12789b4
--- /dev/null
+++ b/_includes/nav.html
@@ -0,0 +1,29 @@
+<nav>
+ <div class="contacts">
+ <div class="contacts__name">
+ <a href="/" class="title-link">{{ site.name }}</a>
+ </div>
+ <div class="contacts__info">
+ <span class="contacts__position">{{ site.position }}, <span id="age">20</span> at {{ site.location }}</span>
+ </div>
+ </div>
+
+ <menu class="menu">
+ <ul class="menu-horizontal">
+ {% for my_page in site.pages %}
+ {% if my_page.title %}
+ <li class="menu-horizontal__item">
+ <a href="{{ my_page.url | relative_url }}">{{ my_page.title | escape }}</a>
+ </li>
+ {% endif %}
+ {% endfor %}
+ {% for link in site.links %}
+ {% if link.title %}
+ <li class="menu-horizontal__item">
+ <a href="{{ link.url }}">{{ link.title | escape }}</a>
+ </li>
+ {% endif %}
+ {% endfor %}
+ </ul>
+ </menu>
+</nav>
diff --git a/_layouts/articles.html b/_layouts/articles.html
new file mode 100644
index 0000000..970a0af
--- /dev/null
+++ b/_layouts/articles.html
@@ -0,0 +1,12 @@
+---
+layout: page
+---
+
+{{ content }}
+<ul>
+{% for post in site.posts %}
+ <li>
+ <a href="{{ post.url | relative_url }}">{{ post.title | escape }}</a>
+ </li>
+{% endfor %}
+</ul>
diff --git a/_layouts/default.html b/_layouts/default.html
new file mode 100644
index 0000000..fb2c1d9
--- /dev/null
+++ b/_layouts/default.html
@@ -0,0 +1,22 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8" />
+
+ <title>{% if page.title %}{{ page.title | escape }} ≡ {% endif %}{{ site.name }}</title>
+ <meta name="description" content="{{ description }}" />
+
+ <link rel="stylesheet" href="{{ "/assets/style.css" | relative_url }}">
+ <link href="{{ "/assets/favicon.ico" | relative_url }}" rel="shortcut icon" type="image/x-icon" />
+
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
+ </head>
+ <body>
+ <div class="page">
+ {% include nav.html %}
+ {{ content }}
+ </div>
+ <div class="clear"></div>
+ <script type="text/javascript" src={{ "/assets/age.js" | relative_url }}></script>
+ </body>
+</html>
diff --git a/_layouts/page.html b/_layouts/page.html
new file mode 100644
index 0000000..8213ddb
--- /dev/null
+++ b/_layouts/page.html
@@ -0,0 +1,9 @@
+---
+layout: default
+---
+
+<main>
+ <article class="post">
+ {{ content }}
+ </article>
+</main>
diff --git a/_layouts/post.html b/_layouts/post.html
new file mode 100644
index 0000000..5cecdd7
--- /dev/null
+++ b/_layouts/post.html
@@ -0,0 +1,12 @@
+---
+layout: default
+---
+
+<main>
+ <article class="post">
+ <header class="post-header">
+ <h1 class="post-title" itemprop="name headline">{{ page.title | escape }}</h1>
+ </header>
+ {{ content }}
+ </article>
+</main>
diff --git a/_layouts/projects.html b/_layouts/projects.html
new file mode 100644
index 0000000..909cb93
--- /dev/null
+++ b/_layouts/projects.html
@@ -0,0 +1,72 @@
+---
+layout: default
+---
+
+<main>
+ <div class="products">
+ <div class="products-inner">
+ {% for product in site.products %}
+ <section class="products__item">
+ <div class="product-photo">
+ <img src="{{ screenshot }}" />
+ <div class="product-tags">
+ {% for tag in product.tags %}
+ <span class="product-tag">{{ tag }}</span>
+ {% endfor %}
+ </div>
+ </div>
+ <div class="product-info">
+ <div class="product-header">
+ <img class="product-icon" src="{{ product.icon }}" />
+ <span class="product-title">{{ product.title }}</span>
+ </div>
+ <div class="product-description">{{ product.description }}</div>
+ <div class="product-link">
+ {% if product.url == "unknown" %}
+ <a target="_blank" class="product-link-passive">Недоступно</a>
+ {% else %}
+ <a href="{{ product.url }}" target="_blank" class="product-link-active">Перейти на сайт</a>
+ {% endif %}
+ </div>
+ </div>
+ </section>
+ {% endfor %}
+ <div class="clear"></div>
+ </div>
+ </div>
+ <div class="clear"></div>
+</main>
+<footer>
+ <div class="information">
+ <div class="additional">
+ <h2>
+ А также…
+ </h2>
+ <ul class="left">
+ <li>несколько сервисов:
+ <ul>
+ {% for service in site.services %}
+ <li><a class="product-link-active" target="_blank" href="{{ service.url }}">{{ service.title }}</a></li>
+ {% endfor %}
+ </ul>
+ </li>
+ </ul>
+ <ul class="right">
+ <li>множество мелких и/или неопубликованных сайтов:
+ <ul>
+ {% for item in site.sites %}
+ <li><a class="product-link-active" target="_blank" href="{{ item.url }}">{{ item.title }}</a></li>
+ {% endfor %}
+ </ul>
+ </li>
+ </ul>
+ <div class="clear"></div>
+ </div>
+ </div>
+ <iframe src="http://game.nazaryev.ru/game.html" id="game" class="game"></iframe>
+ <script>
+ document.querySelector("#game").onload = function() {
+ this.contentWindow.focus();
+ }
+ </script>
+</footer>
diff --git a/_posts/2016-05-20-good-designs.md b/_posts/2016-05-20-good-designs.md
new file mode 100644
index 0000000..668eac1
--- /dev/null
+++ b/_posts/2016-05-20-good-designs.md
@@ -0,0 +1,28 @@
+---
+layout: post
+title: "Cайты с хорошим дизайном"
+description: "Лучшие сайты с точки зрения UI/UX, из тех, что я видел"
+---
+
+Отсортированы в порядке убывания радости глаза
+
+ 1. [<s>Веб-студия Eastwood</s>](http://eastwoodlab.ru), [архив](http://web.archive.org/web/20160404215426/http://eastwoodlab.ru/)
+ 2. [Monica Dinculescu](http://meowni.ca)
+ 3. [Хостинг Jino.ru](http://jino.ru)
+ 4. [Healtchecks.io](https://healthchecks.io/)
+ 5. [Хартия 97](http://charter97.org)
+ 6. [Блог Сергея Короля](http://sergeykorol.ru/blog)
+ 7. [Kenneth Reitz](http://www.kennethreitz.org/)
+ 8. [Сайт блогера Варламова](http://varlamov.ru)
+ 9. [Лаборатория Олега Бунина](http://ontico.ru)
+ 10. [Барахолка Deal.by](http://deal.by)
+ 11. [Компания Сайтсофт](http://www.sitesoft.ru)
+ 12. [Chaos Computing](https://www.christian-gmeiner.info/)
+ 13. [Студия Morizo](http://morizo.ru)
+
+Сайты-сборники хороших сайтов
+-----------------------------
+
+1. [Советы по UX/UI](http://goodui.org/ )
+2. [Награды в Web](http://www.awwwards.com/ )
+3. [Хорошие одностраничники](https://onepagelove.com/ )
diff --git a/_posts/2016-05-20-seo.md b/_posts/2016-05-20-seo.md
new file mode 100644
index 0000000..0835537
--- /dev/null
+++ b/_posts/2016-05-20-seo.md
@@ -0,0 +1,161 @@
+---
+layout: post
+title: "SEO, SMM и интернет-маркетинг"
+description: "Про SEO быстро и просто"
+---
+
+Мир меняется, новые технологии проникают в наш быт. Так, например, компьютеры,
+изначально созданные для военной промышленности, через некоторое время перешли
+на службу бизнесу, автоматизировав большое количество ручной работы
+продавцов и бухгалтеров. А через некоторое время попали ещё в
+руки и простым смертным, вместе с доступом к Всемирной паутине, тем самым
+создав совершенно новый рынок сбыта, поражающий своими преимуществами: для того,
+чтобы начать продавать в Интернете вам больше не нужно содержать прилавки,
+нанимать продавцов, работающих по 8 часов и бегающих по помещению в поиске
+новых клиентов -- теперь ваш магазин работает 24/7, люди сами оставляют
+информацию о себе, тем самым давая вам возможность привлекать их к себе ещё и
+ещё.
+
+Тогда, когда Web был небольшим набором серверов и количество сайтов исчислялось
+десятками, каждый пользователь (а их было не так и много) знал, на какой сайт
+нужно зайти для удовлетворения своих потребностей. Когда количество сайтов начало
+исчисляться сотнями и даже тысячами, для систематизации и поиска необходимой
+информации создавались агрегаторы сайтов, которые представляли собой каталоги
+существующих сайтов, разбитых по конкретным разделам. Эти каталоги наполнялись
+либо владельцами новых сайтов, либо администраторами сайтов-каталогов. Таким
+образом, люди, зашедшие в Интернет, могли найти в таком каталоге интересующую
+их информацию или услугу.
+
+Со временем количество сайтов росло, ровно как и количество каталогов;
+задача найти что-то полезное за разумное время становилась менее тривиальной,
+из-за чего появились поисковые системы -- фактически, автозаполняемые каталоги
+сайтов, в которых поиск вёлся по любому запросу пользователя. Поисковые системы
+сегодня -- это краеугольный камень в области маркетинга и продвижения
+электронной коммерции, но тогда это был просто ещё один удобный инструмент для
+поиска необходимой информации.
+
+Поисковая система того времени была достаточно проста: в ней был некоторый
+набор предопределённых сайтов, по которым время от времени
+происходило индексирование -- изучение содержимого сайта специальным
+програмным обеспечением -- "поисковым ботом". При появлении ссылок на
+неизвестные поисковому боту сайтов, сайт добавлялся в список на индексацию. При
+появлении ссылок на неизвестные сайты уже на добавленном сайте, они тоже
+добавлялись в список, и так далее. Таким образом, поисковая система знала о
+большом количестве сайтов и могла искать информацию по части их содержимого и
+направлять пользователя на нужный сайт. Чем больше сайт подходил под запрос
+пользователя и чем больше ссылок на этот сайт было на других сайтах, тем выше
+он оказывался в списке результатов поиска. Пользователи же обычно не раздумывая
+переходили на сайты из первой "тройки" результатов, и сайты из этой тройки
+забирали примерно 80% пользователей.
+
+Революцию же в поисковых системах провёл небольшой "стартап" в 98 году под
+руководством двух студентов Стэнфордского университета -- Ларри Пэйджа и Сергея
+Брина. Ныне это одна из крупнейших IT-компаний -- корпорация Google. Их идея в
+области поисковых систем была одновременно и проста, и гениальна -- как и все
+гениальные вещи. Они ввели понятие таргетинга: теперь, когда человек искал в
+Интернете "купить мебель", то владельцы сайтов мебельных салонов могли
+разместить своё предложение (далее -- рекламное объявление) о продаже мебели,
+которое находилось чуть выше реальных результатов поиска. За каждый переход на
+сайт по такому рекламному объявлению владельцы сайта оплачивали некоторую сумму
+(к примеру, 10 центов) компании Google, фактически получая себе нового клиента.
+Это выгодно отличало интернет-рекламу от традиционной: теперь вы точно
+знаете, сколько людей заинтересовалось вашим предложением, в отличие от
+размещения на рекламных щитах или рекламных роликах на ТВ. Но самое главное --
+такая реклама позволяла приглашать к себе на сайт очень большую аудиторию,
+реально заинтересованную в вашей услуге.
+
+Со временем в России и СНГ практически одновременно с появлением
+высокоскоростного доступа (2005 -- 2008) в Интернет, большое количество
+предприятий начало осваивать новый рынок. К счастью, уже к тому времени /запад/
+достаточно набил шишек (особенно вспоминая лопнувший "пузырь доткомов"), и наши
+соотечественники перескочили этап бума, начав делать "вложения в Интернет" рационально.
+Весь цикл разработки можно описать вкратце:
+
+ 1. компания хочет занять часть нового рынка
+
+ 2. компания находит подрядчика -- интернет-студию, которая разрабатывает им сайт
+
+ 3. компания предоставляет необходимую информацию и актуальный источник информации о
+ товарах, которые продаёт
+
+ 4. интернет-студия анализирует рынок и предоставляет краткий отчёт о времени,
+ которое необходимо для вывода сайта максимально высоко в поисковой выдаче,
+ и о количество расходов на это, включая работу интернет-маркетолога, рекламу
+ и ссылки
+
+ 5. компания через некоторое время получает в распоряжение сайт и некоторую
+ стартовую посещаемость, которую можно наращивать путём найма собственного
+ интернет-маркетолога или оплачивая единоразовые услуги у соответствующих
+ компаний или частных лиц
+
+Кроме того, перед заказом непосредственного комплекса услуг (разработка ПО для сайта
+и продвижения его в Сети) вы сами можете изучить рынок. Самый банальный способ --
+придумать сдесяток версий запросов, которые может написать пользователь в поисковую
+строку, и посмотреть сайты конкурентов. Используя сторонние сервисы (Alexa Rank, CY-PR и
+другие), вы можете узнать индекс цитирования (коэфициент, показывающий, как много сайтов
+ссылаются на определённый сайт) и среднюю посещаемость за день, месяц или год.
+
+Ещё у некоторых поисковых систем существуют прекрасные инструменты,
+показывающие количество выполненных запросов по определённой тематике. Например,
+избитый нами запрос "купить мебель в Москве" покажет в таком инструменте количество людей, которое
+ввело этот запрос, и смежные запросы, как то: "купить мебель недорого", "мебель бу", "купить мягкую мебель"
+и тому подобные. За счёт такой публичной информации можно оценить, какая доля рынка занята
+и какую долю сможете занять вы, тем более, если вы хотите создать интернет-магазин, не имея
+никакой статистики в традиционной сфере оффлайн-продаж (продаж в живых помещениях со стендами
+и продавцами).
+
+После того, как пользователь зашёл на ваш сайт, необходимо привлечь его внимание
+и предоставить возможность взять то, что ему нужно, то, за чем он пришёл. Процент
+трафика, который взял то, что ему нужно -- купил товар, оплатил услугу и т.п. --
+называется /конверсией/. Фактически, это одна из самых важных характеристик, которую
+всё время стараются повышать. Аналогия из "реального мира" -- заставить человека
+приобрести товар или услугу в магазине, делая привлекательные скидки или же играя
+на доверчивости или глупости посетителя. Например, предоставляя ему бесполезные услуги,
+или создавая эффект эксклюзивности товара и т.д.. Многие из этих приёмов действуют
+и в онлайне.
+
+Если смотреть с технической точки зрения, то конверсию можно повысить за счёт улучшения
+usability сайта (удобство использования, логичность интерфейса и т.п.), скорости загрузки
+сайта в браузере и так далее. Всё те же поисковые системы предоставляют удобные инструменты
+для изучения поведения пользователей вплоть до того, как двигают мышкой пользователи
+у вас на сайте. За счёт такой информации вы можете оптимизировать процесс покупки товара
+и повышать конверсию.
+
+С появлением социальных сетей, таргетинг не стал ограничиваться поисковым
+запросом: люди любят сами рассказывать о себе, и за счёт анкеты, которую они
+заполняют, можно легко выявить предрасположенность людей к переходу на
+тематический сайт, а в дальнейшем -- и покупке какого-либо предлагаемого
+товара. Нажимая на кнопки "Мне нравится" у интересующих вас новостей или
+картинок, переходя по определённым ссылкам из ленты новостей или запрашивая
+что-то в поисковых системах, вы описываете свою личность и добавляете ряд
+маркеров, по которым бизнес может найти вас и предложить свои услуги. Такой
+небывалый способ рекламы сильно упрощает жизнь малого бизнеса, ведь таким образом
+легко можно определить, как встретит ваш бизнес целевая аудитория.
+
+Множество владельцев сайтов хотят заработать: форум о рыбалке, сайт с информацией
+о новых играх, личные блоги или даже видеоблоги. Вне зависимости от тематики,
+сайт необходимо поддерживать технически -- оплачивать размещение сайта 24/7 в Интернете
+и выделять личное время на его администрирование. К счастью для владельцев, появились
+рекламные сети, позволяющие легко и быстро вставить баннер с рекламой к вам на сайт.
+В итоге, заинтересованные посетители сторонних сайтов, переходя по баннеру,
+будут обеспечивать владельца сайта некоторыми финансами. Кроме того,
+многие рекламные сети платят не только за переход, но и за показы баннера.
+Таким образом, при достаточно большой посещаемости сайта вы можете получить
+нехилую сумму только лишь за показы. Хоть в данной работе мы рассматриваем
+всё-таки сторону рекламодателя, но не лишним будет изучить модели, по которым
+работают рекламные сети:
+
+ * CPM -- оплата за 1000 показов (Cost Per Mille, игра слов). Рекламодатель
+ платит рекламной сети за показ его ссылки или баннера тысяче человек.
+
+ * CPC -- оплата за клики (Cost Per Click). Рекламодатель
+ платит рекламной сети за переход по ссылке или баннеру.
+
+ * CPA -- оплата по действию (Cost Per Action). Рекламодатель
+ платит рекламной сети за то, что пользователь выполнил какое-либо
+ действие: зарегистрировался в онлайн-игре, купил товар, написал
+ пост на форуме и т.п.
+
+Благодаря разным моделям можно выгодно покупать трафик, проведя исследования
+и потратив небольшие суммы. В некоторых случаях CPC окажется выгоднее CPM,
+а когда-то самая высокая конверсия будет при работе по модели CPA.
diff --git a/_posts/2016-11-11-linux-spb.md b/_posts/2016-11-11-linux-spb.md
new file mode 100644
index 0000000..3c16311
--- /dev/null
+++ b/_posts/2016-11-11-linux-spb.md
@@ -0,0 +1,60 @@
+---
+layout: post
+title: "/Линуксовые/ компании в СПб"
+description: "Список компаний, которые используют FOSS в своих проектах"
+---
+
+ * [НПК Пеленгатор](http://www.npk-pelengator.ru/)
+ * [Фертоинг](http://www.fertoing.ru/)
+ * [Морские Навигационные Системы](http://www.mnsspb.ru/)
+ * [Спецтранзит](http://www.spec-tt.ru/)
+ * [НИИ Масштаб](https://hh.ru/employer/841097)
+ * [Dreamkas](https://dreamkas.ru/)
+ * [Digital Design](http://digdes.ru/)
+ * [Componentality](https://componentality.com/en/)
+ * [НПП ЦРТС](http://www.npp-crts.ru/)
+ * [НИИ РА](http://niir.ru)
+ * [НТЦ-Метротек](http://metrotek.spb.ru)
+ * [НТЦ-Протей](http://protei-st.ru)
+ * [Радуга](http://raduga.spb.ru)
+ * [RAIDIX](http://raidix.ru)
+ * [Адакта](http://adakta.ru)
+ * [Валента](http://valenta.spb.ru)
+ * [SEMRush](http://semrush.com)
+ * [Mobium](http://mobiumapps.com)
+ * [Oktet labs](http://oktetlabs.ru)
+ * Симметрон
+ * [Элтех](http://eltech.com/)
+ * [АО НПП АМЭ](nppame.ru)
+ * [Lanit Tercom](http://www.lanit-tercom.ru/)
+ * [НеоБИТ](http://neobit.ru)
+ * [Grid Dynamics](https://www.griddynamics.com/)
+ * [ООО "Фирма НИТА"](http://nita.ru/)
+ * [Tbricks / Itiviti](http://itiviti.com)
+ * [TuneIT](http://tune-it.ru)
+ * [Dr.Web](http://www.drweb.ru/)
+ * [НТЦ-СевенТест](http://seventest.ru)
+ * [ОАО "Технологии радиоконтроля"](http://www.stc-spb.ru/)
+ * [ООО "Специальные технологии"](http://www.sp-te.ru/en/)
+ * [Embria](http://embria.ru)
+ * [Biovoid Robotics](http://biovoid.ru)
+ * [Altell](http://www.altell.ru)
+ * [ИнфоТеКС](https://www.infotecs.ru)
+ * [Калькулейт](http://www.calculate.ru/)
+ * [Энергопромавтоматизация](http://www.epsa-spb.ru/)
+ * [ООО СпецМедТехника](http://spmt.ru)
+ * [Octavian](http://www.octavianonline.com/)
+ * [АО ОКЕНИТ](http://okenit.ru/)
+ * [ООО Эмзиор](http://emzior.ru/)
+ * [Prointech](http://www.prointech.ru/en)
+ * [Конфидент](http://www.confident.ru/)
+ * [ЦНИИ РТК](http://www.rtc.ru/ru)
+ * [Syntacore](http://www.syntacore.com)
+ * [АО Радар ММС](http://www.radar-mms.com)
+ * [ДОЛОМАНТ](http://www.dolomant.ru/)
+ * [Wrike](https://www.wrike.com/ru/company)
+ * [ТелРОС](http://www.telros.ru/)
+ * [СуперТел](http://www.supertel.ru/)
+ * [РУТОЛЛ](http://www.rutoll.ru/)
+ * [АКВАМАРИН](http://www.aquamarin.ru/)
+ * Дом.ру
diff --git a/articles.md b/articles.md
new file mode 100644
index 0000000..c431bda
--- /dev/null
+++ b/articles.md
@@ -0,0 +1,7 @@
+---
+layout: articles
+title: Articles
+---
+
+Статьи
+======
diff --git a/assets/age.js b/assets/age.js
new file mode 100644
index 0000000..69b5bbe
--- /dev/null
+++ b/assets/age.js
@@ -0,0 +1,13 @@
+function getAge(dateString) {
+ var today = new Date();
+ var birthDate = new Date(dateString);
+ var age = today.getFullYear() - birthDate.getFullYear();
+ var m = today.getMonth() - birthDate.getMonth();
+ if (m < 0 || (m === 0 && today.getDate() <
+ birthDate.getDate())) {
+ age--;
+ }
+ return age;
+}
+
+document.querySelector("#age").innerHTML = getAge("1996/09/11");
diff --git a/assets/candara.ttf b/assets/candara.ttf
new file mode 100644
index 0000000..9c91b71
--- /dev/null
+++ b/assets/candara.ttf
Binary files differ
diff --git a/assets/external-link.png b/assets/external-link.png
new file mode 100644
index 0000000..16f9b92
--- /dev/null
+++ b/assets/external-link.png
Binary files differ
diff --git a/assets/favicon.ico b/assets/favicon.ico
new file mode 100644
index 0000000..96c1046
--- /dev/null
+++ b/assets/favicon.ico
Binary files differ
diff --git a/assets/products/emuteam.png b/assets/products/emuteam.png
new file mode 100644
index 0000000..506dade
--- /dev/null
+++ b/assets/products/emuteam.png
Binary files differ
diff --git a/assets/products/emuteam_icon.png b/assets/products/emuteam_icon.png
new file mode 100644
index 0000000..fb0edea
--- /dev/null
+++ b/assets/products/emuteam_icon.png
Binary files differ
diff --git a/assets/products/exhosting.png b/assets/products/exhosting.png
new file mode 100644
index 0000000..bccbf4a
--- /dev/null
+++ b/assets/products/exhosting.png
Binary files differ
diff --git a/assets/products/exhosting_icon.png b/assets/products/exhosting_icon.png
new file mode 100644
index 0000000..ce6f0f9
--- /dev/null
+++ b/assets/products/exhosting_icon.png
Binary files differ
diff --git a/assets/products/gy.jpg b/assets/products/gy.jpg
new file mode 100644
index 0000000..833ddc2
--- /dev/null
+++ b/assets/products/gy.jpg
Binary files differ
diff --git a/assets/products/gy_icon.png b/assets/products/gy_icon.png
new file mode 100644
index 0000000..cbc6215
--- /dev/null
+++ b/assets/products/gy_icon.png
Binary files differ
diff --git a/assets/products/kopipasta.png b/assets/products/kopipasta.png
new file mode 100644
index 0000000..a9b7394
--- /dev/null
+++ b/assets/products/kopipasta.png
Binary files differ
diff --git a/assets/products/kopipasta_icon.png b/assets/products/kopipasta_icon.png
new file mode 100644
index 0000000..5d796c8
--- /dev/null
+++ b/assets/products/kopipasta_icon.png
Binary files differ
diff --git a/assets/products/lovesushi.png b/assets/products/lovesushi.png
new file mode 100644
index 0000000..79af943
--- /dev/null
+++ b/assets/products/lovesushi.png
Binary files differ
diff --git a/assets/products/lovesushi_icon.png b/assets/products/lovesushi_icon.png
new file mode 100644
index 0000000..17cfe7e
--- /dev/null
+++ b/assets/products/lovesushi_icon.png
Binary files differ
diff --git a/assets/products/mobium.png b/assets/products/mobium.png
new file mode 100644
index 0000000..37b21df
--- /dev/null
+++ b/assets/products/mobium.png
Binary files differ
diff --git a/assets/products/mobium_icon.png b/assets/products/mobium_icon.png
new file mode 100644
index 0000000..6b084db
--- /dev/null
+++ b/assets/products/mobium_icon.png
Binary files differ
diff --git a/assets/products/yurcom.png b/assets/products/yurcom.png
new file mode 100644
index 0000000..112a324
--- /dev/null
+++ b/assets/products/yurcom.png
Binary files differ
diff --git a/assets/products/yurcom_icon.png b/assets/products/yurcom_icon.png
new file mode 100644
index 0000000..b6026e3
--- /dev/null
+++ b/assets/products/yurcom_icon.png
Binary files differ
diff --git a/assets/style.css b/assets/style.css
new file mode 100644
index 0000000..6bd979d
--- /dev/null
+++ b/assets/style.css
@@ -0,0 +1,268 @@
+body {
+ overflow-y: scroll;
+}
+
+html, body {
+ width: 100%;
+ height: 100%;
+ padding: 0;
+ margin: 0;
+
+ text-rendering: optimizeLegibility;
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
+ line-height: 1.6;
+ color: #444;
+ font-size: 18px;
+}
+
+:focus {
+ outline: none;
+}
+
+a {
+ border-bottom: 1px solid #B5D9F1;
+ text-decoration: none;
+ color: #45A1DC;
+}
+
+a:hover {
+ color: #B5D9F1;
+}
+
+a img {
+ border: none;
+}
+
+h1, h2, h3 {
+ line-height: 1.2;
+}
+
+p, h3 {
+ padding: 0;
+ margin: 0;
+}
+
+a[href^="http://"]:after,
+a[href^="https://"]:after {
+ content: url(external-link.png);
+ margin: 0 0 0 2px;
+}
+
+img, .product-tags {
+ -khtml-user-select: none;
+ -o-user-select: none;
+ -moz-user-select: none;
+ -webkit-user-select: none;
+ user-select: none;
+}
+
+#content *::selection {
+ background: none repeat scroll 0% 0% #D6EDFC;
+}
+
+#content *::-moz-selection {
+ background: none repeat scroll 0% 0% #D6EDFC;
+}
+
+.contacts {
+ padding-top: 5px;
+ float: left;
+}
+
+.contacts__position {
+ vertical-align: middle;
+ line-height: 15px;
+ font-size: 15px;
+}
+
+.contacts__name {
+ font-size: 25px;
+}
+
+.post {
+ padding: 20px 40px;
+}
+
+main {
+ width: 1160px;
+}
+
+nav {
+ width: 1160px;
+ margin: 0 40px;
+ background: white;
+ height: 80px;
+ border-bottom: 1px solid #f0f0f0;
+}
+
+.menu-horizontal {
+ float: left;
+ width: 100%;
+ padding: 0;
+ margin: 0;
+ list-style-type: none;
+}
+
+.menu-horizontal__item {
+ margin: 0px 0px 0px 15px;
+ display: inline;
+ float: left;
+ text-transform: uppercase;
+ letter-spacing: 0.5px;
+ font-size: 12px;
+}
+
+.game {
+ display: block;
+ width: 100%;
+ border: 0;
+ padding: 0;
+ margin: 0;
+ height: 339px;
+}
+
+.menu {
+ padding-top: 10px;
+ float: left;
+}
+
+.additional {
+ padding: 50px;
+}
+
+.additional h2 {
+ padding: 0;
+ margin: 0;
+ font-size: 60px;
+}
+
+.additional ul li {
+ list-style-type: none;
+}
+
+.additional ul li:before {
+ content: "— ";
+}
+
+.product-photo {
+ display: none;
+ float: left;
+ padding-top: 10px;
+ width: 250px;
+}
+
+.product-photo img {
+ width: 280px;
+}
+
+.product-tags {
+ padding-left: 40px;
+ text-align: left;
+}
+
+.product-tag {
+ color: white;
+ padding: 5px 10px 8px 10px;
+ margin: 2px;
+ background: #4779f6;
+ border-radius: 15px;
+}
+
+.products {
+ padding: 15px 35px;
+}
+
+.products__item {
+ display: inline-block;
+ width: 325px;
+ margin: 5px;
+ border: 1px solid #ddd;
+}
+
+.product-info {
+ padding: 20px 10px 15px 25px;
+}
+
+.product-description {
+ font-size: 14px;
+ line-height: 1.5;
+ max-height: 170px;
+ height: 170px;
+}
+
+.product-icon {
+ float: left;
+ padding-right: 10px;
+ height: 55px;
+}
+
+.product-header {
+ margin-bottom: 10px;
+ height: 55px;
+}
+
+.product-title {
+ display: block;
+ padding-top: 10px;
+ font-size: 24px;
+}
+
+.product-link-passive:hover {
+ cursor: default !important;
+}
+
+main ul, main ol {
+ margin-left: 2em;
+ margin-bottom: 1em;
+}
+
+main ul li:before {
+ content: "— ";
+ display: inline-block;
+ width: 7px;
+ margin: 0 0 0 -25px;
+ text-align: center;
+ font-size: 0.9em;
+ position: absolute;
+}
+
+main ul p {
+ margin: 0px;
+ line-height: 31px;
+}
+
+main p {
+ line-height: 25px;
+ margin: 20px;
+}
+
+main ul {
+ padding: 0;
+ list-style: none;
+ line-height: 31px;
+}
+
+main h1, main h2 {
+ padding: 0;
+ color: #282425;
+ font-weight: 900;
+ font-size: 24px;
+ letter-spacing: 0.035em;
+ text-transform: uppercase;
+}
+
+main h2 {
+ font-size: 20px;
+}
+
+.left {
+ float: left;
+}
+
+.right {
+ float: left;
+}
+
+.clear {
+ clear: both;
+}
diff --git a/forge.md b/forge.md
new file mode 100644
index 0000000..5e954a9
--- /dev/null
+++ b/forge.md
@@ -0,0 +1,38 @@
+---
+layout: page
+title: Source code
+---
+
+Что же я могу показать?
+=======================
+
+* У меня есть набор [dotfiles](http://git.nazaryev.ru/cgit/dotfiles.git/),
+ который я использую на большинстве своих девайсов;
+
+* [Медианный
+ фильтр](http://git.nazaryev.ru/cgit/metrotek-aptitude-test.git/) в
+ качестве тестового задания в [НТЦ Метротек](http://metrotek.spb.ru);
+
+* В рамках университетских работ делаю [контроллер FLASH-памяти ST
+ M25P16 на
+ Verilog](http://git.nazaryev.ru/cgit/circuit-design-lab234.git);
+
+* [Реверс-инжиниринг приложения под
+ Android](http://git.nazaryev.ru/cgit/drweb-aptitude-test.git/) в рамках
+ тестового задания в компанию Dr. Web на вакансию `Вирусный
+ аналитик-стажёр Android`;
+
+* В свободное время пытаюсь написать [очень ёмкую
+ выдержку](http://git.nazaryev.ru/cgit/csbook.git/) из книг
+ Таненбаума по архитектуре ЭВМ;
+
+* Для зачёта по дисциплине `Информатика` в университете писал
+ [web-приложение для обучения
+ алгебре логики](http://git.nazaryev.ru/cgit/euler.git/) на основе кругов Эйлера;
+
+* [Портфолио на сайте
+ nazaryev.ru](http://git.nazaryev.ru/cgit/portfolio.git/) собирается с
+ помощью Makefile и python'а;
+
+* Резюме [тоже собирается](http://git.nazaryev.ru/cgit/resume.git/), но
+ Makefile'ом и pdflatex'ом.
diff --git a/index.md b/index.md
new file mode 100644
index 0000000..673bce1
--- /dev/null
+++ b/index.md
@@ -0,0 +1,3 @@
+---
+layout: projects
+---