Как стать автором
Обновить
2
0
Vit228 @Vit228

Пользователь

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

Поняв Docker

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

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


К вашему сведению! В этой статье мы рассматриваем само явление docker-контейнеров, а не составляем список микросервисов, которые гнездятся внутри. Этим мы займемся в следующей серии, во имя справедливости!


UPDATE: пришлось заменить «докер» на «docker», иначе статья не ищется. Заранее прошу прощения за все «docker'ы» в тексте. Селяви.


Что мы имеем сегодня


  • Зоопарк дубовых VPS-хостингов.
  • Дорогие IaaS и PaaS с гарантированным vendor lock in.
  • Уникальные сервера-снежинки.
  • Ворох устаревших зависимостей на неподдерживаемой операционке.
  • Скрытые связи частей приложения.
  • Незаменимый админ полубог на скейтборде.
  • Радуга окружений: development, testing, integration, staging, production.
  • Генерация конфигов для системы управления конфигами.
  • Feature flagging.
docker run docker
Всего голосов 92: ↑83 и ↓9+74
Комментарии245

Вышел Zabbix 3.0

Время на прочтение7 мин
Количество просмотров108K
Долгожданная версия открытой системы мониторинга Zabbix обещает нам целый ворох новых возможностей, вставая на путь визуального обновления.
Сегодня хочу поделиться с вами тем, что принес релиз, и чем можно начать пользоваться уже сегодня, скачав новую версию с сайта. Мы также будем рады пригласить всех желающих на Zabbix Meetup в Москве, подробности о котором вы найдете в конце статьи.


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

Api-platform

Время на прочтение3 мин
Количество просмотров24K
image
С приближением Web 3.0 все активнее начинают использоваться подходы API first и Linked Data (или что-то вроде Sematic Web). В связи с этим читателям предлагается познакомиться с фреймворком для удобного создания API на базе схем собранных на schema.org с генерацией ответов в виде JSON-LD,

Это укороченная версия туториала Api-platform

Читать дальше →
Всего голосов 17: ↑15 и ↓2+13
Комментарии3

Асинхронное выполнение PHP скрипта на подпроцессах

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


Добрый день, уважаемые хабровчане.

Сегодня я хотел бы поговорить о таких нетривиальных вещах, как асинхронные (параллельные) расчеты в языке PHP.
Сам по себе PHP — это скриптовый язык, который никогда и не претендовал на многопоточность. Но чем дальше в лес, тем более серьезные задачи стоят перед разработчиками, и тем больше приходится «извращаться» с пыхом, потому что мигрировать на более приспособленный под эти задачи язык программирования многие компании попросту боятся и не хотят. Следовательно, приходится работать с тем, что дают.
Подробности под катом…
Читать дальше →
Всего голосов 26: ↑16 и ↓10+6
Комментарии24

Американский акселератор 500 Startups выходит на российский рынок

Время на прочтение2 мин
Количество просмотров7.9K
Американский венчурный фонд и акселератор 500 Startups всерьез заинтересовался российскими проектами. Представителем фонда в РФ станет Диана Молдавская, бывший топ-менеджер Zeptolab. Там она отвечала за развитие бизнеса, продажи и международную экспансию. Zeptolab – разработчик одной из самых популярных в мире игр Cut the Rope, набравшей более 600 миллионов установок, около 70 миллионов ежемесячных активных пользователей. До Zeptolab Молдавская руководила онлайн-классифайдом OLX в России и СНГ, работала с международными партнерами «Яндекса» и крупными рекламодателями в штаб-квартире Google.

Она займется поиском интернет-сервисов B2C и мобильных приложений на ранней стадии развития (seed-раунд и A-раунды), сервисов on demand, а также обучающих и игровых приложений. Для фонда интерес представляют проекты, прошедшие путь от идеи к реализации и получившие первую аудиторию.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии2

Заказчики из-за границы: как сделать всё легально

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


Из-за падающего курса рубля многие фрилансеры уже давно работают на зарубежных клиентов. Среди них не все желают сотрудничать с обычными физлицами: крупные заказчики требуют оформлять контракт и оплачивать работы в иностранной валюте. Чтобы охватить новый рынок, придётся зарегистрироваться как предприниматель и соблюдать серьезное валютное законодательство. Обо всех этих правилах мы постарались рассказать понятными словами.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии15

Upgrade до Middle PHP-разработчика за 3 месяца

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

В очередной раз на меня свалилась задача найти хорошего PHP-программиста.
По результатам прозвона потенциальных кандидатов, 90% тех, кто мнит себя Middle, на самом деле Junior и годы опыта не спасают, потому что клепают однотипный код в пределах заданий, посланных свыше.
Прописал минимальный план желающим сделать рывок и перейти на следующий уровень без отрыва от производства.


Читать дальше →
Всего голосов 94: ↑55 и ↓39+16
Комментарии190

Неочевидные проблемы с быстродействием в Doctrine, связанные с гидрацией объектов

Время на прочтение2 мин
Количество просмотров11K
Недавно я реализовал функции API в проекте с бэк-эндом Symfony2, использущем Doctrine в качестве ORM.

И, как это иногда бывает, скороость отрабатывания не вполне меня устроила. На несложный запрос ответ генерировался аж 7,2 сек.



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

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

50+ лучших дополнений к Bootstrap

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


Благодаря популярности CSS фреймворка Bootstrap, для него разработали массу различных дополнений. Даже сейчас вы можете использовать Bootstrap практически для любой задачи при разработке и оформлении вебсайта.

Для статьи я подобрал наиболее полезные дополнения «на все случаи жизни».
Читать дальше →
Всего голосов 123: ↑111 и ↓12+99
Комментарии25

Не Таиландом единым или Как фрилансеру за три часа поменять место обитания без проблем с визами

Время на прочтение10 мин
Количество просмотров51K
С падением курса рубля жизнь фрилансера-путешественника сильно осложнилась. Однако если все же заработок позволяет, а европейского гостеприимства, как и солнца, ох как не хватает в России – добро пожаловать в восемь стран, где фрилансер найдет покой и красивую картинку позади монитора без проблем и волнений с оформлением виз.


Маршруты кочевников за полторы тысячи лет не поменялись. Но нравы стали помягче
Читать дальше →
Всего голосов 69: ↑64 и ↓5+59
Комментарии126

Проектирование Web API в 7 шагов

Время на прочтение14 мин
Количество просмотров76K
7steps Разработка веб API это нечто большее чем просто URL, HTTP статус-коды, заголовки и содержимое запроса. Процесс проектирования – то, как будет выглядеть и восприниматься ваш API – очень важен и является хорошей инвестицией в успех вашего дела. Эта статья кратко описывает методологию для проектирования API с опорой на преимущества веба и протокола HTTP, в частности. Но не стоит думать, что это применимо только для HTTP. Если по какой-то причине вам необходимо реализовать работу ваших сервисов используя WebSockets, XMPP, MQTT и так далее – применяя большую часть всех рекомендаций вы получите практически тот же API, который будет хорошо работать. К тому же полученный API позволит легче разработать и поддерживать работу поверх нескольких протоколов.

Хороший дизайн затрагивает URL, статус-коды, заголовки и содержимое запроса


Обычно руководства по проектированию Web API фокусируются на общих концепциях: как проектировать URL, как правильно использовать HTTP статус-коды, методы, что передавать в заголовках и как спроектировать дизайн содержимого, которое представлено сериализованными данными или графом объектов. Это всё очень важные детали реализации, но не настолько в смысле общего проектирования API. Проектирование API – это то, как сама суть сервиса будет описана и представлена, то что вносит значительный вклад в успех и удобность использования Web API.

Хороший процесс проектирования или методология предоставляют набор согласованных и воспроизводимых шагов для создания компонентов сервисов, которые будут доступны в виде Web API. Это значит, что такая прозрачная методология может быть использована разработчиками, дизайнерами и архитекторами для координации своих действий по реализации ПО. Использованная методология так же может уточнятся со временем по мере того, как улучшается и автоматизируется процесс без ущерба для деталей методологии. На самом деле, детали реализации могут меняться (например, платформа, ОС, фреймворки и стиль UI) независимо от процесса проектировки, когда эти две активности полностью разделены и задокументированы.
Читать дальше →
Всего голосов 30: ↑28 и ↓2+26
Комментарии8

Работаете дома? 6 способов поддержания сосредоточенности и продуктивности

Время на прочтение3 мин
Количество просмотров13K
image

Работа из дома может потребовать серьёзной адаптации в привычках. Может возникнуть ощущение круглосуточного труда – и так каждый день. При таком режиме грань между работой и личной жизнью стирается. В этой статье Emily Cassel, расскажет, как при работе из дома не потерять вдохновение, сосредоточенность и продуктивность.
Читать дальше →
Всего голосов 13: ↑11 и ↓2+9
Комментарии4

Zend Certification. Не так страшен черт

Время на прочтение3 мин
Количество просмотров24K
Хотелось бы поделиться с уважаемым сообществом своим опытом получения заветного Zend сертификата.

Ни для кого не секрет, что к многочисленным сертификациям, и к ZCPE (Zend Certified PHP Engineer) в частности, все относятся по-разному: кто-то коллекционирует их и развешивает на стенках для самолюбования, кто-то считает пустой тратой времени и денег.
Читать дальше →
Всего голосов 16: ↑14 и ↓2+12
Комментарии5

Простой разбор URL с помощью изоморфного Javascript

Время на прочтение4 мин
Количество просмотров66K
Во многих веб-приложениях требуется разбор URL, такой как извлечение доменного имени, имплиментация REST API или поиск пути к файлам изображений. Типичная структура URL показана на рисунке ниже:


Читать дальше →
Всего голосов 29: ↑20 и ↓9+11
Комментарии30

Настройка TeamCity для новичков

