BLANCO
-> П
Поиск по тегу "nodejs"
1 2 »
.web-service-0
Автор: stasundr | O-- | .мыслей 2 [ +3 ]
.nodejs
Мне периодически нужно конвертировать один тип файлов для работы, но существующий конвертер работает только под linux. Скомпилировать его под мак у меня не получилось (но я особо и не пытался). В итоге решил написать свой на node.js, чтобы везде работал. Какого же было моё удивление, когда конвертер на js показывал лучшие результаты по производительности (в 2.5 раза!). До сих пор не понимаю как так получилось, потому что при конвертации используются низкоуровневые операции вроде побитовых сдвигов и прочего Happy
 

Автор: stasundr | O-- | .мыслей 5 [ 0 ]
.docker
Автор: stasundr | O-- | .мыслей 9 [ +4 ]
.nodejs
Так как много программирую на JavaScript, радуюсь выходу новой версии Node.js (v4.0.0) и тому как развиваются события в целом (поддержка IBM, слияние с io.js, принятие ES6 и так далее). Подумываю внести свой вклад в развитие nodejs - перевести пару уроков на NodeScool.
 
А уже завтра будет видео, которое мы подготовили с Лёшей. Про докер Smile
Автор: stasundr | O-- | .мыслей 0 [ +2 ]
.ohg
Если помните, я писал про программу http://stasundr.name/?id_news=191, по определению гаплогруппы митохондриальной ДНК. В том случае у меня были полные митогеномы (по ~16570 букв). Теперь передо мной стоит задача оптимизировать эту прогу для определения гаплогрупп у образцов древней ДНК. Теперь (в зависимости от состояния образца) я получаю либо одну целую последовательность (редко), либо несколько фрагментов этой последовательности из большого количества коротких фрагментов (обычно, несколько десятков тысяч последовательностей по ~50 букв). То есть все становится сложнее и интереснее Smile
Из-за того, что пробелы в последовательностях могут быть в очень важных местах, часто бывает невозможно точно определить гаплогруппу. В таком случае, ее нужно научиться предсказывать.
 
Update: ребята, вот это поворот! Оказывается, кроме меня, над созданием такой программы работал Nick Patterson - крайне интересная личность, учитывая, что до работы в области популяционной генетики, он работал на британское и американское правительство и взламывал какие-то там шифры (пруф). Скоро мы сравним наши алгоритмы в работе Happy Вот такая интрига %)
Автор: stasundr | O-- | .мыслей 3 [ +2 ]
.nodejs
Посмотрел хорошую лекцию про буферы и потоки в nodejs. Забавно постфактум наткнуться на объяснение того, как мне удалось так увеличить эффективность работы алгоритма. Если в двух словах, то Тревор рассказывает, что если вы не указываете кодировку для вашего буфера/потока, то при использовании метода toString() происходит (как минимум) две операции копирования данных в памяти, что крайне ресурсоёмко. Если же кодировку указать, то можно манипулировать данными напрямую. Сами понимаете, что если вся суть программы выполнять манипуляции над потоками данных, то и влияние на производительность огромное. Сейчас, по моим ощущениям, все упирается в скорость чтения/записи на ssd Smile
Еще он демонстрирует очень крутой метод как связывать c++ и js код. Очень хочу попробовать теперь что-нибудь на с++ написать и присобачить к js Smile
Автор: stasundr | O-- | .мыслей 7 [ +1 ]
.i5
При исследовании популяционных взаимодействий случайно наткнулись на один потенциально занимательный феномен. Чтобы исследовать его я написал небольшую прогу на js на той базе данных, которую уже описывал (~6500 человек по ~630 000 SNP на каждого).
После небольшой фильтрации образцов из ~6500 осталось 5664 штуки. Прогу запускал на своем ноуте (хотел сначала немного протестировать перед загрузкой на кластер). В итоге ноут обсчитал все сам на своем скромном 1.7Ghz процессоре Happy Вы бы видели как у меня лицо вытянулось, когда я отошел налить попить и сделать бутерброд, вернулся, а он уже все посчитал xD Сижу теперь с довольной мордой и пишу этот пост Smile
 
Всем эффективных алгоритмов, посоны!
Автор: stasundr | O-- | .мыслей 7 [ +2 ]
.codeschool
Закончил очень здоровский курс Real-time Web with Node.js на CodeSchool. Рекомендую Smile
 
Автор: stasundr | O-- | .мыслей 0 [ +2 ]
.genetic_atlas
Раз кластерер кластирует, а парсер парсирует, то значит пришла пора подумать о реализации поиска среди образцов и их сортировке по возрасту и прочим параметрам. Здесь, видимо, нам понадобится elasticsearch.
Автор: stasundr | O-- | .мыслей 7 [ +2 ]
.genetic_atlas
Присобачил к генетическому атласу MarkerClustererPlus Happy Теперь нужно написать небольшой парсер списка образцов, чтобы импортировать его в Redis и все эти образцы можно было наблюдать на карте.
 
Еще нашел описание реализации дуг между точками на карте - необходимая штука для изображения результатов ALDER (такой вид анализа генетического родства). Но сначала парсер.
 
update: написал парсер для первой коллекции образцов Smile
Автор: stasundr | O-- | .мыслей 0 [ +3 ]