Как стать автором
Поиск
Написать публикацию
Обновить
21
0
Крутов Иван @vaniaPooh

Разработчик

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

Книги для тимлидов и руководителей проектов

Время на прочтение2 мин
Количество просмотров171K
Какими свойствами должен обладать хороший тимлид? Он, несомненно, должен быть технарем, иметь разносторонний опыт, уметь налаживать диалог внутри команды и с начальством, вести дискуссии и принимать решения, брать на себя ответственность, понимать бизнес-процессы, думать как заказчик и владелец бизнеса. Ну и быть немного психологом.

В отечественном IT я часто наблюдаю следующую картину: тимлидом часто становился лучший (?) разработчик из команды (aka 23-летний сеньор). А чтобы стать руководителем проекта (project manager) иногда достаточно просто знать английский и «павэрпойнт» на уровне пользователя. Это реалии отечественного аутсорсинга и с этим нужно как-то жить.

В итоге часто получается как-то так:
Потому что на десять сеньоров по статистике девять тупят.
Читать дальше →

Jetbrains Santa Service

Время на прочтение1 мин
Количество просмотров19K
Странно почему этой новости нет в блоге компании на хабре. Восполню этот досадный пробел.
Итак, JetBrains выпускают кракена Санту. Подробности по катом
Читать дальше →

Защищённая флешка за 350 рублей своими руками

Время на прочтение3 мин
Количество просмотров178K
Всем доброго времени суток. Как-то раз у меня появилась идея купить флешку, с которой не будет страшно лезть ни в огонь ни в воду, ни стираться с ней в стиральной машинке. Нашёл в интернете штуки и за тысячу рублей и за две. Денег мало, жаба задушила, пришлось что-то выдумывать.

Сразу скажу, что из инструментов у меня только паяльная станция, хотя по-хорошему хватит и обыкновенного советского паяльника. И ёще, под катом много фоток!
Читать дальше →

Прекратите скручивать (восклицательный знак)

Время на прочтение6 мин
Количество просмотров1.8M
Ну действительно, прекратите. Есть куча прикольных штук для соединения самых разнообразных проводов, а все равно технология «откусить зубами изоляцию, скрутить, замотать изолентой» жива до сих пор.

Дальше много текста, фотографий, разборок. Ну все как обычно

Реализация Qt signal/slot на Android

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

Предисловие


Недавно портировал довольно большой проект с Qt (C++) на Android (Java), в процессе работы часто приходилось применять динамическое связывание объектов. Беда состояла в том что связывание (binding) в отличие от привычных сигналов и слотов в Qt в Java реализовано через лисенеры (listeners), и сколько я не пытался себя убедить что способ этот равноценен и тоже имеет место быть такого же удобства как при использовании сигналов и слотов достичь не удавалось.
Например, нам нужно связать бегунок (QSlider в Qt или SeekBar в Android) с каким либо действием, хотя бы привязать другой бегунок который будет послушно перемещаться следом за первым. В Qt подобная операция выглядит следующим образом:
Читать дальше →

Продуктивное использование PHPStorm

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

Не претендуя на библию или «настольную статью программиста» я хочу поделиться полезными находками в моей любимой IDE, не скатываясь в тупую копипасту мануалов и скучных списков хоткеев, только то, что я сам использую постоянно и над чем удивляются коллеги: «о! а так можно?»
Что ж там такое?

Лучший интерфейс — отсутствие интерфейса

Время на прочтение7 мин
Количество просмотров124K
“Atmadm” 
Раньше наша работа была кошмаром из нагромождения букв.
“chkntfs”
“dir”



Тогда, в 1984, адаптировав Ксерокс ПАРК ВИМП, Эпл забросила нас вперед на целый галактический прыжок вдаль от этих ужасных командных строк ДОСа, в мир графических пользовательских интерфейсов [ПИ].


Эпл Лиза

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

Блог на node.js

