Pull to refresh
23
0
Виктор Лова @nsinreal

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

Send message

До микросервисов нужно дорасти, а не начинать с них

Reading time6 min
Views52K


Предлагаю поговорить о том, когда нужны микросервисы, а когда нет. Спойлер: это зависит от проекта.

У нас, разработчиков программного обеспечения, довольно интересная профессия. Мы можем спокойно кодировать целыми днями, а затем прочитать статью о чём-то — и она подвергает сомнению всю нашу работу, потому что какой-нибудь Netflix сказал XYZ.

Просто так, из-за мнения одного человека или компании вы начинаете сомневаться во всём, что делали в течение многих лет, даже если всё работало отлично.
Читать дальше →
Total votes 64: ↑64 and ↓0+64
Comments237

Ричард Хэмминг: «Необъяснимо высокая эффективность математики»

Reading time23 min
Views50K
«Это самое глубокое эссе, которое я видел относительно философии науки; на самом деле, оно важно для всего нашего понимания мысли, познания или реальности.»

image

Пролог


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

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

Философия возникла тогда, когда человек задался вопросом о мире вне этих теологических рамок. Например, мир древние философы представляли как сочетание земли, огня, воды и воздуха. Без сомнения их убеждали в том, что мир создан богами и не нужно беспокоиться по этому поводу.

Из этих ранних попыток объяснить мир постепенно возникла философия, также как и современная наука. Не то чтобы наука объясняет «почему» вещи таковы, как они есть — гравитация не объясняет «почему» предметы падают, но наука дает нам столь детальное объяснение «каким образом» это происходит, что у нас появляется чувство, будто мы знаем «почему». Давайте проясним; море связанных между собой фактов позволяет науке сказать «почему» вселенная именно такая.
Читать дальше →
Total votes 43: ↑39 and ↓4+35
Comments76

Ричард Хэмминг: Глава 29. Вы получаете то, что вы измеряете

Reading time18 min
Views13K
«Цель этого курса — подготовить вас к вашему техническому будущему.»

imageПривет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2365 в закладки, 360k прочтений)?

Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, написанная по мотивам его лекций. Давайте ее переведем, ведь мужик дело говорит.

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

Мы уже перевели 12 (из 30) глав.
За перевод спасибо Валерию Дмитрущенкову, который откликнулся на мой призыв в «предыдущей главе». Кто хочет помочь с переводом — пишите в личку или на почту magisterludi2016@yandex.ru (Кстати, мы еще запустили перевод еще одной крутейшей книги — «The Dream Machine: История компьютерной революции»)

Глава 29. Вы получаете то, что вы измеряете


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

В данный момент популярным примером этого эффекта может служить использование нижней строки квартального отчета о прибылях и убытках для оценки успешности работы компании. Это хорошо работает для компании, заинтересованной в основном в краткосрочной прибыли, но слабо связано с долгосрочной прибылью.
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments1

Анимации в мире состояний

Reading time16 min
Views17K
Многие уже научились строить чистые интерфейсы и писать «undo-redo» в несколько строчек. Но как быть с анимациями? Часто их обходят стороной, и они не всегда вписываются в подход (state) ↦ DOM. Есть отличные решения вроде React Motion, но что если вам нужно делать сложные анимации или работать с Canvas, используя физический движок?

В нашем тексте рассказывается, как работать с анимациям в React-приложениях, и сравнивается несколько подходов (D3, React-Motion, «грязные компоненты»). А также о том, как «запускать» анимации в Redux-приложениях. Материал основан на расшифровке доклада Алексея Тактарова с нашей декабрьской конференции HolyJS 2017 Moscow. Прилагаем заодно видеозапись этого доклада:


Осторожно, трафик: под катом много картинок и гифок (сами понимаете, материал про анимации).
Total votes 35: ↑35 and ↓0+35
Comments1

Cжатие и улучшение рукописных конспектов

Reading time9 min
Views38K
Я написал программу для очистки отсканированных конспектов с одновременным уменьшением размера файла.

Исходное изображение и результат:


Слева: исходный скан на 300 DPI, 7,2 МБ PNG / 790 КБ JPG. Справа: результат с тем же разрешением, 121 КБ PNG [1]

Примечание: описанный здесь процесс более-менее совпадает с работой приложения Office Lens. Есть другие аналогичные программы. Я не утверждаю, что придумал нечто радикальное новое — это просто моя реализация полезного инструмента.

