Pull to refresh
0
0
Nikita Kryuchkov @moonghost

software developer

Send message

Сбербанк делится опытом создания приложения в Material Design: стили и темы

Reading time20 min
Views52K
Привет, Хабрахабр! Не так давно мы подводили итоги конкурса по Material Design, и в комментариях нас просили показать реально популярные и красивые Material-приложения. Что же, встречайте: «Сбербанк Онлайн» в новом, современном интерфейсе. Про процесс создания приложения интереснее узнать от самих создателей.

Мы передаём слово команде разработчиков Android-приложения Сбербанка, чтобы вы услышали об опыте создания такой сложной штуки, как UI мобильного банк-клиента, из первых уст. Большую часть поста написал freeuser, так что спасибо говорите ему. ;)
Читать дальше →
Total votes 39: ↑31 and ↓8+23
Comments57

Окружение разработки: Redmine + Git + ownCloud

Reading time15 min
Views27K
Данная статья появилась с целью обобщить довольно длительные попытки собрать удобное окружение для работы над проектами. Несомненно, существует множество сервисов готовых предоставить схожую функциональность, но их использование не всегда удобно и по различным причинам, может быть неприемлемо. Если возникла такая ситуация, надеюсь, представленная в статье конфигурация окажется полезной.



Сценарий использования данной связки, можно кратко описать следующим образом:

  • Файлы проекта хранятся в Git репозитории;
  • Репозиторий содержит настройки, исходники и другие файлы проекта, наличие которых удобно и допустимо в коллективном репозитории;
  • В корне расположена директория cloud, исключенная в .gitignore, в которую через WebDAV монтируется ownCloud папка, для остальных файлов;
  • Содержимое Git репозитория отслеживается в системе управления проектами Redmine.


План развертывания системы включает настройку следующих сервисов:

  1. OpenLDAP — единая учётная запись для всех сервисов;
  2. Redmine — запуск в Docker контейнере, создание и привязка Git репозитория, LDAP аутентификация;
  3. NGINX — доступ к Git репозиторию через HTTPS и LDAP аутентификация;
  4. ownCloud — LDAP аутентификация и монтирование папки через davfs2.

Читать дальше →
Total votes 9: ↑9 and ↓0+9
Comments7

Релиз Django 1.9

Reading time1 min
Views13K
После 10 с половиной месяцев труда разработчики наконец-то выпустили релизную версию Django 1.9.

По ссылке вы можете ознакомиться со всеми изменениями во всех подробностях, но из самого вкусного можно сразу отметить:


Читать дальше →
Total votes 25: ↑23 and ↓2+21
Comments11

Интеграция wysiwyg редактора с Django. Обзор

Reading time4 min
Views43K
Одно из самых частых требований заказчика — wysiwyg редактор в админке. Wysiwyg редактор имеет (как правило) интуитивно понятный интерфейс и позволяет пользователям, не знающим html, подготовить текст для размещения на сайте. Редакторы позволяют: форматировать текст, вставлять изображения и таблицы, создавать списки и много другое. Но имеют и свои минусы, самый главный из них, пожалуй, большое количество лишнего html кода.
На сегодняшний день существует большое количество различных wysiwyg редакторов и приложений для интеграции этих редакторов с django. Сегодня я расскажу про самые популярные.
Помимо собственно разметки текста, на практике важными характеристиками wysiwyg редактора для клиента являются — удобная вставка изображений и перенос отформатированного текста из сторонних источников (Word, веб-ресурсы). Важно чтобы при переносе отформатированного текста редактор удалял стили, которые могут конфликтовать со стилями сайта, например, шрифт текста. Во время обзора приложений особое внимание будет уделено этим двум характеристикам.
Читать дальше →
Total votes 19: ↑17 and ↓2+15
Comments8

Создаём окружение для PyQt5 в Linux MInt (Ubuntu)

Reading time7 min
Views62K
image image image
Давно уже до пятой версии обновился Qt и вместе с ним PyQt, но найти информацию по ним в русскоязычном сегменте — задача не из простых. Под катом подробный туториал для тех, кто только начинает знакомиться со связкой Qt + python3.

