Как стать автором
Обновить
0
Карма
0
Рейтинг
Шелестов Александр @shelestov

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

  • Подписчики 3
  • Подписки 3
  • Публикации
  • Комментарии

PHP-Дайджест № 115 – свежие новости, материалы и инструменты (14 – 27 августа 2017)

Блог компании Zfort GroupРазработка веб-сайтовPHP

Свежая подборка со ссылками на новости и материалы. В выпуске: PHP 7.2.0 Beta 3, мутационное тестирование, подборка плагинов PhpStorm, конечные автоматы в веб-разработке, видео с митапа, и многое другое.

Приятного чтения!
Читать дальше →
Всего голосов 76: ↑74 и ↓2+72
Просмотры18K
Комментарии 7

Миграция VueJS приложения на Vuex

Блог компании Zfort GroupРазработка веб-сайтовJavaScript
Перевод
Всем привет! Нам бы хотелось представить вашему вниманию статью Энтони Гора о миграции Vue.js-приложения на Vuex.


Вид приложения, над которым будет вестись работа по миграции

Далее следует перевод статьи. Всех, кому интересна данная тема, приглашаю под кат.
Читать дальше →
Всего голосов 31: ↑28 и ↓3+25
Просмотры18K
Комментарии 10

npm link на стероидах

Блог компании Mail.ru GroupРазработка веб-сайтовJavaScriptNode.JS

npm link + steroids = npmy


Думаю многие из вас уже сталкивались с локальной разработкой npm-пакетов. Обычно никаких трудностей это не вызывает: создаём папку, запускаем npm init, пишем тесты, дальше используем npm link (либо просто симлинк) и «шлифуем» api до полной готовности.


Звучит просто… только если вы не используете Babel, Rollup, Webpack и т.п. Иными словами, всё хорошо, пока проект не нужно собрать перед публикацией, да ещё с модификацией исходного кода. Кроме того, одновременно разрабатываемых пакетов может быть больше чем один, что в разы усложняет «жизнь». Чтобы исправить эту ситуацию, пришлось сделать маленькую утилиту npmy, под катом небольшая статья с описанием тех. процесса работы и пример использования.

Читать дальше →
Всего голосов 38: ↑38 и ↓0+38
Просмотры17K
Комментарии 26

«Я не могу просто ходить с флагом «Postgres – наше всё». Нужно руками доказывать, что это работает» – Алексей Лустин

Блог компании PG Day'17 Russia
Наш сегодняшний собеседник – Алексей Лустин, IT-евангелист в мире 1С, инженер по инфраструктуре в концепциях DevOps и NoOps для 1С.

Алексей и его коллеги занимаются профессиональным обслуживанием бизнесов, работающих с платформой 1С. Они обучают клиентов, как эффективно использовать 1C на связке PostgreSQL + Linux. Оказывается, что очень часто проблема заключается не в самой платформе, а в неумелой эксплуатации. На PG Day'17 Russia Алексей проведет мастер-класс по переходу на PostgreSQL для 1С под кодовым названием Борьба со страхами.

В рамках сегодняшней публикации, Алексей наглядно покажет, почему методология, которую они предлагают, является успешной. И не менее подробно объяснит, какие именно практические навыки вы приобретете на мастер-классе.


image altPG Day: Алексей, расскажите о себе. Кто вы, чем занимаетесь, как пришли к своей специализации?

Алексей: Я называю себя евангелистом Automation Driven Development. Это такая концепция “от автоматизации деятельности айтишников”, чтобы разработчики и инфраструктурщики избавлялись от рутины и освобождали время для интересной работы. Последние четыре года стараюсь подружить два мира с помощью концепции CICD (Continuous Integration и Continuous Delivery): разработчиков и инфраструктурщиков. Ради этого и была организована наша команда. Причем основной приоритет именно на “мир 1С”, как наименее автоматизированный с точки зрения процесса.
Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Просмотры12K
Комментарии 20

Возможности PostgreSQL для тех, кто перешел с MySQL

Блог компании PG Day'17 RussiaРазработка веб-сайтовMySQLPostgreSQLSQL

Крутой varanio буквально на прошлой неделе прочитал на DevConf забойный доклад для всех кто пересел на Посгрес с MySQL, но до сих пор не использует новую базу данных в полной мере. По мотивам выступления родилась эта публикация.


