Java для начинающих habrahabr: почему стоит и где начать / Хабр

Содержание

обучение программированию на Java с нуля онлайн — Skillbox

Участвует в распродаже Скидки до 50% действуют 0 дней 00:00:00

Курс Партнёр: SymbioWay

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

  • Длительность 4 месяца
  • Проект для реального клиента
  • Обучение на практике
  • Доступ к курсу навсегда

Трейлер

О профессии

На рынке не хватает специалистов

Кому подойдёт этот курс

  • Тем, кто хочет стать программистом

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

  • Junior-разработчикам на Java

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

Год английского языка бесплатно

Skillbox запустил онлайн‑платформу для изучения английского. Запишитесь на курс и получите годовой бесплатный доступ к материалам проекта.

Предложение действительно для пользователей, которые приобрели любой курс с 22 декабря 2021 года.

Вас ждут:

  • методика ускоренного запоминания слов и грамматики;
  • персональная программа освоения языка, которая поможет заговорить с нуля;
  • возможность индивидуальных сессий с кураторами.

Чему вы научитесь

  • Писать код на Java

    Изучите синтаксис языка, познакомитесь с переменными и операторами, научитесь писать и структурировать свой код и разбираться в чужом.

  • Работать с MySQL

    Узнаете, как сохранять и изменять информацию в базе данных MySQL. Научитесь писать запросы и управлять большими объёмами данных.

  • Применять принципы ООП

    Изучите принципы объектно-ориентированного программирования и сможете создавать сложные проекты.

  • Пользоваться Git

    Научитесь работать с распределённой системой контроля версий вместе с командой, сможете вносить или откатывать изменения в рамках одного проекта.

  • Создавать веб-приложения

    Поймёте, как превратить строки кода на Java в работающую программу, и научитесь разрабатывать веб-приложения с помощью Spring Boot.

  • Оптимизировать код

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

О Skillbox

Skillbox —

№ 1 по качеству организации обучения среди EdTech-компаний в сегменте ДПО. Рейтинг от Smart Ranking.

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

Как проходит обучение на платформе

  • Регистрация

    Знакомитесь с платформой

    Платформа Skillbox — собственная разработка компании, которую мы постоянно улучшаем. Вас ждут видео, практические задания и общение с кураторами. Доступ к материалам откроется сразу после покупки курса.

  • Теория

    Получаете знания

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

  • Практика

    Выполняете задания

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

  • Обратная связь

    Работаете с куратором

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

  1. Вводный модуль

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

  2. Синтаксис языка

    Познакомитесь с основными переменными в языке Java, научитесь использовать операторы сравнения и циклы.

  3. Система контроля версий Git

    Научитесь работать с Git: сможете сравнивать, менять и откатывать разные версии кода, научитесь создавать ветки и работать над одним проектом в команде.

  4. Объекты и классы. Часть 1. Методы и классы

    Узнаете, что такое объекты, классы и методы в Java. Поймёте, как они работают, научитесь создавать их и использовать.

  5. Объекты и классы. Часть 2. Инкапсуляция

    Познакомитесь с принципом инкапсуляции. Узнаете о POJO-классах, геттерах и сеттерах, иммутабельности и копировании объектов.

  6. Объекты и классы. Часть 3. Static, константы и enum

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

  7. Примитивы

    Поймёте, какими бывают примитивы, чем они схожи с объектами и чем от них отличаются.

  8. Числа и даты

    Познакомитесь с различными операциями, которые можно производить над числами: арифметическими, операциями с присвоением, инкрементом и декрементом, а также операциями сравнения.

  9. Строки

    Научитесь задавать строки и проверять их длину. Узнаете, как сравнивать строки между собой и объединять несколько в одну.

  10. Массивы и коллекции

    Научитесь работать с массивами и их элементами. Сможете искать элементы с помощью HashMap и TreeMap.

  11. Наследование и полиморфизм

    Узнаете, как наследовать классы в Java, и научитесь работать с интерфейсами Comparable, Comparator, Map и Set.

  12. Особенности ООП в Java

    Изучите объектно-ориентированное программирование в Java и новые методы разработки. Познакомитесь с системой сборки и репозиторием Maven.

  13. Исключения, отладка, тестирование и логирование

    Вы узнаете, как возникают исключения и как их «поймать». Научитесь тестировать и отлаживать приложения, писать логи с информацией о приложениях.

  14. Работа с файлами и сетью

    Поймёте, как читать файлы с помощью FileInputStream, BufferedReader и класса Files. Научитесь работать с файлами типа HTML и JSON.

  15. Работа с MySQL в Java

    Научитесь работать с базой данных MySQL, изменять данные и обращаться к ней с различными запросами.

  16. Многопоточность

    Узнаете, что такое многопоточность и как работать с ней в интерфейсе Runnable. Поймёте, как настроить взаимодействие потоков, научитесь блокировать, приостанавливать и прерывать потоки данных.

  17. Протокол HTTP

    Познакомитесь с протоколом HTTP, изучите заголовки, тело запроса и ответа. Научитесь работать с PUT, DELETE, OPTIONS, GET- и POST-запросами.

  18. Разработка веб-приложений

    Разработаете первое приложение на Spring Boot с созданием контроллера и подключением к базе данных.

  19. Нереляционные базы данных и очереди

    Познакомитесь с Redis и научитесь структурам данных. Изучите возможности и агрегацию данных в MongoDB.

  20. Производительность и оптимизация

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

  21. Разработка desktop-приложений

    Научитесь разрабатывать удобные и функциональные приложения для рабочего стола.

  22. Алгоритмы

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

  23. Структуры данных

    Изучите хеш-таблицы, очередь и стек, связанные таблицы, бинарное и суффиксное дерево.

  24. Распределённые хранилища и вычисления

    Вы узнаете, что такое большие данные, и научитесь работать с файловой системой HDFS. Познакомитесь с фреймворком Spark и научитесь запускать в нём собственные приложения.

  25. Паттерны проектирования

    Узнаете, что такое паттерны проектирования, и познакомитесь с Singleton, Factory, Decorator, Adapter и другими паттернами.

