Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.
Приятного чтения!
Читать полностью »
Рубрика «Разработка веб-сайтов» - 288
PHP-Дайджест № 103 – интересные новости, материалы и инструменты (12 – 26 февраля 2017)
2017-02-26 в 20:43, admin, рубрики: laravel, php, PHP 7, symfony, yii 2, Блог компании Zfort Group, Веб-разработка, дайджест, Новости, подборка, Разработка веб-сайтов, ссылкиДайджест свежих материалов из мира фронтенда за последнюю неделю №251 (20 — 26 февраля 2017)
2017-02-26 в 20:36, admin, рубрики: angular, css, ES6, html, html5, javascript, JS, React, vue, Блог компании Zfort Group, браузеры, дайджест, Разработка веб-сайтов, ссылки, фронтендПредлагаем вашему вниманию подборку с ссылками на полезные ресурсы и интересные материалы из области фронтенда.
Ценообразование при создании сайта
2017-02-26 в 8:48, admin, рубрики: bitrix, Joomla, web-разработка, wordpress, веб-студии, Разработка веб-сайтов, сайтыДанная статья опубликована для заказчиков веб-сайтов, а не для разработчиков. Призываю разработчиков дополнить в комментариях то, что я упустил.
Заказчики веб-студии делятся на две группы: профессиональные «барыги»-посредники и конечные пользователи. Первая группа прекрасно разбирается в ценообразовании, а вот представители второй нередко приходят в шок после того, как пробегутся по десятку веб-студий города и получат счет от 100 до 10000 у.е. Отчаянно жестикулируя мозолистыми руками, они задают один и тот же вопрос «ПОЧЕМУ ТАК, В ЧЕМ РАЗНИЦА????!!!».Читать полностью »
CDN-провайдер Cloudflare внедрял содержимое памяти своего сервера в код произвольных веб-страниц
2017-02-24 в 8:55, admin, рубрики: Cloudbleed, CloudFlare, Heartbleed, информационная безопасность, Разработка веб-сайтов, Тестирование веб-сервисовСпециалисты по безопасности из Google обнаружили неприятный баг, чем-то похожий на приснопамятную уязвимость Heartbleed в OpenSSL. Она тоже выдаёт любому желающему криптографические ключи пользователей, а также куки, пароли, содержимое POST-запросов с личными данными, кредитные карты, ключи API и другое содержимое чужих сессий.
Здесь уязвимость ограничена всего одним сервис-провайдером, пусть и таким крупным как Cloudflare. Но в определённом смысле этот баг Cloudbleed хуже, чем Heartbleed, потому что утечка данных происходит спонтанно. Эти страницы рутинно скачиваются краулерами, индексируются поисковыми системами, до сих пор хранятся в архивах веб-страниц и в кэше Google.
Cloudflare является посредником между хостером сайта и посетителями сайта, выполняя роль обратного прокси для веб-сайтов. Из-за ошибки программиста системы Cloudflare на Nginx с сентября 2016 года внедряли случайные фрагменты оперативной памяти своего сервера в содержимое веб-страниц, которое выдавалось всем пользователям.
Читать полностью »
Полная автоматизация «development» среды с помощью docker-compose
2017-02-22 в 18:55, admin, рубрики: automation, development, docker, docker-compose, IT-стандарты, Разработка веб-сайтовВ этой статье мы поделимся опытом автоматизации запуска, тестирования и конфигурации больших проектов с использованием docker-compose. Несколько простых изменений могут помочь Вашей команде быть более эффективной и тратить время на важные, а не на рутинные задачи.
Docker в 2017
На конференции Dockercon 2016 CEO компании Docker рассказал, что количество приложений, которые запускаются в Docker выросло на 3100% за последние два года. Боле 460 тысяч приложений по всему миру запускаются в Docker. Это невероятно!
Если вы все еще не используете Docker, я бы посоветовал почитать отличную статью об использовании Docker во всем мире. Docker полностью изменил то, как мы пишем приложения и стал неотъемлемой частью для разработчиков и DevOps команд. В этой статье мы полагаем, что вы уже знакомы с Docker и хотим дать вам еще одну серьезную причину продолжать использовать его.
Асинхронная альтернатива для Kotlin в лице Vert.x
2017-02-22 в 12:35, admin, рубрики: java, kotlin, rest, vertx, web-разработка, Разработка веб-сайтовKotlin — популярный инструмент у разработчиков на Android, но, как известно, это не единственное ему применение. Поэтому когда я решился написать простой веб-сервис, показалось разумным сделать это как раз на Kotlin.
Оказывается, Spring Framework — это не единственный вариант. Существует еще одна мощная асинхронная альтернатива — Vert.x, которая почему-то редко упоминается в контексте Kotlin. Об этом тандеме и поговорим в этой статье.
Почему не нужно учить python первым языком
2017-02-21 в 11:34, admin, рубрики: php, python, первый язык программирования, Разработка веб-сайтов, метки: первый язык программированияЕсли вы будете искать ответ на вопрос: «Какой язык программирования выбрать первым», то где-то в 90% всех случаев вам будет предложен Python — как наиболее простой в изучении язык. И очевидно, что определенное число людей, которые до этого не учили программирование, выберут Python из-за этих рекомендаций. И вот тут у нас начинается проблема, о которой пойдет речь ниже. Конечно, с описанием того, как я дошел до такой жизни.
Читать полностью »
«Hello, (real) world!» на php в 2017 году
2017-02-20 в 7:48, admin, рубрики: hello world, java, javascript, npm, php, React, ReactJS, redux, symfony, webpack, Разработка веб-сайтовВы наверняка думаете, что писать на php — это просто. И «hello, world» выглядит примерно так так:
<?php
echo 'Hello, world!';
Конечно, чего еще ожидать от языка с низким порогом входа. Ну да, именно так и было раньше. Много лет назад. Но теперь, в 2017 году никто так уже не делает. Давайте рассмотрим, почему, и попробуем построить наше более реалистичное hello-world приложение по шагам, а их, скажу сразу, получилось не мало.
Union Type, TPT, DDD, ORM и RDBMS
2017-02-20 в 6:05, admin, рубрики: .net, C#, entityframework, tpt, union type, Проектирование и рефакторинг, Разработка веб-сайтов, метки: entityframework, tpt, union type
Объединения и pattern-matching широко используются в функциональном программировании для повышения надежности и выразительности программ.
Классический пример удачного использования объединений для моделирования бизнес-процессов – корзина и состояние заказа. Пользователь в праве добавлять и убирать товары, пока не оплатил заказ. Но сама операция модификации оплаченного заказа лишена смысла. Также лишена смысла операция Remove для пустой корзины. Тогда логично вместо общего класса Cart
определить интерфейс ICartState
и объявить по одной реализации для каждого состояния. Более подробно данный подход изложен текстом здесь и в видео-формате вот тут.
Недавно у нас возникла задача спроектировать структуру БД для специализированной CRM/ERP. Первый подход к моделированию договоров оказался не удачным, из-за того что сторонами договоров могут выступать как физические и так и юридические лица из России и других стран мира. ИНН необходим продавцу, чтобы получить оплату, но не всегда нужен полкупателю (для идентификации личности чаще используются паспортные данные). Формат реквизитов отечественных и зарубежных юр.лиц не совпадает. Не помогало делу и то, что ИП являются физическими лицами, но «прикидываются» юридическими.
На ретроспективе мы разобрали ошибки первоначального дизайна и наметили направление рефакторинга. Всех, заинтересовавшихся нашей историей, прошу под кат.
Читать полностью »
Консоль в массы. Переход на светлую сторону. Автоматизация рутинных задач
2017-02-20 в 4:29, admin, рубрики: bash, front-end разработка, screen, terminal, tmux, wsd, отладка, Разработка веб-сайтов, системное программирование, Совершенный код
Введение
Машины всегда будут быстрее, независимо от того насколько мы продуктивны и как быстро мы набираем команды. Суровая правда жизни. С другой стороны, если мы выполняем одно и тоже действие множество раз, то почему бы не заставить машины страдать. Написать скрипт на bash
(ваш любимый язык программирования) и каждый раз вызывать этот скрипт, а не набирать монотонные команды, которые забирают так много времени, сил и энергии. А мы, пока скрипт будет выполнять свою работу, можем помечтать о том, как космические корабли бороздят просторы нашей Вселенной.
В прошлой статье мы рассмотрели основы программирования на bash
. Сегодня мы будем применять полученные знания на практике.
Читать полностью »