Мы рады сообщить, что подготовка к PG Day'17 Russia идет полным ходом! Мы опубликовали полное расписание предстоящего мероприятия. Приглашаем всех желающих прийти и похоливарить с Антоном лично



Поскольку доклад на DevConf вызвал в целом положительные отзывы, я решил оформить его в виде статьи для тех, кто по каким-то причинам не смог присутствовать на конференции.


Почему вообще возникла идея такого доклада? Дело в том, что PostgreSQL сейчас явно хайповая технология, и многие переходят на эту СУБД. Иногда — по объективным причинам, иногда — просто потому что это модно.


Но сплошь и рядом складывается такая ситуация, когда какой-нибудь условный программист Вася вчера писал на MySQL, а сегодня вдруг начал писать на Посгресе. Как он будет писать? Да в целом также, как и раньше, используя лишь самый минимальный набор возможностей новой базы. Практика показывает, что проходят годы, прежде чем СУБД начинает использоваться более менее полноценно.

Читать дальше →
Всего голосов 59: ↑58 и ↓1+57
Просмотры42K
Комментарии 139

Работа с периферией из JavaScript: от теории к практике

Блог компании СберJavaScriptПрограммированиеReactJS
Работа сотрудника банка опасна и трудна. В Единой фронтальной системе мы стараемся помочь сотруднику банка и автоматизировать его работу. Одна из многочисленных задач, которую нам нужно решить, — доработать тонкий клиент для возможности работы с периферийным банковским оборудованием. Но сделать это не так-то просто. В данной статье мы расскажем, как мы пытались решить задачу, и к чему это привело.

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


Читать дальше →
Всего голосов 48: ↑38 и ↓10+28
Просмотры19K
Комментарии 39

Типизированные компоненты в Vue.js, или как подружить Vue, TypeScript и Webpack

JavaScriptПрограммированиеСистемы сборкиVueJSTypeScript
Из песочницы

Речь в данной статье пойдет о довольно необычном сочетании технологий: Vue.js + TypeScript + Webpack, в разрезе single-file компонентов. Решение данной задачи отняло у меня приличное количество времени с первого захода, поскольку исчерпывающее объяснение того, как использовать все это вместе, да и еще с рядом ограничений (NPM предоставляет нам runtime-only build Vue.js), найти в цельном виде практически невозможно. Если вас заинтересовала данная тема, то приглашаю к дальнейшему чтению.
Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Просмотры36K
Комментарии 11

Postgres и Пустота

Ненормальное программированиеPostgreSQL

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


select; без указания полей, таблицы и условий возвращает одну строку. Но у этой строки нет полей:


=> select;
--
(1 row)

Для сравнения:


=> select null;
 ?column? 
----------

(1 row)
=> select null where 0=1;
 ?column? 
----------
(0 rows)

А сможем ли мы создать таблицу из такого "пустого" запроса? Таблицу без полей.

Читать дальше →
Всего голосов 35: ↑34 и ↓1+33
Просмотры14K
Комментарии 33

Индексы в PostgreSQL — 3

Блог компании Postgres ProfessionalPostgreSQLSQL

В первой статье мы рассмотрели механизм индексирования PostgreSQL, во второй — интерфейс методов доступа, и теперь готовы к разговору о конкретных типах индексов. Начнем с хеш-индекса.

Hash


Устройство


Общая теория


Многие современные языки программирования включают хеш-таблицы в качестве базового типа данных. Внешне это выглядит, как обычный массив, но в качестве индекса используется не целое число, а любой тип данных (например, строка). Хеш-индекс в PostgreSQL устроен похожим образом. Как это работает?

Как правило, типы данных имеют очень большие диапазоны допустимых значений: сколько различных строк можно теоретически представить в столбце типа text? В то же время, сколько разных значений реально хранится в текстовом столбце какой-нибудь таблицы? Обычно не так много.

Идея хеширования состоит в том, чтобы значению любого типа данных сопоставить некоторое небольшое число (от 0 до N−1, всего N значений). Такое сопоставление называют хеш-функцией. Полученное число можно использовать как индекс обычного массива, куда и складывать ссылки на строки таблицы (TID). Элементы такого массива называют корзинами хеш-таблицы — в одной корзине могут лежать несколько TID-ов, если одно и то же проиндексированное значение встречается в разных строках.

Хеш-функция тем лучше, чем равномернее она распределяет исходные значения по корзинам. Но даже хорошая функция будет иногда давать одинаковый результат для разных входных значений — это называется коллизией. Так что в одной корзине могут оказаться TID-ы, соответствующие разным ключам, и поэтому полученные из индекса TID-ы необходимо перепроверять.
Читать дальше →
Всего голосов 33: ↑33 и ↓0+33
Просмотры39K
Комментарии 10

Потоки выполнения и PHP

Блог компании Mail.ru GroupВысокая производительностьPHPАнализ и проектирование системПараллельное программирование
Перевод


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


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


PHP очень далёк от других технологий. Например, в Java очень активно используются потоки выполнения, ещё они могут встречаться в пользовательских программах. В PHP такого нет. И тому есть причины.

Читать дальше →
Всего голосов 48: ↑45 и ↓3+42
Просмотры40K
Комментарии 6

Что почитать программисту на досуге

Читальный зал

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

Читать дальше →
Всего голосов 35: ↑32 и ↓3+29
Просмотры33K
Комментарии 24

PHP-Дайджест № 105 – интересные новости, материалы и инструменты (13 – 26 марта 2017)

Блог компании Zfort GroupРазработка веб-сайтовPHP


Предлагаем вашему вниманию очередную подборку со ссылками на новости и материалы.

Приятного чтения!
Читать дальше →
Всего голосов 56: ↑51 и ↓5+46
Просмотры15K
Комментарии 7

Как я стал лучше программировать

ПрограммированиеLispФункциональное программирование
Перевод
Автор статьи — Джеймс Лонг, один из создателей Firefox Developer Tools

Несколько человек на React Conf спросили у меня совета, как программировать лучше. По какой-то причине люди видят во мне продвинутого программиста, к советам которого стоит прислушаться. Я подумал, стоит записать «ментальную модель» того, как я подходил к программированию на протяжении всех лет.

Некоторая информация: мне 32 года и 10 лет твёрдого опыта. Наверное, только в последние пару лет я приобрёл уверенность в том, что делаю. Но даже теперь я продолжаю сомневаться в себе. Дело в том, что это чувство никогда не уходит, так что старайтесь не обращать на него внимания, продолжайте хаки и накапливайте опыт.

Сразу скажу, что здесь всего несколько советов для улучшения своих способностей. В итоге вам нужно самим выяснить, что лучше всего подходит именно вам. Это просто те вещи, которые я посчитал полезными.
Читать дальше →
Всего голосов 43: ↑37 и ↓6+31
Просмотры46K
Комментарии 33

MySQL и MongoDB — когда и что лучше использовать

Высокая производительностьMySQLMongoDB


Петр Зайцев показывает разницу между MySQL и MongoDB. Это — расшифровка доклада с Highload++ 2016.

Если посмотреть такой известный DB-Engines Ranking, то можно увидеть, что в течении многих лет популярность open source баз данных растет, а коммерческих — постепенно снижается.
Читать дальше →
Всего голосов 42: ↑35 и ↓7+28
Просмотры219K
Комментарии 88

Дайджест свежих материалов из мира фронтенда за последнюю неделю №248 (30 января — 5 февраля 2017)

Блог компании Zfort GroupРазработка веб-сайтовCSSJavaScriptHTML
Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы и интересные материалы из области фронтенда.

Читать дальше →
Всего голосов 31: ↑30 и ↓1+29
Просмотры22K
Комментарии 10

33 способа ускорить ваш фронтенд в 2017 году

Блог компании BadooВысокая производительностьРазработка веб-сайтовJavaScriptПрограммирование
Перевод

enter image description here


Вы уже используете прогрессивную загрузку? А как насчёт технологий Tree Shaking и разбиения кода в React и Angular? Вы настроили сжатие Brotli или Zopfli, OCSP stapling и HPACK-сжатие? А как у вас обстоят дела с оптимизацией ресурсов и клиентской части, со вложенностью CSS? Не говоря уже о IPv6, HTTP/2 и сервис-воркерах.

Читать дальше →
Всего голосов 87: ↑84 и ↓3+81
Просмотры83K
Комментарии 39

Как изучать английскую грамматику БЕЗ упражнений. Творческий подход — внедрение юнитов в главы своей книги

