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

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

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

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

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

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

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

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

Время на прочтение6 мин
Количество просмотров19K
Всем привет! Нам бы хотелось представить вашему вниманию статью Энтони Гора о миграции Vue.js-приложения на Vuex.


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

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

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

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

npm link + steroids = npmy


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


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

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

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

Время на прочтение12 мин
Количество просмотров13K
Наш сегодняшний собеседник – Алексей Лустин, 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
Комментарии20

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

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

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


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



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


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


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

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

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

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

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


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

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

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

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

Postgres и Пустота

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

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


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


=> select;
--
(1 row)

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


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

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

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

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

Индексы в PostgreSQL — 3

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

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

Hash


Устройство


Общая теория


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

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

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

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

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

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


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


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


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

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

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

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

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

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

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

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


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

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

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

Время на прочтение6 мин
Количество просмотров48K
Автор статьи — Джеймс Лонг, один из создателей Firefox Developer Tools

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

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

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

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

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


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

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

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

Время на прочтение4 мин
Количество просмотров22K
Предлагаем вашему вниманию подборку с ссылками на полезные ресурсы и интересные материалы из области фронтенда.

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

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

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

enter image description here


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

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

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

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


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

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

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

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

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

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


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


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



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

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

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


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

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

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

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

Введение


Вот не люблю я изобретать велосипед и статью я бы эту не написал, но пришлось. Про 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
Комментарии125
1
23 ...

Информация

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