Веб
Большой обзор красивых многоуровневых меню с codepen

Хабр, привет!
На Сodepen появляется много хороших решений от разных специалистов, и я считаю, что лучшие из них нужно собирать в одном месте. Поэтому 2 года назад начал сохранять у себя на компьютере интересные скрипты по разным тематикам.
Раньше я их выкладывал в группе продукта облачной IDE mr. Gefest, это были сборки из 5-8 решений. Но теперь у меня стало скапливаться по 15-30 скриптов в разных тематиках (кнопки, меню, подсказки и так далее).
Такие большие наборы следует показывать большему числу специалистов. Поэтому выкладываю их на Хабр. Надеюсь они будут Вам полезны.
Новая жизнь старой пагинации
Меня вот всегда напрягала необходимость при поиске чего-либо, каждый раз переключаться на следующую страницу. Хотелось как-то проще просматривать информацию, не отвлекаться на лишние телодвижения.
Если вам тоже хотелось «как-то проще» — тогда вам сюда. В статье хочу рассказать о новом, изобретенном, виде пагинации. Чтобы было понятно откуда растут ноги, вводной частью пущу небольшой рассказ о двух самых распространенных видах отображения контента. Их достоинства и недостатки. Потом перейду к сути.
Список полезных идей для высоконагруженных сервисов

1. Думайте своей головой и проверяйте факты
Это самое важное. Для вас не должно существовать безусловных авторитетов. Если кто-либо говорит полную чушь, или говорит что-то, что противоречит вашей практике — не прислушивайтесь к таким советам, и не важно, насколько этот человек известный и уважаемый. Если вы разрабатываете большую систему, и она не будет работать хорошо, то спрашивать будут с вас и в данном случае «мы следовали лучшим мировым практикам» оправданием не является. Умение применять нужные технологии в нужном месте и делает вас ценным специалистом, а не слепое следование чьим-то советам — для этого как раз квалификации не требуется.
4 слова
#пятничное
В нашей компании на данный момент есть три вакансии:
— Frontend-разработчик
— QA Инженер
— Младший UX/UI-дизайнер
И почти всю эту неделю мы проводим в нашем офисе собеседования кандидатов, некоторые из которых получаются довольно забавными. Например, один кандидат спросил, во что мы играем по локалке. На фоне этого в паблике ВК решили устроить небольшую развлекуху: «Провалите собеседование в компанию мечты (должность на выбор: фронтендер / бэкендер / дизайнер / сисадмин) с помощью 4 слов?». С первых минут в комментариях стало смешно — мы даже решили сделать небольшую подборку.
Как программисты-самоучки в реальности получают работу
Вопрос с Quora:
Как программисты-самоучки в реальности получают работу?
Мне 17 лет и я занимаюсь программированием с 14-ти. Основной упор на Java, я получил 5 баллов по предмету AP Computer Science. Я довольно хорошо разбираюсь в Java (синтаксис, основные классы, GUI/JFrame и т.д.) и неплохо знаком с HTML5 и CSS3. Кажется, мне не хватает многих знаний, чтобы реально претендовать на работу в индустрии (например, как работают СУБД и какую из них следует использовать), и мне интересно, как другие программисты изучают такие вещи. Я планирую пойти в колледж по специальности «Разработка программного обеспечения», но меня начинает расстраивать мысль, что колледж — необходимое условие, чтобы получить работу. Есть ли какие-то курсы, которые я пропустил, хотя должен был изучить их, или что-то другое, чего я не сделал?
Мой ответ:
Думаю, ты неправильно смотришь на вещи. Ты думаешь, что должен пройти курсы, чтобы кто-то другой дал ответы и научил тебя. С фундаментальной точки зрения программисты-самоучки действуют иначе.
У программиста-самоучки много общего с тем, кто самостоятельно научился игре на гитаре. Не знаю, играл ли ты когда-нибудь на гитаре, так что объясню, как происходит обучение.
Как легализовать рассылку клиентам

Недавно мы разместили в свободном доступе бесплатный образец Пользовательского соглашения для сайта. Теперь хотим рассказать, как на его основе легализовать новостную рассылку пользователям.
Каждый из нас сталкивается с проблемой СПАМа. Согласитесь, неприятно получать рассылку из неизвестных источников. С другой стороны, любой владелец сайта задавался вопросом, как донести сообщение до пользователя, минуя СПАМ-фильтры и корзину.
Помимо этого рассылки пользователям могут нарушать законодательство. Отметим минимум две проблемы:
- Закон «О рекламе» запрещает распространение рекламы по сетям электросвязи, в том числе Интернет при отсутствии предварительного согласия абонента или адресата на получение рекламы (ч.1 ст.18 ФЗ-38).
- Закон «О персональных данных» требует получение согласия субъекта персональных данных на обработку его персональных данных и регистрацию в Роскомнадзоре в качестве оператора персональных данных (п.1 ч.1 ст.6 и ч.1 ст.22 ФЗ-152).
Об ответственности за рассылку информация ниже, а сейчас о простом способе выкинуть страхи из головы и заняться делом.
Налоги при продаже приложений и рекламы Google

Продолжаем серию заметок о налогах при монетизации мобильных приложений на зарубежных площадках.
В прошлой статье Какие налоги нужно платить при выводе доходов от приложений в Apple iTunes мы кратко изложили алгоритм расчета налогов при получении дохода в iTunes Apple. Теперь предлагаем обсудить налоги с продаж приложений Google Play и рекламы Google AdSense.
Руководствоваться будем следующими договорами с Гугл, которые есть в официальном русском переводе на сайте корпорации:
- Соглашение Google Play о распространении программных продуктов
- Условия использования Google Play
- Условия использования Google AdSense
Подробности под катом.
Физтех запускает онлайн-курсы по высшей математике для подготовки к поступлению в магистратуру

Онлайн-курсы МФТИ по высшей математике предназначены для самостоятельной теоретической и практической подготовки к поступлению в магистратуру Физтеха и других ведущих технических университетов.
- Уже открыто обучение по курсам «Математический анализ — 1», «Аналитическая геометрия и линейная алгебра»;
- 1 декабря станут доступны курсы «Математический анализ — 2», «Дифференциальные уравнения» и «Теория вероятностей»;
- 31 декабря откроются курсы «Теория функций комплексного переменного» и «Уравнения математической физики».
Пробел в знаниях основ веб-разработки

У меня проблемы с поиском фронтенд-разработчика, в основном, по WP, Foundation, CSS, JS, на низкоуровневую позицию. Не могу понять, в чём дело. Ни у кого из кандидатов нет «базовых знаний» ничего из перечисленного. Но они могут делать сайты на React или других JS-фреймворках, или на базе WP-шаблонов. Но если я говорю, что нужно сделать простые изменения в CSS, смотрят пустыми глазами… Или какую-нибудь мелочь на чистом JS, ничего.Нет недостатка в учебных лагерях, курсах, полно ресурсов для изучения фронтенд-разработки. Но я собеседовал кучу ребят из этих учебных лагерей и думаю, что там серьёзно недооценивают важность CSS и основ JavaScript.
Конечно, есть ограничения на то, сколько можно усвоить за 12 недель обучения. Но огромная часть проблемы в том, что наша индустрия восхищается новым, одержима самыми последними и прекрасными SPA-фреймворками, в то же время обесценив CSS и «старые» имплементации.
Качественное уменьшение изображений за константное время
Хочу поделиться очень простым и эффективным методом ресайза изображении, который работает за константное время относительно размера исходного изображения и дает неожиданно качественный результат. Метод применим для любых языков и приложений.
Для начала давайте порассуждаем логически. Если вы делаете ресайз изображения, наверное вы хотите чтобы результат хотя бы отдаленно напоминал оригинал. Для этого нужно учесть как можно больше информации из исходного изображения. Вы слышали о методе «ближайшего соседа»? В этом методе для каждой точки конечного изображения просто берется какая-то одна точка из исходного изображения в неизменном виде.
Уменьшение изображения 4928×3280 до 256×170 ближайшим соседом.
Рекомендую смотреть примеры из статьи в браузере в масштабе 100% и без ретины. То есть по максимуму исключить ресайз при просмотре.
Результат не представляет ничего хорошего. Изображение дерганое, зернистое, даже трудно понять что на нем изображено. Особенно если на исходном изображении было много мелких деталей или оно само было зернистым. Почему так получается? Потому что в конечном изображении было учтено очень мало информации из исходного. Если условно отметить на исходном изображении те точки, которые попадают в конечное, получится вот такая сеточка:

Точки, которые попадут в конечное изображение размером 20×13.
Адаптивные email-письма без боли и страданий
В этой статье мы хотим поделиться с вами рецептами верстки красивого, на наш взгляд, и адаптивного письма, которое будет подстраиваться под экран вашего телефона даже в Gmail. А так же рассказать про нюансы, проблемы и тонкости, с которыми мы столкнулись в процессе его создания.
Что делать, если Instagram не дал доступ к API? Дополнение

