Search
Write a publication
Pull to refresh
0
0
brook @brook

User

Send message

MySQL в tmpfs

Reading time5 min
Views14K
Хотелось бы поделиться опытом по использованию MySQL с хранением данных в памяти, а не на диске. Это позволило нам сократить load average сервера, который из-за операций с диском стал сильно расти.



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

Оценка сложности алгоритмов

Reading time6 min
Views636K
Не так давно мне предложили вести курс основ теории алгоритмов в одном московском лицее. Я, конечно, с удовольствием согласился. В понедельник была первая лекция на которой я постарался объяснить ребятам методы оценки сложности алгоритмов. Я думаю, что некоторым читателям Хабра эта информация тоже может оказаться полезной, или по крайней мере интересной.
Читать дальше →

Самый главный алгоритм

Reading time1 min
Views4.7K
От всей души рекомендую видео лекцию А. Степанова (человека создавшего STL): «о истории алгоритма нахождения наибольшего общего делителя», это популярная лекция оказалась бесконечно интересной, в ней рассказывается, на примере этого алгоритма о развитие алгоритмического знания всего человечества с эпистемологической точки зрения в разрезе истории с античных времен с Пифагора до наших дней до Кнута.

image
Посмотреть можно здесь:
часть1
video.yandex.ru/users/ya-events/view/129
часть2
video.yandex.ru/users/ya-events/view/128
Читать дальше →

Хитрим со Squid в корпоративной сети

Reading time4 min
Views18K
Недавно наткнулся на одну достаточно занятную статью (http://habrahabr.ru/blogs/sysadm/28063/), в которой описывалась возможность создания кластера proxy-серверов для увеличения суммарной пропускной способности. Изначально показалось, что место данного интересного решения – в музее устаревших технологий, однако, поразмыслив, пришел к более интересным выводам.
Дело в том, что наша контора, как и я, географически находимся в зоне с достаточно дорогим интернетом и не особо толковым в плане IT генеральным руководством. Как результат – на 500 с гаком человек приходится канал мегабита в два максимум; так что счастливым считается тот час, в который личная скорость поднимается выше отметки в 128 кбит/сек. А это более чем печально.
Читать дальше →

Вы разработчик? Так почему вы до сих пор на кого-то работаете?

Reading time8 min
Views11K
Как разработчик, вы сидите на золотой жиле. Вы осознаете это?

Нет, серьезно, на @#$% золотой жиле! Никогда в истории не существовало возможностей так легко создать что-то с нуля, с маленьким или отсутствующим начальным капиталом и маркетинговой моделью, ограниченной только вашим воображением.

Подумайте о крупнейших сайтах, которые вы постоянно посещаете: Facebook, Twitter, Flickr, Foursquare, или даже Google — все они были созданы разработчиками, у которых была лишь идея. Было ли это легко? Черт, нет. Но это могло быть сделано только в наше время. Так, черт побери, почему вы просиживаете день за днем, работая на кого-то?
Читать дальше →

Как найти вашего первого клиента

Reading time4 min
Views88K
imageКогда станете хорошо известны в своем деле, клиенты будут постоянно обращаться к вам, а не выбудете искать их. Когда есть много работы, то и стараться продавать свои услуги не будет особой нужды.

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

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

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

Reading time3 min
Views14K
Недавно у меня был достаточно горячий конфликт с популярным PHP пакетом для электронной коммерции. В результате мне захотелось рассказать об одной распространенной ошибке в архитектуре веб приложений.

В чем же эта ошибка?
Читать дальше →

Обзор алгоритмов кластеризации данных

Reading time10 min
Views456K
Приветствую!

В своей дипломной работе я проводил обзор и сравнительный анализ алгоритмов кластеризации данных. Подумал, что уже собранный и проработанный материал может оказаться кому-то интересен и полезен.
О том, что такое кластеризация, рассказал sashaeve в статье «Кластеризация: алгоритмы k-means и c-means». Я частично повторю слова Александра, частично дополню. Также в конце этой статьи интересующиеся могут почитать материалы по ссылкам в списке литературы.

Так же я постарался привести сухой «дипломный» стиль изложения к более публицистическому.
Читать дальше →

Кластеризация: алгоритмы k-means и c-means

Reading time3 min
Views185K
Добрый день!

Как и обещал, продолжаю серию публикаций о технологии Data Mining. Сегодня хочу рассказать о двух алгоритмах кластеризации (k-means и c-means), описать преимущества и недостатки, дать некоторые рекомендации по их использованию. Итак, поехали…

Кластеризация — это разделение множества входных векторов на группы (кластеры) по степени «схожести» друг на друга.

Кластеризация в Data Mining приобретает ценность тогда, когда она выступает одним из этапов анализа данных, построения законченного аналитического решения. Аналитику часто легче выделить группы схожих объектов, изучить их особенности и построить для каждой группы отдельную модель, чем создавать одну общую модель для всех данных. Таким приемом постоянно пользуются в маркетинге, выделяя группы клиентов, покупателей, товаров и разрабатывая для каждой из них отдельную стратегию (Википедия).

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

CouchDB сегодня

Reading time8 min
Views28K


Что такое CouchDB для вас? Вероятно любой, кто хоть немного интересуется популярной нынче темой NoSQL, прекрасно знает общие детали: это такая симпатичная игрушка с map/reduce-запросами, которые пишутся на JavaScript, с которой можно работать, гоняя JSON по HTTP-протоколу, а также не исключено, что слышали, что она fault-tolerant, тобишь не ломается вообще. Дальше этого обычно дело не идёт, в результате CouchDB отправляется в delicious в общую кучу со всякими MongoDB, Cassandra, Hadoop и т.п.

Примерно такого мнения придерживался и я вплоть до недавнего времени, пока не возникла острая необходимость переосмыслить архитектуру текущего проекта (упёршегося лбом в свою реляционную БД) и пересесть на документную базу данных, которая бы умела map/reduce. После того, как более пристально взгялнул на CouchDB, я понял, что он уникален в своём классе, его не следует ставить в один ряд с упомянутыми продуктами. Идеи, которые заложены в CouchDB настолько концептуальны, что способны в корне перевернуть представление о разработке веб-приложений.

О том, что же меня так впечатлило, постараюсь рассказать под катом.
Читать дальше →

Как выучить любой язык за 3 месяца?

Reading time6 min
Views99K
Перевод статьи Тима Ферриса из его блога.

image

(Учебник Дзюдо Окано Исао, который я использовал для изучения японской грамматики)

Изучение языка не должно быть сложным.

Принципы когнитивной нейронауки и управления временем могут быть применены для достижения свободного владения языком на разговорном уровне (в данном случае определяется как 95%+ процентов понимания и 100% выразительных возможностей) в течение 1-3 месяцев.

Время прочтения: 15 минут

Составление строк из множества частей

Reading time3 min
Views12K
Роберто Иерусалимши рассказывает, как эффективно соединять немодифицируемые строки.
Несмотря на то, что код написан на Lua, алгоритм подойдёт и для других языков, в которых строки нельзя изменять.
Читать дальше →

OCaml и PHP — эзотерика для вашего удобства

Reading time9 min
Views2.8K
NB: читая этот топик, желательно не есть — можно поперхнуться от неожиданности.
NB: менее ценные куски кода пришлось вынести на пастебин, из-за того что хабр обрезает пост. Следите за ссылками в тексте.

Многие причисляют OCaml к маргинальным и даже эзотерическим языкам. Возможно они и правы, хотя множество людей с ними не согласны. Для меня знакомство с ним началось с полгода назад, когда мне в очередной раз захотелось научиться чему-то новому и я подумал, что хоть один функциональный язык надо освоить. Из множества языков я выбрал Objective Caml. Язык покорил меня человеческим синтаксисом и идеей: есть все функциональные радости жизни, но если хочешь императивный стиль и ООП — бери, их есть у меня! Оказалось, что разработчики прекрасно понимали, что для разных задач нужны разные средства. Три дня чтения мануала для C++ и Perl-программистов и я уже вполне мог читать код и писать хеллоуворлды. На этом моё знакомство с языком закончилось, потому что изучать язык не на реальной задаче — дело глупое.
А теперь о более реальной разработке

NoSQL, используя MongoDB, NoRM и ASP.NET MVC

Reading time5 min
Views13K


В данной статье, я хотел бы рассказать, как работать с NoSQL и документо-ориентированной базой данных MongoDB, NoRM и ASP.NET MVC 2.

NoSQL и документо-ориентированная база данных


В этом году особенно заметны активные движения в направлении NoSQL и люди постоянно обсуждают о применении  документо-ориентированных баз вместе с веб-приложениями. Согласно Википедии “NoSQL — движение, продвигающее свободный класс не реляционных хранилищ данных, которое прервало длинную историю реляционных баз данных.  Данные хранилища могут не требовать фиксированных схем для таблиц, чаще всего избегают join-операций и обычно имеют горизонтальное масштабирование. Преподаватели часто ссылаются на подобные базы данных, как на структурированные хранилища.
Читать дальше →

PHPUnit. Автоматические тесты

Reading time4 min
Views63K
Предисловие переводчика:
Недавно начал изучать PHPUnit (framework семейства xUnit) и с удивлением обнаружил, что на русском языке нет статей про автоматические тесты для самых-самых чайников.
В первой главе документации по PHPUnit на примерах очень доступно рассказывается, что такое автоматическое тестирование.


Даже хорошие программисты допускают ошибки. Разница между хорошим программистом и плохим заключается в том, что хороший программист как можно чаще использует тесты, чтобы найти свои ошибки.
Чем раньше Вы начнете тестировать, тем выше Ваши шансы найти ошибку, и тем ниже цена исправления.
Это объясняет, почему откладывание тестирования до момента передачи программы заказчику является очень плохой практикой. Большинство ошибок так и не будет найдено, а цена исправления станет такой высокой, что Вам придется составить большой график работы, т.к. сразу Вы не сможете их все исправить.
Читать дальше →

Подсветка монитора на CCFL

Reading time2 min
Views25K
imageЯ часто работаю за компьютером в темноте, и мне известно, что это не очень полезно для глаз — смотреть в яркий монитор на темном фоне. Я смотрел разные варианты, в том числе и синюю подсветку на LED из Икеи на телевизоре у знакомого, но самому сделать что-то подобное никак не доходили руки. Одно время я даже просто заворачивал настольную лампу за монитор, имитируя «подсветку» — но это было не решение.

Решение же пришло само собой — на одном из сайтов, где я иногда покупаю разные железки, на главной странице я присмотрел пару CCFL (http://ru.wikipedia.org/wiki/Холодный_катод) за символическую сумму в 4,99€. Одной поездкой в магазин и потраченными еще 7€ позже я сижу в темноте и пишу этот текст с абсолютно не напряженными глазами :)

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

Подборка роликов о создании макета дизайна и сайта в Adobe Fireworks

Reading time3 min
Views18K

Что такое Fireworks и зачем он нужен


Fireworks и HabrahabrВ нашей стране данный графический редактор не снискал популярности. Так уж сложилось, что стоимость пакета Adobe Creative Suite у нас в среднем равна стоимости интернет-трафика на его скачивание, либо стоимости носителя, на который его записывают. Отчасти поэтому все используют Adobe Photoshop и Adobe Illustrator для создания веб-дизайна. Ну вот сейчас, лично для меня, пришло время задуматься о лицензионности софта.

Я сам не являюсь веб-дизайнером, я программист. Основные задачи, которые я решаю с помощью графического редактора — это минимальная модификация растровой и векторной графики, нарезка готового дизайна, оптимизация изображений, создание прототипов и т.п. Photoshop и Illustrator без проблем решают эти задачи, однако их в состоянии решить и Fireworks. А теперь вспомним про стоимость Photoshop + Illustrator (700$ + 600$) и сравним со стоимостью Fireworks (300$).

Частенько бывает, что Fireworks не справляется с отображение родных файлов Photoshop и Illustrator. Возникают глюки с отображением некоторых эффектов. В таких случаях обычно помогает эталонный скриншот, который позволяет понять где проблема и при возможности исправить ее. Также есть альтернативные редакторы (Gimp, Pixelmator), которые открывают исходный файл, но уже со своими глюками, которых нет в Fireworks.

Таким образом, вряд ли Fireworks заинтересует дизайнеров, уже работающих в Photoshop, его основные пользователи — это программисты, верстальщики, проектировщики и небольшая часть дизайнеров (во всяком случае в России).

Подборка роликов о Fireworks


Покопавшись в рунете на предмет наличия видео о Fireworks на русском языке я наткнулся на некий вакуум. Все имеющиеся ссылки вели на Youtube. Вот к нему я обратился, а результаты поиска под хабракатом. Кому будут интересны эти ролики? Прежде всего программистам, отчасти верстальщикам, которые хотят понять как создается веб-дизайн и почему им не всегда нужен Photoshop.
Читать дальше →

Be Pythonic

Reading time3 min
Views17K

От переводчика


Представляю вашему внимаю перевод статьи Shalabh Chaturvedi «Be Pythonic», рекомендованной в этом топике. Если мое начинание будет поддержано, планирую также перевести две остальные упомянутые там статьи этого автора.

Вступление


Эта статья предназначена для новичков в Python.

При переходе с одного языка на другой некоторые вещи для вас могут остаться неизвестными (см. Transfer of Learning). То, что вам известно о других языках, может быть не всегда полезным в Python. Эта статья содержит некоторые используемые в Python идиомы, которые мне особенно нравятся. Я надеюсь, читатели найдут их полезными для овладения языком.
Читать дальше →

Information

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