Обновить
72
0

Разработчик

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

Автоматизация снятия показаний со счетчиков воды

Время на прочтение6 мин
Охват и читатели223K
Все знают, что лень двигатель прогресса. Так случилось и в моем случае.



В квартире присутствует 6 точек раздачи воды (3 холодные и 3 горячие). На каждой из точек стоит счетчик.
Каждые 2 счетчика спрятаны за люками скрытого монтажа, один из люков находится за зеркалом, которое нужно снять, чтобы до него добраться.

Раз в месяц с 20 по 25 число необходимо снимать показания со всех счетчиков и отправлять данные в Управляющую Компанию на бланке определенного образца.

В какой-то момент мне надоело открывать люки, снимать зеркало и было решено автоматизировать снятие показаний.
Читать дальше →

Коммунальный рай без забот и хлопот

Время на прочтение7 мин
Охват и читатели46K
Конечно, до коммунального рая нам пока далеко, но позитивные сдвиги все-же намечаются. Сегодня я расскажу о том, как электронными системами управления отоплением в моем многоквартирном доме было сэкономлено 124 тысячи рублей кровных денег жильцов в отопительном сезоне 2013-2014 года. Как только это случилось — все стали довольны, но по началу эта история была практически детективной.
Как это было?

Распространенные ошибки при построении ИТ-инфраструктуры малого бизнеса

Время на прочтение10 мин
Охват и читатели55K

Которые все совершают, и из-за которых потом приходится все переделывать




Подавляющее большинство ИТ-инфраструктур малого бизнеса, с которыми мне пришлось сталкиваться, имеют один существенный недостаток – они не масштабируемы. Нет, нет, проблема не в том, что к имеющимся в настоящий момент 50-ти компьютерам вы не можете подключить 51-й. Проблема в том, что заложенная изначально архитектура создает с ростом бизнеса непропорционально больше проблем и затрат, нежели приносит пользы.

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

В данной статье я освещу несколько моментов, на которые стоит вовремя обратить внимание, и которые могут помочь компаниям избежать потерь, связанных с полным переделыванием ИТ-инфраструктуры по мере роста бизнеса:
Читать дальше →

Путь фрилансера. Часть 1. Советы новичкам

Уровень сложностиПростой
Время на прочтение11 мин
Охват и читатели248K


Доброго времени суток, друзья, люди, фрилансеры, инопланетяне.

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

Вкратце в двух словах о себе и прочем чтобы пост имел некоторую большую содержательность: на фрилансе 3 последних года с копейками. Работаю не один. Команда. Объединены интернетом и рамками СНГ. Большинство никогда не видел и даже с ними ни разу не созванивался. Офиса нет. С одним из таких граждан общаюсь и работаю уже лет 5-6. Как это ни странно барьером это не послужило. Знакомых, друзей, бывший сотоварищей по работе в команде нет и никогда не было, как и не было этой самой другой работы. Да, есть и такие странные люди на свете, кто никогда не работал в офисе и ничем иным не занят и это ни разу мне не помешало, а скорее наоборот.

Как я «докатился до такой жизни» и всю иную историю, предысторию и реалии опишу как-нибудь в другой раз, если сообщество посчитает это нужным (на этот случай предусмотрен опрос). А сейчас перейдём к тому, что и было запланировано.
Читать дальше →

Алгоритмы расщепления и числа Ван-дер-Вардена

Время на прочтение11 мин
Охват и читатели31K
Привет, Хабр! Решил побаловаться графоманством и поделиться результатом развлечения прошедших выходных (только эти выходные прошли давно и статья писалась гораздо дольше, чем развлечение. Как говорится, делу время — потехе час).

Я расскажу про так называемые алгоритмы расщепления (в частности, про DPLL-алгоритм), про теорему и числа Ван-дер-Вардена, а в заключение статьи мы напишем свой собственный алгоритм расщепления и за полчаса вычислений докажем, что число w(2; 5) равно 178 (первооткрывателям в 1978 году на это потребовалось более 8 дней вычислений).
Читать дальше →

6 мифов, мешающих разработчикам использовать Git

Время на прочтение6 мин
Охват и читатели81K


Сейчас вы с трудом найдете профессионального разработчика, который не пользуется системой контроля версий (VCS) такой, как Git.
Но есть и не мало тех среди нас, кто не использует VCS по причине предвзятого мнения о системах контроля версий.
Ниже несколько мифов и отговорок, которые препятствуют внедрению в рабочий процесс разработчика Git (или любой другой VCS).
Читать дальше →

