Как стать автором
Обновить
6.2
Карма
0
Рейтинг
Адильбек Туменбаев @Tumenbayev

Backend Developer

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

Тет-а-тет: задаем правильные вопросы

Управление разработкой *Управление персоналом *Карьера в IT-индустрии
Tutorial
Чтобы успешно построить работу в команде (коллективе) и добиться высоких результатов, важно уметь продуктивно общаться с подчиненными и задавать правильные вопросы. Профессионализм заключается не только в нахождении нужного времени, места и момента для беседы с сотрудником, но и в получении и доведении нужной информации.

Если вы на пути к проведению регулярных индивидуальных встреч с сотрудником или уже практикуете их, но не знаете, о чем еще спросить, наша статья будет полезна! Ниже вы найдете список вопросов, ответы на которые помогут улучшить взаимодействие в командах, повысить лояльность к компании, узнать проблемы, волнующие ваших коллег. Эта подборка должна быть для вас не столько готовыми формулировками, сколько обозначением направления, опираясь на которые вы можете сформулировать более точные и подходящие вопросы, с учетом личностных особенностей собеседника, особенностей работы именно в вашей компании.

Читать дальше →
Всего голосов 22: ↑15 и ↓7 +8
Просмотры 24K
Комментарии 22

Пишем блог на микросервисах – часть 1 «Общее описание»

Блог компании X5 Group Go *Микросервисы *
Из песочницы
В этой статье хочу поделится нашими c SergeyMaslov наработками решения типовых задач с использованием микросервисной архитектуры на примере задачи «создание блога» (в надежде, что читатель представляет как устроен блог и это не должно вызывать вопросов по функциональности:)
Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Просмотры 12K
Комментарии 18

PHP-Дайджест № 171 (1 – 13 января 2020)

Разработка веб-сайтов *PHP *Symfony *Zend Framework *Laravel *

Свежая подборка со ссылками на новости и материалы. В выпуске: 4 свежих RFC из PHP Internals и интересные пул-реквесты в PHP 8, порция полезных инструментов, подкасты, стримы и многое другое.

Приятного чтения!


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

Горизонтальное масштабирование. Что, зачем, когда и как?

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

Александр Макаров ( SamDark )


Здравствуйте! Я Александр Макаров, и вы можете меня знать по фреймворку «Yii» — я один из его разработчиков. У меня также есть full-time работа — и это уже не стартап — Stay.com, который занимается путешествиями.

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

Что такое масштабирование, вообще? Это возможность увеличить производительность проекта за минимальное время путем добавления ресурсов.

Обычно масштабирование подразумевает не переписывание кода, а либо добавление серверов, либо наращивание ресурсов существующего. По этому типу выделяют вертикальное и горизонтальное масштабирование.
Читать дальше →
Всего голосов 52: ↑47 и ↓5 +42
Просмотры 77K
Комментарии 17

Структуры данных для самых маленьких

Разработка веб-сайтов *JavaScript *Алгоритмы *
Перевод
James Kyle как-то раз взял и написал пост про структуры данных, добавив их реализацию на JavaScript. А я взял и перевёл.

Дисклеймер: в посте много ascii-графики. Не стоит его читать с мобильного устройства — вас разочарует форматирование текста.


Читать дальше →
Всего голосов 91: ↑87 и ↓4 +83
Просмотры 279K
Комментарии 51

RabbitMQ против Kafka: два разных подхода к обмену сообщениями

Блог компании ITSumma Высокая производительность *Мессенджеры *Apache *Big Data *

В прошлых двух статьях мы рассказывали об IIoT — индустриальном интернете вещей — строили архитектуру, чтобы принимать данные от сенсоров, паяли сами сенсоры. Краеугольным камнем архитектур IIoT да и вообще любых архитектур работающих с BigData является потоковая обработка данных. В ее основе лежит концепция передачи сообщений и очередей. Стандартом работы с рассылкой сообщений сейчас стала Apache Kafka. Однако, для того, чтобы разобраться в ее преимуществах (и понять ее недостатки) было бы хорошо разобраться в основах работы систем очередей в целом, механизмах их работы, шаблонах использования и основной функциональности.



Мы нашли отличную серию статей, которая сравнивает функциональность Apache Kafka и другого (незаслуженно игнорируемого) гиганта среди систем очередей — RabbitMQ. Эту серию статей мы перевели, снабдили своими комментариями и дополнили. Хотя серия и написана в декабре 2017 года, мир систем обмена сообщениями (и особенно Apache Kafka) меняется так быстро, что уже к лету 2018-го года некоторые вещи изменились.

Читать дальше →
Всего голосов 87: ↑82 и ↓5 +77
Просмотры 178K
Комментарии 40

Как мы построили быстрое и надежное хранилище просмотров объявлений

Блог компании Kolesa Group Программирование *Анализ и проектирование систем *Хранение данных *Микросервисы *
Одна из малозаметных, но важных функций наших сайтов объявлений — сохранение и отображение количества их просмотров. Наши сайты следят за просмотрами объявлений уже больше 10 лет. Техническая реализация функциональности успела несколько раз измениться за это время, и сейчас представляет из себя (микро)сервис на Go, работающий с Redis в качестве кэша и очереди задач, и с MongoDB в качестве персистентного хранилища. Несколько лет назад он научился работать не только с суммой просмотров объявления, но еще и со статистикой за каждый день. А вот делать все это действительно быстро и надежно он научился совсем недавно.

image

В сумме по проектам, сервис обрабатывает ~300 тысяч запросов на чтение и ~9 тысяч запросов на запись в минуту, 99% которых выполняются до 5мс. Это, конечно, не астрономические показатели и не запуск ракет на Марс — но и не такая тривиальная задача, какой может показаться простое хранение чисел. Оказалось, что делать все это, обеспечивая сохранение данных без потерь и чтение согласованных, актуальных значений требует определенных усилий, о которых мы расскажем ниже.
Читать дальше →
Всего голосов 23: ↑23 и ↓0 +23
Просмотры 7.3K
Комментарии 16

Подержанное авто в кредит за 1 минуту

Блог компании Kolesa Group PHP *Yii *


Вместо введения


Как и все интересные истории, эта началась достаточно давно и неожиданно. Однажды наш банк-партнер пришел к нам и сказал: “Ребята, мы научились делать скоринг в нашей системе за одну минуту. Как насчет того, чтобы объединить наши усилия и интегрировать проекты? С нас – решение и кредит, с вас – машины”. Сказать, что мы воодушевились, – ничего не сказать! Мы имели все шансы стать первыми чуть ли не в мире, кто может дать кредит онлайн на подержанное авто за одну минуту (ОДНУ МИНУТУ, КАРЛ)! Ниже я расскажу, что из этого получилось, но для начала расскажу вам, кто такие, собственно, МЫ.

Читать дальше →
Всего голосов 31: ↑26 и ↓5 +21
Просмотры 12K
Комментарии 45

Первый лазер в истории: каким он был

DIY или Сделай сам Лазеры
Как известно, лазер – это устройство способное к усилению света путем вынужденного излучения. И возможность построения этого устройства была сначала предсказана в теории, а лишь много лет спустя удалось построить первый образец. Напомню, что вынужденное излучение было объяснено с точки зрения квантовой теории Эйнштейном, а первое воплощение этого принципа в железе началось в 50х годах ХХ века независимо различными группами ученых, наиболее известными из которых стали Ч. Таунс, А. М. Прохоров и Н. Г. Басов. Тогда им удалось построить первый квантовый генератор – мазер, который генерировал излучение в области сантиметровых волн. Непокоренным на то время оставался оптический диапазон, и о том, как его удалось покорить я и постараюсь рассказать в этой статье.

image

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

Правильное использование Exception’ов в PHP

PHP *Yii *
Я рад бы написать что “эта статья предназначена для новичков”, но это не так. Большинство php-разработчиков, имея опыт 3, 5 и даже 7 лет, абсолютно не понимают как правильно использовать эксепшены. Нет, они прекрасно знают о их существовании, о том что их можно создавать, обрабатывать, и т.п., но они не осознают их удобность, логичность, и не воспринимают их как абсолютно нормальный элемент разработки.

В этой статье не будет мануала по эксепшенам — это все отлично описано в документации php. Здесь я я расскажу о преимуществах использования эксепшенов, и о том, где их, собственно говоря, надо использовать. Все примеры будут для Yii, но это не особо важно.
Читать дальше →
Всего голосов 46: ↑42 и ↓4 +38
Просмотры 98K
Комментарии 70

TDD для начинающих. Ответы на популярные вопросы

TDD *
Исходники проекта написанного с помощью TDD. Visual Studio 2008/C#
Для написания тестов использована библиотека xUnit, для создания mock-объектов – Moq.




На очередном собеседовании, спрашивая о TDD, я пришел к выводу, что даже основные идеи разработки через тесты не поняты большинством разработчиков. Я считаю, что незнание этой темы – большое упущение для любого программиста.

Мне задают много вопросов про TDD. Из этих вопрсов я выбрал ключевые и написал на них ответы. Сами вопросы вы можете найти в тексте, они выделены курсивом.
Читать дальше →
Всего голосов 48: ↑38 и ↓10 +28
Просмотры 46K
Комментарии 65

Управление очередями в Laravel

PHP *Программирование *ООП *Параллельное программирование *Laravel *
image

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

Чтобы из одного процесса создать задачу для следующей стадии обработки, мы просто вызывали в конце обработки dispatch(), примерно так:
Читать дальше →
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 14K
Комментарии 14

Данные из Google Таблиц на вашем сайте

Блог компании EnglishDom Google API *Интернет-маркетинг
Tutorial


Привет!

Для тех, кто пользуется Google Таблицами, есть хорошая новость — ниже описано решение, которое позволит импортировать данные из таблицы на ваш сайт.

Поехали.

1. Открываем Таблицу Google


Для примера, я возьму таблицу, в которую падают результаты из Google Формы.
Читать дальше →
Всего голосов 32: ↑31 и ↓1 +30
Просмотры 39K
Комментарии 15

Никто и не заметил, как вышел MySQL 8.0

MySQL *SQL *

Неожиданно для себя обнаружил, что mysql вдруг релизнулся буквально на днях (19 апреля), а статьи на хабре нет — все обсуждают сами-знаете-что.


Постараюсь перевести выжимку из "What's new". Для тех, кто следит за разработкой, тут вероятно не будет ничего или почти ничего нового, для интересующихся время от времени — может показаться интересным. Сразу скажу, что в оригинальном посте более детальный
разбор всех пунктов — тут лишь краткая выжимка со ссылочками.


Оригинал

Читать дальше →
Всего голосов 61: ↑58 и ↓3 +55
Просмотры 42K
Комментарии 41

Go 1.10 Release Party @ Badoo: как это было. Видео, фото, отзывы

Блог компании Badoo Высокая производительность *Программирование *Go *


Привет, Хабр!

24 февраля мы устроили Go 1.10 Release Party @ Badoo по случаю свежего релиза. Спасибо всем, кто был с нами! Если вы пропустили встречу сообщества, под катом — видео выступлений, слайды, немного отзывов и фотоотчет.
Всего голосов 46: ↑46 и ↓0 +46
Просмотры 8.1K
Комментарии 0

Принцип SOLID в языке Go

Совершенный код *Go *
Из песочницы

Приветствую вас, хабровчане, решил поделиться с сообществом переводом довольно часто (по личным наблюдениям) упоминаемого поста SOLID Go Design из блога Dave Cheney, который выполнял для собственных нужд, но кто-то говорил, что нужно делиться. Возможно для кого-то это окажется полезным.


SOLID дизайн Go


Этот пост на основе текста из основного доклада GolangUK прошедшего 18-ого Августа 2016.
Запись выступления доступна в YouTube.

Читать дальше →
Всего голосов 31: ↑24 и ↓7 +17
Просмотры 19K
Комментарии 63

Evercookie — самые устойчивые куки

Разработка веб-сайтов *
Samy Mamkar разработал систему, которая позволяет хранить куки в 8 местах, автоматически восстанавливая друг друга, и даже добиться того, чтобы куки, поставленное в одном браузере, действовало и в другом.

Удалить это куки практически невозможно! (Все возможно, конечно, но слишком много мороки)

Куки хранятся в:
  • HTTP Cookies;
  • Local Shared Objects (Flash);
  • Сохранение куки в значениях RGB автосгенерированных и форсированно кэшированных PNG с использованием HTML5 canvas;
  • Сохранение куки в Web History;
  • HTML5 Session Storage;
  • HTML5 Local Storage;
  • HTML5 Global Storage;
  • HTML5 Database Storage через SQLite.

При удалении из одного из этих мест кука автоматически восстанавливается из оставшихся. Работает даже если пользователь сменит браузер (через Local Shared Objects из Flash).

Описание (на английском) и демо: http://samy.pl/evercookie/.
Попробуйте удалить куки, почистить систему и зайти назад.



Как пользоваться?
Читать дальше →
Всего голосов 111: ↑107 и ↓4 +103
Просмотры 66K
Комментарии 68

Jaeger Opentracing и Microservices в реальном проекте на PHP и Golang

Блог компании CarPrice Разработка веб-сайтов *Open source *Отладка *Go *
Всем привет, меня зовут Юрий Буйлов, я руковожу разработкой в CarPrice. Коротко расскажу как и почему мы пришли к микросервисам на PHP и Golang. Что используем, как инструментируем и мониторим наши приложения в production. Далее расскажу о распределенном трейсинге, который обеспечивает нам прозрачность работы сервисов.


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

Сравниваем Tarantool с Redis и Memcached

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

image


Выбираете между Tarantool и Redis или между Tarantool и Memcached? Давайте рассмотрим основные различия, чтобы вам легче было определиться.

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

Профилирование и оптимизация веб-приложений на Go

Блог компании Badoo Разработка веб-сайтов *Программирование *Go *
Перевод

enter image description here


Привет, меня зовут Павел Мурзаков, я – разработчик в команде Features в Badoo. Нам важно, чтобы наши сервисы потребляли как можно меньше ресурсов, поскольку каждый дополнительный сервер стоит денег. Поэтому мы часто профилируем и оптимизируем код. Часть наших демонов написана на Go, с оптимизацией кода на котором мне пришлось работать в последнее время. Благо в стандартной библиотеке Go есть множество готовых инструментов для этого.


Недавно мне попалась эта статья, в которой собрана информация о многих инструментах и на конкретном примере показано, как начать ими пользоваться. Кроме того, в ней есть несколько хороших рецептов по написанию эффективного кода. Эта информация будет полезна любому начинающему Go-разработчику (более продвинутые тоже смогут найти что-то для себя), поэтому я сделал для вас перевод. Enjoy!

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

Информация

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