Как стать автором
Обновить
5
0
Валентин Михайленко @Limfocit

Пользователь

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

10-мониторный рабочий стол своими руками

Время на прочтение6 мин
Количество просмотров542K
Долгое время придумывал для себя удобное, многомониторное рабочее место. По жизни приходится решать задачи, связанные с программированием, тестированием, виртуальными машинами и обработкой редко изменяемой динамической информации. Продолжительное время использовал связку из трех мониторов, которая очень понравилась сыну:



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



Читать дальше →
Всего голосов 314: ↑277 и ↓37+240
Комментарии287

Безопасное развертывание ElasticSearch сервера

Время на прочтение5 мин
Количество просмотров22K
После успешного перехода c MongoDB полнотекстового поиска на ElasticSearch, мы успели запустить несколько новых сервисов работающих на Elastic'е, расширение для браузера и в общем и целом, я был крайне доволен миграцией.

Но в бочке меда, оказалась одна ложка дегтя — примерно через месяц после конфигурации и успешной работы, LogEntries / NewRelic в один голос закричали о том, что сервер поиска не отвечает. После логина на дешбоард Digital Ocean'a, я увидел письмо от поддержки, что сервер был приостановлен в связи с большим исходящим UDP трафиком, что скорее всего свидетельствовало о том, что сервер скомрометирован.
Читать дальше →
Всего голосов 35: ↑27 и ↓8+19
Комментарии12

Установка и настройка TeamSpeak 3 сервера на VDS

Время на прочтение3 мин
Количество просмотров177K
В данной статье речь пойдет об установке сервера TeamSpeak 3, эта программа предназначена для использования голосовой связи различными сообществами. В моем примере будет использоваться Linux Debian 6.0 x64, для ТС3 сервера также оптимален VDS с предустановленной Ubuntu, разрядность значения не имеет, принцип действия одинаковый.
Читать дальше →
Всего голосов 19: ↑10 и ↓9+1
Комментарии17

Обзор наиболее интересных материалов по анализу данных и машинному обучению №8 (4 — 11 августа 2014)

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

Представляю вашему вниманию очередной выпуск обзора наиболее интересных материалов, посвященных теме анализа данных и машинного обучения. В данном выпуске достаточно много практических примеров кода на языках программирования R и Python. Также в данном обзоре есть достаточно много статей, которые будут интересны новичкам. Несколько статей посвящено онлайн-курсам. Как обычно много материалов посвящено алгоритмам машинного обучения.

Читать дальше →
Всего голосов 23: ↑23 и ↓0+23
Комментарии1

Программа и материалы курса «Multicore programming in Java»

Время на прочтение5 мин
Количество просмотров34K
Добрый день.
Меня зовут Головач Иван, я буду уже второй раз вести спецкурс-вебинар «Multicore programming in Java». В этой статье предлагаю на рассмотрение программу курса и наиболее полезные ссылки по вопросам многопоточности в Java.

Также я веду курс «Scala for Java Developers» на платформе для онлайн-образования udemy.com (аналог Coursera/EdX).

Кратко о курсе: стартует 1 сентября, ведется в режиме вебинаров дважды в неделю (понедельник + четверг) в 19.00-22.00 (по московскому времени), состоит из 16 лекций по 2.5 часа (=40 лекционных часов), рассчитан на Java Middle.

1. Модуль #1: Между hardware и New JMM
1.1 Программа модуля
1.2 Литература к модулю
2. Модуль #2: java.util.concurrent
2.1 Программа модуля
2.2 Литература к модулю
3. Модуль #3: Fork/Join Framework + Parallel Streams
3.1 Программа модуля
3.2 Литература к модулю
4. Модуль #4: “Неклассические архитектуры”
4.1 Программа модуля
4.2 Литература к модулю
Читать дальше →
Всего голосов 39: ↑28 и ↓11+17
Комментарии1

Собеседование на должность JavaScript разработчика

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


Недавно прочитал неплохой пост на тему поиска работы QA и подумал, что похожий пост был бы полезен для JavaScript разработчиков. В конечном счёте, веб движется вперед семимильными шагами, и соискателей на позицию JavaScript программиста хоть отбавляй (разумеется, хороших всегда меньше).
Читать дальше →
Всего голосов 126: ↑115 и ↓11+104
Комментарии313

Начинайте думать

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


Доброго времени суток дорогой %username%!
Хотелось бы поздравить с праздником всех админов и в честь этого накатило на меня написать пост. По роду своей деятельности (*nix админ), ко мне обращаются знакомые с различными просьбами о помощи по серверам. Обычно просьбы в духе — у нас стал тормозить сайт, или что-то у нас повисло и т.п. Очень часто, проблемы возникают из-за действий программистов, которые не всегда понимают что делают, либо не понимают последствий того, что они делают. Посмотрев на это все, я решил поделиться с вами некоторыми случаями и наставлениями.

