Pull to refresh
0
0
Сергей Бурмистров @Raphael

User

Send message

Python для начинающих: как повелевать Web’ом

Reading time8 min
Views19K
Путешествие в простую веб-автоматизацию

image

Проблема: Отправка домашних заданий требует навигации по лабиринту веб-страниц, настолько сложной, что несколько раз я отправлял задание в неправильное место. Кроме того, хоть и этот процесс занимает всего 1–2 минуты, иногда он кажется непреодолимым препятствием (например, когда я закончил задание слишком поздно ночью и едва могу вспомнить свой пароль).

Решение: Используйте Python для автоматической отправки выполненных заданий! В идеале я мог бы сохранить задание, набрать несколько клавиш и загрузить свою работу за считанные секунды. Сначала это звучало слишком хорошо, чтобы быть правдой, но потом я обнаружил Selenium, инструмент, который можно использовать с Python для навигации по сети.
Читать дальше →
Total votes 12: ↑8 and ↓4+4
Comments1

Ошибки при работе с датой и временем в SQL Server

Reading time24 min
Views80K

Перевод статьи подготовлен специально для студентов курса "MS SQL Server разработчик".





Содержание


Читать дальше →
Total votes 24: ↑23 and ↓1+22
Comments9

Как я избавился от тысячи вкладок…

Reading time7 min
Views71K
… и опоздал на 3 года. В идеале должно быть так: пользователь запускает браузер, и браузер показывает то, что нужно пользователю. Но пока такого не реализовали приходится пользоваться поисковыми системами. В идеале должно быть так: пользователь открывает поисковую систему, вводит поисковый запрос, и она показывает то, что нужно пользователю. Но пока кнопка «I feel lucky» не так хорошо работает (хотя в последнее время ощутимо движение в этом направлении), приходится иногда переходить по нескольким адресам со страницы поисковой выдачи.

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

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

Мне всегда нужна была кнопка «Нашел», которая бы подчищала за мной последствия поиска (назовём её «I was lucky»). После того, как окунулся в мир расширений для браузеров, я подумал, что это то, что может помочь в данном случае. Так смутно начало появляться желание написать расширение, которое бы решало мои задачи.

Расскажу вам свою историю, рассказ буду вести в хронологическом порядке, выводы могут оказаться неожиданные.
Читать дальше →
Total votes 27: ↑25 and ↓2+23
Comments97

Как оценить уровень владения английским языком

Reading time4 min
Views124K


На Хабре много статей о том, как самостоятельно изучать английский язык. Но вот вопрос, а как оценить свой уровень при самостоятельном изучении? Понятно, что есть IELTS и TOEFL, но эти тесты почти никто не сдает без дополнительной подготовки и эти тесты, как говорят, оценивают не сколько уровень владения языком, а скорее умение проходить эти самые тесты. Да и использовать их для контроля самообучения будет накладно.

В этой статье я собрал различные тесты, которые проходил сам. При этом я сверяю свою субъективную оценку владения языком с результатами тестов. А также сравниваю результаты между разными тестами.
Читать дальше →
Total votes 99: ↑95 and ↓4+91
Comments62

Давайте поговорим. О тлене и депрессии

Reading time10 min
Views38K
«Мужчина приходит к врачу. Жалуется на депрессию, говорит, жизнь груба и жестока, что он чувствует себя одиноким в угрожающем мире. Врач предлагает простой рецепт: «Великий клоун Пальячи сегодня в городе, сходите, это вас подбодрит». Мужчина взрывается слезами. «Но доктор», — говорит он — «Я и есть Пальячи»

Недавно, после статьи про "Гаджеты для сна", где в результате опроса выяснилось что у более 50% опрошенных «все хреново с эмоциями и стрессом», я написал одному хорошему человеку с запросом: «пришли мне, пожалуйста, три самых полезных статьи про депрессию». Он мне ответил: «Я на антидепрессантах, изучаю вопрос изнутри».

Возможно это сезонное аффективное расстройство (SAD), а возможно, это объективно пришел полярный зверек. «Тьма, пришедшая со Средиземного моря, накрыла ненавидимый прокуратором город». В этом году я понял, что и я качусь под откос. Когда перестали радовать «Рик и Морти», «Кремниевая долина», «Доктор Хаус», большой лохматый пёс и три кота.

Но патроны еще есть — я с радостью жду утренний кофе, вечернее рубилово с мужиками в хоккей, плюсики на Хабре и годные комментарии. И «Дюну 2020» очень жду.