5 советов по выбору SSD

Время на прочтение4 мин
Охват и читатели110K
Корпоративные пользователи часто сталкиваются с дилеммой, когда возникает вопрос, на чём хранить свои данные и запускать приложения. Во многих случаях необходимо сбалансировать потребность в быстром, надежном, устойчивом хранении и ограниченный бюджет. Время от времени это приводит ИТ-менеджеров к выбору низкопробных SSD накопителей, которые укладываются в бюджет. Они предполагают, что заявленные скорости и объёмы идеально подойдут для выполнения любого рода задач. Но не стоит так торопиться.

Читать дальше →

Порядок разрешения методов в Python

Время на прочтение15 мин
Охват и читатели209K
В этой заметке рассматривается алгоритм MRO С3 и некоторые специфические проблемы множественного наследования. Хотя и алгоритм и проблемы не ограничиваются рамками одного языка, я акцентировал своё внимание на Питоне. В конце приведён список полезных ссылок по данной теме.
Читать дальше →

Как откликаться на проекты на фрилансе

Время на прочтение2 мин
Охват и читатели68K


Здравствуйте, в статье я бы хотел дать несколько замечаний и рекомендаций о том, как надо откликаться на проекты на фрилансе. Мнение будет субъективное, основанное на моем немалом (скриншот со статистикой выше) опыте работы с фрилансерами (программисты, верстальщики, дизайнеры, иллюстраторы). Хотелось бы так же в комментариях получить советы и от остальных пользователей.

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

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

Qt 5.3: низкий старт в мобильной кроссплатформе

Время на прочтение37 мин
Охват и читатели40K
Приветствую всех, кому интересна кроссплатформенная разработка для мобильных устройств! До недавнего времени относился с огромным скепсисом к инструментариям, позволяющим создавать ненативные приложения, которые работали бы сразу на ряде платформ. Однако в один момент любопытство и желание попробовать что-то новое всё же перевесили сдерживающий рассудок. Выбор пал на Qt 5.3. Почему? Потому что Qt открыт и бесплатен для некоммерческого и коммерческого (под лицензией LGPL) использования, имеет продолжительную историю (вышел в свет в 1996 году) и достаточное количество качественных проектов (навскидку — Skype, приложения 2ГИС), реализованных с использованием данных библиотек.

Цель публикации — познакомить читателей с мобильной разработкой на последней версии Qt: показать реализацию основных элементов клиент-серверных приложений и осветить возможные «подводные камни» при работе с библиотеками Qt.
Требуемый уровень подготовки и опыта — минимальный (знание основ C++, элементарное умение конфигурации локального сервера).
Материал для удобства восприятия разбит на 4 части: «Подводные камни», История одного проекта и работа над ошибками, Основы клиент-серверной разработки, Резюме.

Читать дальше →

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

Время на прочтение6 мин
Охват и читатели139K

Исповедь 1


Я — разработчик. От своих работодателей я постоянно слышу, что работаю медленно и часто всё усложняю без веской причины. И что мне пора бы что-то с этим сделать. Во избежание.

Весь мой опыт программирования складывается из университетских работ и пары лет пребывания в различных компаниях. Критикующие меня люди неоднократно говорили мне, что в целом я разбираюсь в теме, так что я далеко не клинический случай, как можно было подумать. Однако, очевидно, я выработал совсем не те программистские привычки (как минимум, на взгляд работодателя) и мне нужно срочно изменить их. Везде, где бы я ни работал, мои решения, использующие иерархии мелких классов с делегированием поведения, признавались плохими. Говорят, будто так и надо писать, но это не так. Потому что всё это «как надо» может стоить мне работы.
Читать дальше →

Домашняя библиотека современного ребёнка

Время на прочтение7 мин
Охват и читатели69K
В моём детстве огромную роль играли книги. У моих родителей (тогда ещё молодых инженеров) было много книг — приключенческие романы, детективы, фантастика, техническая и научная литература. У отца была подшивка журналов «Юный техник» и «Изобретатель и рационализатор» за полтора десятилетия. Книга или журнал в нашем доме всегда были чем-то очень важным. Дело было даже не столько в том, что в 80-90-ых их было не так легко достать, как во внимании, с которым мои родители их читали, обсуждали, что-то пересказывали мне. А ребёнок ведь в любом случае наследует поведение родителей, их интересы. И я зачитывал до дыр технические журналы, легко «глотал» детскую фантастику Булычева и Гаррисона, чуть поднапрягшись — и более серьёзных Брэдбери и Шекли. Городская библиотека, откровенно презираемая большинством моих сверстников, видела меня 2-3 раза в неделю почти десятилетие. Во многом мой жизненный путь, интерес к науке и технике, был определён уже тогда. Думаю, если бы в моём книжном шкафу 20 лет назад не стояли «Аэлита» Толстого, «Машина времени» Уэллса и «Я, робот» Азимова, я не писал бы сейчас на Хабре эту статью (и сотню предыдущих), а протирал бы штаны где-нибудь на должности «менеджера среднего звена по перекладыванию из пустого в порожнее».