Изначально, думал назвать пост «прекратите админить» и собрать в нем типичные ошибки программистов админов, однако мысль пошла немного иначе, поэтому заголовок получился такой. Заранее хочу извиниться за сумбурность поста, просто накатило что-то написать и как мысль пошла, так и написал.
Читать дальше →
Всего голосов 73: ↑54 и ↓19+35
Комментарии96

Дайджест статей по анализу данных №3 (09.06.2014 —22.06.2014)

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

Добрый день, уважаемые читатели.
Пролетели 2 недели и пришло время нашей подборки материалов по анализу данных. Сегодняшний дайджест получился большим, и признаюсь често сам осилил не все, что в него попало. Но так как на вкус и цвет товарище нет, то я решил выложить всю подборку.
Итак, из сегодняшней подборки вы узнаете о том как использовать хранилища данных различных типов в одном проекте, посмотрите какими большими данными может обладать бизнес и как их анализ может ему помочь. Также в нашей подборке будет статья посвященная алгоритму FTCA, а также будет материал про сравнени различных алгоритмов машинного обучения.
Читать дальше →
Всего голосов 52: ↑47 и ↓5+42
Комментарии2

5 уроков для разработчиков высоконагруженных систем

Время на прочтение4 мин
Количество просмотров41K
С 2010 года мы разрабатываем сервис для организации совместной работы и управления процессами. Сейчас в нашей системе Pyrus работают тысячи организаций и десятки тысяч пользователей. За 4 года мы наработали неплохой опыт обеспечения надежности и хотим поделиться им с вами.
Читать дальше →
Всего голосов 72: ↑56 и ↓16+40
Комментарии25

Вторая российская конференция «Wolfram технологии»: рассказ и материалы

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


3 июня 2014 г. в Санкт-Петербургском государственном экономическом университете (СПбГЭУ) прошла уже вторая по счету Российская конференция Wolfram технологии, в которой мне посчастливилось участвовать в качестве одного из докладчиков.

К слову сказать, первая конференция проходила там же годом ранее, 13 июня 2013 г., причем открывал ее лично сам Стивен Вольфрам, CEO компании Wolfram Research (выступления и презентации той конференции вы можете найти здесь). Первая конференция была знаковым событием, ее посетило множество людей и на протяжении 3-х с лишним часов участники конференции не отпускали Стивена, задавая ему все новые и новые вопросы, касавшиеся то Wolfram|Alpha, то фундаментальных основ Mathematica, то темы, которой Стивен Вольфрам занимается очень давно — клеточных автоматов.

Думаю ни для кого не секрет, что компания уже скоро выпустит 10-ю версию системы Mathematica, которая, по моему глубокому ощущению, станет если уж не самым, то одним из самых мощных скачков Mathematica. Сейчас, когда я пишу эти строки, код системы уже заморожен и уже во всю ведется подготовка к релизу. О языке Wolfram, который является также языком всех продуктов Wolfram, на Хабрахабре уже шла речь, скажем в переводе на русский язык выступления Стивена на SXSW 2014, также этому языку была посвящена и большая доля конференции. Думаю многим будет интересно также, что сейчас стартовал конкурс "Выиграй Mathematica 10", победитель которого получит 10-ю версию сразу после релиза.

На картинке в начале этой заметки (см. Дополнение 1 в конце) вы можете видеть те продукты Wolfram, о которых на ней шла речь. Это, собственно, Язык Wolfram, его главные носители — Mathematica 10, Облако Wolfram и Wolfram|Alpha, а также ряд других продуктов, таких как CDF, SystemModeler и Raspberry Pi. Ссылка к Raspberry идет пунктиром потому что это, безусловно, не продукт Wolfram, но с ноября 2013 г. язык Wolfram и Mathematica предустановлены на этих одноплатных компьютерах, причем это бесплатно.
Читать дальше →
Всего голосов 22: ↑17 и ↓5+12
Комментарии0

Разработка Iframe приложений на VK API. От первых шишек до двухмиллионной аудитории

Время на прочтение5 мин
Количество просмотров71K
image
image
image Здравствуйте, в этом посте речь пойдет о том, как я создавал Iframe приложения в одной известной социальной сети. Пост будет скорее повествовательным, чем познавательным, хотя я постараюсь ответить на многие вопросы, которые поставили меня в ступор на начальном этапе.

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

