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

User

Send message

Podcast 9 – четвертый выпуск. Клиент vs Веб

Reading time1 min
Views700
В четвертом выпуске Петр Диденко и Михаил Черномордиков беседуют с Романом Здебским и рассуждают на тему актуальности разработки клиентских и Интернет-приложений.

Как всегда это происходит в неформальной и более чем импровизированной манере :)

Пожалуйста, пишите ваши комментарии про выпуск, формат подкаста и пожелания на будущее.
На подкаст можно подписаться по RSS – на компьютер или mp3-плеер.

Ссылки:
Блог Романа Здебского — blogs.msdn.com/roman

Адрес нашего подкаста — podcast9.ru
RSS нашего подкаста — feeds.feedburner.com/podcast9ru
RSS блога Петра Диденко — feeds.feedburner.com/pdidenko
RSS Блога Михаила Черномордикова — blogs.msdn.com/mikcher/rss.xml

Список параллельный или перпендикулярный?

Reading time1 min
Views1.3K
На восприятие слайда у аудитории есть максимум 10—15 секунд. Если за это время информация не поступит в мозг, то слайд бесполезен. Параллельные списки как раз позволяют сократить время восприятия текста.

Давайте рассмотрим пример:
Читать дальше →

Запуск VMware Player, как Windows Service

Reading time5 min
Views7.6K
У вас есть желание запускать Vmware как фоновый процесс на компьютере с Windows?
Ничего из нижеописанного не одобрено VMware. Это руководство описывает только мой способ использования VMware Player.

  1. Создание виртуальной машины
  2. Установка VMware Player
  3. Создание службы VMware Player
  4. Запуск виртуальных машин при старте Windows


Переводчик: следующий абзац был добавлен после того, как в комментариях появились вопросы о том, зачем все это надо.
В чем может быть выигрыш такого способа? Не проверял, но думаю, что выигрыш в дисковом пространстве и системных ресурсах (дистрибутив второго сервера весит около 600 Мб, а последнего плейера — более чем в три раза меньше). Так же помним, что сервер до недавнего времени отставал по поддержке свежих поколений виртуальных машин.


Итак, по порядку.

OmniDiskSweeper, или чистим жесткий диск

Reading time1 min
Views5.3K

Заканчивается место на жестком диске?
Хочется освободить пару десятков гигабайт?
Я сам недавно столкнулся с тем, что из 230 GB на диске осталось около 30 свободных.
Примерно 50 заняты музыкой, еще столько же — доктор Хаусом…
Как узнать, что занимает остальное место и где находятся эти файлы?
Простой и бесплатный способ это узнать

Deadline тезисы

Reading time5 min
Views42K
Первоисточник: Том ДеМарко “Deadline. Роман об управлении проектами”

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

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

Python — оптимизация хвостовой рекурсии

Reading time1 min
Views33K
Не секрет, что Python не оптимизирует хвостовую рекурсию. Более того сам Гвидо является противником этого. Но если кому нужно, есть небольшое изящное решение. Под катом…
Читать дальше →

Самая короткая запись асинхронных вызовов в tornado v2, или патчим AST

Reading time9 min
Views4.5K
Меня очень заинтересовала статья Самая короткая запись асинхронных вызовов в tornado или патчим байткод в декораторе, не столько с практической точки зрения, сколько с точки зрения реализации.
Всё-таки модификация байткода в рантайме это слишком опасная и ненадежная операция. И уж наверняка не поддерживаемая альтернативными интерпретаторами Python.

Попробуем исправить этот недостаток способом, который для этого предназначен куда больше и который применяется для схожих целей во многих других языках (я точно встречал в Lisp или Erlang). Этот способ — модификация Абстрактного синтаксического дерева (AST) программы.
Читать дальше →

Что такое «асинхронная событийная модель», и почему сейчас она «в моде»

Reading time15 min
Views54K
Сейчас в тематических интернетах модно слово «Node.js». В этой небольшой статье мы попробуем понять («на пальцах»), откуда всё это взялось, и чем такая архитектура отличается от привычной нам архитектуры с «синхронным» и «блокирующим» вводом/выводом в коде приложения (обычный сайт на PHP + MySQL), запущенного на сервере приложений, работающем по схеме «по потоку (или процессу) на запрос» (классический Apache Web Server).
Читать дальше →

Легкая прогулка от функтора через монаду к стрелке

Reading time8 min
Views28K

