Pull to refresh
4
0
Alex Kols @Kolosoff

Администратор баз данных

Send message

Интеграция TFLite во Flutter: внедряем модели машинного обучения в мобильное приложение

Level of difficultyMedium
Reading time6 min
Views1.6K

Привет! Меня зовут Никита Грибков, я Flutter-разработчик в AGIMA. В этой статье расскажу про фреймворк TensorFlow Lite, который позволяет интегрировать в мобильное приложение модели машинного обучения. Это полезная штука, если нужно реализовать фичи, связанные с распознаванием речи или с классификацией изображений. Покажу, как обучать модели и как затем с ними работать.

Читать далее
Total votes 8: ↑8 and ↓0+10
Comments0

Создание простой CRM на Next.js и Prisma для B2B

Level of difficultyMedium
Reading time3 min
Views3.8K

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

На рынке представлено не так много распространённых CRM-систем для управления продажами, и в большинстве компаний мне приходилось работать именно с ними. В некоторых случаях я сталкивался с кастомными решениями, которые значительно упрощали жизнь пользователю благодаря удобному интерфейсу и гибкости. Поэтому на собеседованиях я часто задавал вопрос о CRM-системе компании. Разочарование наступало, когда выяснялось, что в компании используют "шаблонные" решения, которые не всегда соответствовали требованиям пользователей.

Ещё до того, как я начал заниматься разработкой, мне пришла идея поучаствовать в создании собственной CRM-системы и глубже погрузиться в процесс её разработки. Спустя несколько лет я начал заниматься веб-разработкой, и в какой-то момент понял, что даже небольшому бизнесу, где я работал, нужна CRM. Я пробовал использовать таблицы в Google Docs, тестировал триальные версии популярных CRM, но они были перегружены ненужной информацией и казались неудобными. Так что я решил создать что-то простое, что будет удобно мне и, возможно, другим.

В своей CRM я использую Next.js. Эта система не претендует на то, чтобы обслуживать тысячи пользователей, но она точно может решить задачи 1-2 небольших отделов продаж. У меня есть репозиторий на GitHub, и если кому-то это решение покажется интересным, его можно взять и доработать под свои задачи. В этой статье я постараюсь кратко описать текущий функционал, с какими трудностями я столкнулся и что удалось внедрить в качестве новых гипотез.

Читать далее
Total votes 11: ↑10 and ↓1+13
Comments9

JWT-аутентификация при помощи Spring Boot 3 и Spring Security 6

Level of difficultyMedium
Reading time15 min
Views61K

Переход от базовых приложений к более сложным требует использования Spring Security для обеспечения безопасности. Новая версия, Spring Security 6, изменяет некоторые базовые реализации, а русскоязычных материалов на эту тему очень мало. В этой статье мы рассмотрим JWT-аутентификацию и авторизацию с помощью Spring Boot 3 и Spring Security 6, чтобы помочь начинающем разработчикам разобраться и начать пользоваться базовым функционалом этой библиотеки. Цель данной статьи - показать, как использовать JWT-аутентификацию с API-интерфейсами.

Читать далее
Total votes 15: ↑12 and ↓3+10
Comments12

От дизайна к фронтенду: как передать макет в разработку

Reading time6 min
Views1.1K

Привет, Хабр! Меня зовут Света, я — руководитель направления Friflex design. Мы занимаемся разработкой мобильных приложений и веб-сервисов. 

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

Читать далее
Total votes 3: ↑2 and ↓1+3
Comments0

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

Level of difficultyEasy
Reading time7 min
Views7.5K

Язык программирования Scratch — это относительно молодой язык, который появился в 2007 году как способ обучения детей кодингу. Он прост, интерактивен и доступен для ребят, так как в нем не нужно писать строчки кода, составлять скрипты с тегами и классами, подключать внешние библиотеки. Scratch сравним с детской компьютерной игрой: у вас есть сцена, на которой происходит действие с персонажами. Они могут прыгать, бегать, кидать мяч, гонять на машинках и выполнять любые другие действия. Чтобы создать в Скретч программу, нужно построить её из специальных «кирпичиков» — цветных блоков-операторов. Так, при помощи синих блоков мы перемещаем объект на поле, зеленым блоком проводим все математические действия и настраиваем логику, красным задаем значения переменных и так далее.

Читать далее
Total votes 6: ↑4 and ↓2+4
Comments5

Акции, игры и роботы: будущее ритейла, которое уже наступило

Reading time11 min
Views10K

