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

Разработка

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

Web3.0 на Python, часть 1: основы

Python *Криптовалюты API *

Привет, Хабр! Во время знакомства с Web3 было сложно найти понятные примеры базовых операций с блокчейном с использованием Web3Py в одном месте. Например: просмотр баланса, отправка ETH и ERC20 токенов, минтинг NFT, взаимодействие с контрактами и тд. Эта статья как раз и послужит таким местом.

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

Нырнуть в Web3
Всего голосов 2: ↑0 и ↓2 -2
Просмотры 252
Комментарии 0

Новости

JDBC vs JPA

Блог компании OTUS Java *Программирование *
Перевод

В мире разработки программного обеспечения очень любят аббревиатуры. И работа с базами данных в Java — не исключение.

Наличие множества вариантов работы с БД может запутать: что же я использую на самом деле? Все используют JPA? Мне тоже стоит его использовать? Но я еще слышал о Spring Data JDBC. А как насчет Spring Data JPA?

В этой статье мы поговорим о JDBC и JPA: истории появления и некоторых особенностях.

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

Сезон Java всё: итоги и самые полезные статьи

Блог компании Сбер Habr Java *
☕️ Cезон Java
Мегапроект

С 1 июля по 15 августа наш любимый ресурс временно захватили джависты. Развлекались они, а разгребать 46 хардкорных технических текстов нам, читателям Хабра.

Или нет: я (@apoltavcev) попросил участников сезона Java выбрать лучшие статьи. Под катом вас ждут краткие итоги конкурса и посты, которые настоятельно рекомендуются к прочтению.

А если вы пишете не про Java, а на Java — посмотрите вакансии Сбера. Они проспонсировали нашу Java-вечеринку, за что им большое спасибо.

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

Установка PostgreSQL с помощью Docker

Блог компании FirstVDS PostgreSQL *
Перевод

В этом руководстве мы научимся устанавливать PostgreSQL с помощью Docker. Обычно мы запускаем контейнер Docker, используя публичный образ Docker, или берём предварительно настроенные Docker-образы сервера баз данных PostgreSQL из Docker Hub. Здесь же мы продемонстрируем, как PostgreSQL можно установить, настроить и запустить на Docker.

Сначала запустим контейнер Docker с базой данных PostgreSQL, используя публичный образ PostgreSQL. Позже мы создадим пользовательский Dockerfile для установки сервера PostgreSQL в контейнер Docker. Также мы научимся создавать резервные копии и восстанавливать базу данных с помощью контейнера Docker.
Читать дальше →
Всего голосов 3: ↑0 и ↓3 -3
Просмотры 514
Комментарии 0

Масштабируемая векторная графика. Простой SVG-редактор. Памяти Матса Бенгтссона

Биографии гиков История IT Программирование *Работа с векторной графикой *Разработка под Linux *
imageВсё началось, когда вышла очередная версии TkProE — интегрированной среды разработки программ на tcl/tk. Мне очень пришлось по нраву наличие в ней встроенного графического редактора. Но этот редактор не работает с векторной графикой и отсюда все его недостатки.

В процессе модернизации TkProE я познакомился с проектом tkpaint. Более того какие-то идеи я позаимствовал у него и добавил в графический редактор в TkProE.

Но tkpaint это тоже графический редактор растровой графики со всеми присущими ей недостатками, особенно при работе с изображениями (прозрачность, деформация, градиентная заливка).
Читать дальше →
Всего голосов 1: ↑1 и ↓0 +1
Просмотры 403
Комментарии 0

Do it yourself: как тестировать приложение без QA

Разработка мобильных приложений *Тестирование мобильных приложений *Дизайн мобильных приложений *
Из песочницы

Это первый текст на канале, так что сначала я хочу представиться: вряд ли кто-то всерьез будет прислушиваться к анониму, даже если он весь из себя экспертный эксперт. Итак, привет, я - Женя Шаповалов, Senior Android/Flutter Developer в компании Innowise (и хэд mobile department там же). В мобильной разработке я с 2015 года, начинал с Android, а за Flutter мы принялись вместе с коллегами в Innowise - да так мощно, что в итоге в компании появилось отдельное направление разработки.

Ну что, вроде бы заслуживаю доверия? Тогда погнали!

Сегодня рассказываю, как правильно тестировать код,  и делюсь личным опытом. Да-да, ты все понял верно: при разработке мобильных приложений тестирование проводит не только QA-инженер, но и сам автор кода. Причем не только в самом конце, когда приложение почти готово, но и в процессе. Мы сегодня рассмотрим оба этапа. 

Ну-ка, что там такое?..
Всего голосов 3: ↑3 и ↓0 +3
Просмотры 358
Комментарии 1

Сломать систему. Реинжиниринг портала с «китайскими» пользователями

Блог компании Sportmaster Lab Анализ и проектирование систем *Веб-аналитика *

Привет! Хочу поделиться практическим опытом реинжиниринга нашей системы под названием «Портал поставщика» – рассказать о том, как мы выстроили процесс работы в команде, как наладили общение с бизнесом, какие поймали подводные камни и какие удалось выработать интересные решение. А ещё поговорим об особенностях китайского менталитета.

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

Так как преобладающее большинство поставщиков у нас иностранное (а в большей ее части — китайское), то и пользователи у нас в большинстве своем китайские.

Преамбула

Думаю, многие из вас сталкивались с тем, что вам в руки попадала какая-нибудь MVP-система с большим количеством legacy-кода или другими подобными вариациями, которые делались под лозунгом «Давай сейчас как-нибудь сделаем, чтобы работало, а потом разберемся».

В результате пилот себя оправдывает, вы получаете криво написанную систему, у бизнеса куча ожиданий, что надо с этим делать, они просят дорабатывать, вы пилите костыли один за одним. Натурально становитесь таким маленьким заводиком по производству костылей в промышленных масштабах – вот мой случай, собственно, не исключение 😊

Расскажу о том, как нам удалось сломать этот порочный круг костылей и как мы выбрались в более или менее стабильную и качественную систему с комфортным масштабированием.

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

ТОП-3 ИБ-событий недели по версии Jet CSIRT

Блог компании Инфосистемы Джет Информационная безопасность *

Сегодня в ТОП-3 — обновление безопасности GitLab, уязвимость в приложении TikTok и пять расширений Google Chrome, крадущих данные пользователей.

Новости собирал Евгений Тюрин, старший специалист по информационной безопасности Jet CSIRT компании «Инфосистемы Джет».

Подробнее читайте под катом.

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

Бот или не бот — вот в чем вопрос

Информационная безопасность *Data Mining *Веб-аналитика *Интернет-маркетинг *Искусственный интеллект
Из песочницы

Идентификация пользователей интернета по "веб-отпечатку" (fingerprint) формирует новую реальность. Интернет теряет анонимность прямо сейчас. Это происходит не по причине насилия регулятора, а естественным путем вследствие появления доступной технологии защиты от ботов. Почему защита от ботов деанонимизировала людей, как это уже ударило по коммерции и как совсем скоро изменит общество в целом - популярно под катом.

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

Подростки и игры. Как родителю превратить в пользу увлечения своего ребёнка

Блог компании Southbridge Программирование *Разработка игр *Карьера в IT-индустрии Визуальное программирование *

Каждый четвёртый ребёнок проводит в гаджетах всё свободное время. Чаще всего дети играют в видеоигры (в 76% случаев) или смотрят видео (в 70% случаев).

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

Читать далее
Всего голосов 11: ↑7 и ↓4 +3
Просмотры 1.4K
Комментарии 1

TypeScript в деталях. Часть 1

Блог компании Timeweb Cloud JavaScript *TypeScript *Разработка веб-сайтов *
Перевод


Привет, друзья!


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


Предполагается, что вы имеете некоторый опыт работы с TS. Если нет, вот Карманная книга по TS.

Читать дальше →
Всего голосов 7: ↑6 и ↓1 +5
Просмотры 1.3K
Комментарии 3

HTML, CSS: важен ли порядок названий классов CSS в атрибуте «class» HTML-элементов

Веб-дизайн *Разработка веб-сайтов *CSS *HTML *

Если поменять порядок названий классов CSS в атрибуте «class» HTML-элемента, то поменяется ли отображение HTML-страницы в браузере? Точно не поменяется? Или точно поменяется? А, может быть, есть нюансы?

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

Читать далее
Всего голосов 7: ↑1 и ↓6 -5
Просмотры 1.1K
Комментарии 1

Выполняем задачи по расписанию с Quartz и Spring Boot

Блог компании Surf Программирование *Разработка мобильных приложений *

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

В статье на примере покажу, зачем использовать планировщик задач Quartz в Spring Boot-приложениях и с какими проблемами он поможет справиться.

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

Компьютер из ткани: струйная логика в одежде

Блог компании ua-hosting.company Разработка робототехники *Научно-популярное Носимая электроника Здоровье


В последнее время участились попытки превратить повседневные предметы в их умные эквиваленты. У нас уже есть умные пылесосы, умные холодильники, умные часы и даже умный текстиль. Внедрение электроники в элементы гардероба позволяет создавать одежду, способную считывать биоданные человека, помогать людям с ограниченными возможностями и даже собирать энергию. Любая такая разработка нуждается в электронных компонентах, которые будут выполнять определенную логическую функцию. А что если заменить их на полностью текстильные? Именно это и сделали ученые из университета Райса (Хьюстон, США). Они внедрили струйную логику в текстиль, создав умную одежду. Что такое струйная логика, как именно она была внедрена в текстиль, и на что способна полученная в результате одежда? Ответы на эти вопросы мы найдем в докладе ученых. Поехали.
Читать дальше →
Всего голосов 6: ↑6 и ↓0 +6
Просмотры 855
Комментарии 0

Миграция Laravel Nova с PostgreSQL на CockroachDB. Наш опыт и решение

Блог компании Совкомбанк Технологии PHP *PostgreSQL *Администрирование баз данных *Laravel *

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

О такой ситуации на одном из наших проектов и пойдет речь.

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

Задаём порядок деплоя ресурсов в Kubernetes с помощью werf/Helm

Блог компании Флант Системы сборки *DevOps *Kubernetes *

При деплое в Kubernetes часто требуется выкатывать ресурсы в определённом порядке, а иногда и дожидаться готовности сторонних ресурсов. Например, нужно сначала запустить БД, дождаться создания динамического Secret’а сторонним оператором, потом выполнить инициализацию или миграции БД, а уже затем запустить само приложение. 

Рассмотрим, как решать такие задачи с помощью Helm, а также сравним с более быстрым и удобным вариантом, который предлагает Open Source-утилита werf.

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

Блеск и нищета IT в Германии

Java *IT-эмиграция Карьера в IT-индустрии

Уже четыре года я работаю Java разработчиком в небольшой немецкой компании.

В начале прошлого года я увидел на столе одного из моих «кураторов» забытый листок с расчётом заработной платы за месяц. Конечно же, я не мог в него не посмотреть. Сумма, которую я увидел у Нильса, меня удивила. Зарплата брутто: 3300€ в месяц. Живет один, жены нет, детей нет. Значит на руки у него выходит примерно 2130€ (~130000 рублей по курсу на 01.09.2022).

Можете себе представить? Мой куратор, урожденный немец, Senior Developer, прекрасно говорящий на английском, с опытом работы разработчиком более пятнадцати лет получает в Германии 3300€ в месяц. А я – Middle Java разработчик с немецким B2 и английским B1 на испытательный срок получил сразу 3500€! Сейчас моя мой зарплата 4000€ в месяц.

Многие мне не поверили. Некоторые не верят даже в мои 4000€ (слишком мало), не говоря уже про зарплату Нильса. Откуда такая мизерная зарплата для столь высококвалифицированного работника? Ведь в представлении большинства наших соотечественников все разработчики в Германии деньги просто лопатой гребут. Особенно, если они работают в финансовой сфере. Цифры должны по-любому начинаться от 6000€ в месяц. Какие 3300???

Вот и levels.fyi (на КДПВ) говорит, что медианная зарплата разработчика в Германии 83160€ в год (6930€ в месяц)

Выходит, что Зарплата Нильса ниже нижнего предела (такого столбца даже нет на этом графике). Так какая же в реальности зарплата у разработчиков в Германии?

И почему Нильс получает так мало?
Всего голосов 91: ↑89 и ↓2 +87
Просмотры 25K
Комментарии 166

Велосипедим Promise на TypeScript

JavaScript *TypeScript *
Из песочницы

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

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 1.6K
Комментарии 0

Памятка архитектору

Программирование *Анализ и проектирование систем *

Я работаю архитектором (Solution Architect если быть точным) в аутсорсинговой компании. В ходе работы я занимаюсь такими активностями как: дизайн и внедрение архитектурных решений, аудит систем заказчика и разного рода консультации вокруг архитектуры систем.

Иногда в разговоре с коллегами я говорю «спокойно, действуем ровно по учебнику». Но тут есть большая доля лукавства, т.к. одной книги где были бы собраны базовые принципы я так с ходу назвать не могу. По большей части это сборная солянка из разных книг, личного опыта и историй, рассказанных коллегами. Что-то освещено в одной из книг Фаулера, что-то есть в курсах от AWS.

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

Что там уже в списке?
Всего голосов 19: ↑18 и ↓1 +17
Просмотры 3.3K
Комментарии 18

Восстановление повреждённых файлов на основе CRC32

Занимательные задачки Алгоритмы *Восстановление данных *

Нашел я недавно в закромах старый оптический диск (CD). Открыл его в проводнике и не могу зайти ни в одну папку. Протёр диск. Попробовал снова - та же оказия. Царапины на диске конечно есть, но не много и не сильные. Решил воспользоваться специальным софтом BadCopy. Половина мелких файлов восстановилась, половина нет. Большие файлы восстановились не полностью. В итоге в двух повреждённых архивах (повреждено 2% и 10%) я обнаружил один и тот же файл. При попытке его извлечь вылезала ошибка CRC. Но если в WinRAR при извлечении установить галочку "Keep broken files", то извлекается как есть. Так как мой файл был дорог мне как воспоминание и был небольшим - всего 640 КБ, я решил заморочиться. Там же в WinRAR, кстати, можно узнать оригинальный размер файла и его CRC32.

Итак, у нас есть две повреждённые версии файла, его длина и даже его CRC32, нужно восстановить оригинал. Что может быть проще?

Читать далее
Всего голосов 11: ↑9 и ↓2 +7
Просмотры 3.1K
Комментарии 44