Давайте совершим прогулку по цепочке Pointed, Functor, Applicative Functor, Monad, Category, Arrow, в процессе которой я попытаюсь показать что все это придумано не для того что бы взорвать мозг, а для решения вполне реальных проблем, притом существующих не только в haskell. Большая часть кода написана на C#, но думаю и без его знания можно будет понять что к чему.
Читать дальше →

Паттерны баскетбольной площадки: Слабая команда, Личные терки и Минус мораль

Reading time3 min
Views9.2K
Провела полдня на баскетбольной площадке. Хорошая разминка, и, как говорят американцы “thought-provoking”. Хочу поделиться некоторыми наблюдениями — общими, на мой взгляд, для командного спорта и командной разработки.

Наблюдение 1: СЛАБАЯ КОМАНДА

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

Забавный паттерн: думать “я — в слабой команде”, вместо “мы — слабая команда”. Причем, независимо от собственного уровня игры. Казалось бы, и то и другое — формулировка факта, но есть нюанс. Попробовала повторить про себя по несколько раз, понаблюдать ощущения:
Читать дальше →

Ключевое слово this в javascript — учимся определять контекст на практике

Reading time4 min
Views185K
По просьбам некоторых читателей решил написать топик про контекст в javascript. Новички javascript часто не понимают значение ключевого слова this в javascript. Данный топик будет интересен не только новичкам, а также тем, кто просто хочет освежить данный аспект в памяти. Посмотрите пример ниже. Если вы затрудняетесь ответить на вопрос «что будет выведено в логе» хотя бы в одном из пунктов или хотите просто посмотреть ответы — добро пожаловать под кат.

var f = function() {
    this.x = 5;
    (function() {
        this.x = 3;
    })();
    console.log(this.x);
};

var obj = {x: 4, m: function() {
    console.log(this.x);
}};


f();
new f();
obj.m();
new obj.m();
f.call(f);
obj.m.call(f);

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

Позы программистов

Reading time1 min
Views15K
Итак, пятница, почти конец рабочего дня… Программистам посвящается.
(стырено на просторах интернета)
UPD: нагло стырено вот отсюда.


Утро, начало рабочего дня — Миссионерская поза
Читать дальше →

Duck typing или “так ли прост старина foreach?”

Reading time5 min
Views20K
Я думаю, что многие разработчики знают, что цикл foreach в языке C# не так прост, каким он кажется на первый взгляд. Для начала давайте ответим на вопрос: «А что нужно, чтобы конструкция foreach успешно компилировалась?». Интуитивным ответом на этот вопрос кажется что-то типа: «Реализация классом интерфейса IEnumerable или IEnumerable<T>.». Однако, это не так, ну, или не совсем так.

Полный ответ на этот вопрос такой: «Для того чтобы конструкция foreach успешно компилировалась необходимо, чтобы у объекта был метод GetEnumerator(), который вернет объект с методом MoveNext() и свойством Current, а если такого метода нет, то тогда будем искать интерфейсы IEnumerable и IEnumerable<T>».

Причин у такого «утиного» поведения две.
Читать дальше →

Тренды, возведенные в культ

Reading time4 min
Views30K
Несколько последних лет ознаменовались появлением большого количества новых терминов, понятий, технологий, течений. Также появилось достаточное количество базвордов, которые заполонили медийное пространство. И заполонили до такой степени, что многие айтишники начинают поддаваться на соблазны и искушения рисующихся золотых перспектив. Но не буду говорить загадками — под катом список понятий, с которыми связано большое количество надежд, холиваров и… заблуждений. Давайте немного разберемся, что к чему.
Читать дальше →

Erlang, Cassandra: первые шаги

Reading time2 min
Views4.8K
Читая обзоры и сравнения NoSQL решений, я нередко натыкался на мнение о том, что у Cassandra проблемы с документацией. Пока я знакомился с архитектурой и CLI-командами системы, проблема с документаций казалась устаревшей. Но первая же попытка что-то сделать в Erlang сразу уперлась в долгие часы гугления. По сему, для облегчения своей, и не только, дальнейшей трудовой деятельности выкладываю простенький «how to» по осуществлению базовых операций с Cassandra в Erlang.
Читать дальше →

В Arch Linux по умолчанию включена проверка цифровых подписей пакетов

Reading time1 min
Views6K
Разработчики дистрибутива Arch Linux уведомили пользователей о включении по умолчанию функции проверки достоверности источника пакетов на основании цифровых подписей начиная с выпуска пакетного менеджера pacman 4.0.3-2. Поддержка проверки пакетов по цифровой подписи была добавлена в дистрибутив ещё полгода назад, но до настоящего момента данная функция не была включена по умолчанию из-за того, что процесс создания цифровых подписей для всех пакетов потребовал времени.

Указанная возможность позволяет гарантировать, что устанавливаемый из репозитория пакет не был подменён и получен в том виде, в котором его изначально подготовили разработчики, что особенно полезно при установке пакетов с произвольных зеркал. Примечательно, что патч с реализацией проверки цифровых подписей пакетов в pacman был представлен в 2008 году, на доработку и интеграцию данного патча, а также на подготовку инфраструктуры, ушло четыре года.
Читать дальше →

Автор md5crypt просит больше не пользоваться его скремблером

Reading time2 min
Views9.8K
Автор md5crypt Пол-Хеннинг Камп (Poul-Henning Kamp) опубликовал на персональном сайте призыв ко всем разработчикам прекратить использовать этот алгоритм для шифрования (скремблирования) паролей.

Камп говорит, что для своего времени md5crypt был достаточно надёжной защитой для паролей, но с момента его выхода в 1995 году прошло очень много времени. Последние тесты показывают, что на коммерчески доступном GPU можно перебирать варианты со скоростью 1 миллион в секунду, то есть MD5 сейчас уязвим перед брутфорсом точно в той же степени, в какой был уязвим основанный на DES скремблер crypt в 1995 году. Любой пароль из 8 символов можно взломать за пару дней.

«Как автор md5crypt, я умоляю всех не откладывая перейти на более надёжный скремблер паролей», — говорит Пол-Хеннинг Камп.
Читать дальше →

Наш процесс разработки: 50 месяцев эволюции

Reading time9 min
Views44K
Нашей компании уже 6 лет. Она была основана на принципах agile и росла на них. Мы использовали Extreme Programming с самого первого дня, добавили немного Scrum позже и в конце концов переключились на Kanban. Хочется поделиться бесценным опытом и рассказать об изменениях нашего процесса разработки за последние 4 года.



Много ужасных таблиц и красивых картинок

Конспект монографии по λ-исчислению

Reading time7 min
Views5.8K
Данный текст представляет собой чрезвычайно сжатый конспект классической монографии по λ-исчислению (Х. Барендрегт, «Ламбда-исчисление. Его синтаксис и семантика», перевод с английского Г. Е. Минца под редакцией А. С. Кузичева, Москва, «Мир», 1985). Он может оказаться интересен всем тем, кто планировал взяться за систематическое изучение данной темы, уже в общих чертах ознакомившись с ней, но откладывал из-за сложной структуры основной монографии, определения и основные результаты в которой довольно разрозненны. Здесь мы попытаемся сделать изложение, напротив, абсолютно линейным, и, конечно, несравнимо более коротким, избегая лишних определений и примеров, а сосредоточившись на необходимых терминологии, обозначениях и утверждениях, которые, в свою очередь, изложены близко к оригинальному тексту. Мы начнем от определения системы λβη, то есть классического бестипового экстенсионального λ-исчисления. Затем перейдем к комбинаторной логике, теореме о неподвижной точке и синтаксическому сахару. Наконец, заключительная часть конспекта — построение топологии на выражениях этой системы, призванной объяснить кажущееся противоречие: отображения множества выражений в себя содержатся в самом этом множестве при его счетности. На самом же деле, множество наделяется надлежащей топологией, в которой выражения представляют собой непрерывные отображения.
Читать дальше →

Знакомство с межпроцессным взаимодействием на Linux

Reading time11 min
Views224K
Межпроцессное взаимодействие (Inter-process communication (IPC)) — это набор методов для обмена данными между потоками процессов. Процессы могут быть запущены как на одном и том же компьютере, так и на разных, соединенных сетью. IPC бывают нескольких типов: «сигнал», «сокет», «семафор», «файл», «сообщение»…

В данной статье я хочу рассмотреть всего 3 типа IPC:
  1. именованный канал
  2. разделенная память
  3. семафор
Отступление: данная статья является учебной и расчитана на людей, только еще вступающих на путь системного программирования. Ее главный замысел — познакомиться с различными способами взаимодействия между процессами на POSIX-совместимой ОС.
Читать дальше →

Information

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