Время на прочтение9 мин
Количество просмотров160K
Эта статья в первую очередь пригодится тем, кто использует тот же стек технологий, что и наша команда, а именно: ASP.NET, C#, NUnit, Selenium 2, git, MSBuild. Будут рассмотрены такие задачи, как интеграция с git, сборка C#-проектов, NUnit-тесты (как модульные, так и тесты UI), а также деплой на сервер. Впрочем, наверняка найдётся интересное и для других пользователей, кроме разве что съевших на этом вопросе собаку. Но они опять же смогут обратить внимание на ошибки в статье или что-то посоветовать: например, как оптимизировать фазу деплоя.
Читать дальше →
Всего голосов 39: ↑35 и ↓4+31
Комментарии12

Одностраничный магазин на Phalcon PHP + AngularJS. Работа над ошибками

Время на прочтение9 мин
Количество просмотров39K
image

Введение

Всем привет! Не так давно я написал публикацию «Одностраничный магазин с корзиной на Phalcon + AngularJS + Zurb Foundation», которая имела неоднозначный эффект мягко говоря. А точнее получила много отрицательных комментариев, какие-то были объективные и конструктивные, какие-то нет, и они меня заставили задуматься, почему так произошло, ведь я хотел сделать полезный мануал, который пригодиться мне и другим, начинающим писать на AngularJS.

Исповедь

Да, мануал был полезен для меня, для меня старого, того, кому в 2009 году отказали в работе в местной веб-студии, и он по сей день ни разу ни работал в команде, ни разу не работал на наёмной работе, а полагался только на себя, и главным критерием эффективности реализации проектов был один — главное, что работает. Но это я — старый, после написания той статьи, и множества комментариев, я впервые решил попробовать сделать всё по правилам хорошего тона, хотя бы ради интереса.
Что из этого вышло?
Всего голосов 51: ↑37 и ↓14+23
Комментарии55

jQuery для мобильных устройств, все за и против

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

Это довольно вольный перевод статьи, которая попалась мне на просторах интернета. Её автор — TJ VanToll. Он уже много лет занимает веб-разработкой и, в частности, оптимизацией сайтов для большей производительности на мобильных телефонах. Под катом рассмотрены несколько способов оптимизации, а так же приведены результаты тестирования на различных устройствах.
Читать дальше →
Всего голосов 32: ↑26 и ↓6+20
Комментарии20

Breeze.js + Entity Framework + Angular.js = удобная работа с сущностями базы данных прямо из браузера

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

Некоторое время назад на просторах сети столкнулся с интересной библиотекой Breeze.js. Первая мысль, которая пришла на ум при взгляде на неё: «Да это же как Entity Framework для браузера». В поисках информации и отзывов других пользователей, конечно, первым делом поискал статью на Хабре, но не нашёл, поэтому и решил написать, в надежде, что кому-нибудь это тоже будет полезным. Статья написана в виде tutorial по созданию проекта на основе Breeze.js, Angular.js, ASP.NET Web API и Entity Framework.
Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии13

DOMPDF – экспорт данных из PHP в PDF

Время на прочтение7 мин
Количество просмотров58K
С помощью библиотеки DOMPDF можно создавать PDF файлы из HTML кода. Нужно только сверстать некий HTML шаблон и передать его DOMPDF и уже на выходе получить сгенерированный PDF файл. Но не надо забывать и то, что эта библиотека не движок для обработки веб-страниц, а значит и шаблоны должны быть сверстаны с использованием самых базовых средств: HTML тегов и CSS стилей. Хотя разработчики заявляют, что их библиотека поддерживает стандарты CSS 2.1 и даже некоторые свойства CSS 3. С полным их перечнем можно ознакомиться здесь. Есть, кстати, один минус – она является довольно “прожорливой” к оперативной памяти. Поэтому возможно придется задуматься об аренде виртуального выделенного сервера. Но это зависит от содержания и объема планируемых PDF документов. С другой стороны она вам может помочь сэкономить много времени на разработку различных отчетов в формате PDF.
Читать дальше →
Всего голосов 16: ↑15 и ↓1+14
Комментарии23

Обработка и оформление отчетов в Excel на PHP

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

Не редко при разработке некоего проекта, возникает необходимость в формировании отчетной статистики. Если проект разрабатывается на Delphi, C# или к примеру, на С++ и под Windows, то тут проблем нет. Всего лишь необходимо воспользоваться COM объектом. Но дела обстоят иначе, если необходимо сформировать отчет в формате excel на PHP. И чтобы это творение функционировало на UNIX-подобных системах. Но, к счастью, не так все плохо. И библиотек для этого хватает. Я свой выбор остановил на PHPExcel. Я уже пару лет работаю с этой библиотекой, и остаюсь доволен. Поскольку она является кроссплатформенной, то не возникает проблем с переносимостью.


PHPExcel позволяет производить импорт и экспорт данных в excel. Применять различные стили оформления к отчетам. В общем, все на высоте. Даже есть возможность работы с формулами. Только необходимо учитывать, что вся работа (чтение и запись) должна вестись в кодировке utf-8.

Читать дальше →
Всего голосов 40: ↑33 и ↓7+26
Комментарии28
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Россия
Дата рождения
Зарегистрирован
Активность