Я бы хотел «поговорить» и, как минимум, собрать корпус публикаций, которые могут быть полезны для исследования вопроса.

Вот мои топ-3 статьи:


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

image

(Да простится мне такой «неформат», ибо тема важная)
Читать дальше →
Total votes 97: ↑80 and ↓17+63
Comments251

Оптимизация сборки мусора в высоконагруженном .NET сервисе

Reading time16 min
Views29K
Ежедневно в сервисе Pyrus работают десятки тысяч сотрудников из нескольких тысяч организаций по всему миру. Отзывчивость сервиса (скорость обработки запросов) мы считаем важным конкурентным преимуществом, так как она напрямую влияет на впечатление пользователей. Ключевой метрикой для нас является «процент медленных запросов». Изучая ее поведение, мы заметили, что раз в минуту на серверах приложений возникают паузы длиной около 1000 мс. В эти промежутки сервер не отвечает и возникает очередь из нескольких десятков запросов. О поиске причин и устранении узких мест, вызванных сборкой мусора в приложении, пойдет речь в этой статье.


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

Как жалобы перенастраивают ваш мозг на негатив [и влияют на здоровье]

Reading time5 min
Views69K

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



[В квадратных скобках — мои примечания.]


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

Читать дальше →
Total votes 84: ↑63 and ↓21+42
Comments107

Подборка: 5 полезных сервисов для написания статей на английском

Reading time5 min
Views24K


Всем привет! Меня зовут Марго, я профессиональный маркетолог и редактор, в последние пару лет фокусируюсь на продвижении за рубежом и много пишу на английском. Я решила поделиться ссылками на приложения и сайты, которые помогают мне в ежедневной работе при создании контента. Надеюсь, список поможет изучающим английский и тем, кто публикует англоязычные материалы на Хабре.
Читать дальше →
Total votes 51: ↑48 and ↓3+45
Comments29

Обзор англоязычных сайтов для поиска постоянной удаленной IT работы

Reading time3 min
Views38K
Для удаленной работы есть миллион причин. Торчать по 8-9 часов в офисе вовсе не так здорово, как это показано в сериалах. В один прекрасный день, летом 2018-го, я просто решила, что мне нужно больше личного пространства и собралась увольняться, тем более на моей должности в то время я доросла до максимума и дальнейших перспектив не предвиделось.

image

Моя работа была чем-то средним между саппортом, тестировщиком, оператором SQL и Excel-ниндзя, а хотелось углубиться в тестирование.

Так как я уверенно говорила и писала по-английски, я решила сразу искать на зарубежном рынке. Просмотрела несколько бирж фриланса, почитала отзывы об Upwork и ее аналогах и решила не связываться. Сложно конкурировать в мелких проектах с гражданами Индии, которые готовы работать за 3 доллара в час. Также мне показалось непродуктивным подавать заявки в онлайн-сервисы, работающие по принципу глобального посредника между удаленными сотрудниками и компаниями, судя по отзывам, отбор у них очень жесткий, а темп работы невероятно напряженный.

Я решила сосредоточиться на ресурсах, предлагающих постоянную удаленную работу в компаниях, с которыми можно было связаться напрямую. Идея была заманчива, так как очень импонировало работать на иностранного работодателя без цепочки менеджеров-начальников.
Наиболее полезными с точки зрения количества и качества вакансий, а также удобства пользования, выглядели следующие сайты:
Читать дальше →
Total votes 30: ↑24 and ↓6+18
Comments13

Почему SvelteJS возможно лучший фреймворк для новых веб-разработчиков

Reading time7 min
Views106K


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

Лет 10 назад ответ был очень прост. Просто создайте index.html, добавьте туда несколько тегов, сделайте заголовок красным с помощью CSS и подключите JQuery для обработки кликов!

Ох, как же все изменилось. Теперь мы работаем с инструментами сборки, маршрутизацией на стороне клиента, специальными фреймворками с причудливым рантаймом, привязывая везде «this», шаблонными литералами, CSS-in-JS… как же выбрать то, что важнее всего?
Читать дальше →
Total votes 33: ↑27 and ↓6+21
Comments130

Книга «Как управлять интеллектуалами. Я, нерды и гики»

Reading time9 min
Views8.8K
image Проект-менеджерам (и тем, кто мечтает стать начальником) посвящается.

Писать тонны кода сложно, а управлять людьми — еще сложнее! Так что вам просто необходима эта книга, чтобы научиться делать и то и другое.

Можно ли объединить прикольные истории и серьезные уроки? Майклу Лоппу (также известному в узких кругах как Рэндс) это удалось. Вас ждут выдуманные истории о выдуманных людях, обладающих невероятно полезным (хотя и выдуманным) опытом. Именно так Рэндс делится своим разнообразным, порой странным опытом, полученным за годы работы в крупных IT-корпорациях: Apple, Pinterest, Palantir, Netscape, Symantec и др.

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

Эта книга не похожа ни на один манускрипт по менеджменту или лидерству. Майкл Лопп ничего не скрывает, он просто рассказывает всё как есть (возможно, не все истории стоило бы предавать огласке: Р). Но только так вы поймете, как вам выжить с таким боссом, как руководить гиками и нердами и как уже довести до хеппи-энда «тот гребаный проект»!
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments2

Расширения VSCode, которые облегчат разработку на JavaScript и Vue

Reading time3 min
Views54K

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


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

Читать дальше →
Total votes 22: ↑19 and ↓3+16
Comments13

Высоконагруженная распределенная система управления современной АЭС

Reading time15 min
Views19K
Без электричества не будет высоконагруженных интернет-сервисов, которые мы так любим. Как ни странно, системы управления объектами генерации электричества, например атомными электростанциями, тоже бывают распределенные, тоже подвержены высоким нагрузкам, тоже требуют множества технологий. К тому же, доля атомной энергетики в мире будет расти, управление этими объектами и их безопасностью – очень важная тема.

Поэтому давайте разбираться, что там есть, как оно все устроено, где основные архитектурные сложности и где в АЭС можно применить модные технологии ML и VR.


Total votes 54: ↑53 and ↓1+52
Comments40

10 познавательных YouTube-каналов на английском, о которых вы никогда не слышали

Reading time7 min
Views64K
Учиться должно быть интересно, поэтому мы в EnglishDom постоянно ищем познавательные видео, которые вдохновят вас учить английский, а также подкинут свежих идей или как минимум расширят кругозор.

Мы собрали 10 по-настоящему крутых и познавательных англоязычных каналов. Самые известные и популярные мы не рассматривали, поэтому гарантируем, что все (или почти все) окажутся вам в новинку.

Отдельно мы будем указывать уровень знания английского языка, который потребуется для комфортного просмотра каналов.
Total votes 25: ↑19 and ↓6+13
Comments15

Дополнительные лекции курса «Проектирование высоконагруженных систем» (осень 2018) в Технополисе

Reading time4 min
Views7.2K
image

Мы продолжаем публиковать лекции курса «Проектирование высоконагруженных систем», который читается студентам Санкт-Петербургского Политехнического университета командой инженеров из Одноклассников в рамках двухлетней программы «Java-разработчик высоконагруженных приложений» проекта Технополис (совместный проект Mail.Ru Group и СПбПУ). В 2017 году были прочитаны и выложены 10 лекций (30 часов видео), но тема Highload настолько обширна, что за один семестр невозможно охватить всё. Мы лишь ненадолго погрузились в основные аспекты Highload-разработки, каждый из которых достоин отдельного курса. В этом году мы продолжаем закрывать белые пятна и представляем вашему вниманию набор из шести лекций на новые темы: начинаем с параллельных вычислений и livecoding первого этапа студенческого курсового проекта, после чего погружаемся в средства мониторинга и диагностики JVM, а потом переходим к проблемам отказоустойчивости. А после лекции о продвинутых алгоритмах, актуальных в высоконагруженных проектах, завершаем цикл лекцией о существующих подходах к репликации и об их применимости к разным задачам.

Первые десять лекций.

Список новых лекций:

  1. Actor Model. Future. Reactive Streams (Вадим Цесько incubos)
  2. Livecoding второго этапа проекта (Вадим Цесько incubos)
  3. Мониторинг и диагностика JVM (Андрей Паньгин apangin)
  4. Site Reliability Engineering (Антон Иванов keyplayer)
  5. «Современные» структуры данных (Дмитрий Щитинин dormidoncheg)
  6. Репликация (Дмитрий Щитинин dormidoncheg)

Total votes 23: ↑23 and ↓0+23
Comments0

Для тех, кто познаёт ушами: подкасты для разработчиков

Reading time6 min
Views52K


Кто сказал, что разработчики могут учиться новому только через книги, видео и анализ чужого кода? Ведь у нас и другие каналы получения информации из окружающего мира. Конечно, речь не о том, чтобы попробовать знания на вкус, пощупать их или понюхать. А вот послушать — самое оно. Мы собрали для вас коллекцию действующих русскоязычных подкастов для разработчиков. Хороший способ дать глазам отдых или занять себя в пробках.
Читать дальше →
Total votes 83: ↑80 and ↓3+77
Comments57

О сущностях, DTO, ORM и Lazy Load

Reading time3 min
Views13K
Объектно-ориентированная парадигма — стандарт для прикладного ПО. Реляционные СУБД — стандарт хранения данных в прикладном ПО. Да, можно писать и на Haskell и хранить данные исключительно в ClickHouse. Но речь о мейнстриме.

ORM позволяет натянуть сову на глобус сделать вид, что RDBMS'а нет и данные хранятся в объектной модели, более подходящей для ООП. Остается «маленькая» такая проблемка — эта абстракция, как и многие другие, «течет». Там где в объектной модели ссылка на другой объект в базе данных foreign key и id. В момент материализации сущности мы встаем перед выбором:

  1. Загрузить все и упасть с out of memory / timeout
  2. Явно указать какие зависимости мы хотим загрузить, а какие — нет и нарушить принцип tell don't ask
  3. Загружать зависимости неявно по требованию с помощью Lazy Load и получить проблемы с производительностью где-то в вызываемом коде

Какую-же ногу себе отрезать: левую или правую?

TLDR Lazy Load не так плох, если использовать только для записи и не использовать при чтении. Но все не так просто и есть куча нюансов.
Режь правую!
Total votes 30: ↑26 and ↓4+22
Comments6

Студентам, вечным студентам и жаждущим новых знаний

Reading time6 min
Views9.6K


В ноябре студиозусы всего мира отмечали Международный день студента. А сегодня мы празднуем свой, «локализованный» День российского студенчества — 264 года назад был подписан указ о создании Московского университета, сегодня известного в узких кругах как МГУ. И в честь праздника ловите подборку курсов GeekBrains и видеолекций на любой вкус. Это ведь 200 лет назад можно было получить диплом и прекрасно жить с полученными знаниями до внуков, а сегодня знания устаревают стремительно.

И пока будете читать, не забудьте включить фоном бессмертный Gaudeamus Igitur.
Читать дальше →
Total votes 28: ↑25 and ↓3+22
Comments0

Что происходит, когда вы отправляете SMS

Reading time15 min
Views41K
Это третья статья в цикле full-stack dev о секретной жизни данных. Она посвящена сложному и длинному маршруту SMS: набор, сохранение, отправка, получение и отображение. Добавлю немного истории и контекст, чтобы разбавить перечень протоколов. Хотя текст довольно технический, всё довольно легко понять.

Первые две части цикла:

  • Cetus, о распространении ошибок в предках электронных таблиц XVII века
  • «Вниз по кроличьей норе», о безумно сложном поиске источника одного набора данных

Итак, начнём…
Читать дальше →
Total votes 74: ↑67 and ↓7+60
Comments19

Ctrl-Alt-Del: учимся любить легаси-код

Reading time22 min
Views21K


Какое отношение к легаси-коду имеют «Звёздные войны», группа «Тату» и сочетание «Ctrl-Alt-Del»? Как быть, когда приходишь в большой проект и сталкиваешься с пропастью непонятного старого кода? И как эффективнее донести до начальства, что трудозатраты на ликвидацию технического долга оправдывают себя?

Доклады Дилана Битти не обходятся без шуток, но эти шутки сопровождают вполне серьёзные рассуждения о главных вопросах разработки. Такое хорошо подходит для завершения конференции: когда зрители уже услышали много хардкора и больше не могут воспринимать слайды с кодом, самое время для более общих вопросов и яркой подачи. И когда нашу .NET-конференцию DotNext 2018 Moscow завершало выступление Дилана про легаси-код, зрителям оно понравилось сильнее всего.

Поэтому теперь для Хабра мы сделали переведённую текстовую версию этого выступления: и для дотнетчиков, и для всех остальных. Помимо текста, под катом есть и оригинальная англоязычная видеозапись.

Total votes 74: ↑72 and ↓2+70
Comments16

Information

Rating
Does not participate
Location
Саратов, Саратовская обл., Россия
Date of birth
Registered
Activity