Search
Write a publication
Pull to refresh
1
0
Send message

30 толковых книг по бизнесу, саморазвитию и творчеству, которые изменили мою жизнь

Reading time5 min
Views192K


Полтора года назад я принял вызов прочитать 100 книг за год. Авантюра полностью себя не оправдала, так как некоторые книги я перечитывал, но однозначно оказалась полезной. По итогам последних двух лет я составил список книг, которые каким-то образом повлияли на мою жизнь. Составлял я его для себя, но позже решил, что он пригодиться и вам.
Читать дальше →

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

Reading time7 min
Views158K


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

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

15 книг по машинному обучению для начинающих

Reading time5 min
Views175K
Сделал подборку книг по Machine Learning для тех, кто хочет разобраться, что да как.
Добавляйте в закладки и делитесь с коллегами!

Книги по машинному обучению на русском


1. «Математические основы машинного обучения и прогнозирования» Владимир Вьюгин.

О чем

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

2. «Верховный алгоритм» Педро Домингос.

О чем

Книга, благодаря которой даже ничего не смыслящие в математике и статистике люди поймут, что такое алгоритмы машинного обучения и каково их применение в жизни. Профессор Педро Домингос рассказывает о пяти основных школах Machine Learning и о том, как они используют идеи из различных областей научного знания — нейробиологии, физики, статистики, биологии, — чтобы помогать людям решать сложные задачи и упрощать рутину с помощью алгоритмов.
Читать дальше →

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

Reading time3 min
Views133K
Хабр, привет!

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

Приступим!

Учить лексику


Плагины, мобильные приложения и сайты, которые помогут перевести и запомнить незнакомые термины с русского на английский и обратно.

ЛеоПереводчик

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

Почему не SQL?

Reading time67 min
Views73K


Без преувеличения можно сказать, что SQL — один из самых распространенных в мире языков. Информационные системы могут быть написаны на Java, Python, JavaScript, C#, PHP и десятке других языков, но SQL база в том или ином виде будет в абсолютном большинстве таких систем. Среди бизнес-приложений процент систем, использующих SQL, вообще стремится к 100%.

При этом большинство существующих материалов о SQL на хабре и других ресурсах сводятся к простым вопросам, вроде: «какие типы соединений бывают», «чем левое соединение отличается от правого», «что такое триггеры» и так далее. Более того, в этих материалах практически ничего не говорится о проблемах SQL (и его реализациях), которых на самом деле очень и очень немало. Поэтому мы решили восполнить оба этих пробела: с одной стороны рассказать, как многие вещи в SQL работают изнутри, а с другой стороны — почему они работают не так как нужно / хотелось бы.

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

Семь бесплатных автоматизированных платформ-задачников для прокачки навыков программирования

Reading time2 min
Views69K

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


CheckiO


Проект из Украины «Чекио» сфокусирован на Python и JavaScript. Это сборник игровых задач по программированию для тех, кто уже не новичок. Большой упор на геймификацию, симпатичную графику и общение в сообществе. В самом решении задач игрового процесса нет, но есть общий сценарий для прохождения платформы. Полезная фича — смотреть другие решения и подсказывать студентам как их можно улучшить.


CheckiO


leetcode


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


leetcode

Читать дальше →

Как подступиться к fullstack-разработке сегодня, если ты проспал десять лет

Reading time26 min
Views151K


Привет, Хабр! Несколько месяцев назад у меня остро встал вопрос смены профиля деятельности и я обнаружил, что для претендента на вакансию web-разработчика сейчас недостаточно навыков десятилетней давности (какая неожиданность!). Пришлось срочно актуализировать свои знания. Заодно я решил составить шпаргалку с описанием большинства современных технологий, чтобы в случае чего кидать жаждущим новых знаний линк на эту статью, да и самому не забывать.
Читать дальше →

Вопросы не мальчика, а джуна. 22 вопроса работодателю на собеседовании на позицию «Middle Python-разработчик»

Reading time10 min
Views70K
image

Введение


За 2 года мне посчастливилось посетить более сорока собеседований в качестве кандидата на позицию «Middle Python-разработчик». На последних пятнадцати собеседованиях я понял необходимость задавать вопросы работодателю, чтобы в дальнейшем не столкнуться с неожиданностями по работе. Помимо базовых вопросов, которые обычно задают кандидаты работодателю я решил сформировать свои вопросы. Когда я задавал эти вопросы на собеседованиях, я получал самые различные реакции со стороны собеседующих. Кто-то говорил, что я дотошный, кто-то считал эти вопросы слишком банальными, а кто-то даже начинал нервничать(краснеть) и немедленно прерывать собеседование с нелепой отговоркой о том, что у него совещание. В этой статье я хотел бы рассказать об общих идеях посещения таких мероприятий а также привести мои 22 вопроса, которые я задаю на собеседовании работодателю.
Читать дальше →

Парсим мемы в питоне: как обойти серверную блокировку

Reading time26 min
Views105K

Новогодние праздники — прекрасный повод попрокрастинировать в уютной домашней обстановке и вспомнить дорогие сердцу мемы из 2k17, уходящие навсегда, как совесть Electronic Arts.



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

Читать дальше →

Советы о том, как освободить разум и повысить свой творческий потенциал

Reading time5 min
Views29K


Потребление информации снижает творческий потенциал — мозгу нужно отдыхать


«Чтобы по-настоящему дорожить вещами, которые для вас важны, вы должны cначала избавиться от тех, которые уже пережили свое предназначение. Выбрасывать то, что вам больше не нужно, — это не расточительность и не постыдный поступок».

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

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

Но пример Кондо можно распространить на идею беспорядка в более широком смысле.

Давайте задумаемся вот о чем.

Прежде чем разгребать завалы дома, не следует ли выбросить лишнее из головы?

Средний американец проводит более 10,5 часов в день, потребляя информацию из СМИ: смотрит ТВ, бродит по Интернету, пользуется приложениями или слушает подкасты. Какую информацию вы потребляете ежедневно — в том числе сериалы на Нетфликсе, видео на Ютубе, бесконечные горячие обсуждения в Интернете и знакомства в Тиндере? И как она влияет не только на самочувствие, но и на творческие способности?

Обычно нам кажется, что чем больше информации, тем лучше — ведь мы, в конце концов, живем в информационной экономике, разве не так?

Но подумайте, не путаете ли вы знание с бездумным потреблением?

Переведено в Alconost
Читать дальше →

101 совет, как стать хорошим программистом (и человеком)

Reading time12 min
Views48K


1. Научитесь гуглить
Быть программистом, — значит научиться искать ответы на свои вопросы. Научившись эффективно «гуглить», вы сэкономите много времени, затрачиваемого на разработку.

2. Не обещайте много, но делайте больше, чем обещали
Лучше сообщать вашей команде, что выполнение задачи займет три недели, но выполнять её за две, чем наоборот. Следуя этому принципу, вы выстроите доверительные отношения.
Читать дальше →

10 основных ошибок, совершаемых Django-разработчиками

Reading time12 min
Views103K


В этом руководстве мы рассмотрим основные ошибки Django-разработчиков и узнаем, как их избежать. Статья может быть полезна даже опытным разработчикам, потому что и они совершают такие ошибки, как поддержка неподъёмно больших настроек или конфликтов имён в статических ресурсах.

Читать дальше →

Сеть компании и MitM. Часть 2

Reading time6 min
Views14K


Перехватить конфиденциальную информацию? Получить несанкционированный доступ к различным приложениям и системам? Нарушить нормальный режим работы? Все это и многое другое выполняют атаки типа Man in the Middle.

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

Заинтересовались? Добро пожаловать под кат.
Читать дальше →

Что должен делать тимлид: роли, обязанности и навыки

Reading time3 min
Views108K


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


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


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

Читать дальше →

Как готовят пентестеров? Разбор вступительных испытаний для стажеров «Digital Security»

Reading time33 min
Views20K
Summer of Hack 2019 в Digital Security уже идёт полным ходом, а значит самое время рассказать, как мы набирали людей.



Под катом объемный и интересный материал о том, как мы отбираем молодых специалистов к нам на стажировку «Summer of Hack 2019», а конкретно — в департамент аудита защищенности.

Рассмотрим, что должен, на наш взгляд, знать пентестер, чтобы успешно делать свою работу.

Разберём ряд непростых задачек, которыми мы мучали ребят, в том числе и от лица одного из них.
Читать дальше →

Как уволиться с работы и довериться инстинктам вашего скрытого крутыша

Reading time6 min
Views37K


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

Однажды утром 2006 года я проснулся с онемевшей правой ногой. Боли не было – лишь ещё один странный симптом в копилку тех симптомов, что годами удивляли моих докторов. Я пошёл к терапевту, отправившему меня на МРТ, и результаты не заставили себя ждать. Множественные повреждения мозга и позвоночника. У меня обнаружили рассеянный склероз.

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

Я начал посещать группы больных рассеянным склерозом и познакомился с людьми, находящимися на разных стадиях этой болезни. Тогда я понял, что моё будущее хуже, чем я себе представлял. Болезнь действует не на одного человека, а на целые семьи — в то время, как они наблюдают, как их близкие начинают терять свои возможности. Я твёрдо решил сделать две вещи: максимизировать шансы оставаться дееспособным как можно дольше, путём приобретения полезных привычек, счастья и хорошего медобслуживания; и достичь моих целей и мечтаний как можно быстрее, пока ещё есть возможность.

image
Джон Фокстон, автор статьи

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

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

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

Ещё лучшая ZIP-бомба

Reading time25 min
Views138K
В статье показано, как создать нерекурсивную zip-бомбу, которая обеспечивает высокую степень сжатия путём перекрытия файлов внутри zip-контейнера. «Нерекурсивная» означает, что она не зависит от рекурсивной распаковки декомпрессорами файлов, вложенных в zip-архивы: здесь всего один раунд. Выходной размер увеличивается квадратично от входного, достигая степени сжатия более 28 миллионов (10 МБ → 281 ТБ) в пределах формата zip. Ещё большее расширение возможно с помощью 64-разрядных расширений. Конструкция использует только наиболее распространённый алгоритм сжатия DEFLATE и совместима с большинством парсеров zip.

  • zbsm.zip 42 kB → 5.5 GB
  • zblg.zip 10 MB → 281 TB
  • zbxl.zip 46 MB → 4.5 PB (Zip64, менее совместима с парсерами)

Исходный код:
git clone https://www.bamsoftware.com/git/zipbomb.git
zipbomb-20190702.zip

Данные и исходники иллюстраций:
git clone https://www.bamsoftware.com/git/zipbomb-paper.git
Читать дальше →

Асинхронный Python: различные формы конкурентности

Reading time8 min
Views134K
С появлением Python 3 довольно много шума об “асинхронности” и “параллелизме”, можно полагать, что Python недавно представил эти возможности/концепции. Но это не так. Мы много раз использовали эти операции. Кроме того, новички могут подумать, что asyncio является единственным или лучшим способом воссоздать и использовать асинхронные/параллельные операции. В этой статье мы рассмотрим различные способы достижения параллелизма, их преимущества и недостатки.
Читать дальше →

7 привычек высокоэффективных программистов

Reading time8 min
Views72K
Начинающие программисты тратят много времени, набирая знания, необходимые для прохождения интервью. Они решают задачи и улучшают свои резюме. Но самое интересное начинается после того, как программист получает вожделенную должность — в каком-нибудь стартапе, в Google, в Amazon или где-нибудь ещё. Нередко оказывается так, что те знания и навыки, которые помогли человеку найти работу, не соответствуют тому, что надо знать и уметь для выполнения его повседневных задач.



Автор статьи, перевод которой мы сегодня публикуем, говорит, что команда, в которой он трудится, воодушевилась рассказом TechLead’a о 7 привычках высокоэффективных программистов. Члены команды решили высказать собственные мысли по этому вопросу. Здесь, в форме советов, приведён разбор 7 навыков эффективных программистов.
Читать дальше →

Information

Rating
4,527-th
Registered
Activity