Pull to refresh
99
0
Владимир Болиев @voff

Решаю проблемы

Send message

Symfony Flex, как будет выглядеть ваше приложение с Symfony 4

Reading time4 min
Views17K
Symfony 4.0 выйдет в релиз в конце ноября 2017 года. Следующие несколько недель будут опубликовываться статьи о новых идеях и основных изменениях в Symfony 4.

Symfony 3.0 был скучным и являлся более лаконичной версией Symfony 2.8:
Symfony 3.0 = Symfony 2.8 — Deprecated Features.

Но что же будет представлять из себя Symfony 4.0 в отличии предыдущих версий:
Symfony 4.0 = Symfony 3.4 — Deprecated Features + Новые концепции разработки приложений.

Или вот еще один вариант развития событий:
Symfony 4.0 = Symfony 3.0 + All features added in 3.x — Deprecated Features + Новые концепции разработки приложений.
Читать дальше →
Total votes 22: ↑18 and ↓4+14
Comments21

5 лучших книг начинающего предпринимателя + 1 совет

Reading time3 min
Views19K


Определяет предпринимателя не знание бизнес-процессов компании, а неудержимый склад ума. Многие накапливают сотни советов по бизнесу, но основать прибыльную компанию не могут. И дело не в том, что эти знания плохие. Дело в том, что успешный бизнес — отражение предпринимателя, обладающего определенными свойствами. Какими? Я отобрал 5 книг, которые отвечают на этот вопрос.
Читать дальше →
Total votes 23: ↑14 and ↓9+5
Comments4

6 концепций функционального программирования. Польза и примеры использования

Reading time9 min
Views40K
Доброго времени суток! Меня зовут Иван Смолин, я разработчик мобильных приложений на платформе iOS. Сегодня предлагаю вам окунуться в мир функционального программирования. Статья носит по большей части теоретический характер, нежели практический. В ней я постараюсь дать определения основным понятиям функционального программирования и покажу примеры реализации на C, Objective-C, Swift, Haskell.

Функциональное программирование — это парадигма программирования, которая акцентируется на вычислении через функции в математическом стиле, неизменяемость, выразительность и уменьшение использования переменных и состояний (ссылка).

Существует 6 основных концепций:

  • концепция первого класса и функций высшего порядка
  • концепция чистых функций
  • концепция неизменяемого состояния
  • концепция опциональности и сопоставления с образом
  • концепция ленивости и бесконечных структур данных
  • концепция лямбда-исчислений

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

Книга «Многопользовательские игры. Разработка сетевых приложений»

Reading time5 min
Views26K
image Привет, Хаброжители! Ранее мы Вас спрашивали переводить ли книгу «Multiplayer Game Programming: Architecting Networked Games (Game Design)». Недавно новинка пришла из типографии.

В этой книге подробно рассматриваются все основные понятия, необходимые для создания сетевых многопользовательских игр. Вначале мы познакомимся с основами сетевых взаимодействий: как работает Интернет и как выполняется пересылка данных на другие компьютеры. Далее, после закладки фундамента, будут рассмотрены основы передачи данных в играх, как подготавливать игровые данные к передаче по сети, как изменять содержимое игровых объектов по сети и как организовать взаимодействие компьютеров, вовлеченных в игру. Затем мы поговорим о том, как компенсировать ненадежность соединения и задержки при передаче данных по сети и как обеспечить масштабируемость и безопасность игрового кода. В главах 12 и 13 рассматриваются службы объединения игроков для выделенных серверов и использование облачного хостинга — две темы, чрезвычайно важные для современных сетевых игр.
Читать дальше →
Total votes 29: ↑27 and ↓2+25
Comments14

Книга «ES6 и не только»

Reading time7 min
Views32K
image Даже если у вас уже есть опыт работы с JavaScript, скорее всего, язык вы в полной мере не знаете. Особое внимание в этой книге уделяется новым функциям, появившимся в Ecmascript 6 (ES6) — последней версии стандарта JavaScript.

