Pull to refresh
-1
0
Send message

Team Leader. Быть или не быть, вот в чем вопрос

Reading time6 min
Views24K

image


Данную статью меня побудил написать тот скрытый и для каждого свой смысл должности/роли Team Leader. Многие хотят им стать, многим интересно что там, "под капотом", работы в этой должности. Поэтому кому интересно узнать еще одно мнение об этом всем безобразии, то прошу под кат.

Читать дальше →
Total votes 52: ↑43 and ↓9+34
Comments53

«Роскосмос» готов отдать российскую часть МКС под частный космодром с ядерными буксирами

Reading time3 min
Views25K

В 2017 году весь бюджет подпрограммы «Приоритетные инновационные проекты ракетно-космической промышленности» 2,2 млрд руб. был расписан на единственный проект — «Создание транспортно-энергетического модуля на основе ядерной энергодвигательной установки мегаваттного класса». Этот проект «Роскосмос» реализует совместно с «Росатомом»

Неделю назад генеральный директор компании «S7 космические транспортные системы» высказал идею создания частного орбитального космодрома на базе МКС. По его мнению, это логичное развитие ситуации после того, как из проекта выйдет NASA и американский сегмент приватизируют после 2024 года. Получив МКС в концессию, российская фирма рассчитывает стать первым в мире космическим перевозчиком, в распоряжении которого имеются:

  • Дешёвый и надёжный носитель с запусками с экватора по программе «Морской старт», а также с Байконура по программе «Наземный старт».
  • Инфраструктура на низкой околоземной орбите в виде МКС.
  • Транспортные средства для межорбитальных и межпланетных перевозок с ядерной энергодвигательной установкой (ЯЭРДУ) мегаваттного класса.

«Роскосмос» с готовностью принял такой вариант к рассмотрению — и теперь ждёт официального письменного обращения частной компании, пишут «Известия». Представители госкорпорации подчеркнули, что идея в целом «соответствует видению госкорпорации о перспективах исследования космического пространства в ближайшем будущем».
Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments74

Горе от ума, или Почему отличники пишут непонятный код

Reading time6 min
Views67K
У большинства из нас были отличные оценки по математике в школе и в универе. Помните, как мы решали примеры? Скажем, нужно взять производную от функции:

$f(x) = \frac{\ln{x}}{x^2}$


Мы задумывались на несколько секунд и записывали готовый результат:

$f'(x) = \frac{1-2ln{x}}{x^3}$


Ученики послабее записывали решение по шагам и тратили существенно больше времени:

$f'(x) = \left(\frac{ln{x}}{ x^2}\right)' = \frac{(ln{x})' \cdot x^2 - ln{x} \cdot (x^2)'}{(x^2)^2} =\\ \frac{\frac{1}{x} \cdot x^2 - ln{x} \cdot 2 x}{x^4} = \frac{x - ln{x} \cdot 2 x}{x^4} = \\ \frac{x \cdot (1 - ln{x} \cdot 2)}{x^4} = \frac{1 - 2 ln x}{x^3} $


Нам, отличникам, всё это ни к чему. Зачем писать столько ненужных промежуточных действий, когда можно сразу готовый ответ? Мы же хотим поскорее разделаться с этим примером, чтобы перейти к следующему!
Читать дальше →
Total votes 122: ↑95 and ↓27+68
Comments529

Научиться программировать становится сложнее

Reading time5 min
Views56K
Привет, Хабр! Представляю вашему вниманию перевод статьи Аллена Б. Дауни, автора таких книг как Think Python, Think Java, Think Bayes и других, опубликованной в личном блоге автора.

Я написал несколько книг, в которых c использованием языка программирования Python объясняются темы вроде Байесовской статистики и цифровой обработки сигналов. В дополнение к книгам читатели могут загрузить код с GitHub. Для того, чтобы использовать этот код, нужно знать некоторые основы Python. То есть, у читателей должен быть компьютер, на котором установлен интерпретатор этого языка и необходимые библиотеки, они должны знать, как загрузить код с GitHub, а еще они должны знать, как запустить код, который они загрузили.

