Обложка канала

geeks content. Страница 3

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

  • geeks content

    А вот и немного контента от разработчика конструктора ботов: на видео наглядная разница преимуществ асинхронности в java (сначала асинхронный запрос, потом обычный). Напоминаю, что если хотите поучаствовать в движухах @leon4uk ради опыта и менторства, вы можете просто ему написать =)
  • geeks content

    Когда-то давно, когда разработка ботов под телеграм еще не была мейнстримом, я состряпал парсер доки телеграма и на основе него автоматически создавались таблицы в sqlite базе. Бот получал все подряд пакеты телеги и каждый парсился и разносился по таблицам. Через этого же бота я разрешил делать любой select запрос в базу, таким образом можно было, имея на руках доку телеграм ботов и знания sql, получать какую угодно информацию о сообщениях в чате.

    И вот сейчас я получил комментарий (на скриншоте), в котором речь о botmasterzzz.com
  • geeks content

    https://kod.ru/znamkamarada-hackaton-jan-2020/ "Глава ведомства после этого был уволен."
  • Реклама

  • geeks content

    Какая красота!!! Можно забить любой город и получить такую классную карту. Аж напечатать захотелось anvaka.github.io/city-roads/
  • geeks content

  • geeks content

    Меня попросили "простыми" словами рассказать про вычислительную сложность - вот эта вот буква O, после которой в скобках следует как правило n: O(n), O(n^2), O(log(n)), O(1). Единица - это, кстати, самое крутое, что может быть для алгоритма, грубо говоря это значит, что алгоритм выполняется сразу.

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

    В целом сложность алгоритма представляет из себя максимальное количество итераций вашего цикла или циклов в сумме. Например, если надо в массиве найти элемент со значением 7, то сложность такого поиска будет O(n):

    for (let i = 0; i < arr.length; i++) {
    if (arr[i] === 7) return true;
    }

    Если у вас цикл в цикле, например, тот же поиск числа в двумерном массиве, то перемножаете количество итераций обоих циклов и получается O(n * m), m - количество итераций второго цикла:

    for (let i = 0; i < arr.length; i++) {
    for (let j = 0; j < arr[i].length; j++) {
    if (arr[i][j] === 7) return true;
    }
    }

    На деле такое количество итераций будет только если элемента в массиве нет или он на последней позиции. Но учитываем всегда самый плохой вариант. У сортировки пузырьком 2 вложенных цикла над одним массивом, поэтому ее сложность O(n * n) = O(n^2).

    Вычислительная сложность обычно спрашивается на собеседованиях и объясняется в универах, после которых забывается. Но вот я (и не только) постоянно прикидываю сложность и учитываю ее у уже реализованных алгоритмов, например, метод Array.sort(). Вам тоже рекомендую - это не сложно.

    На фронте достаточно часто игнорирование сложности своего и чужих алгоритмов в обработчиках событий, таких как change, mousemove, mouseover приводит к торможениям.
  • geeks content

    Добавить темную тему в ваш проект проще, чем кажется. В Media Queries Level 5 существует запрос prefers-color-scheme, позволяющий прописать стили для проекта в зависимости от выбранной пользователем темы. Медиа-запрос поддерживается всеми популярными браузерами, за исключением IE и Edge. Фиддл с примером здесь: https://jsfiddle.net/jhem41r0/1/

    Так же можно добавить возможность переключения темы с помощью нативного JS. Пример здесь: https://jsfiddle.net/a53uornz/3/
    P.S.: Для корректной работы localStorage в фиддле javascript код был добавлен в html.
  • geeks content

    https://habr.com/ru/company/odnoklassniki/blog/480808/

    Серверный рендеринг, который делается как бы на джаве (graalvm), но пишется на javascript. Весьма себе интересный подход и удобный в случае, когда бэк на джаве.
  • geeks content

    Комментарий к предыдущему посту. Я потёк.
  • geeks content

    Самая большая боль веб-разработчика - это поддерживать Internet Explorer, например, восьмую версию. И вот этой боли уже почти не осталось. Недавно Microsoft отказалась от развития своего движка в пользу хромиума. Сейчас у фронтендеров, наверное, вообще сладкая жизнь пошла: async/await в javascript, flex в css, разрабатывать по сути надо только под хром и поддерживать мобильные разрешения. Над производительностью толком можно не заморачиваться, ибо железо у юзеров скрывает большинство пробелов в знаниях теории программирования у разработчиков.

    Собственно, к чему это. Наткнулся тут на понятия feature phone и KaiOS. Первое - это кнопочные телефоны, а второе - операционка (форк FirefoxOS) для них. На графиках мобильных браузеров и устройств KaiOS стала появляться с 2019 года: там какие-то один-два процента, вроде бы ерунда, но в Индии это уже вторая по популярности ОС после андроида. Также на википедии можно заметить следующее: "As of February 2018, KaiOS Technologies has partnered with Airfind, Facebook, Google, Twitter, Bullitt, Doro, HMD Global, Micromax, NXP, Spreadtrum, Qualcomm, Jio, Sprint, AT&T, T-Mobile, and Orange S.A."

    В общем, сейчас уже вижу хорошие предпосылочки к тому, что в будущем достаточно большие конторы захотят от своих разработчиков поддержки браузеров на KaiOS, так что вангую: скоро лафа закончится =)

    Проблема IE заключалась в том, что Microsoft на нее забили, с KaiOS ситуация будет немного другая, - ее будут развивать и поддерживать, поэтому вероятно будут адекватные средства для отладки, но feature phone подразумевает под собой слабое железо, что создаст сложности для открытия "тяжелых" сайтов.
    В связи с чем рекомендую начать задумываться над производительностью своего javascript-кода уже сейчас. В худшем случае ваши сайты станут чуть-чуть шустрее, в лучшем - вы будете готовы к поддержке слабых телефонов и вероятно ваш сайт будет хорошо открываться на таких устройствах еще до того, как ваше руководство об этом попросит ;)
  • geeks content

  • geeks content

    Просто туз крестей, который специально нарисовали для игрушек, да еще и в svg ❤️
  • geeks content

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

    https://meduza.io/feature/2019/12/25/poznakomtes-s-kruzhkom-eto-moskovskie-programmisty-kotorye-ezdyat-po-gorodam-i-derevnyam-rossii-besplatno-uchat-detey-kodingu-i-menyayut-ih-zhizn
  • geeks content

    Годный контент от подписчицы: https://jvns.ca/blog/how-tracking-pixels-work/ Вкратце: через обращение за картинкой в браузер запихивается кука на другой сайт (facebook, например) и при посещении этого сайта (facebook) идет сопоставление с вашим профилем.…
  • geeks content

    Годный контент от подписчицы: https://jvns.ca/blog/how-tracking-pixels-work/

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

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

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

  • geeks content

    https://www.kinopoisk.ru/media/news/4000147/

    "Представитель ведомства пояснил NBC News, что Ваканда появилась в списке во время тестирования работы сайта. Информация о вымышленной африканской стране должна была быть удалена после тестирования, но из-за ошибки программистов осталась на сайте. Сейчас упоминание Ваканды уже убрали."
  • geeks content

    По одному из предложений для игрушек замутил прототип, повторяющий логику Puzzle Game (android версия). То есть я почти полностью стянул у них логику. Таких игрушек по раскидыванию тетрисных блоков дофига разных, более популярные содержат в названии 1010. Переиграть там размеры поля, фигуры, количество очков за линию и уже не плагиат =)

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

    Мой текущий прототип написан полностью на js + html на быструю руку (весь код на странице). Как и во всех остальных игрушках пока что по завершении игры лучше перезагружать страницу (F5). С тачами есть запары на мобилах. На компе вполне себе играбельна.

    https://loh.biz/fun/puzzle.html
  • geeks content

    https://habr.com/ru/post/480956/

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