Как стать автором
Обновить
6
0
Виктор Жарина @ViktorZ

Разработчик программного обеспечения

Отправить сообщение

Как использовать сервисы Selectel для выполнения требований 152-ФЗ

Время на прочтение11 мин
Количество просмотров3.5K

Хранение и обработка персональных данных (ПДн) в облаке — удобное и гибкое решение. Однако практика показывает, что у компаний не всегда получается оптимизировать защиту такой информации. Меня зовут Марк Песков, я методолог по информационной безопасности в Selectel. В этой статье расскажу, как организовать безопасную обработку персональных данных в облачной инфраструктуре и что учесть при разделении зон ответственности оператора и провайдера.
Читать дальше →
Всего голосов 34: ↑32 и ↓2+43
Комментарии13

Как сверстать веб-страницу. Часть 1

Время на прочтение13 мин
Количество просмотров1.2M
Уважаемый читатель, этой статьей я открываю цикл статей, посвященных вёрстке.
В первой части будет описано, как это сделать с помощью стандартных средств на чистом HTML и CSS. В последующих частях рассмотрим как сделать тоже самое, но с помощью современных фреймворков и CMS.

Часть 1. Верстка стандартными средствами


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

Итак, давайте приступим. В качестве нашего подопытного мы возьмем бесплатный psd шаблон Corporate Blue от студии Pcklaboratory.
Читать дальше →
Всего голосов 155: ↑120 и ↓35+85
Комментарии110

Собственная копия YouTube

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров43K


Мы уже обсуждали, как удобнее всего скачивать видео с YouTube для дальнейшего просмотра и хранения. Но если коллекция файлов становится слишком большой, то нужно их как-то организовать: по темам или тегам, по каналам, категориям, чтобы быстро найти нужный видеоролик. И желательно настроить сервер так, чтобы раздавать это видео по локальной сети или через интернет.

В итоге получается, что мы делаем нечто вроде маленькой копии YouTube, только на своём сервере. В определённом смысле это архивная копия на случай удаления видеоконтента из-за цензуры YouTube. Или на случай, если серверы YouTube станут недоступны с территории РФ из-за какого-то «технического сбоя».
Читать дальше →
Всего голосов 79: ↑78 и ↓1+102
Комментарии74

Натальная травматология фронтенда S1 E1-14

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров6.7K

Здравствуйте, меня зовут Дмитрий Карловский, и меня хлебом не корми, а дай поиздеваться над хайповыми технологиями. И сейчас я расскажу вам, как я провёл лето.

В этом сезоне ко мне на операционный стол попались разные JS, CSS и тест фреймворки да методологии, менеджеры состояний и потоков исполнения, коллекции виджетов и даже приложений. Приготовьтесь, далее вас ждёт целых 32 часа отборного кринжа!

Погрузится в эпидерсию
Всего голосов 40: ↑22 и ↓18+9
Комментарии47

Основы полнотекстового поиска в ElasticSearch. Часть вторая

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров17K

Это вторая статья из цикла. В первой части я рассказывал про самые базовые понятия Elasticsearch. В этом же посте разберем устройство анализа текста и немного пощупаем полнотекстовый поиск.

Несколько слов про анализ текста

Анализ текста — процесс преобразования оригинального текста в структурированный формат, оптимизированный под эффективное хранение и быстрый поиск.

Мы уже познакомились с некоторыми типами Elasticsearch, но в этом разделе будем рассматривать только два — keyword и text. Тип text анализируется для полнотекстового поиска. Тип keyword преимущественно остается без изменений для точного поиска, сортировки и агрегации.

Читать далее
Всего голосов 26: ↑26 и ↓0+26
Комментарии0

Основы полнотекстового поиска в ElasticSearch. Часть первая

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров21K

Привет! Меня зовут Глеб, я разработчик команды продукта «Сервис персонализации» в SM Lab. В цикле из трех постов я расскажу про основы полнотекстового поиска в Elasticsearch.