Если торопитесь, просто посмотрите репозиторий GitHub или перейдите в раздел результатов, где можно поиграться с интерактивными 3D-диаграммами цветовых кластеров.
Читать дальше →
Total votes 124: ↑124 and ↓0+124
Comments50

Перевод книги «Социальная архитектура»: Торговые марки для open source проектов

Reading time8 min
Views2.8K
imageТорговые марки. Что они такое, нужны ли они вам и сколько это стоит? Эти вопросы часто возникают при построении open source проекта. Торговые марки могут быть ключом, который защитит проект от недобросовестных людей. Хотя тут мало что советовать. Поэтому вот мой гид по использованию торговых марок в проекте open source. Это практический совет, не юридический, ведь я точно не ваш адвокат.

Немного о торговых марках


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

Не важно, какое это дело, криминальное или гражданское, всегда все сводится к убеждению одного или более людей. Если вы когда-нибудь пойдете в суд, имейте это в виду. Факты дела, а каждая из сторон их знает, не важны. Важно лишь то, как эти факты были задокументированы и будут представлены.
Читать дальше →
Total votes 14: ↑14 and ↓0+14
Comments0

Ричард Хэмминг: Глава 1. Ориентация

Reading time18 min
Views24K
«Цель этого курса — подготовить вас к вашему техническому будущему.»

imageПривет, Хабр. Помните офигенную статью «Вы и ваша работа» (+219, 2265 в закладки, 353k прочтений)?

Так вот у Хэмминга (да, да, самоконтролирующиеся и самокорректирующиеся коды Хэмминга) есть целая книга, написанная по мотивам его лекций. Давайте ее переведем, ведь мужик дело говорит.

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

Мы уже перевели 10 (из 30) глав.

Глава 1. Ориентация


(За перевод спасибо Savva Sumin, который откликнулся на мой призыв в «предыдущей главе».) Кто хочет помочь с переводом — пишите в личку или на почту magisterludi2016@yandex.ru

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

Я буду рассматривать, критиковать и демонстрировать различные стили мышления. Для иллюстрации стилевых особенностей я буду использовать технические знания, знакомые большинству из вас, что, опять же, надеюсь, станет для вас полезным повторением основ. Вам следует рассматривать этот курс в качестве дополнения к уже изученным вами техническим курсам. Многим вещам, о которых я буду говорить, не нашлось места в стандартных курсах, однако я глубоко убеждён, что вам необходимо о них знать. Этот курс существует потому, что Отдел Электрической и Компьютерной Разработки Аспирантуры Университета Морской Пехоты осознаёт необходимость общего, широкого образования, наряду со специализированным, технологическим обучением, которого потребует ваше будущее.
Читать дальше →
Total votes 34: ↑34 and ↓0+34
Comments5

Восход разработчикономики

Reading time10 min
Views62K
От переводчика
Почитывая несколько лет назад журнал "Форбс", я наткнулся на статью, которую нашёл крайне интересной. Ну, знаете как бывает — читаешь, читаешь, и на каждом абзаце воскликаешь: «О! Це ж про меня!». Не мог поверить, что я один такой, и никто не сподобится уж если не перевести, то хотя бы сослаться на неё в русскоязычной прессе. Однако за четыре года этого так и не произошло. Ну что ж, «хочешь сделать что-то правильно — сделай это сам», посему предоставляю вниманию почтенной публики первую половину статьи. (Стараюсь переводить художественно, поэтому работа двигается небыстро; размер оригинала — больше 30 килобайт, и, «земную жизнь пройдя до половины», я понял, что держаться нету больше сил.)

P.S. Так и не смог разобраться, как поставить в заголовке тег «перевод».

Восход разработчикономики


Статья Венкатеша Рао опубликована в декабре 2011 года в журнале «Форбс».

В эволюционной биологии существует теория, согласно которой взаимный альтруизм и сотрудничество возникли как решение проблемы хранения еды. Если вам, раннему гоминиду, посчастливилось завалить крупного мамонта, у вас не было ни малейшего шанса умять его целиком до того, как он протухнет. Тогда вы делились едой: лучшим вложением для избыточного капитала было вложение в желудок вашего приятеля. В этом случае вы могли потребовать возврата вклада в тот раз, когда мамонта завалит уже этот самый приятель.
Читать дальше →
Total votes 37: ↑31 and ↓6+25
Comments76

Rayon: параллелизм данных в Rust