Сегодня мы можем позволить себе веб-страницы, весящие больше, чем оригинальный DOOM, и объём вычислений для их рендера, которого хватило бы для взлома Энигмы. В век технологического изобилия уже не так ценишь байты и флопсы. Единственный по-настоящему ценный ресурс — это люди, и современные разработчики готовы биться за этот ресурс, как Джон Кармак бился за каждый такт процессора.

30 мая прошла конференция X5 Future Night, где более сорока спикеров рассказывали о передовых технологиях ритейла, помогающих привлечь и удержать покупателя, максимизировать его удовлетворение и свою выгоду. Запись всей конференции можно посмотреть на досуге, а в этой статье хотим подсветить несколько технологий, которыми X5 Tech особенно гордится.

Читать далее
Total votes 13: ↑11 and ↓2+25
Comments4

Computed сигналы и ChangeDetection — подробный разбор

Level of difficultyMedium
Reading time8 min
Views1.5K

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

Для многих моих коллег сигналы стали чем-то мистическим. С одной стороны, код с ними стал выглядеть элегантнее, с другой была обнаружена проблема с пониманием внутренних механизмов их работы. В частности, загадочно выглядели computed сигналы, в которых в отличие от хуков React не прописываются зависимости напрямую. Также возникали вопросы связанные с детекцией изменений. В отличие от Observable и async pipe, который использует напрямую ChangeDetectorRef, сигналы могут вызываться в шаблоне, вызывая, при этом, его изменения.

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

Читать далее
Total votes 6: ↑6 and ↓0+8
Comments3

Полезные и неизвестные библиотеки Java

Level of difficultyEasy
Reading time14 min
Views11K

Из этой статьи вы узнаете о некоторых не очень известных, но полезных библиотеках Java. Это вторая статья из серии «Полезное и неизвестное». Предыдущая описывала несколько привлекательных, но малоизвестных возможностей Java. Подробнее об этом можно прочитать здесь.

Сегодня мы сосредоточимся на библиотеках Java. Обычно мы используем в своих проектах несколько внешних библиотек — даже если не включаем их напрямую. Например, Spring Boot поставляется с определенным набором зависимостей, включенным стартерами. Если мы включаем, например, spring-boot-starter-test, то одновременно мы включаем такие библиотеки, как mockito, junit-jupiter или hamcrest. Конечно, это известные библиотеки для сообщества.

На самом деле существует множество различных Java‑библиотек. Обычно мне не нужно использовать многие из них (или даже они мне не нужны) при работе с такими фреймворками, как Spring Boot или Quarkus.

Однако есть несколько очень интересных библиотек, которые могут пригодиться везде. Возможно, вы не слышали ни об одной из них. Я собираюсь представить 5 моих любимых «полезных и неизвестных» Java‑библиотек. Давай начнем!

Читать далее
Total votes 10: ↑7 and ↓3+6
Comments4

Независимая разработка совместимых компонент на ORM – миф или реальность в аннотациях Java?

Reading time16 min
Views2.9K

При работе с ORM (object relation mapping) все время преследует ощущение постоянного создания монолитного приложения — один раз привязался к какой‑либо сущности (например, справочник Контрагенты) и весь код заполнен ссылками на эту конкретную реализацию. Можно ли независимо разрабатывать в ORM совместимые между собой справочник «Контрагентов» и использующий его документ «Платежное поручение», но при этом избежать жестких зависимостей? Спасут ли нас микросервисы? Пример на аннотациях Java демонстрирует как это возможно делать.

Читать далее
Total votes 5: ↑1 and ↓4-3
Comments40

Как избежать проблем при запуске MVP

Reading time15 min
Views7.9K

Всем привет! Меня зовут Алексей Половинкин, и я отвечаю за Python в AGIMA. За последние 2 года мне повезло запускать сразу 2 крупных MVP‑проекта: классифайд автомобилей для Казахстана и проект в сфере телемедицины. За это время у меня и моей команды накопилось много опыта по запуску подобных проектов, и им хотелось бы поделиться. В этой статье рассказываю, как не допускать ошибок на этапе MVP и какие практики полезно внедрять сразу.

Читать далее
Total votes 35: ↑33 and ↓2+32
Comments4

Стартап в соло. Часть 1: текущие показатели

Level of difficultyEasy
Reading time6 min
Views13K

Примерно 11 месяцев назад я начал разрабатывать пет-проект - Telegram чат для сайта. С тех пор и до сегодняшнего дня занимаюсь его разработкой и продвижением самостоятельно. Правда занимаюсь им в свободное от основной работы время, которого мало.

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

Хочу рассказать тем, кто тоже работает над своими проектами, как за год я пришел к текущим показателям (что было нелегко). Попробовал структурировать свои мысли, вышло довольного много текста. Текст разбил на статьи, содержание будет в каждой статье.

Читать далее
Total votes 33: ↑31 and ↓2+38
Comments9

Перевод первой части учебника Patterns.dev

Reading time11 min
Views15K

Привет! Меня зовут Айнур, и я frontend-разработчик SimbirSoft. Более 6 лет я работаю над коммерческими проектами, создаю и улучшаю интерфейсы, поэтому в работе достаточно часто использую паттерны проектирования. Неоднократно я обращался за идеями и лайфхаками к книге Patterns.dev, которая содержит очень современный взгляд на шаблоны проектирования, рендеринга и производительности JavaScript.

Авторы Patterns.dev:

Лидия Холли — штатный консультант и преподаватель по разработке программного обеспечения, которая в основном работает с JavaScript, React, Node, GraphQL. Она также занимается наставничеством и проводит личные тренинги.

Эдди Османи — технический менеджер, работающий над Google Chrome. Его команды работают над такими проектами, как Lighthouse, PageSpeed ​​Insights, Chrome User Experience Report и другими.

Материал книги будет полезен не только React-разработчикам, но и всем, кто так или иначе интересуется или сталкивается с frontend-разработкой.

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

Источник: https://www.patterns.dev/
Данный адаптированный материал распространяется на условиях лицензии Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)

Читать далее
Total votes 5: ↑4 and ↓1+5
Comments5

Как сисадмин из Ульяновска попал в Кремниевую долину. Такая ли большая разница?

Level of difficultyEasy
Reading time31 min
Views42K

Все так, с момента написания прошлой статьи, которая вошла в топ 3 по количеству комментариев за 2022г, я получил грин карту, женился и переехал, как мечтал, в столицу всего айти мира. Статья будет про мой карьерный путь, из простого сисадмина в Ульяновске, до непростого в Кремниевой долине. Немного размышлений о текущем состоянии айти индустрии и о жизни в долине, которая совсем не такая, какой ее представляешь издалека.

На фото знаменитый сгоревший дом, который выставили на продажу за $800тыс.

Поехали
Total votes 109: ↑98 and ↓11+111
Comments202

Воспитай свой второй мозг. Увеличь продуктивность

Reading time9 min
Views77K

Наш мозг — крайне загруженная вещь. Наш мозг обрабатывает всю эту ежедневную суматоху: навестить бабушку, купить 100 500 продуктов в магазине, уповать о падении рубля и так далее. В этом урагане информации мы забываем по истине важные для нас вещи.

Хотели бы вы иметь второй мозг? Мозг, способный запомнить всё. Мозг, в котором содержится вся полезная информация из книг, статей, видео, полученная вами?

Звучит прекрасно, не так ли? Может, когда‑то и казалось сказками, однако не сейчас.

Хочу всё знать!
Total votes 62: ↑55 and ↓7+56
Comments111

Пятьдесят лет на стезе программирования. Часть I. Начало пути. Отчий дом и Казанское суворовское военное училище

Reading time30 min
Views36K
Логотип статьи определяет три, как временные, так и географические, точки на моём жизненном пути, через которые лежал мой путь в страну под названием «Программирование». В городе Чебоксары, на родине легендарного комдива Гражданской войны В.И.Чапаева, прошло моё детство (1954-1968 г.г.), там я закончил 8 классов средней школы №6. В 1968 году я переместился в следующую географическую точку, в г. Казань, в Казанское суворовское военное училище (КзСВУ). После окончания КзСВУ в 1971 году мой путь лежал в столицу нашей Родины в Москву, в Военную орденов Ленина, Октябрьской Революции и Суворова Академию им. Ф.Э.Дзержинского (сокращённое название ВА им. Ф.Э.Дзержинского или ВАД), которой в 2020 году исполнилось 200 лет со дня ее основания. И 22 июня в трагический для нашей страны день в 1941 году и знаковый для меня в 1976 году я окончил ВА им. Ф.Э.Дзержинского и получил диплом по специальности «Программирование» с присвоением квалификации военного инженера программиста:
Читать дальше →
Total votes 28: ↑18 and ↓10+13
Comments72

Подборка материалов для погружения в Angular: выбор сотрудников Selectel

Reading time3 min
Views11K

При построении веб-сервисов наши фронтенд-разработчики используют Angular — один из топ-фреймворков с высокой скоростью разработки и низким порогом вхождения. Но несмотря на последнее, во время изучения могут возникнуть трудности с потоками, отписками и другими абстракциями. Поэтому мы попросили коллег порекомендовать полезные ресурсы, которые помогут в освоении этих тем. Подробности под катом.
Читать дальше →
Total votes 44: ↑44 and ↓0+44
Comments8

Почему уходят из 1С?

Reading time29 min
Views145K

Скромная "ответочка" на статью про то, что 1С-ники гораздо умнее коллег из других ЯП.

Как IT специалист, знакомый с теми и другими, постараюсь оппонировать утверждениям из оригинальной статьи.

Читать далее
Total votes 127: ↑120 and ↓7+133
Comments532

Создание архитектуры программы или как проектировать табуретку

Reading time25 min
Views695K
Взявшись за написание небольшого, но реального и растущего проекта, мы «на собственной шкуре» убедились, насколько важно то, чтобы программа не только хорошо работала, но и была хорошо организована. Не верьте, что продуманная архитектура нужна только большим проектам (просто для больших проектов «смертельность» отсутствия архитектуры очевидна). Сложность, как правило, растет гораздо быстрее размеров программы. И если не позаботиться об этом заранее, то довольно быстро наступает момент, когда ты перестаешь ее контролировать. Правильная архитектура экономит очень много сил, времени и денег. А нередко вообще определяет то, выживет ваш проект или нет. И даже если речь идет всего лишь о «построении табуретки» все равно вначале очень полезно ее спроектировать.

К моему удивлению оказалось, что на вроде бы актуальный вопрос: «Как построить хорошую/красивую архитектуру ПО?» — не так легко найти ответ. Не смотря на то, что есть много книг и статей, посвященных и шаблонам проектирования и принципам проектирования, например, принципам SOLID (кратко описаны тут, подробно и с примерами можно посмотреть тут, тут и тут) и тому, как правильно оформлять код, все равно оставалось чувство, что чего-то важного не хватает. Это было похоже на то, как если бы вам дали множество замечательных и полезных инструментов, но забыли главное — объяснить, а как же «проектировать табуретку».

Хотелось разобраться, что вообще в себя включает процесс создания архитектуры программы, какие задачи при этом решаются, какие критерии используются (чтобы правила и принципы перестали быть всего лишь догмами, а стали бы понятны их логика и назначение). Тогда будет понятнее и какие инструменты лучше использовать в том или ином случае.

Данная статья является попыткой ответить на эти вопросы хотя бы в первом приближении.
Читать дальше →
Total votes 88: ↑85 and ↓3+82
Comments45

Сказ о том, как я боролся с Лернейской гидрой плохого кода в 1С и что из этого вышло

Reading time8 min
Views4.4K

С чем у вас ассоциируется Лернейская гидра из известных мифов и легенд? Наверное, с кучей ядовитых голов, приносящих одни проблемы. Отрубаешь одну, появляется другая. Наверное, поэтому плохой код ассоциируется у меня с тем же самым. Думаю, каждый, кому приходилось иметь дело с плохим кодом, сталкивался с кучей таких «хищных голов». А в связи с тем, что платформа 1С очень распространена на территории стран бывшего СССР (а сейчас уже и за пределами), то с плохим кодом конфигураций 1С встречался чуть ли не каждый первый ИТ-шник.

В статье я расскажу свой путь, которым я прошел, пытаясь комплексно решить проблемы тормозов 1с. И как, решая одну проблему, приходилось сталкиваться с двумя-тремя новыми. Ну и о том, каких помощников я встретил на этом нелегком пути.

Читать далее
Total votes 7: ↑5 and ↓2+3
Comments13

Telegram-бот на вебхуках — Java+Spring, Redis, клавиатуры и деплой на Heroku — снова для самых маленьких

Reading time20 min
Views57K


В предыдущих сериях


Это вторая статья в моей серии «для самых маленьких» — предыдущая была посвящена «классическому» Telegram-боту, наследуемому от TelegramLongPollingBot.

Для кого написано


Если вы ни разу не писали Telegram-ботов на Java с использованием вебхуков и только начинаете разбираться — эта статья для вас. В ней подробно и с пояснениями описано создание реального бота, автоматизирующего одну конкретную функцию. Можно использовать статью как мануал для создания скелета своего бота, а потом подключить его к своей бизнес-логике.

Я пытаюсь писать как для себя, а не сразу для умных — надеюсь, кому-нибудь это поможет быстрее въехать в тему.

Предыстория


Учить словарные слова — занятие довольно скучное, а если делать это в лоб, ещё и малоэффективное, поэтому я решил разработать для дочери задания такого вида:



Ребёнок сначала выбирает правильный вариант, а затем закрепляет его написанием. По ощущениям, запоминание идёт неплохо. Дело оставалось за малым — написать бота и составить словари неправильных написаний.
Читать дальше →
Total votes 6: ↑6 and ↓0+6
Comments7
1

Information

Rating
Does not participate
Location
Кишинев, Молдова, Молдова
Registered
Activity