Цель: собрать и настроить окружение, пройти путь от установки PyQt5 и создания формы в Qt Designer до запуска переносимого бинарника под Windows (да, всё верно, разрабатываем под Mint, собираем для linux и windows).

Читать дальше →
Total votes 20: ↑18 and ↓2+16
Comments7

10 основных ошибок при разработке на Node.js

Reading time9 min
Views72K


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

Но, как и любая платформа, Node.js не застрахован от ошибок самих разработчиков. В одних случаях падает производительность, в других — система становится практически непригодной к использованию. И в этом посте я хотел бы рассмотреть 10 наиболее частых ошибок, которые делают разработчики с недостаточным опытом работы с Node.js.
Читать дальше →
Total votes 85: ↑74 and ↓11+63
Comments45

Свежие срезы по популярности CMS-систем, счетчиков/систем аналитики и онлайн-консультантов

Reading time1 min
Views35K
Привет, Хабр. С момента предыдущего среза прошло примерно 5 месяцев, и Ruward:Track обновил данные по первому кварталу 2015 года. В основу исследования лег автоматический анализ краулером около 5 миллионов доменов зоны .RU (по типовым сигнатурам сервисов).

Свежий срез по популярности CMS-систем



image

Ряд экспертов утверждал, что с учетом кризиса продажи коммерческих систем будут падать, а разработчики будет переходить на open-source решения. Пока этого не происходит — Битрикс и UMI наращивают долю рынка (как и Wordpress), а Joomla и Drupal теряют позиции.
Читать дальше →
Total votes 25: ↑19 and ↓6+13
Comments22

Python, xlsx с картинками, макросами, media-art, внедренными объектами

Reading time12 min
Views17K
Приветствую, хабросообщество.

Решил написать немного про работу python с xlsx.
Да, я знаю, что про это написано много, но тем не менее, я не смог найти готовое решение для своей задачи.
Нужно заполнять несколько десятков ячеек у готового файла xls.

Все бы ничего, но файл содержал макросы, картинки, объекты media-art, внедреные объекты и много чего еще.
Перебрав популярные решения (openpyxl, xlutils.copy и пару других), я понял, что они немного портят файл.
А задача сводилась именно к точечной правке ячеек и чтоб все остальное осталось как было.

А раз так, почему бы не править xml-файлы напрямую?
Total votes 9: ↑9 and ↓0+9
Comments8

Webix 2.3. Весеннее обновление

Reading time3 min
Views15K
Не так давно в блоге разработчиков этой JavaScript библиотеки появился пост о релизе новой версии за номером 2.3. Обновления это хорошо, спору нет. Но, глядя в окно на позднемартовскую улицу, становится не вполне понятно, что же выбрать: разбираться с новыми доступными возможностями или же вместо этого неторопливо прогуливаться под неокрепшим еще весенним солнцем, отмечая подспудно скорое уже пришествие долгожданного лета и вдыхая жадно всем нутром своим разлитый повсюду запах весны и оживления? Вопрос непростой. Нужно разбираться.



Читать дальше →
Total votes 17: ↑17 and ↓0+17
Comments11

Вот что будет, если установить топ-10 программ с Download.com

Reading time8 min
Views322K


Мы установили десять самых популярных программ с Download.com, и вы не поверите, что произошло! Впрочем, наверное, вы и сами можете догадаться: что-то ужасное. Что-то ужасное — вот что произошло. Присоединяйтесь к нашему веселью!

Уже не первый год мы сетуем на то, что нельзя спокойно порекомендовать скачать бесплатную программу, а недавно мы рассказали, как можно безопасно испытывать любое ПО при помощи виртуальной машины. И мы подумали: а почему бы не повеселиться и не посмотреть, что же, в самом деле, произойдёт, если скачивать программы как обычный ничего не подозревающий пользователь?