Reading time14 min
Views12K
Последние пару недель я работал над обновление Rayon — моей экспериментальной библиотеки для параллелизма данных в Rust.

Я вполне доволен тем, как идёт разработка, так что я решил объяснить к чему я пришёл в блог посте.
Цель Rayon — сделать добавление параллелизма в последовательный код простым, так, чтобы любой цикл for или итератор можно было бы заставить работать в несколько потоков. Например если у вас есть такая цепочка итераторов:

let total_price = stores.iter()
                        .map(|store| store.compute_price(&list))
                        .sum()

то вы можете сделать её работу параллельной просто поменяв обычный «последовательный итератор» на «параллельный итератор» из Rayon:

let total_price = stores.par_iter()
                        .map(|store| store.compute_price(&list))
                        .sum()

Читать дальше →
Total votes 48: ↑48 and ↓0+48
Comments9

Фреймворк для процедурных макросов в Rust

Reading time6 min
Views6.4K

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


Процедурные макросы — одна из наиболее ожидаемых фич Rust. На данный момент процедурные макросы возможно писать только под нестабильную версию компилятора, хотя есть несколько контейнеров, вроде syntex, позволяющие делать ограниченную кодогенерацию в рамках стабильного компилятора. Однако ситуацию это особо не облегчает, поскольку интерфейс к AST остаётся нестабильным, и, хотя авторы syntex стараются идти в ногу с ночными сборками, иногда случаются фейлы из-за изменений в структуре AST.
В этом блог посте один из участников core team — Nick Cameron — поделился своим видением будущего процедурных макросов. Хотя пост полон технических подробностей по внутренностям компилятора, мне показалось, что хабрасообществу может быть интересно заглянуть немного за кулисы разработки Rust.

Фреймворк для процедурных макросов


В этом посте я расскажу, как, по моему мнению, должны выглядеть процедурные макросы. Я уже рассказывал про синтаксис в другом посте, а когда мы опубликуем API для процедурных макросов, то напишу пост и про него. Я уже описывал целый ряд изменений в системе макросов, так что здесь я в чём-то повторюсь (отчасти противореча прошлому посту), но раскрою больше подробностей.
Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments0

Как сжать плоского кота

Reading time9 min
Views40K
Однажды в студеную зимнюю пору… ровно год назад, у нас появилась нетривиальная задача. Есть экран на электронных чернилах, есть процессор 16МГц (да-да, во встраиваемой электронике, особенно сверхнизкого энергопотребления, встречаются и такие) и совсем нет памяти. Ну, т.е. килобайтов 8 RAM и 256 Flash. Килобайтов, Карл. И в эти унылые килобайты необходимо запихнуть несколько изображений 800х600 в четырех оттенках серого. Быстро перемножив в уме 800 на 600 и на 2 бита на пиксель получаем 120 тысяч байтов. Несколько не влезает. Надо сжимать.

Так перед нами появилась задача: «как сжать плоского кота»? Почему кота? Да потому, что на котиках тестировали, на чем же еще черно-белые картинки проверять. Не на долларовых банкнотах же.
Читать дальше →
Total votes 85: ↑80 and ↓5+75
Comments65

Хватит отключать запросы в контекстной рекламе, которые не приносят прибыли

Reading time3 min
Views16K
image

Контекстная реклама — отличный способ привлечения целевого трафика. В отличие от прямого маркетинга, вы ничего не «впариваете». На сайт приходят люди, которые уже ищут ваш товар или услугу. Остается только принимать звонки и заявки. Однако…
Читать дальше →
Total votes 37: ↑25 and ↓12+13
Comments6

Радиоастрон рвет шаблоны

Reading time9 min
Views156K
Сегодня – ровно два года как на орбите находится космический аппарат «Спектр-Р». И сегодня можно уверенно заявлять, что «Радиоастрон» — это самый успешный беспилотный космический проект России XXI века.



После первых наблюдений прошло уже полтора года. Все это время телескоп был занят ранней научной программой. Фактически первые исследования состояли в том, что ученые определяли пределы возможностей «Радиоастрона» и ставили такие научные задачи, которые имели высокую научную важность и вероятность успеха. Эта программа координировалась Астрокосмическим центром (АКЦ) ФИАН, руководитель программы Ю.Ю. Ковалев, выполнялась международными группами ученых при лидирующей роли АКЦ.
Юрий Юрьевич помогал в подготовке этого материала, за что ему большое спасибо.

Что же узнали ученые, за время работы проекта «Радиоастрон»?
Читать дальше →
Total votes 226: ↑223 and ↓3+220
Comments86

Наблюдения и Наука

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

Итак, начнём с древнегреческой науки
Читать дальше →
Total votes 65: ↑53 and ↓12+41
Comments47

Youtube

Reading time1 min
Views223K
Приходится ждать загрузки видео >360p по несколько секунд, обрывы на середине просмотра стало уже обыденным делом и это с достаточно широким каналом.

image

Причина в занижении провайдерами скорости к серверам кеширующим видео, всё что нужно сделать это заблокировать доступ к ним.

Для того чтобы запрос шел мимо cdn серверов ютуба надо заблокировать диапазон ip адресов (в роутере или на компьютере).

173.194.55.0/24 и 206.111.0.0/16
Читать дальше →
Total votes 205: ↑147 and ↓58+89
Comments179

Абстракции в компьютерном покере

Reading time11 min
Views91K
image

Компьютерный покер является весьма нетривиальной задачей в первую очередь из-за громадного количества игровых состояний, которое настолько велико, что мечтать о непосредственном решении этой игры не приходится. Единственным способом хоть как-то научить машину играть в покер является переход к абстракции — уменьшенной копии покера, в которой близкие в стратегическом смысле ситуации исходной игры объединены воедино. Именно вопросам абстракций в покере и посвящена данная заметка.
Читать дальше →
Total votes 103: ↑94 and ↓9+85
Comments22

Mac OS X глазами Windows-юзера

Reading time7 min
Views269K
Т.к. моя работа в последнее время связана с разработкой под iOS, мне периодически приходится пересекаться с Mac OS. В этой статье я расскажу о своих впечатлениях об этой системе глазами человека, который всю свою сознательную жизнь провел за виндами.

Сразу скажу — что Mac OS — это не обязательно Apple. Т.к. есть такие проекты, как «Хакинтош», которые позволяют ставить эту OS на любые компьютеры. Конечно, в этом случае вам понадобится нефиговый бубен (особенно если у вас АМД), но факт остается фактом — это возможно. Правда, не всегда гладко. Например, я ставя хакинтош на свой AMD, два дня сидел в гугле в поисках сначала сборки, потом драйверов и прочих фиксов. Кстати, один критичный баг, когда весь флэш-контент (в т.ч. и видео) периодически фризился в браузере — я не поборол. Но про установку макоси на PC я распространяться не буду — это тема для целого отдельного топика.

Есть у меня опыт и работы с родной Mac OS на Mac Mini (кстати, несмотря на свою дороговизну — эта машинка определенно обладает своим очарованием! особенно когда понимаешь, что эта алюминиевая коробочка чуть больше роутера размером может тягаться с огромным шумным компом 3-летней давности).

Итак, начнем…

Плавность и красота.

Читать дальше →
Total votes 425: ↑258 and ↓167+91
Comments900

Интеллектуальные идеи, которые должен знать каждый

Reading time4 min
Views37K
Перевод статьи Скотта Янга "What are the Intellectual Ideas Everybody Should Know?"

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

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

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

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

С этой позиции я ставлю следующий вопрос: какие интеллектуальные идеи, могущие быть широко применимы в познании мира, усвоены вами?
Читать дальше →
Total votes 80: ↑67 and ↓13+54
Comments34

Космонавты, которые намного круче чем любой герой боевика

Reading time6 min
Views100K
От переводчика: В последнее время на первый план выходит техническая часть космических программ. В сети можно найти большое количество статей, рассказывающих о тех или иных научных достижениях, помогающих нам в освоении космоса. Но не стоит забывать и про космонавтов, отважно бросающих вызов звездам. В этой статье автор рассказывает о пяти случаях, которые заставляют как никогда проникнуться уважением к этим покорителям космоса.

Читать дальше →
Total votes 229: ↑227 and ↓2+225
Comments46

Солнечный коллаж от NASA

Reading time1 min
Views18K
Наука показывает свою красоту: на сайте NASA появился коллаж «добра и света» — 48 фотографий Солнца, снятые с помощью спектральных камер в космических аппаратах-обсерваториях SDO и SOHO. Кадры представляют собой различные температурные слои. Снимки сделаны в различных цветовых спектрах для анализа структуры звезды.

image
В полном размере.
Читать дальше →
Total votes 50: ↑49 and ↓1+48
Comments25

Information

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