Как стать автором
Обновить
3
0
Илья @ONIKSfly

Пользователь

Отправить сообщение

Очень много YouTube-каналов для прокачки английского языка для программистов

Время на прочтение 4 мин
Количество просмотров 60K
Привет, Хабр!

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

Добавляйте в закладки и подписывайтесь на меня!
Дальше вас ждет много крутых статей.

Поучить английский


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

EngVid. Если бы можно было выбрать что-то одно для улучшения английского, то это оно. Разные преподы и тематики, постоянное обновление, бездонный ресурс. Ещё сайт одноимённый крутой, с удобной навигацией — можно найти очень узкую тему по интересам.
Читать дальше →
Всего голосов 59: ↑52 и ↓7 +45
Комментарии 19

Введение в машинное обучение

Время на прочтение 19 мин
Количество просмотров 59K
Полный курс на русском языке можно найти по этой ссылке.
Оригинальный курс на английском доступен по этой ссылке.


Всего голосов 40: ↑36 и ↓4 +32
Комментарии 25

Музыка для ваших проектов: 12 тематических ресурсов с треками по лицензии Creative Commons

Время на прочтение 7 мин
Количество просмотров 118K
Подборка пригодится разработчикам, дизайнерам, видеорежиссерам и контент-мейкерам, которые ищут музыку для своих проектов — приложений, игр или видеороликов.

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

Всего голосов 57: ↑56 и ↓1 +55
Комментарии 9

Стажёр Вася и его истории об идемпотентности API

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

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


Меня зовут Денис Исаев, и я руковожу одной из бэкенд групп в Яндекс.Такси. Сегодня я поделюсь с читателями Хабра описанием проблем, которые могут возникнуть, если не учитывать идемпотентность распределенных систем в своем проекте. Для этого я выбрал формат вымышленных историй о стажёре Васе, который только-только учится работать с API. Так будет нагляднее и полезнее. Поехали.


image

Читать дальше →
Всего голосов 219: ↑216 и ↓3 +213
Комментарии 163

Как восемь человек масштабируют highload-проект. Опыт Unsplash

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

Фото: Alex Smith | Unsplash

Добрый день!

Меня зовут Виктор Пряжников, я работаю в отделе Features компании Badoo. Основная задача нашего отдела — разработка функционала, который видят пользователи нашего сайта и приложений. Когда мне попалась на глаза статья сооснователя Unsplash Люка Чессера, она заинтриговала меня тем, что им удаётся развивать сравнительно большой проект совсем маленькой командой. Подход автора импонирует мне своей прагматичностью и чем-то напомнил «Вы — не Google», поэтому я решил её перевести.


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

В обычный день наш API обрабатывает больше 10 млн. запросов от unsplash.com и тысяч сторонних приложений, через наш пайплайн обработки данных проходят миллионы событий, в наши ленты добавляются 60 млн. обновлений, и мы обслуживаем 60 млн. изображений.

В то же время наша команда сравнительно мала: два дизайнера, три человека, работающих с фронтендом, два — с бекендом и один дата-инженер. У нас нет отдельного DevOps-инженера, и каждый член команды тратит бОльшую часть своего времени на эксперименты и разработку новых фич для обеспечения дальнейшего развития продукта.
Читать дальше →
Всего голосов 48: ↑47 и ↓1 +46
Комментарии 3

(Почти) полгода спустя – срез мнений о бюджетных домашних проекторах Epson EH-TW610 и Epson EH-TW650. И ещё опрос

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

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


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


Ранее я уже рассказывал о самых бюджетных домашних full-hd-проекторах в линейке Epson – Epson EH-TW610 и Epson EH-TW650, которые появились в продаже в странах СНГ относительно недавно – в районе февраля этого года.


К настоящему моменту подробные обзоры этих проекторов были выложены на сайтах интернет-изданий CHIP, Obzor.one и Projectorworld.ru.


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

Всего голосов 10: ↑10 и ↓0 +10
Комментарии 40

Бухгалтерский учет для программистов

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

Введение


Занимаюсь автоматизацией бухгалтерского учета 17 лет. После универа поработал как программист бухгалтерской программы. Выяснилось, что есть спрос на программистов этой программы. Поменял одну работу, вторую. Начал брать заказы на стороне. Выяснилось (или показалось), что выполнять заказы выгоднее, чем получать зарплату. Стал частным предпринимателем. Выяснилось (или опять показалось), что продавать программу выгоднее, чем программировать. Стал дилером. Оказалось, что выгоднее всего – подписка на обновления и обслуживание. Возможно, еще выгоднее сделать веб-сервис для онлайн-бухгалтерии…

В ходе работы приходилось нанимать программистов и обучать основам бухгалтерского учета. Когда обучал программистов бухучету, мне нравилось за час рассказать им всю базовую теорию. Приятно срывать покровы сложности и таинственности. Оказывается, курсы бухгалтеров никому не нужны. Нет такой науки. Разве что набор терминов, в которых путаются сами бухгалтера…
Читать дальше →
Всего голосов 51: ↑51 и ↓0 +51
Комментарии 182

Экосистема Amazon Alexa — обзор всего, что может работать с Alexa Echo

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


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

Шутливые слова экспертов о том что скоро Алекса будет говорить из каждого утюга уже не кажутся преувеличением.

Всех заинтересованных прошу под кат этого лонгрида — много инфы и картинок.
Читать дальше →
Всего голосов 9: ↑8 и ↓1 +7
Комментарии 26

33 iOS библиотеки с открытым исходным кодом, которые будут популярны в 2017 году

Время на прочтение 5 мин
Количество просмотров 24K
Отличного пятничного настроения, друзья!
Сегодня мы приготовили для вас полезный перевод поста основателя Ecler Studios Paweł Białecki, в котором он предлагает нашему вниманию 33 open source проекта для iOS разработчиков.
С помощью своего аккаунта в GitHub он открыл для себя множество перспективных инструментов и отобрал, по его мнению, лучшие из них для своих читателей.


Читать дальше →
Всего голосов 32: ↑27 и ↓5 +22
Комментарии 15

Консоль разработчика Google Chrome: десять неочевидных полезностей

Время на прочтение 6 мин
Количество просмотров 227K
Как с помощью консоли разработчика превратить Google Chrome в подобие текстового редактора? Какой смысл в ней приобретает знакомый многим по jQuery значок $? Как вывести в консоль набор значений, оформленный в виде вполне приличной таблицы? Если сходу ответы на эти вопросы в голову не приходят, значит вкладка Console из инструментов разработчика Chrome ещё не раскрылась перед вами во всей красе.

image

На первый взгляд, перед нами – вполне обычная JavaScript-консоль, которая годится только на то, чтобы выводить в неё логи ответов серверов или значения переменных. Я, кстати, так ей и пользовался, когда только начал программировать. Однако, со временем набрался опыта, подучился, и неожиданно для себя обнаружил, что консоль Chrome умеет много такого, о чём я и не догадывался. Хочу об этом сегодня рассказать. Да, если вы читаете сейчас не на мобильнике, можете тут же всё это и попробовать.
Читать дальше →
Всего голосов 88: ↑83 и ↓5 +78
Комментарии 62

Фишинг на новом уровне: Cloudflare + Protonmail + Unvalidated Redirects – набор юного фишера

Время на прочтение 4 мин
Количество просмотров 15K
«… ты приходишь и просишь что-то у меня, но ты просишь без уважения …»
Вито Корлеоне

Фишинг все еще самый популярный и самый успешный тип хакерских атак. Все просто, атакуются не софт, не сервера, не сети, а самые уязвимые компоненты информационных систем – пользователи. Я часто встречаюсь с фишингом, как единичными, направленным на личные адреса, так и массовыми атаками. В большинстве случаев это неумело составленные письма и коряво сварганенные фишинг страницы. До недавнего времени большинство таких атак срывалось уже на уровне пользователей: письма или сразу игнорировались (так как признаки фишинга были очень явными) или, в худшем случае, письма перенаправлялись в службу поддержки с вопросом «безопасно ли вводить пароль на этой странице?». Конечно, какая-то часть пользователей все-таки попадалась, но в процентном соотношении это был реально минимум. Но буквально на прошлой неделе я столкнулся с фишинг атакой, уровень которой меня удивил. Я провел небольшой анализ, и выяснил как именно она была организована и какие инструменты были при этом использованы.
Читать дальше →
Всего голосов 23: ↑21 и ↓2 +19
Комментарии 15

Как мы обновили и переписали iOS-приложение банка «Открытие»: кейс

Время на прочтение 14 мин
Количество просмотров 24K
В жизненном цикле мобильного продукта рано или поздно наступает момент, когда нужно радикально обновиться. Потому что за время, прошедшее с запуска, выросли требования бизнеса и ожидания клиентов, изменились возможности платформы и средства разработки — и обновления становится невозможно реализовать путем “косметического ремонта”. В мире мобильных приложений жизненный цикл ПО составляет 2-3 года против 10-15 лет в обычном Enterprise-сегменте. Для нас с командой “Открытие Digital” момент радикального обновления мобильного банка настал в конце прошлого года.


Читать дальше →
Всего голосов 35: ↑32 и ↓3 +29
Комментарии 13

Я хочу, чтобы сайты открывались мгновенно

Время на прочтение 10 мин
Количество просмотров 139K
Здравствуйте, меня зовут Александр Зеленин и я веб-разработчик. Я расскажу, как сделать так, чтобы ваш сайт открывался быстро. Очень быстро.


Я хочу, чтобы мой сайт открывался быстро
Всего голосов 130: ↑122 и ↓8 +114
Комментарии 87

Налоговый суслик. Особенности упрощенной системы налогообложения при работе по договорам с Apple, Google и другими

Время на прочтение 46 мин
Количество просмотров 53K
В данной статье я постараюсь провести краткий юридический ликбез для разработчиков по некоторым положениям Гражданского кодекса, имеющим значение в контексте деятельности индивидуальных предпринимателей и организаций, применяющих упрощенную систему налогообложения, в работе по договорам с Apple, Google и другими компаниями, а также обратить внимание на некоторые не всегда очевидные налоговые нюансы, которые, как показал личный опыт изучения данной темы, довольно часто ускользают от внимания разработчиков или вызывают множество вопрос и споров.

Прочтите внимательно эту статью, если вы применяете упрощенную систему налогообложения с объектом налогообложения «доход» по ставке 6 процентов и продаете игры или приложения в Google Play, Apple App Store, а также прочий цифровой контент — например, 3D-модели — в Steam, Unity Asset Store или на других площадках, в условиях договоров с которыми фигурируют комиссии, агентские вознаграждения и прочие формы разделения выручки между сторонами.

Из материала вы узнаете:

  • Почему разработчику желательно обладать хотя бы базовой юридической грамотностью
  • Чем с точки зрения Гражданского кодекса являются игры и приложения и какие права на них есть у разработчиков помимо авторского права
  • Что такое агентский договор и почему все это важно при работе по договору с Apple или Google
  • Кто такой налоговый суслик и почему он может превратиться в пушного зверя
  • Какой «подвох» существует для применяющих «упрощенку» в части определения налоговой базы
  • Почему налог на добавленную стоимость (НДС) продолжает преследовать нас, даже когда мы не являемся его плательщиками
  • Как, с точки зрения Федеральной налоговой службы, облагаются НДС внутриигровые покупки (InApp Purchases)
Покажите мне суслика!
Всего голосов 40: ↑36 и ↓4 +32
Комментарии 84

Что такое HEPA-фильтр: принципы работы и неочевидные факты

Время на прочтение 6 мин
Количество просмотров 266K
Приветствуем вас в блоге компании Тион Умный микроклимат. Тема статьи — HEPA-фильтры.

Это высокоэффективные фильтры, главная цель которых – удалять из воздуха мелкодисперсные частицы, в том числе PM2.5 и PM10 (с диаметром менее 2,5 и 10 мкм соответственно). HEPA – это не бренд и не марка, а класс фильтров, который определяется международным и национальным стандартами ЕН 1822-1:2009 и ГОСТ Р ЕН 1822-1-2010.



Давайте посмотрим на HEPA-фильтр «с расстояния вытянутой руки», расскажем про принцип его работы и основные эффекты, благодаря которым происходит осаждение частиц на фильтре.
Читать дальше →
Всего голосов 62: ↑60 и ↓2 +58
Комментарии 70

Favicons, Touch Icons, Tile Icons и т. д. Что выбрать?

Время на прочтение 6 мин
Количество просмотров 153K
От переводчика.
Это перевод статьи Филипа Бернарда с сайта css-tricks.com. Часть статьи, содержащую описание работы с созданным им сервисом, я позволил себе опустить. Если вы найдете ошибки, просьба сообщить о них в личном сообщении.

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


Фавикон был представлен в 1999 году, в Internet Explorer 5 (источник) и стандартизирован W3C несколько месяцев спустя. Это была маленькая иконка, представляющая сайт.



С тех пор большинство настольных браузеров следуют тенденции и используют фавикон тем или иным способом. Это очень просто, не так ли? Создать маленькую картинку и добавить в любой интернет-проект, чтобы сделать его «завершённым». Ничего сложного.
Или нет?
Всего голосов 73: ↑71 и ↓2 +69
Комментарии 44

Пулы потоков: ускоряем NGINX в 9 и более раз

Время на прочтение 15 мин
Количество просмотров 87K
Как известно, для обработки соединений NGINX использует асинхронный событийный подход. Вместо того, чтобы выделять на каждый запрос отдельный поток или процесс (как это делают серверы с традиционной архитектурой), NGINX мультиплексирует обработку множества соединений и запросов в одном рабочем процессе. Для этого применяются сокеты в неблокирующем режиме и такие эффективные методы работы с событиями, как epoll и kqueue.

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

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

У медали есть и обратная сторона. Главной проблемой асинхронного подхода, а лучше даже сказать «врагом» — являются блокирующие операции. И, к сожалению, многие авторы сторонних модулей, не понимая принципов функционирования NGINX, пытаются выполнять блокирующие операции в своих модулях. Такие операции способны полностью убить производительность NGINX и их следует избегать любой ценой.

Но даже в текущей реализации NGINX не всегда возможно избежать блокировок. И для решения данной проблемы в NGINX версии 1.7.11 был представлен новый механизм «пулов потоков». Что это такое и как его применять разберем далее, а для начала познакомимся с нашим врагом в лицо.
Читать дальше →
Всего голосов 72: ↑71 и ↓1 +70
Комментарии 58

Загрузка и хранение фотографий в Web приложениях

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

Почему это важно?


На современных web сайтах объем картинок может составлять от 30% до 70% всего размера страницы. Например, объем изображений на Хабре обычно составляет несколько мегабайт.

размер фоток на странице

Большинство изображений в Web'e — это фотографии. Профильные фото в соц. сетях, альбом с телефона, профессиональные снимки и т.п. Правильная стратегия и инструменты для работы с фотографиями позволят сделать сайт быстрым для посетителей.
Читать дальше →
Всего голосов 35: ↑31 и ↓4 +27
Комментарии 83

Дайджест интересных материалов из мира Drupal #8

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

Самое интересное и полезное из мира Drupal за прошедшие 3 недели в нашем восьмом выпуске.

image
Читать дальше →
Всего голосов 22: ↑17 и ↓5 +12
Комментарии 1

Еще один способ узнать, кто залогинен на сайте, используя faye + redis

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

Проблема


Было приложение, использующее Ruby on Rails, и стандартный набор гемов (вроде devise). На одной из страниц необходимо было выводить информацию о текущих активных пользователях.

Решение


Первой же мыслью было при каждом запросе записывать в текущего юзера время этого самого запроса и, таким образом, зная таймаут сессии, можно было вычислить, кто активен, а кто нет. Но таймаут стоял порядка 15 минут, поэтому если вкладку просто закрыли — то он все еще будет «активным» на протяжении этого времени. Уменьшать таймаут сессии было нельзя. Да и вариант каждый раз обновлять запись в базе выглядел немного костыльно, учитывая, что одновременных активных юзеров было порядка 2к. Из самых быстрых и простых вариантов — реализация используя вебсокеты + redis.

Faye vs WebsocketRails


tldr; В итоге был выбран faye.

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

Плюсов у websocket-rails я не нашел, зато минусы были очевидные: последнее обновление было довольно давно, на каждое подключение открывался отдельный поток, что потенциально могло заддосить наш и так не очень мощный сервер. Faye в свою очередь работает через event machine и полностью асинхронный, плюс постоянно обновляется.
Читать дальше →
Всего голосов 9: ↑8 и ↓1 +7
Комментарии 12

Информация

В рейтинге
Не участвует
Откуда
Краснознаменск (Московская обл.), Москва и Московская обл., Россия
Зарегистрирован
Активность