Изучение языков


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

Я провёл эксперимент — взял одну из самых сложных групп юнитов (Prepositions) в знаменитом учебнике «English Grammar in Use». На протяжении двух недель, я не решил НИ ОДНОГО упражнения, но написал небольшую книгу (6000 слов), в которую загнал всю теорию полностью из 16 юнитов и связал её с придуманными сценами. Также, по мере написания новых глав я повторял старые и ту теорию, которая в них встроена.

Результаты эксперимента оказались просто фантастическими! Помимо громадного роста навыка письма и увеличения активного запаса, я наблюдал, как некоторые конструкции входят в привычку и хочется их использовать потом ещё и ещё. После прохождения юнитов я решил всё-таки прогнать тесты для проверки и получил 94%. Т.е. письмо учит вас проходить тесты, но не наоборот!

Читать дальше →
Всего голосов 46: ↑36 и ↓10+26
Просмотры26K
Комментарии 73

Кэширование данных в web приложениях. Использование memcached

Блог компании Конференции Олега Бунина (Онтико)Высокая производительностьРазработка веб-сайтовАнализ и проектирование системПроектирование и рефакторинг
Tutorial


Юрий Краснощек (Delphi LLC, Dell)


Я немного расскажу вам про кэширование. Кэширование, в общем-то, не сильно интересно, берешь и кэшируешь, поэтому я еще расскажу про memcached, довольно интимные подробности.



Про кэширование начнем с того, что просят вас разработать фабрику по производству омнониевых торсиометров. Это стандартная задача, главное делать скучное лицо и говорить: «Ну, мы применим типовую схему для разработки фабрики».
Читать дальше →
Всего голосов 31: ↑23 и ↓8+15
Просмотры22K
Комментарии 6

Эволюция CSS: от CSS, SASS, BEM и CSS–модулей до styled-components

Блог компании Mail.ru GroupРазработка веб-сайтовCSSIT-стандартыReactJS
Перевод


С самого начала истории интернета мы нуждались в стилях для наших сайтов. Многие годы нам для этого служил CSS, развивавшийся в своём темпе. И здесь мы рассмотрим историю его развития.

Думаю, все согласятся с таким определением: CSS используется для описания представления документа, написанного на языке разметки. Также ни для кого не будет новостью, что за время развития CSS стал довольно мощным средством и что для использования в команде нужны дополнительные инструменты.
Читать дальше →
Всего голосов 56: ↑51 и ↓5+46
Просмотры63K
Комментарии 41

А ваша служба является RESTful? Все что необходимо/обязательно знать про веб службы и REST

Разработка веб-сайтовПрограммированиеAPI
Из песочницы

Введение


Вот не люблю я изобретать велосипед и статью я бы эту не написал, но пришлось. Про REST сказано уже довольно много. Многие поставщики веб служб готовы клясться, что их службы являются RESTful. Во время собеседования вы точно услышите хотя бы несколько вопросов про REST, независимо от того это собеседования для бэкенд, мобайл или фронтенд разработчика. Я вот помню как-то во время одного собеседования меня задали такой вопрос: «Вот вы написали в своем резюме, что знайте REST․ Ответьте пожалуйста, какой HTTP код вы получите, если при запросе к RESTful сервису ресурс не найден?». Ответ 404 был принят единогласно. Если честно, я так и не понял, как этот вопрос помог понять знаю ли я REST или нет, но одно могу уверенно сказать: REST понимают далеко не все. Вот некоторые вопросы, которые мучали меня долгое время:

  1. Зачем REST стал таким трендовым? Это архитектура была же предложена еще в 2000 году?
  2. Что я получу если моя служба будет RESTful?
  3. Как определить является ли служба RESTful или нет?
  4. Как правильно должны создаваться URL REST служб?
  5. Какие http методы и коды должны быть использованы в RESTful службе?

Если вы не можете дать исчерпывающего ответа хотя бы на один из этих вопросов, то продолжайте чтение. Если вы можете однозначно ответить на все эти вопросы, можете привести формат правильного URL, считайте, что GET, POST, PUT, DELETE обязательно должны соответствовать CRUD операциям с ресурсами, то вам обязательно надо продолжать чтение.
Читать дальше →
Всего голосов 43: ↑37 и ↓6+31
Просмотры106K
Комментарии 125

Информация

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