ES6 повествует о тонкостях языка, малознакомых большинству работающих на JavaScript программистов. Вооружившись этими знаниями, вы достигнете подлинного мастерства; выучите новый синтаксис; научитесь корректно использовать итераторы, генераторы, модули и классы; сможете более эффективно работать с данными; познакомитесь с новыми API, например Array, Object, Math, Number и String; расширите функционал программ с помощью мета-программирования.

Цели и задачи


Если вы склонны заносить в черный список все, что в JavaScript кажется странным или непонятным (а некоторые привыкли поступать именно так), в какой-то момент от богатого возможностями языка у вас останется лишь пустая оболочка.
Читать дальше →
Total votes 11: ↑10 and ↓1+9
Comments19

PHP: неправильный путь

Reading time18 min
Views70K
image

В мире PHP-программирования существует набор трендов. Некоторые люди активно продвигают их (в книгах и на сайтах) как «современный PHP», а другие подходы выставляют как устаревшие, глупые или просто неверные.

Похоже, все эти люди без устали стараются заставить каждого программировать так, как они считают нужным. Эта статья написана, чтобы поделиться прагматичным взглядом на PHP-программирование. Взглядом, продиктованным опытом и практическими последствиями, а не популярными тенденциями, теориями или академическими догмами. Материалы, представленные на сайте PHP — The Wrong Way, будут обновляться по мере появления новой информации. Приглашаем всех поучаствовать в этом.
Читать дальше →
Total votes 104: ↑83 and ↓21+62
Comments368

JavaScript Performance, базы данных и поиски «серебряной пули»: видеозаписи ТОП-5 докладов HolyJS 2016

Reading time4 min
Views14K

Меньше трех месяцев прошло с HolyJS 2016 Piter, шутка ли, даже лето еще не кончилось, а доклады с конференции уже лежат в открытом доступе. Под катом вы найдете 5 лучших докладов, куда вошли как хардкорные вещи о JS-компиляторах, так и «антихипстерский» soft talk о трудностях выбора инструмента JS-разработчиком.




Кроме того, появились трое новых докладчиков в программе HolyJS 2016 Moscow.

Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments10

Приглашаем на Go Meetup 6 августа

Reading time2 min
Views5.2K


Приглашаем разработчиков, тимлидов и всех, кто так или иначе связан с разработкой на Go, принять участие в Go Meetup, который состоится 6 августа, в субботу, в московском офисе Mail.Ru Group. В программе встречи четыре доклада, подробности о них читайте под катом.
Читать дальше →
Total votes 32: ↑28 and ↓4+24
Comments10

Прощай, объектно-ориентированное программирование

Reading time8 min
Views105K


Я в течение десятилетий программировал на объектно-ориентированных языках. Первым из них стал С++, затем был Smalltalk, и наконец .NET и Java. Я фанатично использовал преимущества наследования, инкапсуляции и полиморфизма, этих трёх столпов парадигмы объектно-ориентированного программирования. Мне очень хотелось воспользоваться обещанным повторным использованием и прикоснуться к мудрости, накопленной моими предшественниками в этой новой и захватывающей сфере. Меня волновала сама мысль о том, что я могу мапить объекты реального мира в классы и думал, что весь мир можно аккуратно разложить по местам.

Я не мог ошибаться сильнее.
Читать дальше →
Total votes 225: ↑118 and ↓107+11
Comments329

Гильоши

Reading time11 min
Views40K
Гильоши — это характерные узоры на деньгах и ценных бумагах. Они красивы, и сочетают в себе одновременно заметную сложность с внутренней простотой — когда кажется, что ты вот-вот уловишь принцип, но он каждый раз от тебя ускользает. Возможно, именно это и есть определение красоты.
Читать дальше →
Total votes 123: ↑123 and ↓0+123
Comments56

