Как стать автором
Обновить
0
@npats2007read⁠-⁠only

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

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

C# как замена VBA в Excel

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров13K
Я довольно много пишу на C#, и это мне нравится. Время от времени мне хочется, чтобы можно было использовать C# внутри других приложений.

Думаю, одним из таких приложений, в которых хорошо приживётся C#, был бы Excel, этим языком можно было бы заменить VBA. Язык VBA уже немного отстаёт от времени, а Microsoft не планирует его апгрейдить. Вместо него — компания предлагает среду-песочницу для JavaScript под названием Office Scripts.

Я понимаю привлекательность JavaScript для веб-версии Excel, но не в качестве хорошей замены VBA.

Так как этим не собирается заниматься Microsoft, я решил, что могу попробовать сам. В конце концов, если Microsoft так увлечена JavaScript, маловероятно, что она выдавит меня с обширного рынка использования C# в Excel.

Итак, вот что я создал:

QueryStorm IDE, выполняющая запрос LINQ для таблицы Excel

«Это что, IDE языка C#, выполняющая запросы LINQ для таблиц Excel?» Именно. Всё так и есть.

Я назвал это QueryStorm. Моя работа над этим проектом началась ещё в 2014 году. Изначально у него имелась только поддержка SQL, и с тех пор я продолжал над ним работать, постепенно добавляя поддержку скриптинга на C#, пользовательских функций C#/Excel, поддержку NuGet, отладчик и даже магазин приложений!
Читать дальше →
Всего голосов 88: ↑87 и ↓1+86
Комментарии22

Установка Arch Linux на MacBook Pro с чипом T2 и организация двойной загрузки

Время на прочтение8 мин
Количество просмотров12K
MacBook Pro 2014 года, на котором у меня работала Invisible Arch Linux, наконец отошёл в мир иной. Это нанесло сокрушительный удар моим возможностям по эффективной разработке качественных программ. У запуска GNU/Linux на виртуальной машине, или у подключения по SSH к Termux, работающему на Android, есть определённая привлекательность. Но ничто не сравнится с операционной системой, работающей на настоящем железе. Ничто не сравнится. Поэтому пришло время в очередной раз пересмотреть процедуру организации двойной загрузки Arch Linux на MacBook Pro.



В прошлый раз, когда я подумывал об установке Arch на мой MacBook Pro с чипом T2, драйверы для клавиатуры и трекпада всё ещё находились на стадии активной разработки, поэтому я, в сущности, ничего достойного не добился. Но в декабре 2021 года эти драйверы оказались рабочими, а ещё обнаружилась целая вики, посвящённая установке Linux на компьютеры с чипом T2.

В этом материале я расскажу о том, как устанавливал Arch Linux на MacBook Pro. Он рассчитан на компьютеры 2019 или 2020 года выпуска.
Читать дальше →
Всего голосов 37: ↑35 и ↓2+33
Комментарии12

Установка обратного VPN: нет ничего проще

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров32K


Сейчас многие граждане РФ, которые находятся за границей, испытывают проблемы с доступом к некоторым российским ресурсам. По каким-то причинам несколько десятков российских сайтов запрещают доступ с IP-адресов за пределами РФ.

К счастью, эту проблему довольно легко решить, если поднять свой сервер внутри РФ и перенаправить трафик через него. Это так называемый «обратный VPN».

В принципе, его можно организовать на любом компьютере на территории РФ, который постоянно находится в онлайне и подключён к местному провайдеру. Как вариант, заказать услугу VPS за полтора доллара — и поднять систему на внешнем хостинге. И всё, считайте, что вы виртуально переехали обратно в РФ.
Читать дальше →
Всего голосов 52: ↑47 и ↓5+42
Комментарии60

Как стать VPN провайдером за один вечер

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров58K

Рассказываю о своём опыте использования Xray (с протоколом VLESS-Reality) - одного из лучших решений для преодоления интернет-цензуры на сегодняшний день. Я потратил много времени на то, чтобы разобраться с ним - теперь вам достаточно одного вечера, чтобы поднять свой сервер на несколько десятков пользователей, c xray на борту!

скрипт ex.sh для простой настройки и установки; есть поддержка Docker

легко добавлять пользователей; клиентские конфиги в форме url-ссылок

правильные конфиги: скрытность + удобство

трафик популярных российских сайтов идёт напрямую, a не через сервер

для xray есть приложения под все популярные ОС - делюсь инструкциями

только https, нет udp; торренты через сервер блокируются по возможности

мой проект на гитхабе: easy-xray

Интересны детали? Добро пожаловать под кат
Всего голосов 71: ↑70 и ↓1+69
Комментарии142

Как перевести деньги в Россию из Казахстана в феврале 2024 года

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров17K

Как перевести деньги в Россию из Казахстана в феврале 2024 года

Аналитика возможностей денежных переводов из Казахстана в Россию в начале 2024 года, на фоне санкций.

Читать далее
Всего голосов 13: ↑9 и ↓4+5
Комментарии14

Создание веб-приложения с использованием микрофронтендов и Module Federation

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров7.5K

Привет! В данной статье мы разберём процесс разработки веб-приложения на основе подхода микрофронтендов с использованием технологии Module Federation

Читать далее
Всего голосов 6: ↑4 и ↓2+2
Комментарии2

Пять простых шагов для понимания JSON Web Tokens (JWT)

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

jwt


Представляю вам мой довольно вольный перевод статьи 5 Easy Steps to Understanding JSON Web Tokens (JWT). В этой статье будет рассказано о том, что из себя представляют JSON Web Tokens (JWT) и с чем их едят. То есть какую роль они играют в проверке подлинности пользователя и обеспечении безопасности данных приложения.

Читать дальше →
Всего голосов 28: ↑24 и ↓4+20
Комментарии60

Безопасность REST API от А до ПИ

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

Введение


Умение реализовать грамотное REST API — полезный навык в наше время, т.к. все больше сервисов предоставляют свои возможности с помощью API. Но разработка REST API не ограничивается реализацией HTTP запросов в определенном стиле и формированием ответов в соответствии со спецификацией. Задача обеспечения безопасности REST API не так очевидна, как, например, обеспечение безопасности баз данных, но ее необходимость не менее важна.
В настоящее время многие онлайн системы с помощью API передают приватные данные пользователей, такие как медицинские или финансовые. Текущая же ситуация с безопасностью в веб-приложениях весьма печальна: по данным Comnews порядка 70% содержат кри­тичес­кие уязвимости. Поэтому всем, кто участвует в проектировании, реализации и тестировании онлайн систем, важно иметь общую картину по существующим угрозам и способам обеспечения безопасности как всей системы, так и используемого REST API.

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

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

Создайте свой сервер AWS S3 с открытым кодом

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


Amazon S3 (Simple Storage Service, сервис простого хранилища) — очень мощный онлайн сервис файлового хранилища, предоставляемого Amazon Web Services. Думайте о нем, как об удаленном диске, на котором вы можете хранить файлы в директориях, получать и удалять их. Компании, такие как DropBox, Netflix, Pinterest, Slideshare, Tumblr и многие другие, полагаются на него.

Хоть сервис и отличный, его код не открыт, поэтому вы должны доверять Amazon свои данные, и хоть они предоставляют доступ к бесплатному инстансу на год, вы все равно должны ввести информацию о кредитной карте для создания аккаунта. Т.к. S3 должен знать каждый инженер-программист, я хочу, чтобы мои студенты приобрели опыт работы с ним и использовали его в своих веб-приложениях, и еще я не хочу, чтобы они за это платили. Некоторые студенты также работают во время поездок, что означает медленное Интернет-соединение и дорогой трафик, либо вообще полное отсутствие Интернета.
Читать дальше →
Всего голосов 13: ↑10 и ↓3+7
Комментарии12

Поиск объектов на изображении. Часть 2

Уровень сложностиСложный
Время на прочтение3 мин
Количество просмотров5K

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

Шаг 7: Определение регионов интереса

Один из основных факторов, влияющих на работу нашего алгоритма, - это определение регионов интереса на изображении. Мы выделили три области на столе с картами: боковую, среднюю и нижнюю области.

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

Шаг 8: Оптимизация

Мы улучшили метод process_screen класса ScreenCapture, добавив этот функционал. Обновленный код метода выглядит следующим образом:

Читать далее
Всего голосов 3: ↑1 и ↓2-1
Комментарии0

Что такое SpeedTab и как им пользоватся

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров3.1K

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

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

В этой публикации я покажу как использовать библиотеку SpeedTab на нескольких примерах.

Читать далее
Всего голосов 6: ↑6 и ↓0+6
Комментарии3

Как делать full-stack с одного устройства без СМС и регистрации

Уровень сложностиСредний
Время на прочтение7 мин
Количество просмотров12K

Как крутить 2 сервера с белыми IP одного компа, и попутно разрабатывать Telegram Web Apps  на Bot API 6.7. Фронт + бэк на примере веб приложения внутри телеграм React + Fast-api.

Читать далее
Всего голосов 9: ↑4 и ↓5-1
Комментарии5

Новинки CSS и UI: I/O 2023

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров13K


Последние несколько месяцев открыли золотую эру веб UI (User Interface — пользовательский интерфейс).


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


  • запросы контейнера (container queries);
  • запросы стиля (style queries);
  • селектор :has();
  • микросинтаксис nth-of;
  • text-wrap: balance;
  • initial-letter;
  • динамические единицы измерения области просмотра (viewport);
  • цветовые пространства с широкой гаммой;
  • color-mix();
  • вложенность селекторов (nesting);
  • каскадные слои (cascade layers);
  • стили с ограниченной областью видимости (scoped styles);
  • тригонометрические функции;
  • индивидуальные свойства трансформации;
  • popover;
  • позиционирование якоря (anchor positioning);
  • selectmenu;
  • дискретные свойства переходов;
  • анимации, управляемые прокруткой (scroll-driven animations);
  • переходы отображения (view transitions).

Руководства, шпаргалки, вопросы и другие материалы по JavaScript, TypeScript, React, Next.js, Node.js, Express, Prisma, GraphQL, Docker и другим технологиям, связанным с разработкой веб-приложений.

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

Как проводить кодревью?

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров12K

На работе предложили прочитать доклад. Вуаля! Далее расскажу:

✓ Что такое кодревью?
✓ Зачем нужен?
✓ Что проверяем?
✓ Типовые проблемы & решения
БОНУС!!! Результаты опроса: «Как вы делаете кодревью?»

Читать далее
Всего голосов 13: ↑7 и ↓6+1
Комментарии7

Как развернуть свой Wireguard VPN сервер с WEB-интерфейсом за одну команду

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров49K

WireGuard является одним из наиболее популярных и простых в использовании VPN-решений, предоставляющих безопасное сетевое соединение. Если вы ищете быстрый и простой способ развернуть собственный VPN-сервер WireGuard с WEB-интерфейсом, то Docker-контейнер представляет отличное решение. В этой статье мы рассмотрим, как установить и запустить Docker-контейнер WireGuard с WEB-интерфейсом за одну команду, а также как подключиться к нему с различных устройств.

Исходники

Читать далее
Всего голосов 10: ↑2 и ↓8-6
Комментарии20

Redux-saga: обзорная экскурсия

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров11K

Сегодня я бы хотел рассказать о библиотеке redux-saga. Она уже достаточно давно используется во frontend-программировании, но не является интуитивно понятной, что может помешать начинающим разработчикам освоить её быстро и начать применять в своих проектах. В данной статье я максимально просто постараюсь объяснить максимально основные принципы этой технологии и некоторые полезные возможности. Намеренно отказываюсь от сравнительного анализа в пользу одних либо других технологий, т.к. выбор — это личное дело каждого, но чтобы его сделать, необходимо обладать определёнными знаниями.

В статье используются специализированные термины, поэтому предполагается, что вы имеете общее представление о React, Redux, генераторах и итераторах из ES6.

Из официальной документации следует, что redux-saga — это библиотека, которая ориентирована на упрощение и улучшение работы с сайд-эффектами (side-effects, любыми взаимодействиями с внешней средой, например, запрос на сервер) и облегчение их тестирования. В redux сага — это middleware (слой, работающий с момента диспатча (dispatch) экшена (action) и до обработки его редьюсером (reducer)), который может запускаться, останавливаться и отменяться из основного приложения с помощью обычных действий redux. Библиотека использует такое понятие ES6 как генераторы (Generators), и благодаря этому наши асинхронные потоки выглядят как обычный синхронный код.

Читать далее
Всего голосов 4: ↑3 и ↓1+2
Комментарии1

Как написать свой первый UI автотест. Используем Python, Pytest и Playwright

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

Разбираем процесс создания UI автотестов на python с самого нуля.

В этой статье установим Python и PyCharm. Начнем пользоваться GitHub, автоматизируем работу в браузере, найдем локаторы. В результате получим работающий автотест.

Инструкция подходит для начинающих специалистов по автоматизации тестирования.

Читать далее
Всего голосов 5: ↑3 и ↓2+1
Комментарии11

Защищаем SSH от брутфорса на любом порту

Время на прочтение3 мин
Количество просмотров112K
Сегодня меня заинтересовал опрос надо ли перевешивать SSH на нестандартный порт. Сам опрос не так интересен как способ автора zivot_je_cudo защищать SSH от подбора пароля: после неверной попытки подключения блокировать новые попытки в течение 20 секунд. Задержка, видимо, выбрана эмпирически, исходя их двух противположных пожеланий: чтобы не заблокировать в случае опечатки себя надолго, и в тоже время усложнить жизнь подбиральщика. Я хочу поделиться своим способом противодействия брут-форсу, который применяю уже несколько лет. Он имеет два преимущества:
— дает мне больше попыток для набора правильного пароля
— но при этом блокирует брутфорсеров «навечно».

Как можно достичь этих двух противоположных целей?
Читать дальше →
Всего голосов 114: ↑106 и ↓8+98
Комментарии139

Что выбрать для очередного API: HTTP или gRPC

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


Команда VK Cloud перевела статью с подробным техническим сравнением двух типов API: HTTP и gRPC. Автор рассказывает о своем опыте работы и описывает нюансы, преимущества и недостатки каждой технологии.
Читать дальше →
Всего голосов 41: ↑35 и ↓6+29
Комментарии9

CLI инструменты, которые облегчат времяпровождение в терминале и сделают его приятнее

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

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

В этом посте описан мой топ-25 обязательных инструментов CLI, на которые я привык полагаться. Если тут нет вашего любимого - дайте мне знать в комментариях :)

Читать далее
Всего голосов 114: ↑107 и ↓7+100
Комментарии83
1
23 ...

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность