Pull to refresh
5
0
Oleg @opeg

User

Send message

Как работают алгоритмы сортировки

Reading time1 min
Views22K
Иногда для понимания того, как работает та или иная вещь, лучше один раз увидеть, чем сто раз услышать.

Замечательный сайт www.sorting-algorithms.com позволяет увидеть, как сортируются данные разными алгоритмами. Вы сможете посмотреть анимацию в зависимости от алгоритма, исходных данных.



Все это бегает и сортируется прямо на ваших глазах!

Работает на Google App Engine, видимо, поэтому и лежит от посетителей с «Хабра».
Total votes 185: ↑151 and ↓34+117
Comments63

И ещё про «домашний» Asterisk

Reading time4 min
Views19K
Прочитав этот пост, решил поделиться и своим опытом.

В данный момент решены 2 простые задачи:
  • все звонки, поступающие на PSTN номер (обычный городской), переадресовываются на мобильный телефон, который у меня всегда в кармане и, одновременно, на SIP телефон, который стоит дома
  • с SIP телефона я могу звонить как по России, так и в некоторые нужные мне страны по минимальным тарифам.

Как это сделано?
Читать дальше →
Total votes 43: ↑38 and ↓5+33
Comments46

Естественные алгоритмы. Реализация алгоритма поведения роя пчёл

Reading time2 min
Views11K
В моей предыдущей статье описывался алгоритм поведения роя пчёл и применение его для решения задач оптимизации и синтеза. Вооружившись С++ и OpenGL я написал программу, реализующую этот самы алгоритм в двухмерном пространстве, и отображающую роение «пчёл».

В качестве испытательной функции была выбрана следующая функция:



Что из этого вышло
Total votes 89: ↑84 and ↓5+79
Comments54

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

Reading time2 min
Views60K
В массовом сознании давно укоренилось, что программирование — это работа для молодых. Честно говоря, я сам так считал до совсем недавнего времени. Исходил я, при этом, из предположения, что молодые люди легче учатся, быстрее и лучше думают и, поэтому, в большей степени подходят для решения алгоритмических задач. Мне казалось, что с возрастом мозг работает хуже, память ухудшается, нейроны вроде не восстанавливаются, а способность к быстрому обучению падает. Правда, меня смущало то, что на своем собственном опыте я убеждался как раз в обратном: сейчас, в 42 года, я определенно думаю лучше, чем в 20 лет.

Недавно прочтенная статья заставила меня кардинально изменить взгляды.

Читать дальше →
Total votes 120: ↑100 and ↓20+80
Comments182

Чему менеджеры не учатся и почему так происходит?

Reading time1 min
Views2.2K
Идея записывать небольшие полезные видео носилась в воздухе давно. Во время тренингов в Киеве, мы с Сашей Орловым (eagleson) все-таки взялись за ум и записали первое небольшое видео на тему развития менеджеров — чему менеджеры не учатся и почему так происходит.



В этом выпуске:
  1. Что мы выяснили, проведя опрос синьор менеджеров ведущих компаний
  2. Каких навыков и знаний больше всего не хватает начинающим менеджерам
  3. Что мешает менеджерам учиться на этапе назначения на эту позицию
  4. 3 главные причины, почему менеджеры не учатся
  5. Как наследие нашей системы образования влияет на обучение взрослых людей


Подарите себе 20 минут времени.
Total votes 62: ↑48 and ↓14+34
Comments59

Google Wave отдают народу в готовом виде

Reading time2 min
Views3.5K
Команда разработчиков Google Wave приняла решение запустить open source проект на базе Google Wave, кроме тех 200k строк кода, которые уже открыты (см. waveprotocol.org). Новый проект — более чётко скомпонованное решение, фактически, уже готовая система.

Проект называется Wave in a Box и включает в себя следующее:

* пакет приложений, включая сервер и клиенты с поддержкой структурированных коммуникаций в реальном времени по образцу системы Google Wave;
* быстрая и полнофункциональная wave-панель для веб-клиента с полной поддержкой тредовых чатов;
* стабильное хранилище данных и реализация поиска для сервера (сделано на стороннем коде для внедрения MongoDB)
* усовершенствованные клиент-серверные протоколы;
* поддержка API для гаджетов, роботов и данных;
* поддержка импорта wave-данных с wave.google.com;
* возможность объединения различных инстансов Wave in a Box, с некоторой дополнительной конфигурацией.
Читать дальше →
Total votes 129: ↑121 and ↓8+113
Comments47

Памятка дизайнеру сайтов

Reading time10 min
Views245K
Вторая версия статьи, расширенная и дополненая.

Большая часть готовилась для моего выступления на «РИТ: Клиентские технологии», куда я, к сожалению, не доехал.

 