Асинхронность в JavaScript: Пособие для тех, кто хочет разобраться

Reading time4 min
Views154K

image


На JavaScript легко писать. Достаточно взять пару библиотек или модный фреймворк, прочитать несложный туториал и все — через пару часов у вас простой работающий интерфейс.


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

Читать дальше →
Total votes 38: ↑31 and ↓7+24
Comments38

Пишите код так, как будто сопровождать его будет склонный к насилию психопат, который знает, где вы живёте

Reading time4 min
Views81K
..., даже если проект не планируется развивать и вы не собираетесь делиться исходными кодами, потому что через 20 лет какой-нибудь маньяк будет изучать и дорабатывать машинный код вашего продукта, и он может захотеть вас найти.

Разработка Need For Speed III Modern Patch

Вообще я достаточно редко играю в компьютерные игры. Бывало, не играл по несколько лет подряд. Но иногда во мне просыпается маленький реверс-инженер, который мотивирует меня забраться в машинный код какой-нибудь любимой игрушки из прошлого. В последний год я занимался доработкой Need For Speed III: Hot Pursuit (1998 года). Это моя любимая игра в жанре, но теперь я, к своему сожалению, знаю о том, насколько отвратительно она написана. Большое количество маленьких багов в самых неожиданных местах — прямое следствие низкого качества кода.
Читать дальше →
Total votes 159: ↑156 and ↓3+153
Comments87

Как стать успешным бизнесменом? 4 вдохновляющих мировых примера

Reading time4 min
Views3.9K


Всем нам не раз приходилось слышать о людях, которые стали некими эталонами времени в своей профессиональной области. О тех людях, которые смогли добиться выдающихся результатов и продвинуть индустрию далеко вперед. В сегодняшнем выпуске мы рассмотрим примеры четырех выдающихся предпринимателей, которые стали некими законодателями тенденций сегодняшнего времени, и попробуем разобраться, что именно сделало их таковыми.
Читать дальше →
Total votes 19: ↑3 and ↓16-13
Comments3

Готовим простой блог на микросервисах, пишем свой микрофреймворк на php и запускаем все на Docker с примерами

Reading time9 min
Views80K

А что если я скажу вам, что новый продукт можно сразу начинать писать на микросервисной архитектуре, а не заниматься распилом монолита? Это вообще нормально? Удобно? Хотите узнать ответ?


Задача: необходимо написать за выходные (время ограниченно 10-15 часами) сферический блог на микросервисах, на php, не используя никаких фреймворков. Можно пользоваться здравым смыслом. А еще забудем о том что такое фронтенд и вспомним что мы жить не можем без виртуализации. Выберем Docker. Интересно? Вперед под кат.


image
Читать дальше →
Total votes 45: ↑34 and ↓11+23
Comments80

Как построить грамотную систему тестирования? Инсайты от QA-экспертов: видео и презентации с митапа в Wrike

Reading time1 min
Views21K
Какие инструменты облачного тестинга используют в Яндексе? Как устроено тестирование в Badoo? Что представляет собой система автоматизированного frontend-тестирования в Wrike?



Пару недель назад наш Wrike Tech club собрал около 150 специалистов по тестированию, чтобы обсудить в питерском офисе компании насущные, вечные и, на первый взгляд, почти неразрешимые проблемы QA в больших (и не очень) проектах. Как и обещали, делимся видео и презентациями со встречи.

Смотреть
Total votes 17: ↑17 and ↓0+17
Comments0

ООП в JavaScript

Reading time5 min
Views53K


В данной статье мы поговорим об основных особенностях объектно-ориентированного программирования в JavaScript:

  • создание объектов,
  • функция-конструктор,
  • инкапсуляция через замыкания,
  • полиморфизм и ключевые слова call/apply,
  • наследование и способы его реализации.

Читать дальше →
Total votes 32: ↑17 and ↓15+2
Comments50

БЭМ-методология: с чего всё начиналось и зачем это всё нужно

