Search
Write a publication
Pull to refresh
12
0
Никитюк Владимир @jaffa

User

Send message

Личный тайм-менеджмент

Reading time9 min
Views93K
Почитав недавний топик про лягушек я понял, что Хабрасообщество не очень хорошо ориентируется в вопросах тайм-менеджмента и многие никогда не занимались построением своей тайм-системы.

Поэтому я попробую исправить этот недочёт.

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

Welcome!

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

QIP — Минутка ненависти (хистори на сервере)

Reading time2 min
Views14K
На неделе (или я только сейчас начал получатьуведомления) QIP запустил какой-то гадский сервис, который называют MBlogi. Суть этого сервиса в том, что статусы, которые пользователь выставляет в кипе — постятся в этот «блог» а-ля Твиттер как отдельные посты. И это абсолютно без ведома пользователя. И без вопроса ко мне, хочу ли я получать по почте уведомления о новых записях в этих блогах оставленных моими друзьями. Что само по себе является довольно нечистоплотным ходом и проявлением неуважения к пользователям. С одной стороны – нарушение прайваси – я не хочу чтобы мои статусы где-либо светились, с другой стороны фактическое навязывание мне ненужного сервиса.

Далее. Вчера, или даже сегодня ночью был дефейснут сайт QIP.ru, форум, блог главного разработчика. Об этом на хабре до сих пор активно говорят. Именно благодаря этому обсуждению я узнал, что ОКАЗЫВАЕТСЯ qip хранит историю Jabber переписки на сервере. При этом я как пользователь программы об этом даже не подозреваю, не вижу никаких подобных настроек в разделе «настройки/история» и естественно меня никто не спрашивал, хочу ли я сохранять свою личную переписку на сервере.

Далее. Удалить хистори с сервера можно только одним способом — удалять выделяя по 20 сообщений, в каждом отдельном контакте. Тоесть если Вы любите поговорить — удалять теперь будете очень долго и геморно.

А ещё в QIP есть такая опция — авторизовывать вас на сайте автоматически. Это значит, что вы постоянно авторизованы на сайте qip.ru и войти в хистори и почитать может кто угодно, севший за ваш комп, даже если QIP выключен и под паролем.

Похоже хранение истории на сайте в программе вообще не упоминается, только на самом сайте можно её отключить. По крайней мере об этом гласит строка в заголовке меню. Но вот незадача – после отключения сохранения истории она всё равно сохраняется…

Что такое анти-паттерны?

Reading time9 min
Views149K
Анти-паттерны — полная противоположность паттернам. Если паттерны проектирования —
это примеры практик хорошего программирования, то есть шаблоны решения определённых задач. То анти-паттерны — их полная противоположность, это — шаблоны ошибок, которые совершаются при решении различных задач. Частью практик хорошего программирования является именно избежание анти-паттернов. Не надо думать, что это такая непонятная теоретическая фигня — это конкретные проблемы, с которыми сталкивался практически каждый разработчик. Кто осведомлен, тот и вооружён! Рассмотрим же несколько расрпотранённых анти-паттернов в программировании.
Да, рассмотрим!

Emacs и Python, Python и Emacs

Reading time5 min
Views22K
В сети часто возникают разговоры на тему «Python best IDE — does it really exist?». Для примера — недавний Q&A в группе Python community на LinkedIn (к сожалению, просмотр возможен только для пользователей группы). Если вкратце, то мир вертится вокруг:

  • Eclipse + PyDev — похоже, что самое популярное из свободных решений.
  • Komodo IDE — по отзывам отличное средство, но не free.
  • WingIDE — лучший autocompletion для Python, но опять-таки non-free.
  • Eric — IDE на Qt и QScintilla, пробовал только на Windows, видно недопробовал — показалась неудобной. Если у кого есть полезная информация и ссылки — поделитесь, пожалуйста, в комментариях.
  • NetBeans 6.5 — готовится к выходу встроенная поддержка Python в этой IDE версии 6.5, ждем с нетерпением!
  • Vim — для фанатов Vim ничего лучше быть, понятно, не может — после обработки напильником, правда.
  • Emacs — аналогично Vim — для пользователей, которые много времени проводят в Emacs, он дает лучший user-experience при разработке на любом языке.


Если первые четыре решения предоставляют IDE для Python прямо из коробки, то последние два требуют определенных настроек. Для Vim не знаю, но для Emacs надо потратить не меньше 6 часов поисков по интернету и экспериментов перед тем как будет получена удобная и (очень) функциональная среда для Python.

Что до меня, то весьма долгое время я работал с Eclipse + PyDev — вполне работоспособное решение. Но после окончательного переезда с Windows в Ubuntu (всем ставить шрифты Liberation в Убунте!), я решил таки завершить начатое уже давно — начать использовать Emacs не только как GTD-органайзер, IRC-клиент и редактор «когда не хочется запускать Eclipse».

История данных шести часов под хабракатом (история предполагает, что читающие хоть немного знакомы с Emacs и Python, а также носит Ubuntu(Debian)-specific оттенок, когда дело касается установки пакетов).

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

Порядок инициализации в конструкторах

Reading time2 min
Views53K
Итак, вот небольшая программа на C++:

#include <iostream>

class A {
private:
  int a;
  int b;
public:
  A(int x) : b(x), a(b) {}
  void dump() {
    std::cout << "a=" << a << " b=" << b << std::endl;
  }
};

int main() {
  A a(42);
  a.dump();
  return 0;
}

Если вы считаете, что она выдаст

a=42 b=42

То вас ждёт сюрприз

Введение в объектно-ориентированные базы данных

Reading time9 min
Views59K
ООСУБДОбъектно-ориентированные базы данных – базы данных, в которых информация представлена в виде объектов, как в объектно-ориентированных языках программирования.

Применять или не применять объектно-ориентированные системы управления базами данных (ООСУБД) в реальных проектах сегодня? В каких случаях их применять, а в каких нет?

Вот преимущества использования ООСУБД:
  • Отсутствует проблема несоответствия модели данных в приложении и БД (impedance mismatch). Все данные сохраняются в БД в том же виде, что и в модели приложения.
  • Не требуется отдельно поддерживать модель данных на стороне СУБД.
  • Все объекты на уровне источника данных строго типизированы. Больше никаких строковых имен колонок! Рефакторинг объектно-ориентированной базы данных и работающего с ней кода теперь автоматизированный, а не однообразный и скучный процесс.
Интересно? Тогда стоит попробовать!

В статье описано все, что требуется для начала работы с ООСУБД db4o.

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

Evernote в России: Слон доехал

Reading time3 min
Views11K
Сегодня наша команда официально запустила сервис Evernote на русском языке — www.evernote.com!

image

Не буду скрывать, мы внимательно отслеживали все упоминания о нашем детище на Хабрахабре, и рады, что многие уже успели оценить возможности «слона», хотя еще и на английском языке. Но поскольку развивался Evernote до последнего времени преимущественно в США, и в Рунете о нем пока знают немногие, имеет смысл рассказать подробнее. Рассказ и видео под катом.

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

System.Addin или «Игры с надёжными плагинами». Часть 1

Reading time4 min
Views3.6K
Введение.

Доброго времени суток. Я думаю, что абсолютное большинство из вас сталкивалось с проблемой расширяемости приложений. Точно также я думаю, что многим из вас приходилось копать Reflection для выяснения того, является ли сборка плагином к вашей программе. Многим не нравилось то, что в .NET сборки по умолчанию загружаются в один домен с приложением, а затем их нельзя было выгрузить. Многие, конечно, создавали объекты в отдельных доменах через CreateInstanceAndUnwrap, но всё это приходилось делать руками. В общем «мыши плакали и кололись…». С появлением System.Addin разработчики получили в свои руки инструмент для создания расширяемого приложения, который лишён этих проблем, что называется, «из коробки». Об этой технологии я и расскажу в нескольких статьях.
Читать дальше →

Организация информации — Emacs Org Mode

Reading time5 min
Views29K
Привет всем!
Долгое время я пытался найти решение проблемы организации различного рода информации:
  • Личных и рабочих проектов — трекер проектов, документация, разделение на этапы, структуризация, приоритеты, риски, состояние отдельных этапов.
  • Простых TODO-списков — ведение списков дел в условиях сильного распараллеливания деятельности. Причем, чтобы обязательно было быстро, удобно, функционально и всегда под рукой.
  • Личной библиотеки — упорядочение огромного количества e-книг по категориям (со вложенными) + легкий доступ к ним чтобы был. Здесь сначала пытался просто понятно выстроить структуру папок, но масштабы уже не те, чтобы можно было потом быстро найти нужную книгу.

Ниже, я описал (знакомые мне) средства, которые могут быть использованы для решения этих задач. Лично для себя выбрал Emacs Org Mode, так что именно его описанию уделена большая часть текста.
Читать дальше →

Правила составления Software requirements specification

Reading time5 min
Views199K
Все мы прекрасно знаем о том, как разрабатывается ПО. Подумали 10 минут и сразу пошли кодить. Цикл создания программного обеспечения состоит из многих ключевых моментов. Это такие моменты как планирование, создания архитектуры, создание SRS, создание дизайна и тд и тп.

В данной статье я бы хотел остановиться на том, как правильно нужно писать SRS.

Знакомство с jabber ботами

