Криптонит. Разработка, наука, шифрование
1.84K subscribers
891 photos
53 videos
515 links
Канал IT-компании «Криптонит».
Рассказываем про:
•работу с Big Data на основе AI, ML, шифрования
•разработку и языки программирования
•математику и криптографию

На связи @OBogolyubskaya_official
Присоединяйтесь к нам: https://career.kryptonite.ru/
Download Telegram
Продолжаем разбираться с Golang. На этот раз смотрим на минусы этого языка по мнению нашего инженера департамента инфраструктуры Алексея Косова. Что бы вы могли добавить? #языки_программирования #golang

🔴Наличие сборщика мусора. Всё-таки он влечёт за собой дополнительные расходы на потребление ресурсов ЦП и оперативной памяти.

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

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

🔴Неявная реализация интерфейсов. Сами интерфейсы — штука удобная, но только когда ты сам что-то разрабатываешь. Для того, чтобы реализовать интерфейс в Go, нет необходимости использовать ключевое слово, как, например, implements в Java.

В Golang любой тип данных, который реализует все методы интерфейса, автоматически реализует сам интерфейс. Мне кажется, что неявная реализация интерфейсов затрудняет понимание отдельных частей кода и процесс реверс-инжиниринга, которым мы как раз занимаемся.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5👏42🐳1
Golang — какие особенности обучения есть у этого языка программирования? Рассказывает инженер департамента инфраструктуры «Криптонита» Алексей Косов.

🧠У Golang низкий порог входа. Изучать его легче, чем Java, но сложнее, чем Python. Go — небольшой молодой язык, который, скорее всего, задумали простым изначально. Например, можно реализовать действие в одну строчку вместо десяти.

У Go есть удобная система модулей — можно подключить уже созданные библиотеки и повторно использовать их. При этом они будут на том же языке и с тем же синтаксисом, а не в виде миллиона фреймворков, которые все написаны по-разному, как в JavaScript.

Потребность изучить Golang у меня возникла на работе, так как в проекте поменялся стек. Вместо Java- я стал Go-разработчиком. Так исторически сложилось, что я предпочитаю самообучение. Поэтому я пользовался  metanit.com и habr.com, где можно пробежаться по основам.

📚Ещё я прочитал книгу «Язык программирования Go» Донована и Кернигана, которая как раз подходит для начинающих. Ещё у Go большое количество библиотек и, поскольку это open source-сообщество, есть куча проектов на GitHub. Можно какой-нибудь из них позаимствовать или поучаствовать в разработке.

📣 А если есть вопросы — воспользоваться русскоязычным чатом в Telegram.

По поводу курсов: у меня есть пример из жизни. Знакомый купил годовой курс «Разработчик на Go» популярной образовательной платформы.

Целый год они изучали всё, что только можно, но не Golang: базы данных, Docker, Git, сети; успели пройти базу по Python, С++, Java… и лишь в конце немного коснулись нужной темы. Всё, что они успели изучить по Go, можно было пройти за двухнедельный интенсив. #языки_программирования #golang
Please open Telegram to view this post
VIEW IN TELEGRAM
👍63👾3
🔠🔠 Финальная часть нашего обзора на #Golang. Смотрим, какие pet-проекты можно сделать на этом языке программирования по мнению нашего инженера департамента инфраструктуры Алексея Косова.

📐Здесь можно придумать всё, что угодно. Go — это больше про backend, но на нём можно сделать любой проект. Вопрос только в том, насколько это рационально.

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

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

Попробуйте двигаться от простого к сложному: развивайте и поддерживайте свой проект. Его демонстрация станет преимуществом на собеседовании. Код скажет о вас больше пачки дипломов.📐 #языки_программирования
Please open Telegram to view this post
VIEW IN TELEGRAM
👍54👏3