Пытаясь проделать все это, многие читатели начинают испытывать трудности.

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

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

Позвольте объяснить мое понимание проблемы и предложить несколько решений (или как минимум, обходных путей).
Читать дальше →
Total votes 49: ↑33 and ↓16+17
Comments250

Как «ошибка выжившего» мешает делать выводы в контент-маркетинге и smm

Reading time3 min
Views14K
image

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

На самом деле дельфины просто любят толкать предметы носом, и никому не известно, как много утопающих они затолкали еще глубже в океан, а не к берегу. Мы знаем только примеры чудесного спасения, потому что жертвы дельфинов нам уже ничего не расскажут.
Читать дальше →
Total votes 28: ↑22 and ↓6+16
Comments9

Нормализация отношений. Шесть нормальных форм

Reading time8 min
Views1.4M
В данной теме я затрону 6 нормальных форм и методы приведения таблиц в эти формы.

Процесс проектирования БД с использование метода НФ является итерационным и заключается в последовательном переводе отношения из 1НФ в НФ более высокого порядка по определенным правилам. Каждая следующая НФ ограничивается определенным типом функциональных зависимостей и устранением соответствующих аномалий при выполнении операций над отношениями БД, а также сохранении свойств предшествующих НФ.
Читать дальше →
Total votes 37: ↑22 and ↓15+7
Comments14

Кто убил джуниора?

Reading time4 min
Views42K
Джуниоров много, вакансий не хватает



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

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

Но почему так происходит?
Читать дальше →
Total votes 52: ↑43 and ↓9+34
Comments428

Actions on Google: начните разрабатывать приложения для Google Ассистента, который скоро запустится в России

Reading time2 min
Views27K


Привет, Хабр! В ближайшие месяцы в России появится Google Ассистент, чтобы сделать ваше общение с поисковиком более естественным и похожим на настоящий диалог. Ассистент поможет находить голосом необходимую информацию — будь то погода, загруженность дорог по пути на работу, данные о любимых актерах и многое другое. А еще он позволит юзерам взаимодействовать с приложениями — благодаря Actions on Google.


С помощью Actions on Google вы сможете разрабатывать свои приложения (экшены) для Ассистента и — таким образом — расширять его функционал и, следовательно, сделать его еще полезнее для пользователей. И начать делать это стоит уже сегодня, так как Google Ассистент появится в России совсем скоро. Как только сервис станет доступным, пользователи смогут взаимодействовать с вашими приложениями путем диалога — ровно так же, как и в других ситуациях, где можно использовать Ассистент, например, при поиске Информации в интернете.

Читать дальше →
Total votes 24: ↑22 and ↓2+20
Comments48

Пара способов отправить уведомления на смартфон со своего сервера

Reading time9 min
Views88K
В этом туториале я рассмотрю пошагово, как отправлять со своего сервера уведомления на свой (или не свой) смартфон, какие средства для этого понадобятся. Эти способы универсальны и подойдут для любого языка программирования, т.к. напрямую используют API гугла, без использования библиотек. Отправить можно на смартфоны с Android, iOS и в браузеры с поддержкой Push API (на сегодня это Chrome, Firefox и их производные).

В общем всем тем, кто давно хотел отправлять уведомления со своего домашнего сервера на свой смартфон, но не знал с чего начать, посвящается.
Хочу отправлять свои уведомления!
Total votes 49: ↑43 and ↓6+37
Comments81

Атрибуция с использованием цепи Маркова

Reading time6 min
Views16K

Бизнес задача


Один из наших клиентов активно использовал маркетинговые каналы трафика для продвижения своих услуг и товаров. Через какое-то время данные по всем маркетинговым каналам выгрузили в хранилище BigQuery, и решили, что пришло время сделать с ними что-нибудь интересное. Например, расширять и модифицировать свои аналитические модули для оптимизации маркетинговых расходов. В частности, реализовать возможность использовать более сложную атрибуцию каналов с помощью цепочек Маркова, которой не было Google Analytics на тот момент, а возможно и сейчас нет.


Мы рассказывали в своем блоге о некоторых общих проблемах атрибуции рекламных каналов. Здесь же речь пойдет исключительно об использовании цепочек Маркова.


Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments0

Оптимизация стадии инициализации Django

Reading time4 min
Views11K

Если у вас Django проект работает на синхронных воркерах и вы периодически их перезапускаете (например, в gunicorn это опция --max-requests), полезно было бы знать, что по-умолчанию после каждого перезапуска воркера, первый запрос к нему обрабатывается гораздо дольше, чем последующие.


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

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

Лекции Техносферы. Нейронные сети в машинном обучении

Reading time3 min
Views32K


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

Total votes 55: ↑54 and ↓1+53
Comments6

Чему я научился, написав чат-бота за 2 часа

Reading time6 min
Views13K

Новая парадигма уже на пороге — или нет?




Согласно исследованию компании Flurry, житель США в среднем проводит за смартфоном около пяти часов в день. Эта цифра удивительна сама по себе, но, кроме того, около 65% этого времени идет на разного рода общение — социальные сети, текстовые сообщения, электронную почту и телефонные звонки. То есть, 3 часа 15 минут — каждый день.

А это значит, что все очень и очень изменилось. Хотели сделать мобильное приложение для своего крутого проекта? Ему придется конкурировать с миллионами других приложений за оставшиеся 35% времени, ежедневно уделяемого пользователями смартфону. И не забывайте сопутствующие затраты на поиски стоящей идеи.

Если не делать приложение, то какие остаются варианты? Нужно как-то строить бизнес, верно? Большинство специалистов полагают, что следующий шаг развития технологий — это чат-боты, живущие в приложениях: они расширяют функциональность более крупных платформ, таких как Facebook или Telegram, и пользователю не нужно ставить на телефон еще одно приложение. Получается взаимная выгода — если не считать разработчика, наверное. Мои сомнения насчет новомодной технологии можно было обобщить двумя пунктами:

  • Написание бота бесполезно с точки зрения бизнеса.
  • Написание ботов — невероятно сложная техническая задача.

Чтобы разобраться в этом вопросе, пришлось кое-что изучить. Около месяца я просто читал литературу по теме, беседовал со специалистами, игрался с инструментарием и не решался взяться за дело — но в конце концов написал работающего бота примерно за 2 часа. Все это было для того, чтобы понять, имеют ли мои сомнения под собой почву, — ну и ради удовольствия, конечно.

Переведено в Alconost
Читать дальше →
Total votes 15: ↑7 and ↓8-1
Comments4

Что должен знать о поиске каждый разработчик

Reading time18 min
Views25K

Хотите внедрить или доработать функцию поиска? Вам сюда.



Спросите разработчика: «Как бы вы реализовали функцию поиска в своем продукте?» или «Как создать поисковую систему?». Вероятно, в ответ вы услышите что-нибудь такое: «Ну, мы просто запустим кластер Elasticsearch: с поиском сегодня всё просто».

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

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

Цель статьи


Этот текст можно считать собранием ценных идей и ресурсов, которые могут помочь в создании функции поиска. Статья, безусловно, не претендует на исчерпывающую полноту, однако я надеюсь, что ваши отзывы помогут ее доработать (оставляйте замечания в комментариях или свяжитесь со мной).

Основываясь на опыте работы с универсальными решениями и узкоспециализированными проектами самого разного масштаба (в компаниях Google, Airbnb и нескольких стартапах), я расскажу о некоторых популярных подходах, алгоритмах, методах и инструментах.

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

Переведено в Alconost
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments0

Почему SQL одерживает верх над NoSQL, и к чему это приведет в будущем

Reading time10 min
Views40K

SQL пробуждается и наносит ответный удар силам тьмы — NoSQL

С самого начала компьютерной эры человечество собирает экспоненциально растущие объемы данных, и вместе с этим растут требования к системам хранения, обработки и анализа данных. Из-за этого в последнее десятилетие разработчики ПО отказались от SQL как от устаревшей технологии, которая не могла масштабироваться вместе с растущими объемами данных — и в результате появились базы данных NoSQL: MapReduce и Bigtable, Cassandra, MongoDB и другие.

Однако сейчас SQL возрождается. Все основные поставщики облачных услуг предлагают популярные управляемые сервисы реляционных баз данных: Amazon RDS, Google Cloud SQL, база данных Azure для PostgreSQL (запущена буквально в этом году) и другие. Если верить компании Amazon, ее совместимая с PostgreSQL и MySQL база данных Aurora стала «самым быстрорастущим сервисом в истории AWS». Не теряют популярности и SQL-интерфейсы поверх платформ Hadoop и Spark. А в прошлом месяце поддержку SQL запустила и Kafka. Авторы статьи скромно признаются, что и сами разрабатывают новую базу данных временных рядов, которая полностью поддерживает SQL.

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

Переведено в Alconost

Часть 1. Новая надежда

Читать дальше →
Total votes 52: ↑37 and ↓15+22
Comments105

Почему Agile иногда не работает

Reading time4 min
Views16K

Пару лет назад я заходил к родственнику. Моему бедному кузену (а он генеральный директор страховой компании) продали «серебряную пулю Agile» — но она не сработала, и его это очень расстроило:
Чушь всё это! Мы начали делать всё совершенно иначе. Мы пригласили консультантов. Мы наняли специальных руководителей проектов. Не сработало! Ничего не изменилось. Никто ни за что не отвечает. Я слышу только оправдания.
Не помню, что я ответил тогда, но знаю, как ответил бы сегодня. Я бы набросал несколько рисунков, словом не упомянув Agile. Пришлось бы объяснить кузену несколько основных понятий…

Переведено в Alconost

1. КПД процесса

Читать дальше →
Total votes 13: ↑9 and ↓4+5
Comments12

Как правильно чистить лук, или Почему разработка ПО выходит из-под контроля

Reading time10 min
Views29K


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

Складывается ощущение, что проект зажил собственной жизнью и пытается сожрать вас.



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

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

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

Это предположение — неверно.

Проект — это не лист бумаги, не двумерный объект — у него есть глубина.

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

Переведено в Alconost
Читать дальше →
Total votes 42: ↑38 and ↓4+34
Comments35

Интеллектуальные чат-боты на ChatScript: основы

Reading time11 min
Views11K
Чат-боты, поддерживающие общение с человеком на естественном языке, весьма популярны и востребованы. Сегодня мы хотим поделиться с вами первой частью перевода материала о разработке чат-ботов с помощью ChatScript (CS), написанного сотрудником WebbyLab на основе опыта, приобретённого им в ходе работы над одним из недавних проектов компании. Здесь, в частности, речь пойдёт об основах работы с CS, рассмотренных с точки зрения программиста-практика. ChatScript хорош тем, что на нём можно сравнительно просто разрабатывать масштабные системы с возможностями искусственного интеллекта, и тем, что его несложно интегрировать в проекты, написанные на JavaScript.

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

Найдена уязвимость во всех версиях Windows, которую не закрывает ни один антивирус

Reading time2 min
Views85K
Портал The Hacker News сообщает об обнаружении уязвимости в загрузчике Windows, которая позволяет запускать исполняемый код так, что он не определяется антивирусными программами, при этом эксплоит не оставляет следов в файловой системе.


Читать дальше →
Total votes 102: ↑92 and ↓10+82
Comments129

Information

Rating
Does not participate
Date of birth
Registered
Activity