Reading time4 min
Views11K
imageДлительное время я использовал джаббер только в роли меседжера, однако несколько недель назад мне попался адрес джаббер бота, который был словарем, что представилось мне крайне удобным в использовании. В скором времени мой ростер пополнился десятком удобных ботов, и в поиске новых я, в том числе, исследовал хабр, но не нашел ничего. Я решил заполнить эту нишу и создать сводный список ботов, известных мне, которые, по-моему мнению, могут заинтересовать.
Читать дальше →

«Возьмите эмоции с собой»

Reading time3 min
Views3.5K
image
Быть лидером – это «зажигать» людей.
Cложно быть действительно успешным лидером без эмоций.

Тот, кто считает что нужно «оставить эмоции дома» упускает множество возможностей.

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

Оптимизация хвостовой рекурсии в .NET и Nemerle

Reading time14 min
Views6.6K
Недавно chiaroscuro написал провокационную статью с жёлтым заголовком «Почему циклы должны умереть». Её обсуждение заняло около 180 комментариев, но сама статья ушла в минус и не попала на главную, не смотря на то, что она содержала здравую мысль об использовании рекурсии вместо циклов.

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

Я соглашаюсь с тем, что данная статья распространяется на условиях CC-NC-BY

VirtualBox 2.1.0 и трансляция OpenGL вызовов

Reading time2 min
Views7.9K
На прошлой неделе произошло событие, которое в принципе может быть затерто в истории софтостроения, но мне оно показалось интересным. Сейчас системы виртуализации развиваются маленькими, осторожными шажками, поэтому найти что-то интересное, или хотя бы значимое, отличие между версиями 2.х и 3.х или даже 4.х не всегда возможно.

Поэтому release notes на версию VirtualBox 2.1.0 я листал без особого интереса. Но за что зацепился глаз и заставил почитать повнимательнее, так это «Трансляцию OpenGL вызовов прямо в драйвер host машины».

А под катом как я тестировал эту функциональность

Наследование в ADO.NET Entity Framework

Reading time5 min
Views8.4K
О чём вы, Морфеус?


Приветствую всех!
Моя первая статья на хабре была оценена хабраюзерами достаточно высоко. Что же, спасибо всем кто оставил своё мнение о статье, мне было приятно вас почитать, я продолжаю.

В новой статье хотелось бы поговорить о наследовании. Признаться честно, до изучения ADO.NET Entity Framework я вообще даже не задумывался о том, чтобы вводить в свои проекты наследование сущностей в объектно-ориентированных обёртках для БД. Обычно базу строили так, чтобы максимально избегать наследования. Хотя, порой оно и маячило на горизонте, но обходилось. Сейчас я опишу, как я добавил в свой проект два очень простых класса, которые были отнаследованны от уже имеющихся таблиц.

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

И так,
погружаемся...

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

Reading time14 min
Views23K

Введение



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

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

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

Новогодние турбообои «Корова в космосе»

Reading time1 min
Views1.3K
Корова в космосе— Ой, а что это летит?
— Это Космическая Корова турбинами шуршит. Не обращай внимания, их тут много.

(Диалог в несуществующем придуманном Турбомире)

Попробуйте установить эту картинку на рабочий стол и ваш компьютер преобразится! Он перестанет быть банальной ЭВМ, а станет настоящим бортовым компьютером космолета. Вы почувствуете себя бравыми космическими ковбоями на широких просторах вселенной. Кроме этого, в картинке можно усмотреть некий символизм. Усмотрели? :)

Введение в Microsoft Workflow Foundation

Reading time4 min
Views23K
Хочу предложить вашему вниманию серию статей, посвященных Microsoft Workflow Foundation. Данная технология представляет новый, более высокий, уровень абстракции в программировании под .net. Мы начнем с вводной статьи, описывающей предпосылки возникновения технологии, два основных вида рабочих процессов и средства разработки. В дальнейшем мы более подробно ознакомимся с различными аспектами Microsoft Workflow Foundation.

Заинтересовались — читайте дальше.
Читать дальше →

Страх на Хабре?

Reading time1 min
Views1.4K
страх

За последние три дня на связь со мной вышло несколько хабрапользователей. Ранее такое тоже бывало, люди просят советов, прорецензировать статью. Я помогаю чем могу. Но тут особый случай. Вместе с просьбой о рецензии, большая часть пользователей все как один выразили страх в том, что их обязательно заминусуют. И это при том, что все их статьи — технические, оригинальные, авторские. Цитата: «Просто народ на хабре такой что я уже боюсь что то выкладывать».

Я как мог всем объяснил, что за хорошие статьи минусовать не будут, что можно ограничить круг читателей блога. Что статьи хорошие и обязательно вызовут одобрение

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

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

Information

Rating
Does not participate
Location
Харьков, Харьковская обл., Украина
Date of birth
Registered
Activity