Получить презентацию курса и консультацию специалиста

Ваша заявка успешно отправлена

Наш менеджер свяжется с вами в ближайшее время

Скачать программу Скачать программу

Дипломный проект

Спикеры

Ваше резюме после обучения

Java-разработчик

от 80 000 ₽

Мои навыки:

  • Разработка веб-приложений на Java
  • Разработка веб-приложений на фреймворке Spring
  • Тестирование и оптимизация кода, отлов исключений
  • Работа с системой контроля версий Git
  • Работа с MySQL
  • Работа с протоколом HTTP
  • Работа с Redis и MongoDB
  • Знание принципов ООП
  • Работа с файлами и сетью
  • Настройка многопоточности

Сертификат Skillbox

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

Пример сертификата

Часто задаваемые вопросы

  • Я никогда не занимался программированием. У меня получится?

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

  • Какой график обучения? Получится ли совмещать его с работой?

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

  • Сколько часов в неделю мне нужно будет уделять учёбе?

    В среднем пользователи платформы занимаются около 2 часов в день и завершают курс за 4 месяца. Но у нас нет жестких дедлайнов — учитесь на платформе в комфортном для вас темпе.

  • Я смогу общаться с преподавателями?

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

  • Действуют ли какие-нибудь программы рассрочки?

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

  • Санкт-Петербург
  • Алматы
  • Киев
  • Минск
  • Москва
  • Санкт-Петербург
  • Алматы
  • Волгоград
  • Воронеж
  • Екатеринбург
  • Казань
  • Красноярск
  • Нижний Новгород
  • Новосибирск
  • Омск
  • Пермь
  • Ростов-на-Дону
  • Уфа
  • Челябинск

Чем занимается Java-разработчик и как новичку стартовать в профессии

Как Java удается возглавлять рейтинги языков программирования на протяжении 20 лет? Почему Java-разработчики особенно востребованы в банковской сфере? Разбираемся в устройстве популярной позиции разработчика в бэкенде

Об эксперте: Даниил Пилипенко, директор центра подбора ИТ-специалистов SymbioWay, программный директор факультета backend-разработки направления «Программирование» и автор профессии «Java-разработчик» в Skillbox.

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

Что нужно знать о языке программирования Java

Java — это язык программирования, который появился в 1995 году и был разработан для настройки бытовых электронных устройств. В том числе, кофемашин. Именно оттуда и пошло это экзотическое название, заимствованное у индонезийской марки кофе Java. А хорошо узнаваемый логотип языка украсила кружка горячего свежесваренного напитка.

Фото: java.com

Java — мультифункциональный объектно-ориентированный язык программирования. Сейчас расшифруем. Мультифункциональность — возможность создавать на Java самые разные приложения, а объектно-ориентированность означает, что в нем можно создавать объекты и работать с ними. Например, если речь о разработке программы для той же кофемашины, можно создать объект «напиток» и задать ему набор свойств: название, рецепт приготовления, стоимость. И далее уже работать не с отдельными разрозненными свойствами, а с объектом целиком: сохранять его, передавать внутри программы и так далее. Также этот язык относится к кроссплатформенным: код, написанный на Java, будет с одинаковым успехом работать на разных операционных системах, например, Windows, MacOS, Linux и Android.

Наиболее популярная сегодня среда разработки на Java — это IntelliJ IDEA — бесплатное приложение для установки на компьютер, в котором программисты пишут код и создают Java-приложения.

С момента запуска Java в ИТ-индустрии менялось многое: появлялись более «дружелюбные» по синтаксису или специализированные под конкретные задачи языки, вместе с новыми продуктами росли сферы применения программирования. Но одно оставалось неизменным: уже более 20 лет Java сохраняет лидерские позиции в топ-3 самых разных рейтингов. Например, в ежемесячном рейтинге TIOBE, оценивающем популярность языков по количеству поисковых запросов. Почему так получилось?

Даниил Пилипенко, программный директор факультета backend-разработки направления «Программирование» Skillbox и директор центра подбора ИТ-специалистов SymbioWay:

«Востребованность Java объясняется рядом факторов. Во-первых, это сочетание относительной простоты языка и возможности создавать программное обеспечение любой сложности. Во-вторых, удобство заложенных в Java концепций, которые активно перенимаются другими языками. Например, статическая типизация, когда каждая переменная имеет заданное и неизменяемое по мере работы кода значение: число, строка, дата. Также Java прочно вошла в инструментарий крупных компаний. Так, язык является наиболее распространенным в банковской сфере и заслужил репутацию самого защищенного от хакерских атак».

Фото: tiobe.com

Чем занимается Java-разработчик

Применение Java обширно. Во-первых, Java-разработчики могут заниматься созданием desktop-приложений. Для примера: на Java написаны игра Minecraft (Java Edition), бесплатный аналог Microsoft Office — приложение OpenOffice (не полностью на Java, но в значительной мере) и большое количество продуктов «европейского аналога» 1С — компании SAP.

На Java можно создавать консольные приложения, которые запускаются и работают в командной строке, а также различные сервисы и утилиты. Долгие годы Java оставалась единственным языком программирования для создания мобильных приложений на базе Android. В 2017 году появился язык программирования Kotlin, который через какое-то время стал основным языком Android-разработки. Kotlin — это своего рода продолжение Java. Поэтому, владея навыками в прародителе, освоить его достаточно просто. Сегодня порядка 30% Android-приложений все еще разрабатываются на Java.

Еще одна быстрорастущая сфера применения языка Java — все, что связано с обработкой больших данных и сферой Data Science. Этот сегмент она разделяет с языком программирования Python. На Java реализуют решения инфраструктурного уровня. Например, на ней написана одна из самых распространенных систем хранения и обработки больших данных Hadoop.

Основное же назначение Java — это разработка серверной части веб-приложений — приложений, к которым мы получаем доступ через интернет. На Java написаны такие сервисы как «Яндекс.Музыка», «Яндекс.Маркет», «МойСклад», «Альфа.Клик», «Сбербанк.Онлайн» или социальная сеть «Одноклассники». На Java разрабатывают именно серверную часть веб-приложений — так называемый бэкенд.

По данным ресурса «Хабр.Карьера», большая часть российских вакансий на бэкенд приходится именно на Java, которая занимает в структуре спроса на бэкенд-разработчиков более 30%.

Сколько зарабатывает Java-разработчик

В ИТ-индустрии принята градация специалистов, которая зависит от уровня самостоятельности и коррелирует с длительностью опыта работы: junior (до года), middle (1–3 года) и senior (больше 3-х лет). Зарплатные вилки московских разработчиков в среднем представлены следующим образом:

  • junior — ₽60–140 тыс.;
  • middle — ₽130–250 тыс.;
  • senior — ₽220–350 тыс.

Зарплаты Java-разработчиков в регионах ниже в среднем на 10–20%.

Как стать Java-разработчиком

Этот путь начинается с учебы. Рынок предлагает множество вариантов обучения Java: от классических, вроде колледжей и университетов, до программ дополнительного профессионального образования, буткемпов и краткосрочных марафонов. Конечно, у человека всегда остается опция самостоятельного обучения, но это далеко не самый оптимальный сценарий. Даже имея перед глазами четкий список навыков, которые нужно освоить, можно легко заплутать в многочисленных ресурсах и информации из открытых источников. В то же время, сформированный образовательный продукт своей целью видит создание самого короткого пути пользователя к его карьерной цели. Считается, что навыки уровня junior можно в среднем приобрести за 6–12 месяцев обучения.

Наталья Строганова, продюсер профессии «Java-разработчик» в Skillbox:

«Например, наш курс по java-разработке разбит на две части. Первая — это индивидуальная работа. Примерно за шесть месяцев пользователь обучается самостоятельно по предзаписанным видеоурокам постепенно возрастающей сложности. Он выполняет задания и получает комментарии проверяющих кураторов, каждый из которых является практикующим Java-разработчиком. Следующий этап — это командный проект длительностью три месяца. Под руководством тимлида пользователи в команде из 5–7 человек разрабатывают бэкенд полноценной социальной сети. В этот период они на практике отрабатывают навыки работы с Git, методологией Scrum и в таск-трекере GitLab».

Hard skills

  • Знание синтаксиса языка (типы данных, операторы).
  • Умение работать с коллекциями в Java — специальными хранилищами, поддерживающими различные способы накопления и упорядочения объектов для получения быстрого к ним доступа.
  • Умение работать с файлами — читать их и записывать.
  • Знание принципов объектно-ориентированного программирования (ООП) — в частности, таких, как наследование, полиморфизм и инкапсуляция.
  • Умение создавать многопоточные приложения, в которых различные задачи могут выполняться одновременно.
  • Знание фреймворка Spring — это специальное программное обеспечение для создания оптимизированных и структурированных веб-приложений, а также библиотека со множеством полезных функций и инструментов.
  • Умение работать с командной строкой bash — инструментом для программ в текстовом формате.
  • Знание языка SQL и умение работать с реляционными базами данных, которые используются практически в любом веб-приложении для хранения данных в виде связанных друг с другом таблиц.
  • Умение работать с системой контроля версий Git — инструментом, позволяющим сохранять промежуточные версии программного кода и отслеживать его изменения при коллективной разработке.
  • Знание принципов клиент-серверного взаимодействия — протокола HTTP и стандарта REST, по которым работают большинство современных веб-приложений.
  • Владение инструментами автоматизированного тестирования — JUnit и Mokito, позволяющим автоматически проверять код каждый раз, когда в него были внесены какие-то изменения.
  • Понимание принципов «чистого кода» и умение его писать, что необходимо для разработки легко поддерживаемых приложений, особенно, в командах.

Java — это про командную разработку. Поэтому в стандартном пакете soft-skills особое внимание работодатели уделяют умению работать в команде. А также желанию развиваться, учиться новому и уровню английского языка.

Этапы трудоустройства Java-разработчика включают в себя подготовку резюме, поиск вакансий, отправку откликов, телефонное интервью, собеседование, тестовое задание, оффер. Глобально здесь все устроено так же, как и в других отраслях. Поэтому подробнее остановимся на особенностях.

Где искать работу Java-разработчику

Помимо работных сайтов вроде hh.ru и Superjob, ИТ-специалисты могут обращаться к отраслевому ресурсу «Хабр.Карьера». Также вакансии можно искать на специальных карьерных страницах сайтов компаний, например, в «Яндексе», «Одноклассниках», «Сбере» и других. Их удобный интерфейс позволяет указать язык программирования и свой уровень, подобрать подходящие варианты. Сегодня для поиска работы активно используются и новые медиа, например, отраслевые Telegram-каналы learn.java и Java jobs. С трудоустройством могут помочь и образовательные платформы. Например, в Skillbox существует Центр карьеры. Это своего рода «мост» между работодателем и студентами. Специалисты центра находятся в постоянном контакте с партнерскими компаниями, собирают вакансии, подбирают студентов с релевантным опытом и организовывают собеседования.

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

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

На собеседовании работодатель будет оценивать знание основ Java устно или через тест. Например, стандартные вопросы могут выглядеть так: «В чем заключаются особенности языка программирования Java?», «Можете ли вы перечислить важные методы из класса Object?», «Назовите известные вам модули фреймворка Spring». Также кандидата могут попросить написать код для решения той или иной задачи. Если соискатель прошел обучение недавно, эти этапы не должны составить труда.

Go — Компилируемый многопоточный язык программирования / Хабр

Компилируемый многопоточный язык программирования

Статьи Авторы Компании

Показать первый

Оценка

Уровень сложности

коцев96

Уровень сложности Среда

Время считывания 8 мин

Просмотров

5.3K

Java *Go *

Дорожная карта

Это перевод моей статьи на русский язык

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

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

Подробнее

Всего голосов 3: ↑3 и ↓0 +3

Комментарии 0

коцев96

Уровень сложности Среда

Время считывания 6 мин

Просмотров

1.8K

Java *Go *Big Data *

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

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

Подробнее

Всего голосов 6: ↑5 и ↓1 +4

Комментарии 0

коцев96

Время чтения 9 мин

Просмотров

2.4K

PostgreSQL *Java *SQL *NoSQL *Go *

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

Эта тема показалась мне актуальной, потому что такие задачи могут встречаться и на работе, и на собеседовании на System Design Interview и вам придется выбирать между этими двумя типами СУБД. Я погрузился в этот вопрос и расскажу что и как. Что лучше в каждом конкретном случае, каковы преимущества и недостатки этих систем и какую выбрать, я покажу на нескольких примерах в конце статьи.

SQL или NoSQL?

Подробнее

Всего голосов 1: ↑1 и ↓0 +1

Комментарии 0

c3037

Время чтения 3 мин.

Просмотры

942

1)  

OpenTracing (OT)   !=   Журналы  но они очень похожи.

2)  У каждого приложения есть 2 типа областей: ApplicationScope (AScope) и RequestScope (RScope).

Подробнее

Рейтинг 0

Комментарии 1

c3037

Время чтения 4 мин

просмотров

1.1K

В этой статье описывается мое видение построения системы, активно использующей Go в качестве основного языка программирования и SOA/микросервисы в качестве парадигмы проектирования.

Здесь я постараюсь охватить 4 главы, которые вместе позволят нам построить прочную и надежную систему.

Подробнее

Рейтинг 0

Комментарии 0

консоль

Время чтения 4 мин

просмотров

2,1 тыс.

Open source *Shells *Go *

Песочница

JiraCLI — это интерактивный инструмент командной строки для Atlassian Jira, который в некоторой степени поможет вам избежать пользовательского интерфейса Jira. Этот инструмент еще не считается законченным, но имеет все основные функции, необходимые для улучшения вашего рабочего процесса с Jira.

Инструмент начался с идеи максимально упростить поиск задач и навигацию. Тем не менее, инструмент теперь включает в себя все необходимые функции, такие как создание задач, клонирование, связывание, перенос заявок и многое другое.

Инструмент поддерживает как облачную, так и локальную установку jira, начиная с последней версии.

Подробнее

Всего голосов 3: ↑3 и ↓0 +3

Комментарии 0

айду

Время чтения 4 мин

Просмотров

7.2K

Программирование *Go *

Учебное пособие

Спецификация OpenAPI

Одной из самых приятных особенностей Go является мощь генерации кода. Команда go generate служит ножом Swish, позволяющим генерировать перечисления, макеты и заглушки. В этой статье мы будем использовать эту функцию для создания кода Go из спецификации OpenAPI. Спецификация OpenAPI — это современный промышленный стандарт для REST API. Этот стандарт имеет фантастическую поддержку инструментов и позволяет удобно визуализировать и проверять спецификацию. Мы собираемся подружить мощь генерации кода Go с элегантностью и ясностью спецификации OpenAPI.

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

Начнем с простого: у нас есть служба, которая принимает заказы. Объявим конечную точку order/10045234 , которая принимает запросы PUT, где 10045234 — это идентификатор конкретного заказа. Мы ожидаем получить заказ в виде полезной нагрузки JSON в следующем формате.

 {"item": "Tea Table Green", "price": 106} 

Как можно описать эту конечную точку в спецификации OpenAPI?

Подробнее →

Всего голосов 3: ↑3 и ↓0 +3

Комментарии 0

айду

Время чтения 4 мин

Просмотров

1. 2K

Аномальное программирование *Программирование *Go *Дизайн

В этой серии я хотел бы обсудить некоторые возможности языка программирования Go. Нет недостатка в статьях в стиле Go-Language-Of-Cloud, в которых вы можете исследовать большие преимущества, которые Go действительно предоставляет. Однако в каждом вине есть осадок, и Го не бывает без изъяна. В этой весьма самоуверенной серии мы рассмотрим некоторые противоречия и, осмелюсь сказать, подводные камни оригинального дизайна Go.

Начнем с жесткости и начнем с сути Go — встроенных типов данных. В этой статье мы тестируем слайс . Давайте отойдем от Go Tour еще на шаг и будем использовать часть более широко. Например, в Go нет отдельного типа данных, такого как stack , потому что тип slice предназначен для покрытия всех сценариев его использования.

Давайте кратко рассмотрим использование стека. Мы можем создать стопку за две секунды, используя пару бумажных наклеек. На первой наклейке пишешь «купи молока» и кладешь на стол, а потом на второй «приготовь посуду» и наклеиваешь на первую наклейку. Теперь у вас есть стопка: наклейка с тарелками пришла последней, но будет подана первой, так как она находится наверху стопки. Таким образом, существует альтернативное название стека — LIFO, Last-In-First-Out. Для сравнения, существует «противоположная» структура очереди данных или FILO — first in, first out. В программировании стеки есть везде, либо в явной форме, либо в неявной, в виде трассировки стека выполнения рекурсивной функции.

Хорошо, давайте задействуем слайс и реализуем стек .

Подробнее →

Рейтинг 0

Комментарии 0

айду

Время чтения 5 мин

Просмотров

2. 3K

Программирование *Алгоритмы *Go *Интервью

Эта статья является частью серии «Алгоритмы в Go», в которой мы обсуждаем распространенные алгоритмические проблемы и схемы их решения.

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

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

Решение этой проблемы не особенно очевидно (для меня :), поэтому давайте на мгновение упростим задачу, чтобы развить наше понимание. Как бы мы сделали выбор, если бы было только три друга? Другими словами, как бы мы «имитировали» трехстороннюю монету с помощью двусторонней монеты?

Подробнее →

Всего голосов 2: ↑2 и ↓0 +2

Комментарии 0

айду

Время чтения 3 мин

просмотров

2.7K

Аномальное программирование *Programming *Go *

В этой серии мы обсудим интересные аспекты и краеугольные случаи Golang. Некоторые вопросы будут очевидны, а некоторые потребуют более внимательного изучения даже от опытного разработчика Go. Эти вопросы помогут глубже понять язык программирования и лежащую в его основе философию. Без лишних слов начнем с первой части.


Какое значение и будут иметь в конце выполнения?

 основная функция () {
    переменная целая
    для у, г := 1, 1; у < 10; у++ {
        _ = у
        _ = г
    }
    fmt.Println(y)
}
 

Согласно спецификации,

Подробнее →

Всего голосов 3: ↑3 и ↓0 +3

Комментарии 2

айду

Время чтения 2 мин.

Просмотров

4.1K

Программирование *Алгоритмы *Переход *Интервью

Учебник

Большинство решений алгоритмических задач можно сгруппировать в довольно небольшое число паттернов. Когда мы начинаем решать какую-то задачу, нам нужно подумать о том, как бы мы их классифицировали. Например, можем ли мы применить быстрый и медленный алгоритмический шаблон или нам нужно использовать шаблон циклической сортировки? Некоторые задачи имеют несколько решений, основанных на разных шаблонах. В этой серии мы обсудим самые популярные алгоритмические паттерны, охватывающие более 90% обычных проблем.

Он отличается от курса «Алгоритмы старшей школы 101», поскольку не предназначен для изучения таких вещей, как алгоритм Карацубы (алгоритм быстрого умножения), или для демонстрации различных методов сортировки. Вместо этого алгоритмические паттерны были сосредоточены на практических навыках, необходимых для решения общих проблем. Например, когда мы настраиваем оповещение Prometheus о высокой задержке запроса, мы имеем дело с шаблоном скользящего окна. Или, допустим, мы организуем командное мероприятие и нам нужно найти свободное время для каждого участника. На первый взгляд не очевидно, что в данном случае мы фактически решаем алгоритмическую задачу. На самом деле, в течение дня мы обычно решаем кучу алгоритмических задач, не осознавая, что имеем дело с алгоритмами.

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

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

Ранее рассмотренные шаблоны:

Скользящее окно I

Скользящее окно II

Интервалы слияния

Национальный флаг Нидерландов

Матричная спираль

Итеративный обход порядкового номера

Битовые манипуляции

Оставайтесь с нами 🙂

Если вам интересно работать бэкенд-инженером, в моем отряде есть вакансия. Предварительное знание Golang не требуется. Я НЕ HR и НЕ представляю компанию ни в каком качестве. Тем не менее, я могу поделиться своим личным опытом работы бэкенд-инженером в компании.

Подробнее

Всего голосов 7: ↑6 и ↓1 +5

Комментарии 0

айду

Время чтения 3 мин.

Просмотров

1.8K

Программирование *Алгоритмы *Go *Интервью

Учебник

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

Зачем нам делать это в таком порядке? Этот подход решает целый класс алгоритмических задач, связанных с бинарными деревьями. Например, чтобы найти самый длинный путь между двумя узлами, нам нужно пройти по дереву в обратном порядке. Как правило, обход в обратном порядке необходим, когда мы не можем обработать узел без предварительной обработки его дочерних элементов. Таким образом, например, мы можем вычислить высоту дерева. Чтобы узнать высоту узла, нам нужно вычислить высоту его дочерних элементов и увеличить ее на единицу.

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

Подробнее

Всего голосов 1: ↑1 и ↓0 +1

Комментарии 0

айду

Время чтения 5 мин.

Просмотров

1,9K

Программирование *Алгоритмы *Go *

Большинство решений алгоритмических задач можно сгруппировать в довольно небольшое количество паттернов. Когда мы начинаем решать какую-то задачу, нам нужно подумать о том, как бы мы их классифицировали. Например, можем ли мы применить быстрый и медленный алгоритмический шаблон или нам нужно использовать циклический шаблон сортировки? Некоторые задачи имеют несколько решений с разными шаблонами. В этой статье из серии «Алгоритмы в Go» мы рассматриваем алгоритмический паттерн, решающий целый класс задач, связанных с матрицей. Давайте возьмем одну из таких проблем и посмотрим, как мы можем с ней справиться.

Как пройти матрицу по спирали?

Подробнее

Всего голосов 3: ↑3 и ↓0 +3

Комментарии 0

айду

Время чтения 3 мин

Просмотров

2.2K

Программирование *Алгоритмы *Go *

Учебник

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

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

Начнем с нашей интуиции. У нас есть массив нулей, единиц и двоек. Как бы мы это сортировали? Ну, мы могли бы отложить все нули в какое-то ведро, все единицы в другое ведро, а все двойки в третье. Затем мы можем получить все элементы из первой корзины, затем из второй и из последней корзины и восстановить все элементы. Этот подход совершенно прекрасен и имеет отличную производительность. Мы касаемся всех элементов при переборе массива, а затем еще раз проходим по всем элементам при повторной сборке массива. Таким образом, общая временная сложность составляет O(n) + O(n) ~= O(n). Сложность пространства также равна O(n), так как нам нужно хранить все элементы в корзинах.

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

Давайте сделаем прыжком веры и представим, что каким-то образом нам удалось обработать часть массива. Перебираем часть массива и ставим встречающиеся нули и единицы в начало массива, а двойки в конец массива. Теперь мы переключились на следующий индекс i с некоторым необработанным значением x. Что нам там делать?

Подробнее

Всего голосов 8: ↑8 и ↓0 +8

Комментарии 4

айду

Время чтения 8 мин

Просмотров

5.2K

Программирование *Go *DevOps *

Учебник

Все метрики Prometheus основаны на временных рядах - потоках значений с временными метками, принадлежащих к одной и той же метрике. Каждый временной ряд однозначно идентифицируется своим именем метрики и необязательными парами ключ-значение, называемыми метками. Имя метрики указывает некоторые характеристики измеряемой системы, такие как http_requests_total — общее количество полученных HTTP-запросов. На практике вас часто будет интересовать некоторое подмножество значений метрики, например, количество запросов, полученных конкретной конечной точкой; и вот где этикетки пригодятся. Мы можем разделить метрику, добавив метку конечной точки, и просмотреть статистику для конкретной конечной точки: http_requests_total{endpoint="api/status"}. Каждая метрика имеет две автоматически создаваемые метки: job_name и instance. Мы видим их роли в следующем разделе.

Prometheus предоставляет функциональный язык запросов под названием PromQL. Результат запроса может быть оценен в один из четырех типов:

Скалярный (также известный как число с плавающей запятой)

Строка (в настоящее время не используется)

Серия, имеющая время - набор из Мгновенный вектор ровно одно значение на отметку времени.

Range Vector — набор временных рядов, которые имеют диапазон значений между двумя временными метками.

На первый взгляд, Instant Vector может выглядеть как массив, а Range Vector как матрица.

В этом случае вектор диапазона для одного временного ряда "понижается" до мгновенного вектора. Однако это не так:

Подробнее

Рейтинг 0

Комментарии 2

айду

Время чтения 8 мин

просмотров

3,4K

Программирование *Отладка *Go *DevOps *

Учебник

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

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

На скриншоте ниже мы видим весь жизненный цикл заявки, оформленной в службу логистики:

Подробнее

Рейтинг 0

Комментарии 0

айду

Время чтения 4 мин

Просмотров

2. 7K

Программирование *Алгоритмы *Go *

Учебник

Это третья часть серии, посвященной реализации алгоритмов в Go. В этой статье мы обсуждаем алгоритм Merge Interval. Обычно, когда вы начинаете изучать алгоритмы, вам приходится сталкиваться с некоторыми проблемами, такими как поиск наименьшего общего знаменателя или поиск следующего числа Фибоначчи. Хотя это действительно важные проблемы, мы не решаем их каждый день. Что мне нравится в алгоритме Merge Interval, так это то, что мы применяем его в повседневной жизни, обычно даже не замечая, что решаем алгоритмическую задачу.

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

Подробнее

Всего голосов 2: ↑2 и ↓0 +2

Комментарии 0

айду

Время чтения 4 мин

Просмотров

4,3K

Алгоритмы *Go *

Учебник

Это вторая часть статьи о паттерне скользящего окна и его реализации в Go, первую часть можно найти здесь.

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

Начнем со строки catdogcat и целевых слов cat и dog .

Как решить эту проблему?

Подробнее →

Рейтинг 0

Комментарии 0

айду

Время чтения 3 мин

Просмотров

4. 1K

Программирование *Алгоритмы *Go *

Песочница

Рассмотрим следующую задачу: у нас есть массив целых чисел и нам нужно узнать длину наименьшего подмассива, сумма которых не меньше целевого числа. Если у нас нет такого подмассива, мы вернем -1.

Мы можем начать с наивного подхода и рассмотреть все возможные подмассивы во входных данных:

Продолжить чтение

Всего голосов 5: ↑5 и ↓0 +5

Комментарии 4

стелин

Время чтения 3 мин.

Просмотров

853

PHP *Yii *Go *Laravel *

Учебник


Введение


Что такое Swoft?

Swoft — это высокопроизводительная среда сопрограмм для микросервисов PHP. Он публикуется уже много лет и стал лучшим выбором для php. Это может быть как Go, встроенный веб-сервер сопрограммы и общий клиент сопрограммы, и он находится в памяти, независимо от традиционного PHP-FPM. Есть аналогичные операции языка Go, похожие на гибкие аннотации Spring Cloud framework.

Подробнее →

Рейтинг 0

Комментарии 0

Все посты подряд / Хабр

Статьи Новости Хабы Авторы Компании Показывать первым

  • евгениоуглов

    Время чтения 2 мин

    Просмотров

    318

    Поисковики *

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

    Поиск файлов на ПК немного отличается и я хотел бы затронуть эту тему.

    Подробнее

    Рейтинг 0

    Комментарии 0

    Хавебенфитц

    Уровень сложности Easy

    Время чтения 5 мин

    Просмотров

    1.2K

    Программирование *Разработка для iOS *Разработка мобильных приложений *Swift *Разработка для MacOS *

    Учебное пособие

    Интерфейсы командной строки (CLI) — распространенный способ использования приложений. В iOS мы обычно используем языки сценариев, такие как Bash или Ruby, для создания этих интерфейсов командной строки и автоматизации рутинных задач. Самым популярным CLI для подписи приложений и автоматизации сборки, без сомнения, является Fastlane, изначально написанный на Ruby. Fastlane — отличный инструмент, удобный и достаточно простой в использовании, и на его создание ушло много сил.

    Тем не менее, есть большая вероятность, что вы решили отказаться от Fastlane, чтобы избежать изучения Ruby и снизить порог входа для ваших разработчиков. Настройка среды Ruby может быть довольно утомительной и требует дополнительных знаний разработчиков для написания и поддержки этих сценариев.

    В этой статье вы узнаете, как создавать собственные инструменты командной строки с помощью Swift.

    Подробнее

    Всего голосов 2: ↑2 и ↓0 +2

    Комментарии 4

    вспрог

    Уровень сложности Easy

    Время чтения 13 мин

    Просмотров

    955

    Поисковые системы *NoSQL *Распределенные системы *

    Песочница

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

    Подробнее

    Рейтинг 0

    Комментарии 0

    игор_сухоруков

    Уровень сложности Easy

    Время чтения 12 мин

    Просмотров

    845

    Открытый код *PostgreSQL *Java *OpenStreetMap *

    Перевод

    Когда человек говорил, что он контролирует весь мир, его обычно помещали в соседнюю комнату с Наполеоном Бонапартом. Надеюсь, что эти времена уже в прошлом и каждый сможет проанализировать геоданные всей Земли и получить ответы на свои глобальные вопросы за считанные минуты и секунды. Я опубликовал Openstreetmap_h4 — мой проект, который позволяет выполнять геоаналитику по данным из OpenStreetMap в PostGIS или в любом движке запросов, который может работать с Apache Arrow/Parquet.

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

    Подробнее

    Всего голосов 8: ↑8 и ↓0 +8

    Комментарии 0

    игор_сухоруков

    Время чтения 15 мин

    Просмотров

    782

    Открытый код *PostgreSQL *OpenStreetMap *

    Перевод

    Сегодня я открою для вас Америку на основе данных OpenStreetMap в PostgreSQL15/PostGIS и моего проекта openstreetmap_h4. Давайте запустим запрос и сравним время его выполнения в хранилище столбцов Citus в PostgreSQL и в стандартной базе данных объемом 100 ГБ, разбитой по геоиндексу h4.

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

    Подробнее

    Рейтинг 0

    Комментарии 0

    N-куб

    Время чтения 6 мин

    просмотров

    1.1K

    Открытый исходный код *Геоинформационные услуги *Большие данные *Открытые данные *Научно-популярные

    Вам необходимо получить результаты спутниковой интерферометрии для работы или учебы? Или вам нужно найти способ обрабатывать терабайты данных радара на обычном ноутбуке? Возможно, вы не уверены в установке и использовании необходимого программного обеспечения. К счастью, для вас доступно следующее поколение продуктов спутниковой интерферометрии. Новички могут легко получить результаты, а опытные пользователи могут работать с огромными наборами данных. Программное обеспечение с открытым исходным кодом PyGMTSAR доступно на GitHub для разработчиков, на DockerHub для опытных пользователей и на Google Colab для всех. Это готовый к облаку продукт, и он работает так же, как если бы вы запускали его локально на своем старом ноутбуке или на мощных облачных серверах.


    Подробнее →

    Всего голосов 1: ↑1 и ↓0 +1

    Комментарии 0

    КалининАртемВал

    Уровень сложности Easy

    Время чтения 3 мин

    Просмотров

    411

    Xcode *Swift *

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

    Чем это может быть полезно?

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

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

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

    Подробнее

    Всего голосов 1: ↑1 и ↓0 +1

    Комментарии 0

    коцев96

    Уровень сложности Среда

    Время считывания 8 мин

    Просмотров

    5.3K

    Java *Go *

    Дорожная карта

    Это перевод моей статьи на русский язык

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

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

    Подробнее

    Всего голосов 3: ↑3 и ↓0 +3

    Комментарии 0

    ВасилийАртющенко

    Уровень сложности Easy

    Время чтения 11 мин

    Просмотров

    798

    Веб-дизайн *Интернет-маркетинг *Медийная реклама *Поисковая оптимизация *Брендинг

    Обзор

    В этом году мы провели опрос 78 менеджеров по закупкам из Forbes Global 2000 компаний, базирующихся в Ванкувере, Британская Колумбия. В прошлом году ограничения Covid были сняты, сотрудники агентства частично вернулись в свои офисы. Этот год стал настоящим испытанием для руководителей агентств, им приходилось находить компромиссы с сотрудниками, которые не хотели возвращаться в офис, и при этом управлять проектами на таком же эффективном уровне. Clutch больше не является платформой, которой можно доверять из-за платных размещений (спонсоров и рекомендуемых), которые в некоторых случаях могут занимать до 50 первых позиций. Поэтому мы попросили менеджеров по закупкам в Ванкувере оценить свои агентства цифрового маркетинга от 0 до 10 на основе следующих критериев:

    Подробнее

    Рейтинг 0

    Комментарии 0

    коцев96

    Уровень сложности Среда

    Время считывания 6 мин

    Просмотров

    1.8K

    Java *Go *Big Data *

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

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

    Подробнее

    Всего голосов 6: ↑5 и ↓1 +4

    Комментарии 0

    евгениоуглов

    Время чтения 6 мин.

    Просмотров

    996

    Разработка сайтов *Поисковые системы *Программирование *Стартап-разработка Хранение данных

    Мнение

    Перевод

    Поиск собственных данных, как в поисковой системе Google.

    Подробнее

    Рейтинг 0

    Комментарии 0

    рнадыршин

    Уровень сложности Среда

    Время считывания 11 мин

    Просмотров

    2K

    Программирование микроконтроллеров *Прототипирование *Схемотехническое проектирование *Производство и разработка электроники *Сделай сам

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

    Подробнее

    Всего голосов 8: ↑8 и ↓0 +8

    Комментарии 0

    коцев96

    Время чтения 7 мин

    Просмотров

    1. 8K

    Java *

    Туториал

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

    Подробнее

    Всего голосов 3: ↑3 и ↓0 +3

    Комментарии 0

    брсотек

    Время чтения 4 мин.

    Просмотров

    269

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

    Мнение

    Изображение предоставлено: amazonspreview. com

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

    День за днем ​​количество поклонников IPL растет, и существует множество IPL приложений для прямой трансляции крикета , где вы можете наслаждаться матчами IPL.

    В этой статье мы подсчитаем все, что вам следует знать об IPL 2023. 

    IPL 2023

    IPL — это профессиональная крикетная лига T20 в Индии, которая впервые была основана в 2007 году Советом по контролю за крикетом в Индии. , а в 2023 году это будет 16-й сезон премьер-лиги. В основном в нем участвуют десять команд, и он ежегодно проводится летом по всей Индии с марта по май.

    Итак, вот команда IPL 2023.

    IPL 2023 Команды

    Вот список всех команд IPL 2023 и их игроков.

    Подробнее

    Рейтинг 0

    Комментарии 0

    АлексейВолков

    Уровень сложности Easy

    Время чтения 3 мин

    Просмотров

    1,8K

    CSS *JavaScript *

    Обзор

    Песочница

    Расширенный динамический диапазон (HDR) обеспечивает более широкий диапазон цветов и уровней яркости. Эта технология работает на дисплеях, поддерживающих формат HDR. В настоящее время веб-преимущество гамм дисплея, таких как Display P3 и Rec. 2020, который может отображать гораздо большее цветовое пространство, чем традиционные дисплеи sRGB. На 50 % больше цветов.

    CSS готов это исправить (по крайней мере, для пользователей Apple). Ниже вы найдете сравнение цветовых гамм, примеры кода и обзор поддерживаемых устройств.

    Разблокируйте HDR с помощью CSS — подробнее

    Всего голосов 1: ↑1 и ↓0 +1

    Комментарии 2

    коцев96

    Время чтения 9 мин

    Просмотров

    2.4K

    PostgreSQL *Java *SQL *NoSQL *Go *

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

    Эта тема показалась мне актуальной, потому что такие задачи могут встречаться и на работе, и на собеседовании на System Design Interview и вам придется выбирать между этими двумя типами СУБД. Я погрузился в этот вопрос и расскажу что и как. Что лучше в каждом конкретном случае, каковы преимущества и недостатки этих систем и какую выбрать, я покажу на нескольких примерах в конце статьи.

    SQL или NoSQL?

    Подробнее

    Всего голосов 1: ↑1 и ↓0 +1

    Комментарии 0

    брсотек

    Время чтения 4 мин.

    Просмотров

    1,8K

    Искусственный интеллект AR и VR

    Мнение

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

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

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

    В этой статье мы расскажем, как искусственный интеллект повлиял на индустрию спортивных ставок. Итак, не откладывая, приступим.

    Подробнее

    Рейтинг 0

    Комментарии 0

    Шапелез

    Время чтения 7 мин

    Просмотров

    1K

    Корпоративный блог Qrator Labs Информационная безопасность *ИТ-инфраструктура *Сетевые технологии *

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

    В 2022 году количество DDoS-атак увеличилось на 73,09% по сравнению с 2021 годом. 

    Давайте подробнее рассмотрим данные за четвертый квартал 2022 года.

    Подробнее

    Всего голосов 7: ↑7 и ↓0 +7

    Комментарии 0

    м31

    Время чтения 2 мин

    Просмотров

    551

    Python *Большие данные *Машинное обучение *DevOps *Искусственный интеллект

    Дайджест

    Видеозапись нашего вебинара о dstack и воспроизводимых рабочих процессах ML, операциях с двоичным деревом AVL, Ultralytics YOLOv8, обучении XMLoost, productionize модели, введение в ансамбли прогнозирования, расширение домена генераторов изображений, Muse, X-Decoder, Box2Mask, RoDynRF, AgileAvatar и многое другое.

    Подробнее

    Всего голосов 1: ↑1 и ↓0 +1

    Комментарии 0

    башник

    Время чтения 14 мин.

    Просмотров

    6,5K

    Корпоративный блог Open Data Science Python *Машинное обучение *Искусственный интеллект Обработка естественного языка *

    Учебное пособие

    Откройте для себя возможности Transformer Neural Networks и узнайте, как создать с нуля собственную модель, подобную GPT . В этом подробном руководстве мы углубимся в теорию и предоставим пошаговую реализацию кода, которая поможет вам создать собственную модель miniGPT. Окончательный код состоит всего из 400 строк и работает как на процессорах, так и на графических процессорах. Если вы хотите сразу перейти к реализации, вот репозиторий GitHub.

    Трансформеры революционизируют мир искусственного интеллекта. Эта простая, но очень мощная архитектура нейронной сети, представленная в 2017 году, быстро стала популярным выбором для обработки естественного языка, генеративного ИИ и многого другого.

  • Добавить комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *