Как стать автором
Обновить

Компания Edison временно не ведёт блог на Хабре

Сначала показывать

ИИ и 2048. Часть 2: Минимакс + альфа-бета отсечение

Время на прочтение23 мин
Количество просмотров16K


Метод Монте-Карло мы разобрали, сегодня посмотрим, как компьютерный разум играет в 2048, используя старый добрый минимакс с альфа-бета отсечением.
Читать дальше →

34 open source библиотеки Python (2019)

Время на прочтение2 мин
Количество просмотров61K
image

Мы просмотрели и сравнили 10 000 open source библиотек для Python и выбрали 34 самые полезные.

image

Мы сгруппировали эти библиотеки в 8 категорий.
Читать дальше →

Ещё 5 дерзких тренировочных проектов для разработчика (Layer, Squoosh, Калькулятор, Website Crawler, Music Player )

Время на прочтение2 мин
Количество просмотров14K
Читать дальше →

Как заставить ваши веб-приложения работать в автономном режиме

Время на прочтение8 мин
Количество просмотров21K
Сила JavaScript и браузерного API

Мир становится все более взаимосвязанным — число людей, имеющих доступ к Интернету, выросло до 4,5 миллиардов.

image

Но в этих данных не отражено количество людей, у которых медленное или неисправное интернет соединение. Даже в Соединенных Штатах 4,9 миллиона домов не могут получить проводной доступ к интернету скорость которого будет более 3 мегабит в секунду.

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

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

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

Ещё 9 проектов для оттачивания Front-End мастерства

Время на прочтение5 мин
Количество просмотров40K
image

Введение


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

Возьмем, к примеру, React — код которого, Facebook открыл всего четыре года назад, он уже стал выбором номер один для разработчиков JavaScript по всему миру.

Vue и Angular, конечно же, также имеют свою законную базу поклонников. И еще есть Svelte и другие универсальные фреймворки, такие как Next.js или Nuxt.js. И Gatsby, и Gridsome, и Quasar… и многое другое.

Если вы хотите проявить себя как опытный разработчик JavaScript, у вас должен быть хотя бы некоторый опыт работы с различными фреймворками и библиотеками — помимо выполнения работы с хорошим старым JS.

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

Python за месяц

Время на прочтение6 мин
Количество просмотров131K
Руководство для абсолютных чайновичков.
(Прим. пер.: это советы от автора-индуса, но вроде дельные. Дополняйте в комментах.)

image


Месяц — это много времени. Если тратить на обучение по 6-7 часов каждый день, то можно сделать дофига.

Цель на месяц:

  • Ознакомиться с основными понятиями (переменная, условие, список, цикл, функция)
  • Освоить на практике более 30 проблем программирования
  • Собрать два проекта, чтобы применить на практике новые знания
  • Ознакомиться хотя бы с двумя фреймворками
  • Начать работу с IDE (средой разработки), Github, хостингом, сервисами и т. д.

Так вы станете младшим разработчиком (джуном) Python.

Теперь план по неделям.
Читать дальше →

Шесть задачек для Front-End разработчика

Время на прочтение2 мин
Количество просмотров46K

1. Форма кредитной карты


Клёвая форма кредитной карты с гладкими и приятными микровзаимодействиями. Включает форматирование чисел, проверку и автоматическое определение типа карты. Она построена на Vue.js, а также полностью адаптивная. (Посмотреть можно здесь.)

image

credit-card-form

Чему научитесь:

  • Обрабатывать и валидировать формы
  • Обрабатывать события (например, при изменении полей)
  • Разберетесь как отображать и размещать элементы на странице, особенно данные кредитной карты, которая поверх формы
Читать дальше →

Как я выиграл 3 из 4 золотых медалей на Computing Olympiad

Время на прочтение7 мин
Количество просмотров5.4K
image

Я готовился к Финалу чемпионата мира Google HashCode 2017. Это крупнейший конкурс с алгоритмическими задачами, организованный Google.

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

После двухдневных соревнований пришли результаты: я выиграл золотую медаль.

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

Я знаю, что привело меня к успеху и хочу поделиться этим с вами.
Читать дальше →

Создавайте свой код с нуля, это прокачает ваш уровень

Время на прочтение4 мин
Количество просмотров3.6K
image


Чтобы по-настоящему понять колесо, нужно его самостоятельно переизобрести.

На днях я провел собеседование на должность senior javascript разработчика. Мой коллега, который также принимал участие в собеседовании, попросил кандидата написать функцию, которая будет выполнять HTTP-запрос, и повторять его несколько раз в случае сбоя.

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

Подумав что он нервничает, мы решили сделать задание немного проще и попросили его преобразовать функцию на основе обратного вызова в функцию на основе Promise.

Не повезло.

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

Но код, который он написал на доске, не имел никакого смысла. У него было только смутное понимание концепции Promise в JavaScript, и он не смог рассказать про него доходчиво.

Это может быть простительно, если вы начинающий разработчик, но если вы претендуете на руководящую должность, этого недостаточно. Как он отладит сложную цепочку Promise и затем объяснит другим, что он сделал?
Читать дальше →

Объяснение парадокса Ферми в рамках космической социологии Лю Цысиня

Время на прочтение7 мин
Количество просмотров27K
Млечный путь

Не будем спойлерить сюжет или технологии, описанные в увлекательной трилогии «Память о прошлом Земли», нас интересует объяснение парадокса Ферми, данное китайским писателем, и только оно.
Читать дальше

Сортировки распределением

Время на прочтение6 мин
Количество просмотров36K


В сортировках распределением элементы распределяются и перераспределяются по классам до тех пор, пока массив не отсортируется.
Траффик

9 полезных браузерных расширений для разработчиков (cписок на 2020 год)

Время на прочтение4 мин
Количество просмотров19K
Как упростить себе жизнь при помощи браузерных плагинов.

Хитрые веб-разработчики умеют пользоваться браузером на уровне «god-mode». Расширения(плагины, add-on) чрезвычайно полезны, когда речь идет об улучшении рабочей среды и повышении производительности написания кода.

Не за горами 2020 год. Появилось много новых расширений. Я собрал наиболее полезные расширения для веб-разработчиков и поместил их в один список.

Refined GitHub


Refined Github упрощает интерфейс GitHub и добавляет полезные улучшения.

image

Refined Github

«Надеемся, что GitHub заметит как необходимы эти улучшения и добавит некоторые из них. Поэтому, если вам нравится какое-либо из этих улучшений напишите, пожалуйста, в службу поддержки GitHub об этом».
— создатели Refined Github.
Читать дальше →

Занимательная практика для разработчика

Время на прочтение3 мин
Количество просмотров18K
Человек остается начинающим в течение 1000 дней. Он находит истину после 10000 дней практики.

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

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

(предыдущие списки заданий для тренировки: 1) 8 учебных проектов 2) Еще список проектов, на чем потренироваться)

Проект 1: Pacman


image

Создайте свою версию Pacman. Это отличный способ получить представление о том, как разрабатываются игры, понять основы. Используйте JavaScript-фреймворк, React или Vue.

Вы узнаете:

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

Пример этого проекта вы найдете в репозитории GitHub

«Мастер совершает больше ошибок, чем новичок — попыток»
Читать дальше →

Обсуждаем будущее PHP

Время на прочтение4 мин
Количество просмотров12K
Это мертвый язык программирования или нет?

image

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

Давайте посмотрим на PHP и посмотрим, есть ли будущее у этого языка программирования.

PHP все еще доминирует в Интернете


Если вы просто посмотрите на цифры, PHP определенно не умер. На сегодняшний день PHP является наиболее используемым языком программирования на стороне сервера. Примерно 75 процентов всех веб-страниц работают на PHP. Посмотрите на график ниже и посмотрите, насколько далеко PHP опережает своих конкурентов по частоте использования. Справедливо сделать вывод, что на основе этой статистики, PHP не умер, так как 75 процентов — это слишком много для мертвого языка.

image


Одна из причин, по которой PHP используется многими сайтами, заключается в том, что WordPress использует PHP. Доля WordPress на рынке составляет около 34 процентов всех сайтов. Это 75 миллионов сайтов.
Читать дальше →

Ближайшие события

Эдвард Сноуден: поле битвы — шифрование

Время на прочтение5 мин
Количество просмотров16K
«Без шифрования мы потеряем всю конфиденциальность. Это наше новое поле битвы.»
— Эдвард Сноуден

image


Эдвард Сноуден — бывший сотрудник ЦРУ и осведомитель, автор книги “Личное дело”. Он президент совета директоров Фонда «Свобода прессы».

«Если интернет-трафик не зашифрован, любое правительство, компания или преступник, могут заметить это. Они украдут его копию и ваши данные сохранятся у них навсегда».

В каждой стране мира горит свет, полки забиты товарами, дамбы закрыты, а транспорт движется. Все это благодаря компьютерной безопасности. США проводили глобальную оценку угроз разведывательного ведомства США. Вот уже более пяти лет первое место в докладе «Оценка всемирных угроз» Разведывательного сообщества США занимает уязвимость наших компьютеров и компьютерных сетей — выше, чем угроза терроризма и угроза войны. Ваш баланс на карте, оборудование местной больницы и президентские выборы в США в 2020 году, помимо прочего, зависят от компьютерной безопасности.

Сейчас мы переживаем величайший в истории кризис компьютерной безопасности. И все же, правительство США вместе с правительствами Великобритании и Австралии пытаются подорвать важность шифрования. Шифрование — единственный метод для надежной защиты информации в мире. Если они преуспеют в своем деле, наша общественная инфраструктура и частная жизнь будут под угрозой.
Читать дальше →

Чем закончилась история с бомжом-программистом

Время на прочтение9 мин
Количество просмотров26K
Решил разузнать из первоисточников как начиналась, развивалась и закончилась история про то, как программист обучал бомжа. Я даже пролистал всю группу в FB с логами проекта (там чересчур много деталей для поста на Хабре). Самые иллюстрирующие моменты есть в трёх статьях на Medium инициатора эксперимента Патрика МакКонлога

Статья 1, 21 августа 2013

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

[Источник]

image

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

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

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

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

Шаг первый. Драйв


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

Пятничный SciFi о профессиях будущего: «Реальные девушки»

Время на прочтение6 мин
Количество просмотров9.5K
Журнал Wired опубликовал 8 сай-фай рассказов о Новом дивном будущем работы.

Реальные девушки



«Когда ваш робот-любовник говорит, что любит вас, стоит ли в это верить?»
— «Роботы, любовь и секс: этика создания машины любви», IEEE Transactions on Affective Computing (2012)
ПОЗДНИЙ ИЮНЬ. ИЗНУРИТЕЛЬНАЯ, душная, английская летняя жара. 4165 дней с момента финансового краха. Прошло 1112 дней с тех пор, как Чарли Барретт, которого, в общем-то все, в том числе и его мать, описывали как хорошего молодого человека, получил диплом по английскому языку, баснословный долг и сильно развитый синдром самозванца. И 3 дня с тех пор как девушка, благодаря которой казалось, что все еще вполне терпимо, девушка, которая в любой момент могла разбить ему сердце и ненавидела, когда он называл ее своей девушкой, хотя она была его единственной, ТОЙ САМОЙ девушкой — 3 дня с тех пор как она сказала ему собрать остатки достоинства и уйти.

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

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

Откуда появился лозунг «Don’t Be Evil»

Время на прочтение5 мин
Количество просмотров9.6K
image


  • Сергей Брин.
  • Стейси Салливан.
  • Хироси Ямаути.
  • Пол Бухейт.
  • Амит Патель.
  • Марисса Майер.
  • Google.
  • Nintendo.
  • Пагуошская студенческая конференция.

Дорогой Quote Investigator, Google был основан в 1998 году и спустя несколько лет один из работников предложил этой компании девиз:
Не будь злым (Don’t Be Evil).
Не могли бы вы исследовать происхождение этого лозунга?

Quote Investigator: самые ранние убедительные доказательства, найденные QI, были обнаружены на странице под названием «Отличные вакансии в Google», которая когда-то существовала по следующему адресу:

www.google.com/jobs/great-people-needed.html
Доступ к историческому содержанию страницы можно получить с помощью сервиса интернет-архива Wayback Machine. Скриншот сделанный 27 марта 2002 года содержал текст:
Одним словом, цель Google состоит в том, чтобы делать важные вещи, которые имеют значение для многих людей. Стремясь к достижению этой цели, мы разработали набор ценностей, которые ведут нас в процессе работы, в том числе одну из наших самых заветных основных ценностей: «Не будь злым».
источник
Читать дальше →

Dropbox Paper: как оставаться бодрячком

Время на прочтение5 мин
Количество просмотров7.9K
Как мне и моей команде всё время быть на драйве?

image

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

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

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

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

Мир вирусов MS-DOS

Время на прочтение8 мин
Количество просмотров18K
image

Этот пост является текстовой версией выступления, которое я провел на 35-м Chaos Computer Congress в конце 2018 года.

И так я должен признать, что MS-DOS слегка возмущает меня, несмотря на то, что вредоносные программы MS-DOS всегда в некоторой степени очаровывали меня, но сначала мы должны спросить: «Что такое DOS?»

  • DOS — это одна из версий CP/M, еще одной очень старой операционной системы
  • Семейство DOS охватывает широкий спектр поставщиков, просто потому, что это DOS, не означает, что он будет работать на 8086 CPU или лучше
  • Некоторые из этих поставщиков DOS имеют совместимость API, а это означает, что некоторые из них используют вредоносное ПО!

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