В итоге меня раскусили и я иду js-разработчиком
Да простит меня Береснев, я как ни пытался, видимо, не системный администратор
Да простит меня Береснев, я как ни пытался, видимо, не системный администратор
Сделал свой слайдер, потому что все мною найденные — не вариант, так как они либо на jQuery, что влечёт за собой лишние зависимости, которые не являются необходимыми в данном конкретном случае, либо недоступны с клавиатуры (нельзя в сфокусированном состоянии переключаться между слайдами с помощью стрелочек), это тоже не очень хорошо. Есть возможность поставить на паузу и продолжить по нажатию на пробел.
Абсолютно примитивный слайдер на нативном javascript, доступный с клавиатуры и семантически максимально приближенный к верному (есть две версии: https://codepen.io/kantegory/pen/oNXbgor тут 4 элемента в одном слайде, https://codepen.io/kantegory/pen/BaNjNqO — версия с котиками).
Абсолютно примитивный слайдер на нативном javascript, доступный с клавиатуры и семантически максимально приближенный к верному (есть две версии: https://codepen.io/kantegory/pen/oNXbgor тут 4 элемента в одном слайде, https://codepen.io/kantegory/pen/BaNjNqO — версия с котиками).
This media is not supported in your browser
VIEW IN TELEGRAM
К нам на работу присылают тестовые задания желающие устроиться на позицию JS-разработчика и я, как JS-разработчик проверяю их: смотрю код, провожу UI/UX-тестирование и пишу подробные аудиты по увиденному.
Само тестовое заключается в том, чтобы сделать todo-list на JS, можно использовать любые библиотеки и фреймворки и сегодня, проверяя очередное (уже четвёртое по счёту) я снова задался вопросом: "а что вообще такого сложного в том, чтобы это сделать?".
Я делал что-то близкое к todo-list'у на Vue.JS ещё в прошлом семестре, но это не совсем то, поэтому я решил попробовать написать минимально возможное работающее веб-приложение, ограниченное набором самых необходимых функций (добавление, редактирование, отмеченное выполненным, удаление) без использования фреймворков.
У меня ушло 3 часа 12 минут, ну и около 30 минут на мелкие доработки. То есть в районе 4 часов суммарно.
Выглядит оно так, как показано на видео. Никаких сложностей, никакого дополнительного функционала.
Само тестовое заключается в том, чтобы сделать todo-list на JS, можно использовать любые библиотеки и фреймворки и сегодня, проверяя очередное (уже четвёртое по счёту) я снова задался вопросом: "а что вообще такого сложного в том, чтобы это сделать?".
Я делал что-то близкое к todo-list'у на Vue.JS ещё в прошлом семестре, но это не совсем то, поэтому я решил попробовать написать минимально возможное работающее веб-приложение, ограниченное набором самых необходимых функций (добавление, редактирование, отмеченное выполненным, удаление) без использования фреймворков.
У меня ушло 3 часа 12 минут, ну и около 30 минут на мелкие доработки. То есть в районе 4 часов суммарно.
Выглядит оно так, как показано на видео. Никаких сложностей, никакого дополнительного функционала.
@davidobryakov
К нам на работу присылают тестовые задания желающие устроиться на позицию JS-разработчика и я, как JS-разработчик проверяю их: смотрю код, провожу UI/UX-тестирование и пишу подробные аудиты по увиденному. Само тестовое заключается в том, чтобы сделать todo…
Репозиторий (вдруг кому-то интересно): https://github.com/kantegory/to-do-vanillajs
GitHub
kantegory/to-do-vanillajs
Simple minimalistic to-do, works on Vanilla.JS. Contribute to kantegory/to-do-vanillajs development by creating an account on GitHub.
Купил очки с фильтром синего света для снижения нагрузки на глаза от пользования компьютером и не всё с этим так гладко, как хотелось бы:
1) Глаза устают даже сильнее, но есть вероятность, что это я ещё не привык (всё-таки я раньше никогда не носил очки).
2) Ощущение, что в них есть диоптрии, хотя это не так (судя по инструкции и тем людям, которые носят очки с диоптриями).
В общем, ждите через недельку развёрнутый отзыв, пока что пытаюсь к ним привыкнуть и надеваю на примерно час в день.
P. S. давно меня не было, почти месяц, но теперь всё снова вернётся на круги своя, ждите вечером новостей по поводу и без повода!
1) Глаза устают даже сильнее, но есть вероятность, что это я ещё не привык (всё-таки я раньше никогда не носил очки).
2) Ощущение, что в них есть диоптрии, хотя это не так (судя по инструкции и тем людям, которые носят очки с диоптриями).
В общем, ждите через недельку развёрнутый отзыв, пока что пытаюсь к ним привыкнуть и надеваю на примерно час в день.
P. S. давно меня не было, почти месяц, но теперь всё снова вернётся на круги своя, ждите вечером новостей по поводу и без повода!
🤡1
Forwarded from Веб-стандарты (Веб-стандарты)
Вышел официальный мобильный клиент GitHub для Android и iOS. Среди возможностей: ишью, пулреквесты, код-ревью, уведомления и обязательная тёмная тема — https://github.com/mobile
Google Play https://play.google.com/store/apps/details?id=com.github.android
App Store https://apps.apple.com/app/id1477376905
Google Play https://play.google.com/store/apps/details?id=com.github.android
App Store https://apps.apple.com/app/id1477376905
Стараюсь пробовать что-то новое для отслеживания своих финансов, наткнулся на кроссплатформенное приложение Monento (синхронизация между платформами обойдётся в 59 рублей ежемесячной подписки или 599 годовой).
В нём есть полная кастомизация категорий, теги и в целом довольно удобный интерфейс. Мне показалось, что оно немного подтормаживает, но пока это не доставляет особого дискомфорта. Собираюсь попользоваться для начала только на компьютере, а уже после, если оно меня устроит — оплатить подписку и пользоваться и на телефоне и на ноутбуке.
В нём есть полная кастомизация категорий, теги и в целом довольно удобный интерфейс. Мне показалось, что оно немного подтормаживает, но пока это не доставляет особого дискомфорта. Собираюсь попользоваться для начала только на компьютере, а уже после, если оно меня устроит — оплатить подписку и пользоваться и на телефоне и на ноутбуке.
К слову, о нынешней ситуации в мире:
https://echo.msk.ru/blog/potekhinalex/2608326-echo/
Очень чётко описывает моё видение.
https://echo.msk.ru/blog/potekhinalex/2608326-echo/
Очень чётко описывает моё видение.
Эхо Москвы
«Чует мое сердце, что мы накануне грандиозного шухера»
К счастью, дети почти не болеют, хотя переносить вирус бессимптомно могут. Здоровые взрослые люди, скорее всего, перенесут инфекцию «на ногах», кто-то немного потемпературит, кто-то переболеет, как хорошим гриппом… / Новости
Вчера вечером решил от нечего делать изучить наконец-то socket.io на node.js и написал чат на сокетах (который ещё и в качестве лабы теперь можно сдать).
Выглядит он очень просто, да и в таком простом приложении усложнять особо не хочется. Думаю, дополню ещё немного его функционал (добавлю редактирование, удаление сообщений и сохранение их в localStorage, чтобы брать их потом оттуда же).
Выглядит он очень просто, да и в таком простом приложении усложнять особо не хочется. Думаю, дополню ещё немного его функционал (добавлю редактирование, удаление сообщений и сохранение их в localStorage, чтобы брать их потом оттуда же).
@davidobryakov
Купил очки с фильтром синего света для снижения нагрузки на глаза от пользования компьютером и не всё с этим так гладко, как хотелось бы: 1) Глаза устают даже сильнее, но есть вероятность, что это я ещё не привык (всё-таки я раньше никогда не носил очки).…
Уже почти неделю (в прошлое воскресенье они у меня появились) пользуюсь очками и всё, что могу сказать сейчас: видимо, глаза уже потихоньку привыкают и я практически не ощущаю никакой дополнительной боли/нагрузки. Картинку на экране они делают чуть более жёлтой, но это намного менее заметно, чем при той же "ночной подсветке", которая, как мне кажется — имеет мало общего с реальным снижением нагрузки на глаза, хотя они и меньше от этого болят.
В общем, пока что меня всё устраивает и если вы себе такие хотели, то смело покупайте, но не забывайте о том, что для привыкания необходимо какое-то время (мне хватило дней четырёх, но думаю — у каждого индивидуально).
В общем, пока что меня всё устраивает и если вы себе такие хотели, то смело покупайте, но не забывайте о том, что для привыкания необходимо какое-то время (мне хватило дней четырёх, но думаю — у каждого индивидуально).
@davidobryakov
Вчера вечером решил от нечего делать изучить наконец-то socket.io на node.js и написал чат на сокетах (который ещё и в качестве лабы теперь можно сдать). Выглядит он очень просто, да и в таком простом приложении усложнять особо не хочется. Думаю, дополню…
В планах сделать end-to-end rsa-шифрование, уже подключил для хранения сообщений MongoDB.
Работать это будет следующим образом: на клиенте сохраняется пара ключей: публичный и секретный. Секретный нужен для шифровки, публичный — для дешифровки. Все сообщения будут храниться в БД в зашифрованном виде, при начале общения два пользователя обмениваются публичными ключами. Помимо этого нужно хранить массив переписок (пиров) между пользователями. Чтобы пользователь А отправлять сообщению пользователю Б и это отображалось только в контексте их переписки. Это позволит сделать и многопользовательский чат, в котором суть будет такая же. Все члены одной беседы обмениваются публичными ключами и имеют доступ к сообщениям всех. В общем, примерно так и работают секретные чаты в том же telegram и все чаты в WhatsApp (в безопасности которого, разумеется, всегда нужно усомняться).
Ещё до конца не придумал, как точно буду хранить ключи на клиенте, но из версий: сохранять статичный файл в формате JSON в домашнюю директорию пользователя, либо хранить их в cookies, но это не самое безопасное решение. Можно ещё завести хранение сессий в Redis, чтобы держать их там, но в таком случае, они всё же будут храниться на сервере, что может вызывать вопросы со стороны пользователей.
Для шифрования буду использовать готовый npm-пакет node-rsa, для связи с сервером MongoDB использую npm-пакет MongoDB.
UPD: провёл небольшое исследование и понял, что вместо node-rsa и переизобретения end-to-end шифрования можно использовать готовые npm-пакеты (например, https://www.npmjs.com/package/endcrypt или https://www.npmjs.com/package/openpgp).
Работать это будет следующим образом: на клиенте сохраняется пара ключей: публичный и секретный. Секретный нужен для шифровки, публичный — для дешифровки. Все сообщения будут храниться в БД в зашифрованном виде, при начале общения два пользователя обмениваются публичными ключами. Помимо этого нужно хранить массив переписок (пиров) между пользователями. Чтобы пользователь А отправлять сообщению пользователю Б и это отображалось только в контексте их переписки. Это позволит сделать и многопользовательский чат, в котором суть будет такая же. Все члены одной беседы обмениваются публичными ключами и имеют доступ к сообщениям всех. В общем, примерно так и работают секретные чаты в том же telegram и все чаты в WhatsApp (в безопасности которого, разумеется, всегда нужно усомняться).
Ещё до конца не придумал, как точно буду хранить ключи на клиенте, но из версий: сохранять статичный файл в формате JSON в домашнюю директорию пользователя, либо хранить их в cookies, но это не самое безопасное решение. Можно ещё завести хранение сессий в Redis, чтобы держать их там, но в таком случае, они всё же будут храниться на сервере, что может вызывать вопросы со стороны пользователей.
Для шифрования буду использовать готовый npm-пакет node-rsa, для связи с сервером MongoDB использую npm-пакет MongoDB.
UPD: провёл небольшое исследование и понял, что вместо node-rsa и переизобретения end-to-end шифрования можно использовать готовые npm-пакеты (например, https://www.npmjs.com/package/endcrypt или https://www.npmjs.com/package/openpgp).
Если вам интересно, то при использовании протокола OpenPGP (https://ru.wikipedia.org/wiki/PGP) схема обмена сообщениями выглядит вот так:
Разобрался, как лучше хранить зашифрованные данные и настроил хранение сообщений в, пока что, не зашифрованном виде.
Зашифрованные сообщения будут храниться в коллекции в MongoDB, ключи тоже будут храниться в одной из коллекций, но зашифрованными с помощью пароля пользователя. Это решает сразу несколько проблем: не нужно пытаться придумывать, куда на клиенте сохранять ключи, да и это не особо безопасно. В общем, самый надёжный вариант : хранить всё на сервере в дважды зашифрованном виде.
Пароли, разумеется, тоже будут зашифрованы, но без использования OpenPGP.
Зашифрованные сообщения будут храниться в коллекции в MongoDB, ключи тоже будут храниться в одной из коллекций, но зашифрованными с помощью пароля пользователя. Это решает сразу несколько проблем: не нужно пытаться придумывать, куда на клиенте сохранять ключи, да и это не особо безопасно. В общем, самый надёжный вариант : хранить всё на сервере в дважды зашифрованном виде.
Пароли, разумеется, тоже будут зашифрованы, но без использования OpenPGP.
Наконец-то понял, что лицензия в репозиториях на гитхабе — самая условная условность из всех условностей. Поэтому выдал её себе сам сразу на три репозитория, помимо прочего, наконец-то сегодня закончу практику и как только закончу — обязательно вкину скрины. Ждите новостей завтра.