Работать с javascript API Вконтакте просто до безобразия. Нужно лишь подключить файл xd_connection.js, инициализировать VK API, и делать запросы не чаще трех раз в секунду. Также стоит отметить, что и безо всяких запросов Вк передает в Iframe много необходимых параметров в виде объекта flashVars. Из него можно вытащить id пользователя, токен, упрощающий авторизацию пользователя на стороннем сервере, язык интерфейса и другие нужности.
Читать дальше →
Всего голосов 62: ↑43 и ↓19+24
Комментарии33

Исключения в Java, Часть I (try-catch-finally)

Время на прочтение23 мин
Количество просмотров438K
Это первая часть статьи, посвященной такому языковому механизму Java как исключения (вторая (checked/unchecked) вот). Она имеет вводный характер и рассчитана на начинающих разработчиков или тех, кто только приступает к изучению языка.

Также я веду курс «Scala for Java Developers» на платформе для онлайн-образования udemy.com (аналог Coursera/EdX).

1. Ключевые слова: try, catch, finally, throw, throws
2. Почему используем System.err, а не System.out
3. Компилятор требует вернуть результат (или требует молчать)
4. Нелокальная передача управления (nonlocal control transfer)
5. try + catch (catch — полиморфен)
6. try + catch + catch + ...
7. try + finally
8. try + catch + finally
9. Вложенные try + catch + finally


1. Ключевые слова: try, catch, finally, throw, throws


Механизм исключительных ситуаций в Java поддерживается пятью ключевыми словами
  • try
  • catch
  • finally
  • throw
  • throws


«Магия» (т.е. некоторое поведение никак не отраженное в исходном коде и потому неповторяемое пользователем) исключений #1 заключается в том, что catch, throw, throws можно использовать исключительно с java.lang.Throwable или его потомками.
Читать дальше →
Всего голосов 67: ↑47 и ↓20+27
Комментарии24

Масштабируем Elasticsearch на примере кластера с индексами в несколько терабайт

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

Низкая скорость поисковых запросов


Работая над поисковым движком по социальной информации (ark.com), мы остановили свой выбор на Elasticsearch, так как по отзывам он был очень легок в настройке и использовании, имел отличные поисковые возможности и, в целом, выглядел как манна небесная. Так оно и было до тех пор, пока наш индекс не вырос до более-менее приличных размером ~ 1 миллиарда документов, размер с учетом реплик уже перевалил за 1,5 ТБ.

Даже банальный Term query мог занять десятки секунд. Документации по ES не так много, как хотелось бы, а гуглинг данного вопроса выдавал результаты 2х-летней давности по совсем не актуальным версиям нашего поискового движка (мы работаем с 0.90.13 — что тоже не достаточно старая вещь, но мы не можем позволить себе опустить весь кластер, обновить его, и запустить заново на текущий момент — только роллинг рестарты).

Низкая скорость индексации



Вторая проблема — мы индексируем больше документов в секунду (порядка 100к), чем Elasticsearch может обрабатывать. Тайм-ауты, огромная нагрузка на Write IO, очереди из процессов в 400 единиц. Все выглядит очень страшно, когда смотришь на это в Marvel.

Как решать эти проблемы — под катом
Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии14

Несколько интересностей и полезностей для веб-разработчика #18

Время на прочтение4 мин
Количество просмотров28K
Доброго времени суток, уважаемые хабравчане. За последнее время я увидел несколько интересных и полезных инструментов/библиотек/событий, которыми хочу поделиться с Хабром.

Dat



Dat — data package management. Это инструмент, который позволяет обмениваться большими наборами данных с целью построения совместного рабочего процесса, подобно git с исходными файлами. Важно упомянуть, что текущий статус проекта pre-alpha.

npm install dat -g

Читать дальше →
Всего голосов 48: ↑48 и ↓0+48
Комментарии4

Заочное обучение в ШАД Яндекса: 570 замечательных часов моей жизни

Время на прочтение6 мин
Количество просмотров57K
Два года назад на меня сильное впечатление произвела хабрастатья «Стивен Вольфрам проанализировал свою жизнь». К тому времени я уже года два записывал в Google-календаре, что и когда я делал, но к тому моменту я не задумывался, о том, что можно сделать с этой информацией. После прочтения той статьи, я понял: эту информацию можно анализировать! Сейчас я могу посчитать сколько раз мы с друзьями собирались играть в баскетбол за эти годы, сколько часов я провёл в больнице и т. п.