Ни для кого не секрет, что самая популярная и прибыльная площадка для рекламы, бизнеса и прочего — Instagram. Почему им стал именно сервис, в котором по началу можно было загружать только картинки определённого размера (соотношение сторон имеется ввиду) и не было абсолютно ничего, что было в тогдашних соцсетях — совсем непонятно, но факт есть факт. Ввиду чего все стараются проникнуть на площадку Instagram и захватить оттуда наибольшее количество аудитории, и делают, это, конечно же, не вручную. А за этим следует, что Instagram жёстко блокирует доступ для ботов, спамеров и прочему, дабы сеть оставалась чистой.
- Самые полезные функции (постинг и удаление постов) доступны только из мобильного приложения Instagram, эмуляция запросов сложна, так как надо вытащить из приложения ключ, который с каждой новой версией обновляется.
- Web-версия обрезана, но радует, что в ней есть возможность лайкать, комментировать и удалять комментарии
- Есть API, но процедура его получения удручающе долгая и спамерам и ботам такой путь точно не светит. Плюс было много моментов, когда соглашения в API менялись, что не всегда удобно.
Как сделать число 100 из любого другого шестизначного числа
Прочитав его, я вспомнил как полгода назад решил такую же, но чуть более глобальную задачу. В этой статье я хотел бы поделиться своим способом решения и дать возможность «поиграться» с алгоритмом. Но сначала немного предыстории.
Предыстория
Давным давно, когда у людей не было смартфонов, в поездках на общественном транспорте каждый развлекал себя как умеет. Одним из таких способов не заскучать была занимательная игра, которая помогала не только скоротать поездку на автобусе, но и немного «расшевелить мозги». Звучит она так.
44 урока управления технарями
Немного об оригинальном тексте. Статья была написана в 2014 году в личном блоге автора, в октябре 2016 компания RethinkDB не смогла выйти в прибыль и закрылась, о чем на Хабре писали тут и тут, а Слава поразмышлял об этом здесь.
В комментариях к статье я бы хотел, чтобы читатели дали свою оценку этим урокам и высказали свое мнение по вопросу, который будет задан в конце статьи.

О выборе структур данных для начинающих

Часть 1. Линейные структуры
Массив
Когда вам нужен один объект, вы создаёте один объект. Когда нужно несколько объектов, тогда есть несколько вариантов на выбор. Я видел, как многие новички в коде пишут что-то типа такого:
// Таблица рекордов
int score1 = 0;
int score2 = 0;
int score3 = 0;
int score4 = 0;
int score5 = 0;
Это даёт нам значение пяти рекордов. Этот способ неплохо работает, пока вам не потребуется пятьдесят или сто объектов. Вместо создания отдельных объектов можно использовать массив.
// Таблица рекордов
const int NUM_HIGH_SCORES = 5;
int highScore[NUM_HIGH_SCORES] = {0};
Будет создан буфер из 5 элементов, вот такой:

Заметьте, что индекс массива начинается с нуля. Если в массиве пять элементов, то они будут иметь индексы от нуля до четырёх.
Как научить свою нейросеть анализировать морфологию
Недавно мы рассказывали про генератор стихов. Одной из особенностей языковой модели, лежащей в его основе, было использование морфологической разметки для получения лучшей согласованности между словами. Однако же у использованной морфоразметки был один фатальный недостаток: она была получена с помощью “закрытой” модели, недоступной для общего использования. Если точнее, выборка, на которой мы обучались, была размечена моделью, созданной для Диалога-2017 и основанной на закрытых технологиях и словарях ABBYY.
Мне очень хотелось избавить генератор от подобных ограничений. Для этого нужно было построить собственный морфологический анализатор. Сначала я делал его частью генератора, но в итоге он вылился в отдельный проект, который, очевидно, может быть использован не только для генерации стихов.
Вместо морфологического движка ABBYY я использовал широко известный pymorphy2. Что в итоге получилось? Спойлер — получилось неплохо.
7 выводов программиста самоучки за 1 год
67 полезных инструментов, библиотек и ресурсов для экономии времени веб-разработчиков

В данной статье я не буду вам рассказывать о больших веб-фреймворках, таких как React, Angular, Vue и т.д… не будет в ней и перечня наиболее популярных текстовых редакторов – Atom, VS Code, Sublime… В данной статье я поделюсь с вами инструментами, которые, по моему мнению, могут сделать рабочий процесс веб-разработчиков более простым и быстрым.
Вероятно, что кто-то из вас уже знаком с некоторыми такими инструментами. Тем не менее, будет очень круто, если кто-нибудь из читателей найдет что-то новое и полезное для себя в моей статье.
Ниже представлены различные веб-ресурсы, которые я разбил по группам для большего удобства.
Information
- Rating
- Does not participate
- Location
- Санкт-Петербург, Санкт-Петербург и область, Россия
- Registered
- Activity