Сегодня на дворе 2014 год и вот уже мой ребёнок учится читать по слогам. Завтра он протянет руку к книжному шкафу. Что же он возьмёт — бумажную книгу или электронную? Что это будет за книга?
Читать дальше →

Списки с пропусками: вероятностная альтернатива сбалансированным деревьям

Время на прочтение13 мин
Охват и читатели36K
image

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

Списки с пропусками — это вероятностная альтернатива сбалансированным деревьям. Они балансируются с использованием генератора случайных чисел. Несмотря на то, что у списков с пропусками плохая производительность в худшем случае, не существует такой последовательности операций, при которой бы это происходило постоянно (примерно как в алгоритме быстрой сортировки со случайным выбором опорного элемента). Очень маловероятно, что эта структура данных значительно разбалансируется (например, для словаря размером более 250 элементов вероятность того, что поиск займёт в три раза больше ожидаемого времени, меньше одной миллионной).

Балансировать структуру данных вероятностно проще, чем явно обеспечивать баланс. Для многих задач списки пропуска это более естественное представление данных по сравнению с деревьями. Алгоритмы получаются более простыми для реализации и, на практике, более быстрыми по сравнению со сбалансированными деревьями. Кроме того, списки с пропусками очень эффективно используют память. Они могут быть реализованы так, чтобы на один элемент приходился в среднем примерно 1.33 указатель (или даже меньше) и не требуют хранения для каждого элемента дополнительной информации о балансе или приоритете.
Читать дальше →

Python на Хабре

Время на прочтение7 мин
Охват и читатели457K
Некоторое время назад, в силу определенных причин, мне пришла в голову мысль о том, чтобы начать изучать какой-нибудь новый язык программирования. В качестве альтернатив для этого начинания я определил два языка: Java и Python. После продолжительного метания между ними и сопутствующих нытья и долбежки головой о стену (у меня с новыми языками всегда так — сомнения, раздумья, проблема выбора и т.д.), я все-таки остановился на Python. Окей, выбор сделан. Что дальше? А дальше я стал искать материал для изучения…
Читать дальше →

15 малоизвестных команд Linux

Время на прочтение3 мин
Охват и читатели321K
Каждому разработчику в определенной степени следует овладеть навыками работы в терминале. Физически находиться у компьютера не всегда возможно, поэтому приходится подключаться удаленно. И действительно, GUI-программы вполне могут с этим с правиться, но зачастую они работают медленнее, чем получение доступа через тот же терминал (в конце концов, это лишь обмен текстом).
Читать дальше →

PyCon Russia 2014 — два дня python-счастья

Время на прочтение5 мин
Охват и читатели16K
2-3 июня в Екатеринбурге прошла вторая международная конференция python-разработчиков PyCon Russia 2014. Участники съехались из 23 городов России и мира.

IMG_0636.jpg
Участники PyConRu 2014

Читать дальше →

Почему ИТшнику стоит стать ИПшником и почему не стоит регистрировать ООО

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

1. Почему стоит начать работать «в белую»
2. Почему на начальном этапе ИП лучше ООО
3. Что делать, если партнёров несколько

Если вы – начинающий или уже опытный фрилансер и подумываете о работе «в белую», но ещё точно не определились с вопросами «Стоит ли оно того?» и «ИП или ООО?», вэлком
под кат

Обратная польская запись

Время на прочтение4 мин
Охват и читатели273K
Два плюс два, умножить на два?

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

Как устроен GIL в Python

Время на прочтение6 мин
Охват и читатели133K
Почему после распараллеливания выполнение вашей программы может замедлиться вдвое?
Почему после создания потока перестает работать Ctrl-C?
Представляю вашему вниманию перевод статьи David Beazley «Inside the Python GIL». В ней рассматриваются некоторые тонкости работы потоков и обработки сигналов в Python.

GIL
Читать дальше →

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность