Как стать автором
Обновить

Разработка

Сначала показывать
Порог рейтинга
Уровень сложности

Менеджмент собак и людей

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

Мои фантазийные размышления, после прочтения “Гладь, люби, хвали” за авторством Насти Бобковой и Нади Пироговой. Будут дельные цитаты из книги. Мои размышления и параллели с офисной работой. Картинки. Ссылки, что почитать. И всё это под вкусный чаёк или кофеёк, который, я надеюсь, вы себе уже налили.

Погнали!

Читать далее
Рейтинг 0
Комментарии 0

Новости

Как стать хакером для «самых маленьких»

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

Добрый вечер ребята, листая хабр я заметил тенденцию к отсутствию качественного, авторского, и связанного с IT контента, поэтому расскажу о том кто такой хакер, опишу несколько приёмов читерства, и попробую дать представление об этом легендарном термине (разумеется в рамках моих способностей).

Взломать пентагон
Всего голосов 7: ↑0 и ↓7 -7
Комментарии 4

Сервис проверки пользовательских файлов «powered by pytest»: нужно повозиться, но оно того стоит

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

Возникла задача проверки нескольких типов пользовательских документов Excel. Проверка должна покрывать такие аспекты как корректность шаблона (наличие ожидаемых страниц, колонок таблиц) и корректность данных (присутствие обязательных значений, корректность значений точки зрения форматов, отсутствие дубликации, итд).

Пользователю нужно возвращать информацию "что не так с файлом": какую проверку не прошел файл и где конкретно в файле проблемные данные.

Эта задача - про качество данных и очень напоминает тестирование. Так почему не использовать фреймворк тестирования pytest, и не написать тесты на каждый проверяемый аспект и для каждого типа файлов? Однако, есть небольшое "но". проверка должна быть реализована в качестве сервиса, чтобы встраиваться в более широкий процесс обработки пользовательских документов.

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

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

Недооцененный паттерн «Спецификация» в связке с паттерном «Репозиторий»

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

Использование спецификации открыло для меня новый мир в создании приложений.

Репозитории предоставляют удобное решение для доступа к данным.

Однако за многолетний опыт разработки, побывав в нескольких компаниях, сменив кучу проектов я НЕ ВСТРЕЧАЛ паттерн "Спецификация" совместно с паттерном "Репозиторий".

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

Истории

Все дороги ведут к простым числам. Таинственная история поиска самых совершенных чисел в мире

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

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

В одной из таких загадок, как в зеркале, отражается вся история математики. Эта загадка связана с рядом чисел, которые ещё в глубокой древности называли «совершенными». Последующие поколения математиков добавляли в копилку знаний человечества новые числа этого ряда. Процесс ещё не окончен, поиски продолжаются. Кроме того, с совершенными числами связано много тайн и неразрешённых до сих пор загадок. Что же в них такого особенного?

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

Компоновка аннотаций в Spring

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

Привет Хабр! Совсем недавно, в процессе разработки на Spring я столкнулся с невероятным количеством бойлерплейт-кода в аннотациях. Решение сделать с этим что-то было принято мгновенно и вот что из этого вышло...

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

Исследователи заставили ChatGPT процитировать данные, на которых он учился

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

Несколько похожая, но иная атака от @andrewmccalip

Научная работа «Scalable Extraction of Training Data from (Production) Language Models» (arXiv:2311.17035) анализирует извлечение данных датасетов обучения из различных языковых моделей. Исследователи проверили как локальные модели, так и коммерческое решение от OpenAI. С помощью атаки на выравнивание удалось заставить ChatGPT процитировать данные, на которых обучали GPT-3.5.
Читать дальше →
Всего голосов 25: ↑24 и ↓1 +23
Комментарии 9

TypeScript: операции Union и Intersection в свете теории множеств

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

Недавно мне задали вопрос «почему пересечение в TS работает не как в теории множеств, а совсем наоборот?»

Озадачился, задумался и стал разбираться, как согласуются, и согласуются ли вообще операции «объединение» и «пересечение» в TypeScript и в теории множеств? И действительно ли пересечение в TS работает прямо противоположно?

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

HappyX vs Karax: что проще?

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

Хотите узнать, как с помощью Nim создавать клиентские веб-приложения?

В этой статье я расскажу вам о веб-фреймворках в Nim и их возможностях, а также приведу примеры в сравнении друг с другом и другими фреймворками.

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

Будущее AI в разработке ПО – интервью с CPO GitHub

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

Два дня назад вышло интересное интервью с CPO GitHub Инбал Шани от Ленни Рачински. Так как GitHub со своим Copilot для разработчиков – один из лидеров внедрения инноваций в кодинг, захотелось законспектировать основные мысли.

Итак, вот они:
Всего голосов 5: ↑1 и ↓4 -3
Комментарии 20

1С-Битрикс. Ядро d7 в работе с элементами инфоблоков

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

Как можно получать элементы инфоблоков в 1С-Битрикс в ядре d7?

У \CIBlockElement::getList(), на первый взгляд, есть свои преимущества, она задокументирована, о ней много статей на форумах. Её дебагинг уже разобран подробно за время существования CMS. Замечу, что существует ряд задач, для решения которых она не годится. Эта функция в нынешних реалиях разработки встретится даже начинающему программисту довольно быстро. Но какие есть альтернативы?

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

Краткий обзор техник векторизации в NLP

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

Как переводчик-редактор, я интересуюсь темой NLP и автоматизации рутины бюро переводов. Изучая вопрос того, как смысл слов превращается в векторы, наткнулся на эту обзорную статью. Статья мне показалась изложенной доступно, поэтому я перевел ее для удобства других коллег. Работоспособность большей части кода проверял, вроде работает (см. Jupiter Notebook). Надеюсь, будет полезно.

===

Технологии NLP — Natural Language Processing, обработки естественного языка — позволяют компьютерам обрабатывать человеческий язык, понимать его значение и контекст, а также связанные с ним эмоциональную окраску и намерения, и далее, использовать эти данные для создания чего-то нового.

Как сделать слова понятными для компьютеров? Используется векторизация. Рассмотрим несколько техник такой векторизации.

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

Искусственный интеллект GPT и скрипты Микротик

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 3.2K
Я не профессиональный программист и не специалист IT, но увлекался программированием с юности, когда мы писали на Бейсике и Ассемблере для первого советского персонального компьютера ПЭВМ АГАТ и даже умудрились оставить определенный след в его истории.

С того времени утекло много воды, я получил другую профессию, но увлечение своё полностью не оставил (я стал врачом и работаю по специальности с 2000 г., но оно помогает мне в работе всю жизнь). В 2013 году возникла необходимость «провести интернет» в загородный дом. Тогда то, я и познакомился впервые с роутерами Микротик. В сетевых технологиях я, на то время не знающий что такое IP-адрес (условно), возможно, не сильно продвинулся выше начального уровня (да и не было необходимости в сложных настройках Микротик), а вот программирование на скриптовом, Lua-подобном, языке Роутер ОС почему-то захватило меня целиком, даже временно в ущерб основной работе в каких-то аспектах. Конечно, до профессионального уровня я, самоучка, не дошёл, но написал за это время немало полезных и достойных по сложности скриптов для Микротик (неполный список моих работ представлен здесь).
Читать дальше →
Всего голосов 6: ↑3 и ↓3 0
Комментарии 4

Ближайшие события

Новые проклятия: руководство по ncurses

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

HTOP, midnight commander... Как же они построили довольно красивый и удобный псевдографический интерфейс?

Все благодаря библиотеке для C/С++ под названием new curses ("новым проклятиям" дословно) или же NCURSES.

Но как ее установить и работать с ней?

Вперёд!
Всего голосов 12: ↑7 и ↓5 +2
Комментарии 7

Как я заработал 500 000 рублей, сделав доступ к ChatGPT. Мои 6 выводов по итогу проекта

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

Пишу в продолжение прошлой статьи "Как я заработал 500 000 рублей, сделав доступ к ChatGPT. А потом Яндекс убил SEO и всё (почти) закончилось". В прошлый раз я рассказывал о запуске проекта на базе ChatGPT, а сейчас будут выводы и мысли, к которым я пришёл по ходу разработки проекта.

Читать далее
Всего голосов 15: ↑10 и ↓5 +5
Комментарии 12

Разработка с помощью Yocto

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

Привет Хабр! Недавно принял участие в достаточно интересном воркшопе и хотел бы поделиться приобретенными навыками.

Микроконтроллерами я занимаюсь как хобби, так что основы и даже чуть больше понимаю, да я и сам своего рода Embedded Developer.

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

GOST: швейцарский нож для туннелирования и обхода блокировок

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

Начиная со вчера Роскмонадзор запрещает писать про инструменты для обхода блокировок, и это событие мы отметим очередной статьей про инструменты для обхода блокировок. Ибо не им указывать, на какие темы мне писать или не писать, пусть идут строем нафиг.

Сегодня я расскажу о замечательном инструменте под названием GOST. Не пугайтесь, он не имеет никакого отношения к ГОСТ-шифрованию или чему-то подобному, на самом деле это Go Simple Tunnel. Он действительно simple (простой) в использовании и настройке, но при этом невероятно мощный, поскольку поддерживает огромное количество протоколов и транспортов, из которых вы при желании сможете построить самые упоротые и бронебойные комбинации, а именно...

Читать далее
Всего голосов 89: ↑87 и ↓2 +85
Комментарии 35

Современные типы архитектуры данных: Погружение в различные подходы к построению хранилищ данных

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

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

Подробнее
Всего голосов 1: ↑0 и ↓1 -1
Комментарии 0

Статистика QA вакансий и резюме. Ноябрь 2023

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

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

Посмотреть статистику
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 3

«Самоидентификация» клавиатуры

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

«Я — русский!»‑ спел недавно известный певец. Да и я, после 20 лет пользования клавиатурой, наконец‑то, устал вечно поправлять текст, набранный не в той раскладке клавиатуры (в голове держать всё невозможно!) и сделал индикацию текущей раскладки. Казалось бы, мелочь, а приятно.

А раньше как бывало? Оторвал взгляд от клавы, посмотрел на экран… «Фу, чёрт! Не та раскладка!» Стираешь то, что набрал непосильным трудом и заново набираешь тот же текст.

Вы скажете: «Не интересное решение! Есть же замечательная программа Punto Switcher! Она может автоматически исправлять набранный текст в нужную раскладку.» Но всегда оставалась проблема набрать специальные символы независимо от языка ввода. И вот тут‑то Punto Switcher начинал ошибаться.

А нельзя ли поставить прямо возле клавиш небольшой экранчик OLED (благо таких стало в продаже много) и выводить на него текстом текущую раскладку аж по всем языкам мира? Можно. Но как показал мой дальнейший опыт, увидеть свечение боковым взглядом проще, чем вглядываться в надпись на экранчике. Кроме того, обычно мало кто пользуется одновременно более чем тремя языками раскладки. Да и по цене решение со свечением светодиодами будет гораздо дешевле.

Вот я так и пошёл по этому простому пути. И замутил банальную схему:

Читать далее
Всего голосов 32: ↑26 и ↓6 +20
Комментарии 71