Данный цикл статей предназначен для всех, но будет особенно актуальным для тех читателей, кто только начинает свое знакомство с Elasticsearch. Я надеюсь, каждый из вас найдет что-то полезное для себя.

В первой части обсудим самые базовые понятия Elasticsearch. Во второй части разберем механизмы анализа текста и полнотекстового поиска. В заключительной части взглянем на стандартную модель ранжирования документов в Elasticsearch.

Итак, начнём с самых базовых понятий.

Читать далее
Всего голосов 18: ↑17 и ↓1+21
Комментарии1

Подпись коммитов в git при помощи gpg

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров12K

В этой статье я расскажу о том, как и зачем подписывать и верифицировать коммиты в git при помощи gpg.

Читать далее
Всего голосов 21: ↑19 и ↓2+21
Комментарии19

Теория вероятностей в разработке: где применяется и что можно изучить для более глубокого понимания темы

Время на прочтение4 мин
Количество просмотров4.1K

Часто приходится слышать, что математика, включая статистику и теорию вероятностей с комбинаторикой, не слишком нужна разработчику. Что ж, в некоторых случаях это действительно так. Но для представителей ряда направлений всё это нужно. Кому именно требуется теория вероятностей с сопутствующими дисциплинами и зачем? Об этом поговорим под катом. И сразу хочу пояснить, что статья предназначена для начинающих специалистов. 

Читать далее
Всего голосов 7: ↑4 и ↓3+7
Комментарии1

Шпаргалка по SQL (postgres), которая выручает меня на собесах

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров204K

Привет, Хабр!

Я решил посвятить свою первую статью SQL. Вопросы, рассмотренные ниже мне задавали на собеседованиях на позицию python-разработчика. Естественно отвечать правильно получалось не всегда, а если точнее то чаще не правильно, однако проведя N часов в рефлексии я составил перечень ответов, которыми пользуюсь до сих пор.

Данная информация предполагает знание основ языка запросов и я надеюсь, она окажется полезной для разработчиков, которые сейчас активно ищут работу а также, что ты прочитаешь этот текст до конца и добавишь свой вопрос к перечню (ну или поправишь неточности в существующих)

Читать далее
Всего голосов 156: ↑149 и ↓7+177
Комментарии178

Spring Boot, Hibernate и Kotlin для новичков шаг за шагом

Время на прочтение7 мин
Количество просмотров36K

Всем привет, меня зовут Олег, я техлид в ДомКлике. В нашей команде ядром стека является Kotlin и Spring Boot. Хочу поделиться с вами своим опытом по взаимодействию и особенностях работы с PostgreSQL и Hibernate в связке со Spring Boot и Kotlin. Также на примере микросервиса, покажу преимущества Kotlin и его отличия от аналогичного приложения на Java. Расскажу о не совсем очевидных сложностях, с которыми могут столкнуться новички при использовании этого стека с Hibernate. Статья будет полезна разработчикам, желающим перейти на Kotlin и знакомых со Spring Boot, Hibernate Java.
Итак, начнем с каркаса проекта и зависимостей.
Всего голосов 44: ↑44 и ↓0+44
Комментарии17

Блокировки в Postgres: 7 советов по работе с блокировками

Время на прочтение6 мин
Количество просмотров23K
И снова здравствуйте! Уже в следующий вторник стартует новый поток по курсу «Реляционные СУБД», поэтому мы продолжаем публиковать полезный материал по теме. Поехали.



На прошлой неделе я писал о конкурентном доступе в Postgres, какие команды блокируют друг друга, и как вы можете диагностировать заблокированные команды. Конечно, после постановки диагноза вам может потребоваться и лечение. С Postgres можно выстрелить себе в ногу, но Postgres также предлагает вам способы не сбить наводку. Вот некоторые из важных советов о том, как стоит и как не стоит делать, которые мы сочли полезными при работе с пользователями по переходу с их единой базы данных Postgres на Citus или при создании новых приложений аналитики в реальном времени.
Читать дальше →
Всего голосов 26: ↑25 и ↓1+24
Комментарии8

Транзакции и механизмы их контроля

Время на прочтение8 мин
Количество просмотров53K

Транзакции


Транзакцией называется последовательность операций над данными имеющая начало и конец


Транзакция это последовательное выполнение операций чтения и записи. Окончанием транзакции может быть либо сохранение изменений (фиксация, commit) либо отмена изменений (откат, rollback). Применительно к БД транзакция это нескольких запросов, которые трактуются как единый запрос.

Транзакции должны удовлетворять свойствам ACID


Атомарность. Транзакция либо выполняется полностью либо не выполняется вовсе.

Согласованность. При завершении транзакции не должны быть нарушены ограничения накладываемые на данные (например constraints в БД). Согласованность подразумевает, что система будет переведена из одного корректного состояния в другое корректное.

Изолированность. Параллельно выполняемые транзакции не должны влиять друг на друга, например менять данные которые использует другая транзакция. Результат выполнения параллельных транзакций должен быть таким, как если бы транзакции выполнялись последовательно.

Устойчивость. После фиксации изменения не должны быть утеряны.
Читать дальше →
Всего голосов 22: ↑19 и ↓3+16
Комментарии10

Советы по повышению конверсии с ваших бизнес-презентаций

Время на прочтение7 мин
Количество просмотров15K
Важный аспект во взаимодействии между компанией и ее клиентами/партнерами – презентация. Она способна визуально рассказать всю важную информацию о продукте или услугах и побудить клиента/партнера к действию.

Содержание



Эффективные бизнес-презентации в 2018 году
Прокачать презентацию!
Всего голосов 18: ↑16 и ↓2+14
Комментарии3

Что такое «асинхронная событийная модель», и почему сейчас она «в моде»

Время на прочтение15 мин
Количество просмотров54K
Сейчас в тематических интернетах модно слово «Node.js». В этой небольшой статье мы попробуем понять («на пальцах»), откуда всё это взялось, и чем такая архитектура отличается от привычной нам архитектуры с «синхронным» и «блокирующим» вводом/выводом в коде приложения (обычный сайт на PHP + MySQL), запущенного на сервере приложений, работающем по схеме «по потоку (или процессу) на запрос» (классический Apache Web Server).
Читать дальше →
Всего голосов 163: ↑153 и ↓10+143
Комментарии130

Руководство по проектированию реляционных баз данных (1-3 часть из 15) [перевод]

Время на прочтение7 мин
Количество просмотров435K
Перевод цикла из 15 статей о проектировании баз данных.
Информация предназначена для новичков.
Помогло мне. Возможно, что поможет еще кому-то восполнить пробелы.

Другие части: 4-6, 7-9, 10-13, 14-15.

Руководство по проектированию баз данных.



1. Вступление.

Если вы собираетесь создавать собственные базы данных, то неплохо было бы придерживаться правил проектирования баз данных, так как это обеспечит долговременную целостность и простоту обслуживания ваших данных. Данное руководство расскажет вам что представляют из себя базы данных и как спроектировать базу данных, которая подчиняется правилам проектирования реляционных баз данных.
Читать дальше →
Всего голосов 34: ↑20 и ↓14+6
Комментарии28

На пути к созданию безопасного веб-ресурса. Часть 1 — серверное ПО

Время на прочтение7 мин
Количество просмотров99K
Я уже довольно долгое время хочу формализовать все свои мысли, опыт, ежедневно применяемый на практике, и многое другое в одном месте и предоставить их общественности. Уверен, многим этот материал будет полезен. Он посвящен различным моментам в конфигурации серверного ПО Linux и безопасным подходам к созданию сайтов/приложений на php (все же это до сих пор одна из самых популярных связок, хоть её успешно и подвигают другие технологии. Но советы так же легко применимы и к веб-ресурсам на других технологиях).

Т.е. речь идет о типичной ситуации. Проект (стартап), купили под него сервер и разворачиваем на нем сайт. Бизнесу не нужно тратить лишних денег на сервера (поэтому будут выбраны наиболее производительные связки ПО), а так же нужно, чтобы все было безопасно, при чем бесплатно :)
Много текста. По-другому никак
Всего голосов 170: ↑159 и ↓11+148
Комментарии47

Основы правильного проектирования баз данных в веб-разработке

Время на прочтение6 мин
Количество просмотров82K
Базы данных используются повсюду, включая большую часть проектов в мире веб-разработки. Всё, начиная от простейших блогов и каталогов, до серьезных социальных веб-проектов. Независимо от сложности сайта и соответствующей базы данных, каждый из них требует тщательного проектирования, чтобы работать эффективно, а также надежно.

Читать дальше →
Всего голосов 21: ↑10 и ↓11-1
Комментарии9

15 вещей, которые мы хотели бы знать перед разработкой стартапа

Время на прочтение7 мин
Количество просмотров30K
image
За четыре года работы над онлайн консультантом WebConsult мы накопили достаточно большой опыт, и оказалось, что изначально мы не учли многих вещей, которые потом приходилось переделывать – в итоге это стоило нам массы времени, средств и нервов. Эта статья, а возможно и цикл статей, будут посвящены аспектам, которые необходимо продумать еще до начала разработки, дабы будущие стартаперы изначально закладывали грамотную основу в свои веб-приложения. Этой статьи нам очень не хватало четыре года назад, когда создание системы только начиналось, и мы надеемся, что она поможет вам не повторить наших основных ошибок. Многие приведенные советы кому-то покажутся очевидными, однако часто разработчики их упускают, поэтому мы считаем необходимым еще раз напомнить о простых вещах.
Читать дальше →
Всего голосов 82: ↑67 и ↓15+52
Комментарии26

Прокачка debian/ubuntu сервера для маленьких

Время на прочтение9 мин
Количество просмотров185K
Всем привет. Недавно появилась необходимость поднятие VPS на debian 7 за скромные деньги.
О плясках с бубенчиком я бы хотел описать тут в подробностях.
Всё в этом посте было собрано на просторах интернета, доработано, разжевано и скинуто в одну статью.


Выбор пал на https://account.nt-vps.ru/register/ из-за низких цен и неплохой стабильности за эти деньги(правда 2 дня были серьезные проблемы с сетью). Был взят VPS за 5 рублей в сутки(или за 150р в месяц) с небольшими конфигурациями ОЗУ 128mb и 10Гб на диске.

В автоматическом режиме был установлен Debian 7.0 x86-64 Wheezy и VPS была готова к работе.
64 битная сиcтема была выбрана лишь для моих личных нужд, а вам же советую, на этом VPS, ставить x86.

Далее
Всего голосов 159: ↑119 и ↓40+79
Комментарии95

40 советов по оптимизации вашего PHP-кода

Время на прочтение4 мин
Количество просмотров56K
Всем доброго времени суток.

Перевод заметки "40 Tips for optimizing your php code". Автор — Reinhold Weber.

  1. Если метод может быть статическим, объявляйте его статическим.
  2. echo быстрее, чем print.
  3. Передавайте в echo несколько параметров, вместо того, чтобы использовать конкатенацию строк.
  4. Устанавливайте максимальное количество проходов ваших циклов for до цикла, а не во время его выполнения.
  5. Удаляйте свои переменные для освобождения памяти, тем более, если это большие массивы.
  6. Остерегайтесь магических методов, таких как __set, __get, __autoload.
  7. require_once дорого обходится.
  8. Указывайте полные пути в конструкциях include/require, меньше времени будет тратится на поиск файла.
  9. Если вам необходимо определить время, когда скрипт был запущен, используйте $_SERVER[’REQUEST_TIME’] вместо time().
  10. Старайтесь использовать strncasecmp, strpbrk и stripos вместо регулярных выражений.

Читать дальше →
Всего голосов 79: ↑65 и ↓14+51
Комментарии201
1

Информация

В рейтинге
5 956-й
Откуда
Калининград (Кенигсберг), Калининградская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Backend Developer, Test Automation Engineer
Senior
Kotlin
Java Spring Framework
PostgreSQL
Rust
Git
PHP
Laravel
English
Linux
Docker