На этой неделе я сделал последнюю домашнюю работу в ШАД и решил посчитать сколько времени у меня ушло на обучение, сколько я в среднем тратил в неделю, сколько строчек кода я написал и т. д. Построил несколько графиков и гистограмм, показал их друзьям и понял, что, возможно, такая информация будет интересна кому-либо ещё. Так что если вы хотите узнать сколько страниц отчётов было написано, насколько верна оценка нагрузки в ШАД в 15–20 часов в неделю, а также моё субъективное мнение о курсах в ШАД, то добро пожаловать под хабракат.
Читать дальше →
Всего голосов 76: ↑62 и ↓14+48
Комментарии21

Как это сделано: парсинг статей

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


Для меня всегда было некоей магией то, как Getpocket, Readability и Вконтакте парсят ссылки на страницы и предлагают готовые статьи к просмотру без рекламы, сайдбаров и меню. При этом они практически никогда не ошибаются. А недавно подобная задача назрела и в нашем проекте, и я решил копнуть поглубже. Сразу скажу, что это «белый» парсинг, вебмастеры сами добровольно пользуются нашим сервисом.
Читать дальше →
Всего голосов 123: ↑112 и ↓11+101
Комментарии36

Лёгкий сайт или как посадить браузер на диету

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

А что если объединить профессионалов, работавших над крупными web проектами, чтобы создать исчерпывающее руководство по оптимизации front-end разработки?
И получить в результате не скучную инструкцию, а что то поинтереснее? А если позвать Briza Bueno (Americanas.com), Davidson Fellipe (Globo.com), Giovanni Keppelen (ex-Peixe Urbano), Jaydson Gomes (Terra), Marcel Duran (Twitter), Mike Taylor (Opera), Renato Mangini (Google), и Sérgio Lopes (Caelum) чтобы собрать лучшие практики?

Именно это мы и сделали! Мы научим вас создавать быстрые сайты.

Zeno Rocha, руководитель проекта.


Читать дальше →
Всего голосов 193: ↑179 и ↓14+165
Комментарии80

Дайджест статей по анализу данных и big data

Время на прочтение2 мин
Количество просмотров33K
Частенько читаю Хабр и заметил что в последнее время появились Дайджесты новостей по многим тематикам, таким как веб-разработка на php, разработка на Python, мобильные приложения, но не встретил ни одного подборки по популярному сейчас направлению, а именно анализу данных и big data.

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

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

Читать дальше →
Всего голосов 45: ↑42 и ↓3+39
Комментарии15

Собрание ваших сочинений на Angular.js

Время на прочтение4 мин
Количество просмотров19K
Данный пост будет посвящён вопросу сборки Angularjs приложений. Я рассмотрю возможные пути решения и объясню, почему в итоге решил написать несколько собственных плагинов.

Итак, а как вообще принятно решать проблему сборки в последнее время? Grunt/Gulp плагины, require.js, browserify — самые популярные варианты.

Но есть нюанс. Когда вы имеете дело с Angular-приложением, вы сталкиваетесь с необходимостью декларирования зависимостей между модулями для их правильной сборки. Поясню на примере.

Если у вас простейшее приложение, которое состоит из нескольких файлов:

app.js
controllers.js
services.js
directives.js
filters.js

То никаких проблем нет. Вы можете вручную прописать порядок их подключения в том же Grunt/Gulp.

Но, допустим, если вы захотите реализовать такую архитектуру, при которой каждый отдельный сервис, контроллер, директива и т. д. находятся в отдельных файлах, то есть:

app.js
controllers/
	FirstCtrl.js
	SecondCtrl.js
services/
	FirstSrv.js
	SecondSrv.js

То вы столкнётесь с рядом трудностей. Главным образом, трудности будут с тем, как сшить все файлы так, чтобы при этом Angular работала без ошибок. Итак, что можно сделать?
Читать дальше →
Всего голосов 28: ↑25 и ↓3+22
Комментарии27

Slack. Небольшой обзор отличного сервиса

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


Некоторое время назад после волшебного пендаля под названием Tolstoy Summer Camp я начал пилить свой стартап.
Сначала у меня в команде было два разработчика и дизайнер. Потом один разработчик ушёл пилить свой проект. Затем появился другой разработчик. И всё бы ничего, но я сходил с ума от того что не мог найти простых и понятных средств ведения дел в таких маленьких компаниях как моя.
Я перепробовал тучу всяких Basecamp, Asana, Redmine, Trello, Мегаплан и прочих, массу мессенджеров в разных сочетаниях c он-лайн файлопомойками типа Dropbox и GoogleDrive — ничего мне не нравилось. «Ну, не то это всё, не то!».
Но, в конце-концов, решение было найдено.
Всего голосов 64: ↑55 и ↓9+46
Комментарии65

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность