Как стать автором
Обновить
10
0
Шерзод Муталов @lukretsiy

Программист C#

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

Локальный NPM репозиторий за 5 минут со своими пакетами и кэширование

Время на прочтение2 мин
Количество просмотров52K
Доброго времени суток!

Рано или поздно в организациях возникают проблемы с распространением js модулей между проектами, настало то время когда в нашей компании встал этот вопрос.

Копировать и вставлять код это путь на темную сторону, поэтому было принято решение писать не просто js код, а создавать из него npm пакеты чтобы распространять между своими проектами.

Поиск бесплатных, частных npm репозиториев завел в тупик, а использование частных репозиториев на npm требует платы (а это не наш менталитет).

Поскольку в офисе есть сервер, который работает всегда(почти), было решено развернуть локальный npm.

image
Читать дальше →
Всего голосов 23: ↑22 и ↓1+21
Комментарии11

Знакомство с виртуализацией, контейнерами и Kubernetes: 18 материалов о работе в облаке

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


В этой подборке команда Kubernetes aaS от Mail.ru объединила статьи и руководства для тех, кто хочет познакомиться с виртуализацией. В материалах под катом — как появилась виртуальная инфраструктура, что такое контейнеризация и чем занимается Cloud DevOps Engineer.
Читать дальше →
Всего голосов 40: ↑36 и ↓4+32
Комментарии0

Gridcoin — криптовалюта призванная служить во благо человечества

Время на прочтение2 мин
Количество просмотров34K
image
Приветствую Вас, уважаемые пользователи Geektimes! В данном посте, речь пойдет о замечательной идее реализованной в проекте и скрывающейся под именем Gridcoin Research. Пост рассчитан в первую очередь для тех, кого интересует альтернативные пути развития криптовалют.
Читать дальше →
Всего голосов 24: ↑19 и ↓5+14
Комментарии68

Иерархические структуры данных и производительность

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

Введение



В своей предыдущей статье я дал краткий обзор основных моделей хранения иерархических структур в реляционных БД. Как и положено тому быть, у многих читателей стал вопрос ребром о производительности представленных алгоритмов.

В данной статье я постараюсь приоткрыть завесу над этим животрепещущим вопросом, а в следующей обещаю коснуться вопросов оптимизации и поисков нестандартных решений.

Читать дальше →
Всего голосов 123: ↑120 и ↓3+117
Комментарии27

Что делать с чужими долгами?

Время на прочтение16 мин
Количество просмотров34K
Один из аспектов профессии разработчика — посвящение профанов в особенности процесса разработки ПО.
С. Макконнелл, Совершенный код

Цель этой публикации — поделиться опытом работы над проектом со сложной историей и тяжёлым наследием. После ухода из очередного т.н. «стартапа», я решил что хочу попробовать новых ощущений: enterprise, legacy, etc. Для этого взялся за работу над корпоративным приложением для транснационального концерна. Разработка на тот момент шла уже третий год, приложение пережило несколько поколений разработчиков, но стабильного релиза так и не было.

Полагаю публикация будет полезной:

  • разработчикам принимающим аналогичное решение, чтобы взвесить за и против
  • менеджерам «непростых» проектов, чтобы лучше понять причины и следствия технических проблем
  • и, конечно, просто любопытствующим

Затрагиваемые в статье вопросы:

  • Низкая компетенция разработчиков, и что с этим можно поделать?
  • Какие аргументы убедительны в глазах заказчика для нефункциональных изменений в проекте?
  • Почему работа аналитиков и QA очень важна с точки зрения разработки в частности и для проекта в целом?

Читать дальше →
Всего голосов 88: ↑85 и ↓3+82
Комментарии76

Настройка TeamCity для новичков

Время на прочтение9 мин
Количество просмотров159K
Эта статья в первую очередь пригодится тем, кто использует тот же стек технологий, что и наша команда, а именно: ASP.NET, C#, NUnit, Selenium 2, git, MSBuild. Будут рассмотрены такие задачи, как интеграция с git, сборка C#-проектов, NUnit-тесты (как модульные, так и тесты UI), а также деплой на сервер. Впрочем, наверняка найдётся интересное и для других пользователей, кроме разве что съевших на этом вопросе собаку. Но они опять же смогут обратить внимание на ошибки в статье или что-то посоветовать: например, как оптимизировать фазу деплоя.
Читать дальше →
Всего голосов 39: ↑35 и ↓4+31
Комментарии12

Отчёт с Moscow Python Meetup 18 марта

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


18 марта в московском офисе Mail.Ru Group прошла очередная встреча «питонистов» — Moscow Python Meetup. В рамках традиционного однодневного формата было три выступления, с видеозаписями и презентациями которых вы теперь можете ознакомиться.
Читать дальше →
Всего голосов 29: ↑27 и ↓2+25
Комментарии4

Подводная лодка информатики в степях биологии

Время на прочтение10 мин
Количество просмотров14K
Биоинформатика стремительно набирает популярность и превращается из убежища для гиков в широко известную устоявшуюся дисциплину. Думаю, большинство читателей Geektimes с уверенностью могут сказать, что кролик — это не только ценный мех и 3-4 килограмма диетического мяса, но и 44 хромосомы, множество разнообразных белков, механизмов транскрипции и трансляции и чего только не. Также я вряд ли кого-нибудь удивлю, если скажу, что все это можно изучать и анализировать не только стоя в белом халате у микроскопа в стерильной лаборатории, но и лежа на диване с ноутбуком, попивая что-то шотландское со льдом. Однако, дальше этого познания обычно не заходят. Я решил-таки попытаться исправить это досадное недоразумение и сделать короткую экскурсию в то, как выглядит биоинформатика изнутри с практической точки зрения, исходя из своего опыта.

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


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

Фейковая Новелла: маленькая игра, разработка которой многому меня научила и очередной бан от Google

Время на прочтение19 мин
Количество просмотров89K
Многим знакомо чувство, когда чувствуется энергия от той самой идеи, что позволит свернуть горы и разработать законченное приложение, а не пополнить кладбище недоделок. Я по доброму завидую тем людям, что умеют трезво рассчитывать свои силы, а не увязать в трясине под гнётом рутины. У меня хватало сил, чтобы не дать начать себе что-то новое… Но конечно, разработка больших и длинных хобби проектов «потому, что бросить» жалко тянет соки, а не приносит радость. Эта публикация о том, как я намеренно дал слабину, чтобы поднять себе настроение, разработав простую игру за три дня. И сделал её за неделю, потратив десять маффинов, но получив кучу опыта и хорошего настроения.
Прочитать о семи днях ненормальной разработки
Всего голосов 72: ↑56 и ↓16+40
Комментарии64

Libgdx: экран загрузки и загрузка шифрованных ресурсов

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

Простая gif анимация загрузчика для привлечения внимания

Во многих приложениях экран загрузки используется только при старте (или не используется совсем), при этом загружаются сразу все изображения, которые могут понадобиться. Это удобно, если ваша игра «Flappy Bird» и имеет при себе несколько десятков картинок, упакованных в атлас размером 1024х1024. Если же приложение крупное, такое как «Cut The Rope», то загрузить все ресурсы разом не получится, да и неободимости загружать «лишние» ресурсы нету, так как пользователь их может даже не увидеть.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии7

Шейдеры в libgdx для чайников

Время на прочтение6 мин
Количество просмотров23K
Статья будет полезна тем, кто начинает свое знакомство с libgdx и шейдерами. Шейдеры часто игнорируются новичками, хотя и позволяют делать множество красивых эффектов, достаточно просто. Я не буду сильно углубляться в OpenGL и шейдеры, а пройдусь лишь по верхам, но этого вполне достаточно как для использования чужих шейдеров, так и для написания своих.

Немного теории


Итак, что такое шейдер? Шейдеры в OpenGL — это небольшие программы, написанные на C подобном языке GLSL. Эти программы исполняются напрямую на GPU. Шейдеры работают в паре: вершинные шейдеры и фрагментные.
Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии7

Сколько котов на хабре?

Время на прочтение6 мин
Количество просмотров40K
Недавно я ехал на автобусе из Торонто в Нью-Йорк, снаружи автобуса было темно, внутри меня было немного портвейна, спать совершенно не хотелось, и я решил поразбираться с Deep Learning. Скачал Caffe, скормил ему пару картинкок, на которых правильно распознались мяч и банан. Захотелось распознать что-то более интересное, и я вспомнил, что где-то на жёстком диске у меня есть дамп хабрахабра, который я делал, когда проходил курс информационного поиска в ШАДе Яндекса.

На написание скрипта, который распознаёт, что изображено на аватарке хабропользователя и грепает всех кошачьих, ушло несколько минут, на обновление дампа до актуального и распознавание картинок ушло несколько дней, и теперь я могу утверждать, что на хабрахабре по меньшей мере 748 котов.

Под хаброкатом можно прочитать чуть больше подробностей и посмотреть на всех котов.



Читать дальше →
Всего голосов 176: ↑164 и ↓12+152
Комментарии108

Быстрый старт за 5 минут с Angular 2 beta

Время на прочтение16 мин
Количество просмотров160K
Вашему вниманию предлагается перевод туториала «5 min quickstart» от команды Angular. Туториал описывает процесс создания «Hello World»-приложения на новом фреймворке Angular 2, который недавно получил статус «бета».

Давайте начнём с нуля и построим суперпростое приложение Angular2 на TypeScript.

Демо


Запуск работающего примера — это самый лучший способ увидеть, как оживает приложение на Angular 2.
Нажатие этой ссылки открывает новую вкладку, загружает пример в plunker и отображает простое сообщение:
My First Angular 2 App

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

AppCompat v21 — Material Design для пре-Lollipop устройств

Время на прочтение8 мин
Количество просмотров92K
image
17 октября был опубликован Android 5.0 SDK, который принес новые виджеты и материальный дизайн. Мы расширили библиотеки поддержки, чтобы вы могли использовать ваши последние разработки и на предыдущих версиях Android. Это изменения включают в себ крупное обновление для AppCompat, а так же библиотеки RecyclerView, CardView и Palette.

В этом посте мы взглянем, что нового появилось в AppCompat и как это использовать для поддержки материального дизайна в ваших приложениях.
Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии22

Rust в 2016 году

Время на прочтение5 мин
Количество просмотров21K
2015 год был значительным годом для Rust: мы выпустили версию 1.0, стабилизировали большинство элементов языка и кучу библиотек, значительно выросли как сообщество, а также реорганизовали управление проектом. Может показаться что 2016 год не будет таким же интересным (будет трудно превзойти выпуск 1.0), но это будет супер-важный год для Rust, в котором произойдет много захватывающих вещей. В этой статье я расскажу о том, что, как я думаю, должно произойти. Это не официальная позиция и не обещание разработчиков Rust.

2015


Прежде чем мы поговорим о будущем, вот несколько цифр за прошлый год:

В 2015 году силами сообщества Rust:

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

Greenplum DB

Время на прочтение17 мин
Количество просмотров164K
Продолжаем цикл статей о технологиях, использующихся в работе хранилища данных (Data Warehouse, DWH) нашего банка. В этой статье я постараюсь кратко и немного поверхностно рассказать о Greenplum — СУБД, основанной на postgreSQL, и являющейся ядром нашего DWH. В статье не будут приводиться логи установки, конфиги и прочее — и без этого заметка получилась достаточно объёмной. Вместо этого я расскажу про общую архитектуру СУБД, способы хранения и заливки данных, бекапы, а также перечислю несколько проблем, с которыми мы столкнулись в ходе эксплуатации.



Немного о наших инсталляциях:

  • проект живёт у нас чуть больше двух лет;
  • 4 контура от 10 до 26 машин;
  • размер БД около 30 Тб;
  • в БД около 10000 таблиц;
  • до 700 queries per second.

За тем, как оно работает, прошу под кат!
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии31

История одной оптимизации: передача и обработка результатов боя

Время на прочтение8 мин
Количество просмотров26K
Сегодня я расскажу вам о небольшой части большого проекта — World of Tanks. Многие из вас, наверное, знают World of Tanks со стороны пользователя, я же предлагаю взглянуть на него с точки зрения разработчика. В этой статье речь пойдет об эволюции одного из технических решений проекта, а именно — передаче и обработке результатов боя.
Постбоевая

Читать дальше →
Всего голосов 36: ↑30 и ↓6+24
Комментарии57

Создаём REST-сервис на Rust. Часть 5: обработчики, рефакторинг, и макросы

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

Мы продолжаем писать веб-сервис на Rust. Оглавление:

Часть 1: прототип
Часть 2: читаем INI; multirust
Часть 3: обновляем базу из консоли
Часть 4: переходим к REST API
Часть 5 (эта): обработчики, рефакторинг, и макросы

Теперь мы рассмотрим собственно обработчики запросов к API и перепишем предыдущий, страшный код. И вообще, это последняя статья из цикла, поэтому здесь будут рефакторинг, стиль, макросы и все-все-все. Это самая длинная часть.
Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Комментарии3

Обработка ошибок в Rust

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

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



В этой статье мы намерены подробно изложить работу с ошибками в Rust. Более того, мы попробуем раз за разом погружаться в обработку ошибок с различных сторон, так что под конец у вас будет уверенное практическое представление о том, как все это сходится воедино.



В наивной реализации обработка ошибок в Rust может выглядеть многословной и раздражающей. Мы рассмотрим основные камни преткновения, а также продемонстрируем, как сделать обработку ошибок лаконичной и удобной, пользуясь стандартной библиотекой.


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

Начинаем использовать Rust

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


Всем привет!

С недавнего времени я начал изучать прекрасный язык Rust. Практическое применение этого языка для себя я вижу во встраивании в критические по производительности места кода (по крайней мере, до момента «дозревания» и обрастания библиотеками и фреймворками).

Для закрепления теоретических навыков я решил сделать небольшой проект, суть которого состоит в следующем: динамическая библиотека на Rust реализует упрощенный вариант Алгоритма шинглов и посредством FFI позволяет подключать её (библиотеку). Всем кому интересно прошу под кат.
Читать дальше →
Всего голосов 28: ↑26 и ↓2+24
Комментарии17
1

Информация

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