Reading time13 min
Views231K
На Хабре уже много писали о методологии БЭМ, выросшей в Яндексе. И мы решили, что пора системно рассказать о том, откуда она появилась и что сделало БЭМ таким, каким мы его знаем. Думаем, это будет интересно не только тем, кто уже использует БЭМ, но и тем, кто считает, что эта методология не подходит для их проектов. Возможно, они увидят, что мы решали проблемы, похожие на их собственные, и найдут что-то полезное для себя.

image

Конечно, все началось с собственных потребностей Яндекса. Вместе с тем, как он рос, росло и количество сотрудников, которые занимаются фронтендом. Постепенно команда увеличилась настолько, что стало очевидно — без единых стандартов работать будет сложно. К тому же, мы находимся в офисах Яндекса в разных городах. Возникла идея создать общую методологию, которая поможет организовать процессы в большой команде, работающей над разными проектами. А главное то, что мы хотели не только упорядочить и ускорить разработку, но и снизить порог входа в проект для нового разработчика.
Читать дальше →
Total votes 73: ↑58 and ↓15+43
Comments100

PHP 7.1: Грядущие изменения

Reading time5 min
Views38K


Ниже приведены основные изменения, привнесенные PHP 7.1. Для получения полного списка утвержденных и обсуждаемых на текущий момент изменений проверьте официальный PHP RFC.

  • Перехват нескольких типов исключений за раз
  • Поддержка Curl HTTP/2 server push
  • Области видимости для констант классов
  • Возвращаемый тип void
  • Единое поведение строковых функций
  • Поддержка строковых параметров в функции list() и новый синтаксис c []
  • Выброс предупреждения при невалидных строках в арифметике
  • Объявление устаревшим mcrypt() и его последующее удаление

Перехват нескольких типов исключений за раз


В некоторых случаях мы обрабатываем различные исключения одинаково и нет возможности унаследовать их от общего предка, что приводит к дублированию кода. Например:

try {
    // to do something
} catch (MyException $e) {
    // Handle this exception
} catch (AnotherException $e) {
    // Handle this in the same way as MyException
} catch (Exception $e) {
    // Handle this in a different way
}

В PHP 7.1, оба исключения, обрабатываемые в примере одинаково, можно поймать одновременно:
Читать дальше →
Total votes 41: ↑38 and ↓3+35
Comments66

Что браузеры делают с вашим JavaScript-кодом: об оптимизациях в JS-движках на примере V8

Reading time7 min
Views40K
Оптимизация кода начинается не столько с изучения особенностей языка программирования, сколько с понимания схемы работы всей «технологической цепочки», задействованной при создании приложения — от алгоритма программы до компилятора.

Мы поговорили с Вячеславом Егоровым aka mraleph, инженером из Google, компиляторщиком до мозга костей, который работал над JavaScript движком под названием V8, встроенным в Chromium (и, как следствие в Chrome, Android версию браузера, облачную операционную систему Chrome OS) и в менее известный Maxthone.
JavaScript-программистам Вячеслав, скорее всего, известен как автор постов про внутренности V8 и как докладчик, увлеченно показывающий машинный код на конференциях для Web-разработчиков.

В настоящее время Вячеслав активно работает в Google над Dart VM.
В этом интервью он рассказал о том, что происходит внутри движка, выполняющего динамический JS-код и поделился примерами, как выполняются некоторые оптимизации и почему важно глубоко понимать работу движка, чтобы обеспечить быстрое выполнение кода.

Читать дальше →
Total votes 61: ↑58 and ↓3+55
Comments34

Видео докладов с Весеннего Go митапа

Reading time1 min
Views7.4K
14 мая мы провели Весенний Go митап. А сегодня публикуем долгожданные видео выступлений.

«Оптимизация программ на Go», Марко Кевац, Badoo



Читать дальше →
Total votes 24: ↑21 and ↓3+18
Comments1

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity