Я приложил к этому посту важное и полезное видео - как происходит экспертиза кода ПО в судебных тяжбах. Если связаны с разработкой ПО - советую посмотреть. Видео доступно по ссылке (https://youtu.be/fZ5Zl7YhcUg?si=tH-L97SwE5-CLOPy).
У нас давно был суд, подали на нас с претензией, что мы не сделали разработку в оплаченном объеме. Цена иска 600к. И суд назначил независимую экспертизу. Экспертиза длилась около 2х месяцев и к счастью для нас эксперты заняли нашу сторону, отметив, даже, что согласно анализу кода - мы сделали больше, чем должны :)
p.s. для ленивых - сравнивают тексты двух программ и если есть определенный % совпадений - пишут заключение, что код заимствован и вы проигрываете суд :) По этой причине не стоит переживать, что исполнитель украдет вашу идею и программный код софта, за который вы заплатили.
Здесь представлен перевод книги Pajankar А. - Raspberry Pi Computer Vision Programming Second Edition. Компьютерное зрение и обработка изображений превратились из области нишевых исследований в повседневное использование. Однако, несмотря на эту революцию, одной из ключевых проблем, возникающих при разработке компьютерного зрения и разработке приложений, является отсутствие хорошо продуманного руководства, которое шаг за шагом учит вас, как это работает. Эта книга решает эту ключевую проблему.
Получение адреса по координатам, довольно полезная функция, которую можно использовать в различных целях. Например, вам скинули геолокацию. Можно сделать телеграм-бота, отправить ему полученные данные и в ответ получить адрес. Данный функционал можно реализовать на Python. Давайте посмотрим, как это можно сделать.
Для получения адреса по геолокации будем использовать библиотеку geopy. В ней реализованы классы для работы с сервисами геокодирования, такими как OpenStreetMap Nominatim, Google Geocoding API (V3) и многими другими. В нашем коде мы будем использовать OpenStreetMap, так как его использование бесплатно и не требует получения дополнительных ключей.
Установка библиотеки
Для установки библиотеки пишем в терминале команду:
pip install geopy
Импорт модулей в скрипт
После того, как библиотека будет установлена, необходимо импортировать модули для работы с ней в скрипт. Пишем следующий код:
Получаем адрес по координатам. Обратное геокодирование
Создадим функцию get_addr(location: list) -> str, которая на входе получаем широту и долготу в виде списка, а возвращает адрес в виде строки. В случае ошибки будет возвращен текст «Unknown».
После этого инициализируем класс Nominatim и передаем в него user_agent. Здесь использование какого-то специализированного агента не принципиально и можно просто передать «GetLoc». Если мы заглянем в параметры данного класса, то увидим, что в него, кроме user_agent можно передать таймаут, прокси и еще множество других параметров, которые в данном случае не принципиальны.
Обратимся к инициализированному классу и его методу reverse, в который передадим координаты в виде списка с широтой и долготой. В ответ мы получим адрес, который и возвратим из функции, обратившись к методу address.
Запрос координат у пользователя. Вывод полученного адреса в терминал
Создадим функцию main(), в которой будем запрашивать широту и долготу у пользователя. После передадим их в функцию get_addr и выведем полученный результат в терминал. Здесь необходимо немного обработать полученные данные, так как они возвращаются в обратном порядке, начиная с номера дома и заканчивая страной. Поэтому, добавлена обратная сортировка, разбиение строки по запятой в список и обратное его объединение.
Тестирование функции
Протестируем написанный код. Возьмем произвольные координаты объекта с Яндекс.Карты и введем в запросе скрипта. В ответе мы видим полученный адрес, который совпадает с тем, что указан на Картах.
Итог:
Как видим, с помощью использования сторонней библиотеки получить адрес по координатам не такая уж сложная задача. К слову, возникновение исключений, когда адрес не был найден, происходит достаточно редко. В большинстве случаев все отрабатывает корректно.
Не так давно я узнал, что одна неизвестная русская студия готовит игру в жанре moba. Ребята из студии решительно настроены выпустить игру AAA. Metal punks будет мобой с персонажами у которых будет во владении свой транспорт, разработчики проекта говорят что транспорт будет похож на характер персонажей, у всех будет своя стата и свои способности. Суть игроков будет заключатся в том, что бы пропушить линии и уничтожить вражескую базу. Всех привычных крипов заменят роботы похожие на "Валли", а за место привычной сборки артефактов, игрокам на карте будут выпадать улучшения. Сейчас неизвестна не дата первого тизера, и уж тем более не дата релиза. Но студии только лишь успеха, и больше бюджета на разработку данного шедевра. А вы бы поиграли в такую игру? 🤔🤔🤔
У каждого человека наступает момент, когда он решает, что в жизни нужно что-то менять. Человек может поменять мобильный телефон, автомобиль, место жительства, спутника жизни и, конечно, работу. Решив остановиться на работе, многие приходят к мнению, что нужно двигаться в сторону IT. Нет, ну а что? Сфера интересная, зарплаты шикарные, график – огонь! Почему бы и нет?
Если вы хотите освоить новую профессию или обучаетесь на курсах — эта статья для вас. За последние 5 лет я прошёл огни, воды и медные трубы, чтобы научиться программировать и войти в IT. Настало время поделиться опытом, поэтому держите несколько советов, которые облегчат ваш путь.
Если будешь прилагать усилия.
Начните с бесплатных курсов на YouTube
Большинство ребят начинают с того, что покупают дорогие курсы из разряда «Стань Java-разработчиком за год». Это не плохо, но часто бывает так, что через время приходит осознание, что выбранная профессия не заходит. И всё бы ничего, только кредит на обучение есть, а результата от него нет. Не трудно догадаться, что люди разочаровываются и, как правило, закрываются навсегда.
Чтобы вас не постигла данная участь, начните с бесплатных курсов на YouTube. И пусть вас не смущает, что они бесплатные. В мире полно отличных людей, готовых выпускать полезный контент из благих побуждений. Пройдите курс или два, убедитесь в серьёзности намерений. Если всё идёт хорошо, можете что-то и купить, если нет — банковский счет останется целым.
Нарабатывайте связи
Вас может удивить, но в IT, как и в любой другой сфере, многое решают связи. Конечно, если вы откровенно глупы, то связи вам не помогут. Но если вы в чём-то разбираетесь и можете поддержать диалог — вариантов будет навалом.
Где наработать связи? Ответ прост: ходите на все оффлайн митапы и стартап-вечеринки в городе. Неважно, что тематика не ваша или кажется, что это скучно. Ходите везде, знакомьтесь со всеми и много общайтесь!
В начале будет сложно заводить новых друзей из-за синдрома самозванца. Но это только в начале. Будьте открыты к людям, прислушивайтесь к тому что вам говорят и через какое-то время вас будут приглашать на работу, делиться ограниченными подписками или звать на домашние посиделки. А там опять знакомства и возможности. Думаю, вы поняли.
Я с другом на стартап-выходных в 2021 году.
Избегайте пораженческих настроений
Если чего и стоит бояться, когда хочешь в IT, так это пораженческих настроений. Серьёзно, вокруг столько людей, которые только и ждут, чтобы посеять в вас панику. Открываешь тематическое видео или статью, а там в комментариях: «Рынок перегрет! Джун работу не найдёт! 1500 откликов на вакансию за булку хлеба!».
Запомните: всегда будут находиться люди, которые придумают тысячу аргументов, чтобы вас запугать. Да, требования к новичкам повышаются из года в год. Да, устояться в профессии трудно. Но это реально. Я знаю больше десяти человек, кто смог войти в IT за последние 3 года. Вчерашние юристы пишут код, вчерашние повара тестируют приложения, вчерашние учителя заводят таски в Jira или рисуют дизайны в Figma. И делают это прекрасно.
Учитесь держать когнитивную нагрузку
Я где-то прочитал, что войти в IT можно лишь при условии, что ты молод, силён, хорошо шаришь за теорию вероятности и всю жизнь сидишь за компом. Не знаю как вы, а я убеждён, что это чушь.
По опыту, всех айтишников объединяет способность нести когнитивные нагрузки. Что это такое? Это когда можешь держать фокус на задаче и не сливаться со словами: «Это не для меня!». Помните, в школе мы решали уравнения по 20-30 минут? Что-то похожее, только сложнее и дольше.
Запомните: даже если не понятно, даже если не получается — продолжайте решать задачу. Меняйте подходы, меняйте учителей, но не сдавайтесь. Учитесь держать когнитивную нагрузку столько, сколько потребуется. И будете вознаграждены.
Моё первое iOS-приложение в 2019 году. Было очень тяжело его делать.
Развивайте тот английский, который нужен
Правда в том, что каждый айтишник должен шарить за английский язык. Думаю, вы об этом знаете, но вряд ли кто-то уточнял, что в большинстве случаев достаточно понимать текст без переводчика, а не говорить про «how do you do». К счастью, у меня есть секрет, как развить данный навык.
Покупаем тетрадку в клеточку и обычную шариковую ручку. Садимся напротив компьютера/планшета/ноутбука, где уже открыт сайт c Human Interface Guidelines. Включаем таймер на 30 минут, читаем заметку (их там больше 100) и выписываем все незнакомые слова. Естественно, каждое незнакомое слово прогоняем через переводчик, пишем его рядом с оригиналом. Например: «experience — опыт».
Гарантирую, что через 3 месяца вы будете знать 60% технических терминов. Через 6 месяцев — 95%. Просто занимайтесь каждый день и выписывайте по 10 раз одно и то же. Понимаю, что звучит слишком просто и даже не требует денег. Но это работает. Я бы не был так уверен, если бы не опробовал этот метод в 2019 году. И знаете что? Я до сих пор всё помню.
В заключение хочу сказать, что вам будет трудно. Впереди много боли, страданий и грусти. Но оно того стоит.
Если вам понравилась статья, приглашаю в мой телеграм-канал «Мама, я вайтишник». Там я без цензуры пишу на тему «войти в IT», составляю программы обучения и показываю истории успеха.
Доброе утро, дорогой дневник. Второй день спринта 4 прошёл. Продолжаю читать описание работы Джанго, всё больше и больше понимания. Так что курс от онлайн-школы советую, особенно если получится скачать его бесплатно.