Pull to refresh
32
0

Питонист

Send message

Датчик облачности для обсерватории

Reading time15 min
Views9.6K

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

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

(внимание, под катом достаточно много изображений!)
Читать дальше →
Total votes 30: ↑29 and ↓1+28
Comments21

Любительская астрономия: взгляд изнутри сообщества на хобби и грабли новичков

Reading time24 min
Views101K
Извиняюсь, если зря поместила пост в хаб космонавтики: к сожалению, хаба с названием «космос» или подобного не нашла. Так же извиняюсь за некоторое количество саморефлексии в трех следующих абзацах, но саморефлексия необходима, так как пост является критическим по отношению к нескольким ранее опубликованным, и за опечатки, которые наверняка присутствуют в моем посте (но будут исправляться по мере того, как я буду их замечать).

На написание своего поста меня сподвигла серия таких:

А Вы подключали телескоп к компьютеру?
Айтишник на отдыхе: а как насчет телескопа?
Айтишник на отдыхе: добавим немного астрономии?
Айтишник на отдыхе: прибамбасы к телескопу

Спасибо большое авторам, что они популяризируют любительскую астрономию, но при чтении этих постов у меня несколько раз от неудобства и стыда сжимались пальцы на ногах.
Может быть, это не так и важно: В конце концов, Хабрахабр это ресурс ИТ-ков, а любительская астрономия это всего лишь хобби, и каждый занимается хобби так, как ему нравится. А может, нет, и критиковать, поучать, как заниматься хобби можно?

Это пост про грабли, на которые Вы скорее всего наступите, если увлечетесь таким красивым, романтичным, но сложным хобби. Мой пост не является очень популярным, он рассчитан на человека, который уже хоть что-то почитал (например, вышеозначенные посты, которые мне не понравились, хотя авторам я все равно поставила плюс в карму за популяризацию). В посте могут встречаться непонятные термины. Если Вас это напрягает, пожалуйста, не читайте.

Для затравки анекдот.
Приходит в магазин телескопов покупатель, и спрашивает:

— А можно у Вас купить телескоп за три тысячи рублей?
— Ну… можно, но линзы будут пластмассовыми, и лучше не стоит, возьмите вот лучше рефрактор за 6 тысяч. — Продавец показывает рукой на самый популярный среди школьников линзовый телескоп
— Хорошо, а можно купить телескоп за 25 тысяч? — Вопрошает покупатель
— Можно, — Отвечает продавец, показывая рукой на восьмидюймовый ньютон на EQ5 — это очень хороший телескоп для начинающих
— А в него можно увидеть плеяды сквозь облака? — спрашивает покупатель
— К сожалению, нельзя… — Качает головой продавец
— А есть телескоп за 100 тысяч? — Не унимается покупатель
— Да, вот — Продавец показывает на компьютеризированный и навороченный Nexstar 11SE
— А в него можно увидеть туманность Андромеды днём?
— К сожалению, нельзя, — качает головой продавец
— А зачем тогда он такой дорогой нужен?

Так получилось, что любительская астрономия стала моим главным хобби. Мне бы очень хотелось поделиться с хабрасообществом, которое вдруг решится на обретение нового хобби, своим опытом. Может быть, далеко не самым большим, но зато своим. Мой хороший знакомый, которого я считаю лучшим визуальщиком-наблюдателем объектов дальнего космоса Москвы, а может быть и России, считает себя наблюдателем со средним скиллом(сравнивая себя с наблюдателями всего мира), меня начинающей, а все новички, получается, находятся вне классификации. Не знаю, дает ли мне такой опыт право на написание постов на тему любительской астрономии на Хабрахабре? Я раньше считала что нет, не дает, но вышеприведенная серия постов изменила эту точку зрения, и мне очень захотелось написать пост, который бы предостерег начинающих любителей астрономии (не по классификации знакомого наблюдателя), от наступления на грабли, которые могут отбить желание заниматься этим хобби.

«О каких граблях речь? Это же хобби! Им каждый занимается так, как ему нравится!» — Воскликнет скептик, и будет прав:
Например, ИТ-кам нравятся всякие высокотехнологичные жужжащие штуки, ну вот пускай и покупают мелкоскопчик с GoTo системой за ограниченный бюджет. Пусть мелкоскоп после наведения в точку на небе, где находится галактика «Игла» NGC 4565, такая красивая на фотографиях, со своими газопылевыми облаками не покажет ничего ни через окно кухни квартиры в центре Москвы, ни даже с застекленной и тёплой веранды дачи :) Главное, что мелкоскопчик жжужит, мигает красивыми красными огнями на пульте, и владелец оборудования доволен новым гаджетом и приощением к небу, сидя в тепле и комфорте, не так ли?

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

Читать дальше →
Total votes 100: ↑90 and ↓10+80
Comments226

Вопросы для собеседования бэкенд-разработчика

Reading time16 min
Views191K
Этот список появился как личная памятка по темам, которые я обсуждал с коллегами и друзьями и в которых хотел разобраться поглубже…

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

В этом репозитории собран ряд вопросов, связанных с серверной частью, которые можно использовать при проверке потенциальных кандидатов. Ни в коем случае не рекомендуется задавать все вопросы одному кандидату: это займет несколько часов и вообще не имеет смысла, потому что они охватывают слишком широкий спектр тем. Никто не может знать всего. Выберите наиболее актуальный раздел и самые интересные вопросы, чтобы развернуть беседу.
Читать дальше →
Total votes 83: ↑61 and ↓22+39
Comments274

Flightradar24 — как это работает?

Reading time4 min
Views121K
Наверное каждый, кто хоть раз встречал или провожал родственников или друзей на самолет, пользовался бесплатным сервисом Flightradar24. Это весьма удобный способ отслеживания положения самолета в реальном времени.



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

Восполним этот пробел. О том, как это работает продолжим под катом.
Читать дальше →
Total votes 130: ↑129 and ↓1+128
Comments190

За пять дней я прошел собеседования в пяти компаниях Силиконовой долины и получил пять предложений о работе

Reading time12 min
Views118K
За пять дней, с 24 по 28 июля 2017 года, я прошел собеседования в LinkedIn, Salesforce Einstein, Google, Airbnb и Facebook; все пять компаний предложили мне работу. Это был замечательный опыт и я понимаю, как мне повезло, что мои усилия оправдали себя, поэтому решил написать об этом. Здесь я расскажу о том, как готовился к собеседованиям, как они проходили и какое впечатление произвели на меня компании.



Как все началось


Я отработал в Groupon почти три года. Это моя первая работа, там были и прекрасные люди, и отличные проекты. Мы делали всякие интересные штуки, вводили перемены внутри компании, публиковали материалы и все в таком духе. Но со временем я стал ощущать, что темп моего самообразования стал затухать (попросту говоря, замедляться), мне не хватало пищи для ума. К тому же, как и всякого разработчика ПО из Чикаго, меня тянуло в Область залива Сан-Франциско — ведь там столько известных компаний.

Жизнь коротка, а профессиональная жизнь еще короче. Обговорив все с женой и заручившись ее полной поддержкой, я решил сделать решительный шаг и в первый раз в жизни поменять работу.
Читать дальше →
Total votes 95: ↑88 and ↓7+81
Comments98

«Гибкая разработка»: кратко о методологиях Agile

Reading time6 min
Views48K
Разработка программного обеспечения — это труд, который требует своевременного принятия правильных решений. CTO, архитекторы, тимлиды и сами разработчики регулярно делают выбор в пользу тех или иных инструментов, платформ и фреймворков.

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

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

Поэтому мы решили начать серию постов о «гибких» методологиях, чтобы еще раз рассмотреть их особенности, сравнить варианты и помочь вашим компаниям оптимизировать процессы. Сегодня мы говорим о Scrum, канбан и экстремальном программировании.

Читать дальше →
Total votes 23: ↑19 and ↓4+15
Comments9

Краткий курс машинного обучения или как создать нейронную сеть для решения скоринг задачи

Reading time28 min
Views214K
image

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

Если тебе интересно машинное обучение, то приглашаю в «Мишин Лернинг» — мой субъективный телеграм-канал об искусстве глубокого обучения, нейронных сетях и новостях из мира искусственного интеллекта.

Вопросы, которые разобраны в статье:

• Как собрать и подготовить данные для построения модели?
• Что такое нейронная сеть и как она устроена?
• Как написать свою нейронную сеть с нуля?
• Как правильно обучить нейронную сеть на имеющихся данных?
• Как интерпретировать модель и ее результаты?
• Как корректно оценить качество модели?
Поехали!
Total votes 51: ↑42 and ↓9+33
Comments43

Взлом компьютера за 3 секунды. Делаем USB-уточку с нуля на Arduino

Reading time5 min
Views177K
Начнём с традиционного «Этот материал представлен только в образовательных целях». Если вы используете эту информацию для взлома HBO и выпуска следующего сезона «Игры престолов» бесплатно на YouTube, ну… здорово. В том смысле, что я никак не поощряю подобное поведение.

Если не знаете, что такое «резиновая уточка» (USB Rubber Ducky), это устройство, которое сделал Hak5, на фото. Оно выглядит и ведёт себя как обычная флешка, но её можно запрограммировать на очень быстрый ввод клавиш с клавиатуры. «Уточка» способна взломать любую систему за несколько секунд. Единственный недостаток — вам понадобится физический доступ к компьютеру. И ещё она стоит $50, вот почему я написал эту статью.

Мы используем 5V Adafruit Trinket и кабель microUSB — вот и всё, что нам понадобится.
Читать дальше →
Total votes 61: ↑55 and ↓6+49
Comments84

«Используй Силу машинного обучения, Люк!» или автоматическая классификация светильников по КСС

Reading time15 min
Views5.7K
«Сила машинного обучения среди нас, методы её окружают нас и связывают. Сила вокруг меня, везде, между мной, тобой, решающим деревом, лассо, гребнем и вектором опорным»
Так бы, наверное, мне сказал Йода если бы он учил меня пути Data Science.

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

В прошлых двух статьях мы решали задачу классификации источников света по их спектру (на Python и C# соответственно). В этот раз попробуем решить задачу классификации светильников по их кривой силе света (по тому пятну которым они светят на пол).

Если вы уже постигли путь силы, то можно сразу скачать dataset на Github и поиграться с этой задачей самостоятельно. А вот всех, как и я новичков прошу подкат.

Благо задачка в этот раз совсем несложная и много времени не займет.

Читать дальше →
Total votes 7: ↑6 and ↓1+5
Comments5

Простенькая первичная авторизация с помощью iptables

Reading time1 min
Views11K


Очень простой способ прикрыть от посторонних сканеров и брутфорсеров важные сетевые порты такие как:

  • SSH
  • RDP
  • ...

Например, я сталкивался с тем, что брутфорсеры постоянно блокировали учетки в домене windows, долбясь по RDP и передавая пары логин/пароль валидных пользователей. Разумеется, DC блокирует такие учетки, пресекая брутфорс.
Читать дальше →
Total votes 16: ↑9 and ↓7+2
Comments32

Про жиры с точки зрения химика

Reading time18 min
Views117K
КДПВ Витязь на распутье


Приветствую всех! Статью про взгляд на проблему жиров с моей, химической точки зрения я обещал написать уже давно, да больно уж вопрос непонятен. Однако, попробуем разобраться. Хотя на эту тему существует громадное количество публикаций — ясности они не приносят — так как часто противоречат и друг другу и здравому смыслу. Так что, собравшись с духом, решил рыться в материалах до момента понимания. Вас же приглашаю ознакомиться с моими изысканиями. Нам придётся копать несколько глубже обычного, постараемся разобраться с этим вопросом «с точки зрения банальной эрудиции»… в смысле — логики. На вход — факты, только факты. Причём, моя цель просто выяснить для себя этот вопрос, каких-либо других целей не имею. Меня интересует — какие жиры более полезны, какие вредны, сколько их употреблять и каких, на чём жарить, как сохраняются, разъяснить странности с маргариновыми транс-жирами(для меня объяснения изготовителей выглядят туманными и неполными). Всё это в рамках официальных рекомендаций ВОЗ и российских уполномоченных органов — то есть никакой конспирологии. Если Вам это интересно — прошу под кат.
Читать дальше →
Total votes 63: ↑61 and ↓2+59
Comments242

Знай сложности алгоритмов

Reading time2 min
Views1M
Эта статья рассказывает о времени выполнения и о расходе памяти большинства алгоритмов используемых в информатике. В прошлом, когда я готовился к прохождению собеседования я потратил много времени исследуя интернет для поиска информации о лучшем, среднем и худшем случае работы алгоритмов поиска и сортировки, чтобы заданный вопрос на собеседовании не поставил меня в тупик. За последние несколько лет я проходил интервью в нескольких стартапах из Силиконовой долины, а также в некоторых крупных компаниях таких как Yahoo, eBay, LinkedIn и Google и каждый раз, когда я готовился к интервью, я подумал: «Почему никто не создал хорошую шпаргалку по асимптотической сложности алгоритмов? ». Чтобы сохранить ваше время я создал такую шпаргалку. Наслаждайтесь!
Читать дальше →
Total votes 312: ↑296 and ↓16+280
Comments99

О том, как в Instagram отключили сборщик мусора Python и начали жить

Reading time8 min
Views45K
Отключив сборщик мусора Python (GC), который освобождает память, отслеживая и удаляя неиспользуемые данные, Instagram стал работать на 10% быстрее. Да-да, вы не ослышались! Отключив сборщик мусора, можно сократить объем потребляемой памяти и повысить эффективность работы кэша процессора. Хотите узнать, почему так происходит? Тогда пристегните ремни!

Читать дальше →
Total votes 70: ↑68 and ↓2+66
Comments29

Спортивный анализ данных, или как стать специалистом по data science

Reading time17 min
Views61K
Меня зовут Пётр Ромов, я — data scientist в Yandex Data Factory. В этом посте я предложу сравнительно простой и надежный способ начать карьеру аналитика данных.

Многие из вас наверняка знают или хотя бы слышали про Kaggle. Для тех, кто не слышал: Kaggle — это площадка, на которой компании проводят конкурсы по созданию прогнозирующих моделей. Её популярность столь велика, что часто под «кэглами» специалисты понимают сами конкурсы. Победитель каждого соревнования определяется автоматически — по метрике, которую назначил организатор. Среди прочих, Kaggle в разное время опробовали Facebook, Microsoft и нынешний владелец площадки — Google. Яндекс тоже несколько раз отметился. Как правило, Kaggle-сообществу дают решать задачи, довольно близкие к реальным: это, с одной стороны, делает конкурс интересным, а с другой — продвигает компанию как работодателя с солидными задачами. Впрочем, если вам скажут, что компания-организатор конкурса задействовала в своём сервисе алгоритм одного из победителей, — не верьте. Обычно решения из топа слишком сложны и недостаточно производительны, а погони за тысячными долями значения метрики не настолько и нужны на практике. Поэтому организаторов больше интересуют подходы и идейная часть алгоритмов.



Kaggle — не единственная площадка с соревнованиями по анализу данных. Существуют и другие: DrivenData, DataScience.net, CodaLab. Кроме того, конкурсы проводятся в рамках научных конференций, связанных с машинным обучением: SIGKDD, RecSys, CIKM.

Для успешного решения нужно, с одной стороны, изучить теорию, а с другой — начать практиковать использование различных подходов и моделей. Другими словами, участие в «кэглах» вполне способно сделать из вас аналитика данных. Вопрос — как научиться в них участвовать?
Хардкор
Total votes 71: ↑66 and ↓5+61
Comments13

Открытый курс машинного обучения. Тема 10. Градиентный бустинг

Reading time18 min
Views300K

Всем привет! Настало время пополнить наш с вами алгоритмический арсенал.


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


UPD 01.2022: С февраля 2022 г. ML-курс ODS на русском возрождается под руководством Петра Ермакова couatl. Для русскоязычной аудитории это предпочтительный вариант (c этими статьями на Хабре – в подкрепление), англоговорящим рекомендуется mlcourse.ai в режиме самостоятельного прохождения.


Видеозапись лекции по мотивам этой статьи в рамках второго запуска открытого курса (сентябрь-ноябрь 2017).

Читать дальше →
Total votes 64: ↑63 and ↓1+62
Comments17

Вводная по сложным запросам в SQLAlchemy

Reading time7 min
Views91K

Во время посещения PyConRu 2014 я, с удивлением, узнал, что достаточно большая аудитория python-разработчиков не использует SQLAlchemy в качестве основного инструмента для работы с базой данных. Порассуждав на данную тему после Light Talks с коллегами было принято решение — во чтобы то ни стало написать статью о том, что же можно делать со всей мощью SQLAlchemy.


Обычно в написании сайтов не требуется чего-нибудь этакого от штатного ORM. А если и требуется, то хватает замены на нештатный или прочтения основной части документации. И, как правило, голову ломать над сложными запросами не приходится. Достаточно много различных ORM предлагают классические схемы One-2-Many, One-2-One, Many-2-Many, и т.д. Для обычных запросов и связей этого вполне достаточно. К сожалению, в больших проектах не обходится без частных случаев и программисты при сложных запросах пишут либо raw sql, либо полагаются на то, что им предлагает базовый функционал ORM. Это выглядит не совсем красиво или создает достаточно большую нагрузку на базу данных.

Понятно, что в погоне за скоростью выполнения сценариев, можно пожертвовать красотой кода, но что если скоростью можно пренебречь, а вот кроссплатформенностью — нет? Да и не хочется в python коде видеть что-то кроме python кода. А что если хочется на полную катушку использовать любимый ORM (для меня SQLAlchemy) и не писать raw sql запросы?
Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments10

RMarkdown, R и ggplot

Reading time9 min
Views19K

RMarkdown, R и ggplot


Данная статья не является ни документацией, ни рассказывает что-то принципиально новое, её стоит рассматривать как обзорную или как шпаргалку.


Преамбула


Конференция это прежде всего доклады, и далеко не последнее место занимает то, как оформлены слайды доклада.


Безусловно, есть докладчики, которые могут не смотря ни на что, провести доклад даже без единого слайда, но всё же они как правило хорошо дополняют повествование. Одним достаточно накидать мемасиков в доклад и дело готово, другим обязательно надо вставить код, причём на ассемблере (кто не в курсе ещё — JPoint — это конференция по java), и есть ещё те, кому надо показать графики. Впрочем, встречается и их комбинация.


Пожалуй известные средства для создания слайдов это:


  • PowerPoint, и вариации в лице LibreOffice Impress, Apple KeyNote
  • облачные вариации с тем же подходом — Google Slides
  • LaTeX
  • и относительно новый (для меня) RMarkdown

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

Bash-скрипты, часть 9: регулярные выражения

Reading time15 min
Views276K
Bash-скрипты: начало
Bash-скрипты, часть 2: циклы
Bash-скрипты, часть 3: параметры и ключи командной строки
Bash-скрипты, часть 4: ввод и вывод
Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
Bash-скрипты, часть 6: функции и разработка библиотек
Bash-скрипты, часть 7: sed и обработка текстов
Bash-скрипты, часть 8: язык обработки данных awk
Bash-скрипты, часть 9: регулярные выражения
Bash-скрипты, часть 10: практические примеры
Bash-скрипты, часть 11: expect и автоматизация интерактивных утилит

Для того, чтобы полноценно обрабатывать тексты в bash-скриптах с помощью sed и awk, просто необходимо разобраться с регулярными выражениями. Реализации этого полезнейшего инструмента можно найти буквально повсюду, и хотя устроены все регулярные выражения схожим образом, основаны на одних и тех же идеях, в разных средах работа с ними имеет определённые особенности. Тут мы поговорим о регулярных выражениях, которые подходят для использования в сценариях командной строки Linux.



Этот материал задуман как введение в регулярные выражения, рассчитанное на тех, кто может совершенно не знать о том, что это такое. Поэтому начнём с самого начала.
Читать дальше →
Total votes 27: ↑24 and ↓3+21
Comments45

Открываем доступ к видеозаписям HighLoad++ за последние пять лет

Reading time1 min
Views28K
image

Мы выложили в открытый доступ видеозаписи последних пяти лет конференции разработчиков высоконагруженных систем HighLoad++. Смотрите, изучайте, делитесь и подписывайтесь на канал YouTube.

Более терабайта записей и 500 видеороликов! Это всё, под катом только реклама :)

Перейти в канал YouTube!

Читать дальше →
Total votes 115: ↑110 and ↓5+105
Comments19

Bash-скрипты, часть 6: функции и разработка библиотек

Reading time9 min
Views256K
Bash-скрипты: начало
Bash-скрипты, часть 2: циклы
Bash-скрипты, часть 3: параметры и ключи командной строки
Bash-скрипты, часть 4: ввод и вывод
Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
Bash-скрипты, часть 6: функции и разработка библиотек
Bash-скрипты, часть 7: sed и обработка текстов
Bash-скрипты, часть 8: язык обработки данных awk
Bash-скрипты, часть 9: регулярные выражения
Bash-скрипты, часть 10: практические примеры
Bash-скрипты, часть 11: expect и автоматизация интерактивных утилит

Занимаясь разработкой bash-скриптов, вы рано или поздно столкнётесь с тем, что вам периодически приходится использовать одни и те же фрагменты кода. Постоянно набирать их вручную скучно, а копирование и вставка — не наш метод. Как быть? Хорошо бы найти средство, которое позволяет один раз написать блок кода и, когда он понадобится снова, просто сослаться на него в скрипте.



Оболочка bash предоставляет такую возможность, позволяя создавать функции. Функции bash — это именованные блоки кода, которые можно повторно использовать в скриптах.
Читать дальше →
Total votes 50: ↑47 and ↓3+44
Comments33

Information

Rating
Does not participate
Registered
Activity