Telegram Web Link
В итоге меня раскусили и я иду js-разработчиком

Да простит меня Береснев, я как ни пытался, видимо, не системный администратор
Мы победили бюджет!
Сделал свой слайдер, потому что все мною найденные — не вариант, так как они либо на jQuery, что влечёт за собой лишние зависимости, которые не являются необходимыми в данном конкретном случае, либо недоступны с клавиатуры (нельзя в сфокусированном состоянии переключаться между слайдами с помощью стрелочек), это тоже не очень хорошо. Есть возможность поставить на паузу и продолжить по нажатию на пробел.

Абсолютно примитивный слайдер на нативном 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 часов суммарно.

Выглядит оно так, как показано на видео. Никаких сложностей, никакого дополнительного функционала.
Демо на кодпене:

https://codepen.io/kantegory/pen/NWqrzBw
Купил очки с фильтром синего света для снижения нагрузки на глаза от пользования компьютером и не всё с этим так гладко, как хотелось бы:

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
Стараюсь пробовать что-то новое для отслеживания своих финансов, наткнулся на кроссплатформенное приложение Monento (синхронизация между платформами обойдётся в 59 рублей ежемесячной подписки или 599 годовой).

В нём есть полная кастомизация категорий, теги и в целом довольно удобный интерфейс. Мне показалось, что оно немного подтормаживает, но пока это не доставляет особого дискомфорта. Собираюсь попользоваться для начала только на компьютере, а уже после, если оно меня устроит — оплатить подписку и пользоваться и на телефоне и на ноутбуке.
А вы используете финансовые трекеры?
Anonymous Poll
40%
Да
60%
Нет
Вчера вечером решил от нечего делать изучить наконец-то socket.io на node.js и написал чат на сокетах (который ещё и в качестве лабы теперь можно сдать).

Выглядит он очень просто, да и в таком простом приложении усложнять особо не хочется. Думаю, дополню ещё немного его функционал (добавлю редактирование, удаление сообщений и сохранение их в 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).
Если вам интересно, то при использовании протокола OpenPGP (https://ru.wikipedia.org/wiki/PGP) схема обмена сообщениями выглядит вот так:
Разобрался, как лучше хранить зашифрованные данные и настроил хранение сообщений в, пока что, не зашифрованном виде.

Зашифрованные сообщения будут храниться в коллекции в MongoDB, ключи тоже будут храниться в одной из коллекций, но зашифрованными с помощью пароля пользователя. Это решает сразу несколько проблем: не нужно пытаться придумывать, куда на клиенте сохранять ключи, да и это не особо безопасно. В общем, самый надёжный вариант : хранить всё на сервере в дважды зашифрованном виде.

Пароли, разумеется, тоже будут зашифрованы, но без использования OpenPGP.
Наконец-то понял, что лицензия в репозиториях на гитхабе — самая условная условность из всех условностей. Поэтому выдал её себе сам сразу на три репозитория, помимо прочего, наконец-то сегодня закончу практику и как только закончу — обязательно вкину скрины. Ждите новостей завтра.
2025/09/30 07:37:26
Back to Top
HTML Embed Code: