Pull to refresh
-7
0
Григорий Перетяка @Peretyaka

User

Send message

20 лучших практик по работе с Dockerfile

Reading time13 min
Views34K

Эта статья содержит рекомендации по написанию Dockerfile и принципам безопасности контейнеров и некоторые другие связанные темы, например про оптимизацию образов.

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

К счастью, большинство потенциальных проблем мы можем решить еще на этапе разработки.

Хорошо подготовленный Dockerfile исключает необходимость использовать привилегированные контейнеры, открывать порты, в которых нет необходимости, включать лишние пакеты и избегать утечки чувствительных данных. Старайтесь решить эти проблемы сразу, это поможет в дальнейшем сократить усилия на поддержку ваших приложений.

Читать далее
Total votes 44: ↑42 and ↓2+40
Comments22

Mkcert: валидные HTTPS-сертификаты для localhost

Reading time2 min
Views86K

В наше время использование HTTPS становится обязательным для всех сайтов и веб-приложений. Но в процессе разработки возникает проблема корректного тестирования. Естественно, Let’s Encrypt и другие CA не выдают сертификаты для localhost.

Традиционно есть два решения.
Читать дальше →
Total votes 65: ↑54 and ↓11+43
Comments35

Микросервисный фронтенд — современный подход к разделению фронта

Reading time6 min
Views38K
too FAT SPA


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

Правда, зачастую, говоря о микросервисной архитектуре, упоминают только бэкенд-архитектуру, а фронтенд как был, так и остается монолитным. Получается, что мы сделали великолепный бэк, а фронт тянет нас назад.

Сегодня я расскажу вам, как мы делали микросервисный фронт в нашем SaaS-решении и с какими проблемами столкнулись.
Подробнее под катом
Total votes 26: ↑26 and ↓0+26
Comments68

Способы отладки JS на клиенте

Reading time2 min
Views23K

Применительно к разработке на create-react-app (CRA) в браузере и в IDE WebStorm. Если вам известны какие-либо другие способы отладки, большая просьба поделиться знаниями.

Читать дальше →
Total votes 21: ↑16 and ↓5+11
Comments21

Внедрение Docker для небольшого проекта в Production

Reading time5 min
Views27K
image

Эта статья посвящена всем, кто еще думает, а стоит ли мне заморачиваться с данной технологией имея не большую виртуалку на одном из известных хостеров и что в итоге мне это даст.
Тем кому это интересно добро пожаловать под кат.
Читать дальше →
Total votes 34: ↑30 and ↓4+26
Comments13

Изоморфные React-приложения: производительность и масштабирование

Reading time12 min
Views34K


Денис Измайлов ( DenisIzmaylov )


Всем привет! Вкратце расскажу о себе. Я — Денис Измайлов. Последние 5 лет сосредоточился на JS-разработке, делал много Single Page Application, highload, React, выступал на MoscowJS несколько раз, каммитил webpack и т.д.

Сегодня хотел бы поговорить вот о чем: почему от Single Page Application в его классическом виде стоит отказаться; как изоморфные приложения отразятся на Вашей зарплате; и что вы будете делать на этих выходных?
Читать дальше →
Total votes 43: ↑26 and ↓17+9
Comments55

Meteor. Разрабатываем TODO List

Reading time36 min
Views61K
В данном уроке я не хочу обсуждать, почему метеор убийца веба, тем более я так не считаю, но определенную симпатию к этому фреймворку имею. Поэтому хочу показать с чего можно начать при разработке приложения на нем, какие есть пакеты и вообще, что такое этот метеор.

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

Еще хочу предупредить, что урок получился достаточно объемным, но кода в нем было написано в разы меньше, чем текста. Просто хочу поделиться опытом как можно использовать метеор не при создании простенького примера, и заострить внимание на различных моментах, которые я посчитал важными. Поэтому в уроке будет использоваться множество сторонних пакетов, облегчающих процесс разработки.

И еще одно предупреждение: в данном уроке будут использоваться следующие технологии для непосредственного написания примера:

  • jade — html препроцессор;
  • less — css препроцессор;
  • coffeescript — язык программирования, компилируемый в javascript.

Видео, демонстрирующее приложение, полученное в ходе урока



И кому все еще интересно, добро пожаловать под кат.
Читать дальше →
Total votes 67: ↑59 and ↓8+51
Comments19

Что ещё можно делать на e-ink книге с Android

Reading time4 min
Views106K
Как-то просидев очередные сутки за компьютером я понял, что не могу дальше работать, т.к. болят глаза. Обычно мне хватает несколько дней отдыха и я снова в строю. Но эти несколько дней надо прожить почти без компьютера и не пялиться в мобильный телефон.

Но отказаться от компьютерной техники в целом не получается, зависимость требует новую дозу! Тут и могут помочь устройства с E-ink экраном — от них глаза не болят. Уже год, как использую Nook Simple Touch. На нём сразу установлен Android 2.1 с кучкой самописанных программ от Barnes & Noble. После рутирования получается хоть и старенький, но полнофункциональный и полный андроид. В качестве примера дальше будет использоваться Nook, однако по аналогии можно сделать аналогичные действия на любой другой книге с Android. Итак, что же можно эффективно делать на читалке, какие именно приложения оказались наиболее полезными?
Читать дальше →
Total votes 50: ↑42 and ↓8+34
Comments77

Мультиварка — умная кастрюля или «не доведенный до ума» гаджет

Reading time12 min
Views636K

Этот пост будет полезен всем, кто хотя бы иногда что-то готовит сам, а также помогает или мешает это делать другим.
Из него можно узнать, что это за гаджет — мультиварка, какие у нее технические возможности и невозможности, внутренность, наружность, достоинства (много) и недостатки (тоже много). Расскажу кое-что и о маленьких мультиварочных хитростях, а также позволю себе общее лирическое отступление о программировании на кухне.
Цель поста — рассказать про мультиварки, как класс объектов, не выделяя особо его представителей, но, чтобы не вести разговор о сферической мультиварке в вакууме, сделаю основным примером разбора мою модель — Panasonic SR-TMJ181.
Те, у кого нет мультиварки узнают, нужна ли она им, но и те, у кого она есть, надеюсь, без новых знаний не останутся.
Читать дальше →
Total votes 295: ↑259 and ↓36+223
Comments337

Теряем посетителей — много и каждый день

Reading time2 min
Views17K

По какой-то причине огромное количество проектов с радостью теряет самых хлебных посетителей — белых воротничков в рабочее время.

Большинство работодателей закрывают все социальные сети скопом, начиная, естественно, с контакта. Несмотря на это — у крупных и очень крупных проектов в начале страницы( уже не очень хорошо) можно встретить простую строчку:
<script type="text/javascript" src="http://vkontakte.ru/js/api/share.js?3"></script>

или
<script type="text/javascript" src="http://userapi.com/js/api/openapi.js?20"></script>

В итоге пользователи с закрытым контактом не могут открыть сайт, перейти по ссылке и в конце концов — принести проекту прибыль.

Примеры c посещаемостью больше 50к в день:
vesti.ru
kp.ru
smotri.ru
oktogo.ru
lifehacker.ru
povarenok.ru

Будьте аккуратны, используйте асинхронный код, доступный для всех соц. сетей, в крайнем случае — его можно смастерить самому.

2 апдэйта под катом
Total votes 119: ↑89 and ↓30+59
Comments64

Универсальная читалка электронных книг с монитора компьютера и с мобильных устройств

Reading time1 min
Views20K
Коллеги, доброго дня!
Представляю на Ваш суд финальную версию сервиса чтения и хранения электронных книг enreader.com.

Суть сервиса простая:
1. Грузите книгу на сервер (поддерживаем EPUB | MOBI | LIT | FB2 | DJVU | RTF | DOC | TXT | PDF;
2. Читаете книгу на десктопе, на айфоне-айпаде-айподе, на андроид устройстве, на Blackberry или на любом другом телефоне если на нем есть Opera Mini.

Где бы Вы ни читали книгу, она всегда откроется там где закрывалась в последний раз (в т.ч. на другом устройстве). Закладки тоже одинаковые на всех устройствах.

Со времени последнего поста о нашем сервисе изменилось вот что:
Читать дальше →
Total votes 98: ↑94 and ↓4+90
Comments100

Онлайн размещение документов на сайте

Reading time3 min
Views23K
В наше время, когда Интернет широко шагает по стране, компании все чаще создают собственные сайты. Почти на каждом присутствует информация о ценах на продукцию, услуги и т.д., проще говоря – прайсы. Зачастую прайсы сразу сверстаны в html страницу или дается ссылка на их скачивание. В первом случае хорошо, если на сайте установлена CMS и можно редактировать страницы, а если нет? Во втором, нужно закачать прайс по ftp. Оба случая могут явиться камнем преткновения при обновлении прайса на сайте, если нет собственного вебмастера. Да и копирование информации из готового прайса на сайт, может привести к неточностям и ошибками, особенно если прайс не маленький. А это чревато потерей клиентов. Рассмотрим, как упростить размещение прайсов online. Сразу оговорюсь, что рассматривать мощные системы, где CMS сайта взаимодействует с бухгалтерией компании я не буду.
Читать дальше →
Total votes 72: ↑66 and ↓6+60
Comments31

Две раскладки в одном флаконе

Reading time2 min
Views11K
Раньше мне приходилось использовать три раскладки клавиатуры. И в этом топике я хочу рассказать, как мне удалось сократить их число до двух. Эта хитрость универсальна и в большинстве случаев позволяет сократить количество раскладок к количеству алфавитов. Не претендую на оригинальность — идея лежит на поверхности, и сразу предупреждаю — если у вас и так только две раскладки — топик этот вам, скорее всего, не поможет.

Первая — английская, рабочая. Вторая — украинская, родная, основная для общения. Третья — русская, в общем обычно не используемая, разве иногда — погуглить что-нибудь, вот, на Хабре комент или топик написать. При этом третья раскладка висела в списке активных, но при работе и постоянном переключении украинская-английская-украинская постоянно приходилось нажимать лишний раз Alt+Shift или Ctrl+Shift. Кроме того, часто случалось, что начал печатать, вроде как все хорошо, ан нет — раскладка русская, вместо 'і' пошли 'ы', вместо 'є' — 'э', и тому подобное. Мучился я так, мучился, и вот в один прекрасный день решил это дело как-то
оптимизировать
Total votes 80: ↑61 and ↓19+42
Comments137

ПО для взаимодействия ПК и смартфона

Reading time7 min
Views435K
С момента покупки смарта на Android меня заинтересовало его функциональное наполнение. На практике оказалось, что Android способен выполнять практически любую задачу, решаемую на обычном ПK, только медленнее и не всегда удобнее. Зато дополняет ПК он прекрасно, и механизмов использования возможностей смарта на ПК и возможностей ПК на смарте — уйма.

Статья ориентирована в основном на формирующихся и будущих пользователей Android-смартфонов; надеюсь, что продвинутые пользователи также найдут в ней что-то новое и/или внесут свою лепту. Под катом по пунктам, в вопрос-ответном стиле.
Читать дальше →
Total votes 136: ↑127 and ↓9+118
Comments60

Проблемы поиска утечки памяти в веб-приложении с помощью Chrome DevTools

Reading time3 min
Views22K
Браузер Google Chrome поставляется с превосходными инструментами для разработчика, они же есть в Яндекс.Браузере, новой Опере, и в других браузерах, основанных на базе Chromium.

Среди них есть потрясающие инструменты для работы с памятью, ознакомиться с которыми можно в статье пользователя Panya«Как находить и устранять утечки памяти на примере Яндекс.Почты».

Javascript хранит объект в памяти до тех пор, пока на него есть хоть одна ссылка. Как только вы удаляете все ссылки на объект, он уничтожается сборщиком мусора.

Таким образом, чтобы удалить объект, нужно удалить все ссылки на него.

Это кажется очень простым, но есть несколько достаточно неожиданных «мест» где могут храниться ссылки на объекты, тем самым задерживая их удаление, и создавая утечку памяти.
Читать дальше →
Total votes 22: ↑20 and ↓2+18
Comments4

В Firefox Developer Tools добавлена поддержка событий jQuery

Reading time1 min
Views20K
Встроенные инструменты разработки в Firefox становятся все удобнее. image
Возможность просматривать эвенты в Firefox developer tools была доступна и раньше, но поддерживала она только нативные js события. Для этого, надо открыть Dev tools, перейти на вкладку Inspector и если на элемент было повешено событие, то справа от него отображалась пиктограмма «ev», при нажатии по которой можно было посмотреть обработчик.
Читать дальше →
Total votes 52: ↑50 and ↓2+48
Comments17

URL.js или дружим JavaScript с обработкой ссылок

Reading time8 min
Views50K
image

Доброго времени суток, уважаемые хабравчане!

Возникла передо мной сегодня задача генерации GET-параметров и всего URL в целом, на стороне клиента, прям вот щас, без возможности «поговорить» с сервером. Сразу оговорюсь, про этот пост я узнал вот прям перед написанием данной статьи ибо сначала закончил писать, а потом уже прибег к поиску, да и пост тот — не со всем про то же самое, что у меня.

Итак, к делу.

Задача и проблемы


Проблемы — те же что и в посте, который я привел выше:
  • Невозможность использовать window.location для «приготовления» URL;
  • Нельзя работать сразу с несколькими window.location в силу политики безопасности браузеров;
  • Отсутствие известных готовых решений ( да и сейчас, уже апосля, я не нашел подобного кода )

Задачи которые я поставил перед собой:
  • Удобный синтаксис
  • Возможность как читать части URL так и изменять их
  • Работа с GET-параметрами
  • Кроссбраузерность и универсальность


Писал я на чистейшем JavaScript, причем без использования prototype.__defineGetter__ или prototype.__defineSetter__ в угоду кроссбраузерности ибо IE < 9 такого не умеет. Более подробно про getters/setters написано в этом посте.

Для тех кому интересно — сядем разберем, а кому надо готовое решение — милости прошу в конец поста, ссылки на скачивание — там.

Приступим! Раньше сядем — раньше выйдем.
Читать дальше →
Total votes 60: ↑47 and ↓13+34
Comments60

Поиск файлов по содержимому из терминала

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

image

Читать дальше →
Total votes 57: ↑14 and ↓43-29
Comments40

Google Maps API: схема проезда, анимация и стилизация

Reading time4 min
Views77K
image
Многие из нас часто вставляют на свои сайты карты. Обычно, это карта на странице контактов с единственным маркером, которым отмечено место офиса. Но иногда у заказчика включается фантазия и начинается «творчество». В свое время я потратил много времени, чтобы разобраться в постоянно меняющемся Google Maps API и хочу поделиться с вами своими наработками для решения обычных проблем с картами, которые выходят за рамки одного маркера.

Все, что описано ниже, можно узнать внимательно читая документацию GMaps API. Предполагается, что читатель уже умеет внедрять карту, подключать API и ставить маркер. Статья не претендует на полноту изложения, но может быть полезна начинающим пользователям Google Maps API.
Читать дальше →
Total votes 20: ↑20 and ↓0+20
Comments7

Запуск бюджетной линии серверов за 59 $

Reading time1 min
Views17K
Друзья!

Мы учли комментарии и пожелания и расширили свое портфолио спец предложением для хаброжителей:

HP Blade сервер:

CPU: 2 x Intel Xeon CPUs (2 GHz — Quad core)
Память: 8GB RAM
Диски: 2 x 500 GB HDDs



Спец тариф для Хабра — 59 $ в месяц! *

Если при заказе этот пост у Вас в избранном — месяц на один сервер даем бесплатно!

*Предложение действует только для новых клиентов, зарегистрированных с указанием промо кода [5364840AD8]. Один клиент может получить не больше 3х HP blade серверов.
Количество серверов ограничено.

UPDATE: Все серверы предварительно уже разобрали. Регистрируйтесь с промо кодом и пишите запрос pk@serverclub.com — либо кто то не сделает заказ, либо мы сделаем скидку на аналоги под Ваши требования. Отказные серверы будут раздаваться в порядке живой очереди.

Читать дальше →
Total votes 40: ↑27 and ↓13+14
Comments43

Information

Rating
Does not participate
Location
Днепр, Днепропетровская обл., Украина
Date of birth
Registered
Activity