Ради эксперимента мы будем просто прощёлкивать все экраны установки с настройками по умолчанию на чистой виртуальной машине. Мы установим десять приложений из списка самых популярных загрузок. И предположим, что наш персонаж — рядовой пользователь.
Читать дальше →
Total votes 358: ↑324 and ↓34+290
Comments381

Ещё один пост о сборке front-end проекта

Reading time15 min
Views84K
Js app starter

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

Что умеет делать сборщик:
  • Собирать front-end проект для development & production окружений.
  • Собирать по несколько js/css бандлов на проект.
  • Использовать стиль CommonJS модулей в браузере.
  • Использовать ES6-синтаксис.
  • Спрайты, картинки и многое другое.

Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments12

Selenium для Python. Глава 4. Поиск элементов

Reading time7 min
Views318K
Продолжение перевода неофициальной документации Selenium для Python.
Перевод сделан с разрешения автора Baiju Muthukadan.
Оригинал можно найти здесь.

Содержание:


1. Установка
2. Первые Шаги
3. Навигация
4. Поиск Элементов
5. Ожидания
6. Объекты Страницы
7. WebDriver API
8. Приложение: Часто Задаваемые Вопросы
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments6

Deploy Django приложений с использованием Ansible для чайников

Reading time8 min
Views21K
Доброго времени суток!

Совсем недавно мой коллега познакомил меня с замечательным инструментом автоматизации ручного труда под названием Ansbile. После чего моментально родилась идея написать что-то своё, что упрощает тот самый ручной труд. Что чаще всего приходится делать руками? Правильно, деплоиться.

В этой статье я расскажу о том, как с использованием ansible раскатать django-проект на чистом удаленном сервере ubuntu 14.04, создав при этом для проекта отдельного пользователя.
Читать дальше →
Total votes 19: ↑18 and ↓1+17
Comments8

Рецепты Django. Part 1 — AJAX формы

Reading time3 min
Views58K
Здравствуй, хабраюзер!

Возможно, у меня уже начался кризис среднего возраста, но летом я начал работу над крупным Open Source проектом. Впрочем, о нём немного позже, когда за код не будет стыдно. Итак, хочу поделиться рядом сниппетов, которые мне приходилось писать, чтобы соответсовать концепции DRYDon't Repeat Youself. Посему собираюсь написать несколько статей.
Кстати, можете обратить внимание на предыдущую мою статью.

Начну с реализации AJAX.


Сразу хочу оговориться — не так давно я нашёл на сайте джанги пример для реализации ajax формы. Как выяснилось, я сделал практически то же самое, однако я это сделал сам и я доволен=) Ниже я приведу свой пример и разберу его.
image

Прошу под кат.
Отследить полёт мысли
Total votes 25: ↑17 and ↓8+9
Comments8

Как IT-специалисту сохранить свои финансы?

Reading time5 min
Views204K
Не секрет, что ИТ-специалисты в наше время неплохо зарабатывают. Под «неплохо» подразумевается отсутствие необходимости жить в режиме «от зарплаты до зарплаты» и наличие возможности откладывать какие-то деньги.

Однако российские реалии таковы, что даже хорошая зарплата сегодня, вовсе не означает сытого будущего хотя бы завтра, не говоря уж о более отдаленной перспективе. Не являясь специалистом в экономике или области финансов, я решил (прежде всего для себя), порассуждать на тему, а как же, собственно, нам, айтишникам, не потерять, и, в идеале, приумножить свои сбережения?
Читать дальше →
Total votes 89: ↑72 and ↓17+55
Comments567

Логика мышления. Часть 3. Персептрон, сверточные сети

Reading time8 min
Views124K


В первой части мы описали свойства нейронов. Во второй говорили об основных свойствах, связанных с их обучением. Уже в следующей части мы перейдем к описанию того как работает реальный мозг. Но перед этим нам надо сделать последнее усилие и воспринять еще немного теории. Сейчас это скорее всего покажется не особо интересным. Пожалуй, я и сам бы заминусовал такой учебный пост. Но вся эта «азбука» сильно поможет нам разобраться в дальнейшем.

Персептрон


В машинном обучении разделяют два основных подхода: обучение с учителем и обучение без учителя. Описанные ранее методы выделения главных компонент – это обучение без учителя. Нейронная сеть не получает никаких пояснений к тому, что подается ей на вход. Она просто выделяет те статистические закономерности, что присутствуют во входном потоке данных. В отличие от этого обучение с учителем предполагает, что для части входных образов, называемых обучающей выборкой, нам известно, какой выходной результат мы хотим получить. Соответственно, задача – так настроить нейронную сеть, чтобы уловить закономерности, которые связывают входные и выходные данные.
Читать дальше →
Total votes 62: ↑54 and ↓8+46
Comments20

Фантастические сериалы — обзор от фаната

Reading time8 min
Views81K
Мне наступили на больную мозоль, сделав некий обзорный пост по нескольким фантастическим сериалам.
А так как субботним вечером делать особенно нечего, давайте-ка я сделаю свой, более полный.
Да, будут спойлеры, имейте в виду.
Да, и очень много картинок! Трафик!

Начнём со Stargate

Целое семейство сериалов, начавшихся с одноимённого фильма.
Это во-первых, конечно,

Stargate SG-1
10/10
image
Читать дальше →
Total votes 238: ↑132 and ↓106+26
Comments262

PocketBook Reader — читаем на телефонах с комфортом

Reading time4 min
Views57K
Привет, Хабр. Так уж повелось, что на современных устройствах люди всё так же охотно читают книги, вне зависимости от того, телефон это за 100 долларов или за 900. В метро, в кафе или в любом другом месте легко можно обнаружить, что человек занят чтением с любимого мобильного девайса: кому-то лень таскать ещё и E-Ink-ридер, у кото-то просто нет лишних денег на ещё одно «устройство для одной функции»: словом, вариантов много, решение — одно. Читают с телефонов или планшетов.

Image #2193225, 67.8 KB

Форматов книг — вагон и маленькая тележка, все со своими особенностями. Предпочтений пользователей — тоже. Кто-то предпочитает универсальные «читалки», которые пережёвывают все форматы разом, кто-то держит 2-3 разных для работы с определённым видом данных. Сегодня я хочу рассказать об очередном комбайне, который призван захватить мир рынок: PocketBook Reader. Как вы уже, наверное, догадались сами по названию, к его созданию причастна одноимённая компания, которая выпускает электронные книги. С книгами у них всё более-менее ок; посмотрим, что они сделали для мобильников?
Читать дальше →
Total votes 25: ↑17 and ↓8+9
Comments24

Ingress. Мир не таков, каким кажется

Reading time1 min
Views271K


Знакомьтесь, Ingress — новая игра от Google. Место действия — альтернативная реальность. Недавний проект Niantic, кстати, был вирусной рекламой сего действа.

Вам предстоит занять одну из сторон — сражаться за власть («Просвещенные»), или за повстанцев («Сопротивление»).

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


Читать дальше →
Total votes 89: ↑79 and ↓10+69
Comments151

Энергонезависимое решение

Reading time10 min
Views121K


Понедельник. Постановка задачи


Девять часов тридцать одна минута утра — я на работе. Вообще-то мы работаем с десяти до семи, но по понедельникам я предпочитаю приходить пораньше — мне нравится наш офис, пока в нём нет людей. Я медленно иду мимо столов — одни завалены распечатками спецификаций и каких-то диаграмм, другие совсем пустые. На одних столах стоят компьютеры, другие пустые. Под некоторыми столами стоит сменная обувь, перед другими нет даже кресла. Да, у нас больше половины столов пустые — это на случай приёма новых сотрудников, или командировки кого-то из других городов и стран. Ведь у нас крупная международная компания с офисами разработки в Омске и Калачинске и головным офисом на Кипре. Мы занимаем четыре этажа в современном офисном центре. Правда, сразу за нашим зданием начинаются руины какого-то авиационного завода, и в день зарплаты мы стараемся там не ходить.
Читать дальше →
Total votes 371: ↑359 and ↓12+347
Comments149
1
23 ...

Information

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