Памятка дизайнеру сайтов

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

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

Читать дальше →
Total votes 453: ↑444 and ↓9+435
Comments231

Другая книга про XSLT

Reading time2 min
Views6.6K
Вашему вниманию предлагается небольшая по объему книга (можно называть это брошюрой), посвященная XSLT и его использованию в качестве языка шаблонизатора при создании сайтов на UMI.CMS.

Это не реклама «еще одной cms», и «еще одного шаблонизатора», а лишь предложение познакомиться с одним из подходов к использованию технологии XSLT при создании сайтов, где в качестве системы управлением контента взята UMI.CMS.
Читать дальше →
Total votes 53: ↑45 and ↓8+37
Comments76

Паттерны проектирования (design patterns) — agilepod #13

Reading time1 min
Views8.4K
Шаблоны (паттерны) проектирования – это то, что знают архитекторы. На тренинги по “ШП” отправляют старших разработчиков. Нужно ли это простому труженнику села? Какой секрет в этом скрыт? Или секрета там нет?

* Что такое паттерны и зачем они нам
* Каталоги паттернов: GoF, PoEAA, IP и др.
* Секретная структура любого каталога
* Почему нужно изучать паттерны
* Развитие командной культуры и профессиональной интуиции
* С чего начинать?

Упоминалось:
Шаблоны уровня архитектуры (хотя бы я бы с этим поспорил, так как классикой является Бушман)
Шаблоны проектирования уровня классов и взаимодействий (банды четырёх)
О том же, но вариант попроще (переосмысленная переделка)
Шаблоны низкого уровня, уровня написания строчек кода и «кодо-стиля»
Total votes 39: ↑32 and ↓7+25
Comments14

Системы управления проектами. Ищем альтернативы Basecamp

Reading time8 min
Views111K
imageНа написание поста меня сподвигла найденная на просторах хабра ссылочка на сайт с альтернативами Basecamp. Уверен многие уже заходили и смотрели предлагаемые альтернативы. Я же решил просмотреть их все. По результатам просмотра было выбрано 4 (+ 1 бонусная) системы управления проектами, которые можно назвать реальными альтернативами Basecamp. Из них три являются чуть менее, чем полностью неизвестными на просторах хабра (поиск дает практически нулевой результат), что дает мне надежду на то, что данный топик сообщит вам что-то новое. Критерии выбора и краткий обзор систем под катом (осторожно скриншотный трафик ~0.5 Mb).

Читать дальше →
Total votes 98: ↑91 and ↓7+84
Comments157

Настройка и масштабирование PostgreSQL

Reading time1 min
Views4.2K
Написал небольшой мануал по настройке и масштабированию PostgreSQL. Сподвигло меня на это то, что материала по этой теме мало, он устарел или его просто нет.

Скачать можно здесь:
http://github.com/le0pard/postgresql_book/raw/master/postgresql.pdf
Исходники:
http://github.com/le0pard/postgresql_book/

Страница:
http://postgresql.leopard.in.ua/
Total votes 84: ↑83 and ↓1+82
Comments27

Свое представление (view) в Spring MVC

Reading time5 min
Views16K
Если вы работали с Spring MVC то наверняка обращали внимание, что он поддерживает множество различных представлений (view), которые позволяют генерировать pdf, excel, csv использовать jstl, freemarker, velocity и jasperReports. Но что делать если вам потребовалось заполнить какой либо документ в формате docx по шаблону и передать его пользователю? С одной стороны можно в методе воспользоваться доступом к стандартному response и если планируется использовать такую генерацию множество раз, то вынести ее в отдельный класс. Но такое решение не слишком изящно и нарушает MVC-паттерн.
Что можно сделать чтобы этого не происходило?
Total votes 20: ↑19 and ↓1+18
Comments20

Apache Lenya — необычная opensource CMS на Java

Reading time7 min
Views19K
В комментариях к топику Spring в действии — пробуем opensource CMS на Java я обмолвился об Apache Lenya, одной из opensource CMS на Java, и меня попросили написать о ней подробнее.
Apache Lenya Logo

Почему Apache Lenya


«Почему CMS на Java?» — первый вопрос, который у меня возник, когда поступили требования от заказчика. Ответ оказался простым: заказчик, крупная корпорация, имел опыт разработки проектов на Java, поэтому доверял ей больше всего. «Java EE» звучит для уха бизнесмена серьёзнее и надёжнее, чем, скажем, PHP. Как обстоят дела с надёжностью и серьёзностью на самом деле не суть важно, но всё же стоит учитывать, что крупные корпорации доверяют продуктам других крупных корпораций.
Читать дальше →
Total votes 35: ↑31 and ↓4+27
Comments37

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

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

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