Время на прочтение1 мин
Количество просмотров13K
Вышла ноль пятая версия mvc фреймворка Autodafe для node.js. Код стало писать удобнее, кода теперь писать нужно меньше, ещё меньше. Скоро код писать не надо будет совсем, достаточно будет лишь подумать о нём.

Пример действия контроллера, которое совершает два асинхронных запроса к базе данных, компанует вьюшку index.html и отправляет ее клиенту (при этом отлавливая и обрабатывая все ошибки):

Site.prototype.index = function( response, request ){
  response.send({
    topic : this.models.topic.With( 'author', 'comments.author' ).find_by_pk( request.params.topic_id ),
    news  : this.models.news.find_all()
  });
}


Написаны подробные статьи про тонкости работы с контроллерами, авторизацию пользователей и работу с URL адресами.

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



За хабракатом только комментарии

27+ ресурсов для онлайн-обучения

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

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

Статья содержит перечень ресурсов для онлайн-обучения, представляющих интерес преимущественно для программистов.

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

Практическое применение системы премирования Водянова на селе

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

Здравствуйте, уважаемые читатели хабры.
Хочу поделиться с уважаемым сообществом результатами небольшого эксперимента по внедрению системы мотивации описанной в моей статье «Система мотивации c элементами рыночных отношений» в самом настоящем совхозе в Башкирии.

Летом этого года я изложил суть идеи своему другу Рустаму Давлетбаеву, а он рассказал ее директору совхоза Шаймуратово Артуру Нургалиеву. И вот на прошлой неделе Рустам внезапно заявил мне, что оказывается они провели эксперимент с этой системой и могут рассказать, что из этого получилось.

Вчера я сел в машину и поехал в Шаймуратово общаться с Артуром, чтобы узнать подробности.
Что было дальше

Разрушая распространённые мифы о D

Время на прочтение6 мин
Количество просмотров30K
Оригинальный текст: semitwist.com/articles/article/view/dispelling-common-d-myths
Reddit: www.reddit.com/r/programming/comments/118y4m/dispelling_common_d_myths

Вступление


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

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

  • Для D есть IDE
  • DSource угасает, но проекты на D активны как никогда ранее
  • Разделения на D1 и D2 больше нет
  • Phobos — стандартная библиотека? А как же Tango?
  • D — open source
  • D позволяет ручное управление памятью
  • Статическая типизация НЕ означает непродуктивность

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

Google’s Mod_Pagespeed вышел из беты

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

Для тех, кто как я, не знал, что такое mod_pagespeed — это модуль для Apache, собравший в себе очень много механизмов оптимизации. На страничке приводятся:
  • Оптимизация изображений, их ресайз и компрессия
  • Сращивание и минификация JS и CSS
  • Отложенная загрузка JS и изображений

И многое-многое другое.
Читать дальше →

Оптическое распознавание символов в Linux

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

Введение


Это не просто обзор существующих OCR (мы будем говорить всего о трёх) и не руководство по установке (хотя установка будет описана). Эта статья была создана с целью разобраться, что и как реально может распознать русский и английский языки в Linux.
Читать дальше →

Через тернии к Haskell. 1/2

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


Первая часть короткого и жесткого введения в Haskell. Вторую часть можно найти здесь

tl;dr: Очень краткое и сжатое введение в Haskell.


UPD. Если туториал вам понравился, черкните пару строк автору оригинальной статьи. Человеку будет приятно ;)
Классные картинки, много текста и вынос мозга

Через тернии к Haskell (перевод). 2/2

Время на прочтение18 мин
Количество просмотров46K
Только хардкор, только монады

Lockitron: самый умный в мире дверной замок

Время на прочтение2 мин
Количество просмотров65K
Снабжённый WiFi, Bluetooth, NFC и собственной страничкой в интернете, замок Lockitron использует Android- или iOS-совместимый телефон вместо ключа, сообщает хозяину, когда кто-то его открывает или просто стучит в дверь, позволяет открывать и закрывать дверь, находясь за тысячи километров от неё и раздавать цифровые ключи доступа друзьям или сотрудникам, чтобы те могли открыть его своим телефоном.

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

Как он устроен? Lockitron выглядит как обычный врезной замок с накладной коробкой с внутренней стороны двери. Эта коробка может быть установлена отдельно, при условии механической совместимости ручки старого замка и исполнительного механизма Lockitron. Штатный режим работы — по WiFi (в комплект входит мини-сервер).
В этом режиме доступен максимум функций — дистанционное управление, уведомления, контроль доступа для гостей или родственников. Если подключиться по WiFi не удаётся — отключили электричество или интернет в доме, или недоступен сервер — можно открыть замок, если телефон поддерживает Bluetooth или NFC. Причем можно запрограммировать его так, чтобы он открывался автоматически, как только телефон хозяина появится в зоне видимости сети. То есть войти в дом можно будет, не вынимая телефон из кармана.
Читать дальше →

Полезные ссылки для PHP разработчика с MageConf 2012

Время на прочтение2 мин
Количество просмотров28K
MageConf 201216.09.2012 в Киеве в три потока прошла конференция MageConf 2012. Два потока были посвящены системе Magento, третий – PHP. Посетив все 6 докладов на потоке PHP, хотел бы кратко изложить основную информацию, донесенную спикерами. В итоге пост получился набором полезных ссылок по разработке на PHP.

Докладчики особое внимание уделяли утилитам и софту, которыми они активно пользуются в Magento. Один из спикеров ранее был разработчиком портала i.ua.
Читать дальше →

Улучшение субъективной скорости работы сайта при помощи подсказок браузеру

Время на прочтение4 мин
Количество просмотров39K
Я удивлен, что эта техника упоминалась на Хабре только один раз и вскользь — если верить поиску, конечно.
Меня не покидает ощущение, что на самом деле все про это знают, но я всё же расскажу.

Суть в том, что браузеру можно подсказать, какую страницу пользователь откроет следующей — и он начнет её загружать заранее.

Делается это несложно — нужно всего-то добавить пару мета-тегов в head:

<link rel="prefetch" href="NEXT PAGE URI" />
<link rel="prerender" href="NEXT PAGE URI" />


Теперь подробнее про ограничения и нюансы.
Читать дальше →

Space Engine — Вселенная на ладони

Время на прочтение8 мин
Количество просмотров100K
My God, it's full of stars!
Arthur C. Clarke

Кто из нас в детстве не мечтал «бороздить просторы вселенной», как капитан Пикард, прогуливаться по неизведанным планетам далёких миров, встречать рассветы двойных или тройных звёзд, погружаться в атмосферы газовых гигантов, ронять корабли в чёрные дыры? И я тоже не исключение. Конечно, частично эту мечту воплощали книги, фильмы и «Элит»-ные игры. Но вся романтика в них разрушалась банальными купи-продай и «пиу-пиу» в «жидком» космосе на скоростях самолётов времён первой мировой войны. Да и тем немногим виртуальным миркам не хватало свободы, детальности и масштабов реальной вселенной.

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

Но вот, чуть больше года назад, я совершенно случайно наткнулся на вселенную Space Engine, и она просто взорвала мне мозг и размазала его по полу своим масштабом и невероятной детализацией.
Читать дальше →

Компиляция пакетов

Время на прочтение2 мин
Количество просмотров34K
В Ubuntu используется философия пакетного менеджмента, то есть все программы ставятся из пакетов deb, в которых хранится, собственно сама программа и скрипты, которые корректно ставят/удаляют/обновляют. Пакеты deb можно найти в сети Интернет, на дисках. Самый лучший способ использовать репозитории, хранилища deb пакетов. Если использовать репозитории, то при появлении в них новых версий установленных у вас программ, вам будет проще и быстрей обновить их. Это очень удобно и позволяет держать систему актуальной и защищенной. Иногда требумой программы в репозитариях нет и приходится компилировать из исходников. Но это надо делать правильно.
Сегодня я хочу предложить изящный метод, не раз помогавший мне.
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Работает в
Дата рождения
Зарегистрирован
Активность