Так же я постарался привести сухой «дипломный» стиль изложения к более публицистическому.
Читать дальше →
Total votes 82: ↑78 and ↓4+74
Comments41

Database Connection Pool

Reading time3 min
Views158K
Добрый день, хабралюди!
2 недели назад я начал работать juior java разработчиком, и, соответственно, получать много нового для себя опыта. Сегодня я решил совместить приятное с полезным и начать этот опыт оформлять в письменные мысли — в виде статей о тех технологиях, принципах и приёмах, с которыми я столкнулся на своём джуниорском пути. Нижеследующая статья — первая среди подобных, и выкладывая её здесь, я хочу, во-первых, понять, нужны ли хабрасообществу подобные вещи — рассказы не умудрённых опытом и сотнями проектов старожилов, а небольшие попытки поделится опытом от джуниора джуниору, — а во-вторых, как обычно, услышать замечания, исправления и критику.
Спасибо за внимание.


Подавляющее большинство современных веб-приложений использует базы данных для хранения информации. Приложение может обмениваться информацией с БД, используя соединение (database connection). Если создавать при каждом обращении к БД, получается проигрыш во времени: выполнение транзакции может занять несколько милисекунд, в то время как на создание соединения может уйти до нескольких секунд. С другой стороны, можно создать одно-единственное соединение (например, используя шаблон "Singleton") и обращаться к базе данных только через него. Но это решение чревато проблемами, в случае высокой нагрузки: если одновременно сто пользователей попытается получить доступ к базе данных используя одно соединение, образуется очередь, что также пагубно сказывается на производительности приложения.

Database Connection Pool (dbcp) — это способ решения изложенной выше проблемы.
Читать дальше →
Total votes 49: ↑34 and ↓15+19
Comments38

Согласованные в конечном счете (Eventually Consistent)

Reading time12 min
Views42K
В последнее время на хабре чаще стали встречаться обсуждения масштабируемых систем и NoSQL решений. Эта статья, написанная техническим директором Amazon — одна из лучших вводных, на мой взгляд, показывающая, какие проблемы возникают при построении масштабируемых систем, что нужно учесть при выборе инструментария, что имеют ввиду авторы кассандры, говоря про обеспечение AP в кассандре и CP в HBase и многое другое.
Читать дальше →
Total votes 45: ↑43 and ↓2+41
Comments11

Скотт Макнили взялся за учебники

Reading time1 min
Views1.1K
К несчастью для книгоиздателей, у сооснователя Sun Скотта Макнили появилось много свободного времени после того, как Oracle купила его компанию. Макнили решил вложить время и деньги в свой старый проект Curriki, где выкладываются в свободный доступ учебники и лекции. Это реальная угроза для издательского бизнеса, который зарабатывает на продаже учебников от $8 млрд до $15 млрд в год, с каждым годом повышая цены, пишет NY Times.


Скотт Макнили со своим 12-летним сыном.
Читать дальше →
Total votes 108: ↑102 and ↓6+96
Comments51

Тулбары каждому сайту

Reading time3 min
Views20K
Так почему-то сложилось, что в Рунете свои тулбары делают только крупные сайты. Да и то – не все. Да и вообще все вокруг тут думают, что тулбары — это зло.

На западе всё совсем не так. Многие вебмастера считают тулбар необходимым инструментом для увеличения посещаемости и возвращаемости аудитории на сайт. Для удобства создания персональных тулбаров существуют даже специальные сервисы, конструкторы тулбаров – к примеру, Conduit.com. Вокруг таких сервисов есть целые экосистемы вебмастеров – которые не только влияют на качество создаваемых тулбаров, но и зарабатывают на своих тулбарах деньги.

А в Рунете, почему-то, всего этого нет.
Ни персональных тулбаров.
Ни сервисов-конструкторов.
Ни сообществ.
Ни денег.

Вот мы и решили эту ситуацию исправить.



И сделали Метабар – первый конструктор тулбаров в Рунете.

Читать дальше →
Total votes 157: ↑91 and ↓66+25
Comments110

Асинхронность: почему это никак не сделают правильно?

Reading time7 min
Views6.8K
Асинхронные программы чертовски неудобно писать. Настолько неудобно, что даже в node.js, заявленном как «у нас все правильное-асинхронное», понадобавляли таки синхронных аналогов асинхронных функций. Что уж говорить про питоновский синтаксис, не дающий объявить лямбду со сколь-либо сложным кодом внутри…

Забавно, что красивое решение проблемы не требует ничего экстраординарного, но почему-то до сих пор не реализовано.
Читать дальше →
Total votes 86: ↑81 and ↓5+76
Comments78

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

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

image

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

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

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

Время прочтения: 15 минут
Total votes 207: ↑186 and ↓21+165
Comments134

Information

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