История создания и развития языка программирования Go
Язык программирования Go (или Golang) был разработан компанией Google в 2007 году и впервые представлен в 2009 году. Go был создан как ответ на ряд проблем, с которыми сталкивались разработчики при использовании существующих языков, таких как C++ и Java.
Давайте сегодня немного окунемся в историю и посмотрим с чего всё начиналось и как развивалось до настоящего момента.
Начало истории здесь.
#golang #историяit
Язык программирования Go (или Golang) был разработан компанией Google в 2007 году и впервые представлен в 2009 году. Go был создан как ответ на ряд проблем, с которыми сталкивались разработчики при использовании существующих языков, таких как C++ и Java.
Давайте сегодня немного окунемся в историю и посмотрим с чего всё начиналось и как развивалось до настоящего момента.
Начало истории здесь.
#golang #историяit
👍5❤2
Forwarded from Веб-страница
Изучаем SQL в формате игры: SQL Murder Mystery
Детективная игра на знание SQL, с которой можно освежить в памяти основы SQL и интересно провести досуг. Примерьте на себя роль детектива, выясняя обстоятельства с помощью SQL-запросов:
https://mystery.knightlab.com/
#sql
Детективная игра на знание SQL, с которой можно освежить в памяти основы SQL и интересно провести досуг. Примерьте на себя роль детектива, выясняя обстоятельства с помощью SQL-запросов:
https://mystery.knightlab.com/
#sql
👍3
Шпаргалки по SQL, которые помогут ничего не забыть
Порой из головы может выпасть, что конкретно делает определенное ключевое слово и как совершить операцию побитового исключения с присваиванием.
Именно для таких случаев и существует данная статья с множеством полезных шпаргалок. С ними можно не бояться, что в ответственный момент вы что-то забудете. Сохраняйте в закладки и используйте в работе с реляционными базами данных.
#sql #шпаргалка
Порой из головы может выпасть, что конкретно делает определенное ключевое слово и как совершить операцию побитового исключения с присваиванием.
Именно для таких случаев и существует данная статья с множеством полезных шпаргалок. С ними можно не бояться, что в ответственный момент вы что-то забудете. Сохраняйте в закладки и используйте в работе с реляционными базами данных.
#sql #шпаргалка
👍2
Зачем разработчику знать И SQL И NoSQL? Разбираемся на примерах
Рассказываем в статье:
— Разницу между SQL и NoSQL;
—Сценарии применения БД;
— Почему будущее не за чистыми системами, а за гибридными.
#sql #nosql
Рассказываем в статье:
— Разницу между SQL и NoSQL;
—Сценарии применения БД;
— Почему будущее не за чистыми системами, а за гибридными.
#sql #nosql
❤2👍1
Конвейер Devops, часть 1: как организовать рабочее место и настроить облако из KVM+libvirt
Совместно с Эйч Навыки открываем серию материалов о том, как устроен конвейер DevOps и как шаг за шагом построить полный CI/CD пайплайн. Вы изучите ключевые инструменты, которые помогают автоматизировать разработку, тестирование и развертывание приложений.
Сегодня на повестке — развертывание собственного облака с помощью KVM и libvirt.
#kubernetes #devops
Совместно с Эйч Навыки открываем серию материалов о том, как устроен конвейер DevOps и как шаг за шагом построить полный CI/CD пайплайн. Вы изучите ключевые инструменты, которые помогают автоматизировать разработку, тестирование и развертывание приложений.
Сегодня на повестке — развертывание собственного облака с помощью KVM и libvirt.
#kubernetes #devops
👍1
Что такое утиная типизация
Простыми словами, утиная типизация — это когда в программировании нас интересует не то, как называется объект или к какому классу он относится, а то, что он умеет делать. Если объект ведет себя как утка — например, умеет крякать и плавать, — то для программы он и есть утка, даже если это совсем другой объект. Ведь, если оно выглядит как утка, плавает как утка и крякает как утка, то это, наверное, утка.
В Python типы объектов проверяются не заранее (как в некоторых других языках), а прямо во время работы программы за счет динамической типизации. Утиная типизация в Python означает, что вы можете использовать любой объект в коде, если у него есть нужные вам методы или свойства. Python не заставляет вас говорить: «Это должна быть утка». Ему достаточно, что объект умеет делать то, что вы от него хотите.
Представьте, что у вас есть функция:
Эта функция ожидает, что у объекта будет метод
И используем их:
Функция
Такой подход дает нам гибкость и простоту при работе с кодом. С другой стороны поддерживать его становится сложнее, а следовательно, возрастает риск появления ошибок.
#простымисловами #python
Простыми словами, утиная типизация — это когда в программировании нас интересует не то, как называется объект или к какому классу он относится, а то, что он умеет делать. Если объект ведет себя как утка — например, умеет крякать и плавать, — то для программы он и есть утка, даже если это совсем другой объект. Ведь, если оно выглядит как утка, плавает как утка и крякает как утка, то это, наверное, утка.
В Python типы объектов проверяются не заранее (как в некоторых других языках), а прямо во время работы программы за счет динамической типизации. Утиная типизация в Python означает, что вы можете использовать любой объект в коде, если у него есть нужные вам методы или свойства. Python не заставляет вас говорить: «Это должна быть утка». Ему достаточно, что объект умеет делать то, что вы от него хотите.
Представьте, что у вас есть функция:
def заставить_крякать(объект):
объект.крякать()
Эта функция ожидает, что у объекта будет метод
крякать()
. Теперь создадим два класса:class Утка:
def крякать(self):
print("Кря-кря!")
class Человек:
def крякать(self):
print("Эээ... Кря-кря?")
И используем их:
утка = Утка()
человек = Человек()
заставить_крякать(утка) # Вывод: Кря-кря!
заставить_крякать(человек) # Вывод: Эээ... Кря-кря?
Функция
заставить_крякать
работает и с Утка
, и с Человек
, потому что у обоих есть метод крякать()
. Python не проверяет, утка это или человек, — ему важно только, что метод есть.Такой подход дает нам гибкость и простоту при работе с кодом. С другой стороны поддерживать его становится сложнее, а следовательно, возрастает риск появления ошибок.
#простымисловами #python
👍4
Forwarded from Типичный программист
This media is not supported in your browser
VIEW IN TELEGRAM
Разбираемся, на чём держится интернет: самые популярные протоколы и принципы их работы
Как передаются данные и устройства находят друг друга: ARP, ICMP, IGMP, TCP, UDP, SCTP, DNS, DHCP
Как соединяются удалённые сети (туннелирование и маршрутизация): GRE, IPsec, L2TP, L2VPN, L3VPN, MPLS, OSPF, BGP.
Как передаётся веб-трафик и обеспечивается его защита: HTTP, HTTPS, SSL, TLS.
#интернет
Как передаются данные и устройства находят друг друга: ARP, ICMP, IGMP, TCP, UDP, SCTP, DNS, DHCP
Как соединяются удалённые сети (туннелирование и маршрутизация): GRE, IPsec, L2TP, L2VPN, L3VPN, MPLS, OSPF, BGP.
Как передаётся веб-трафик и обеспечивается его защита: HTTP, HTTPS, SSL, TLS.
#интернет
😁5👍3
🐝Гексагональная архитектура — необычный подход к организации кода
Паттерн отделяет логику приложений от внешних интерфейсов, тем самым обеспечивая автономность и модульность компонентов системы. Как работает, где применяется и какие плюсы/минусы имеет данный подход: https://tprg.ru/lBcg
#архитектура
Паттерн отделяет логику приложений от внешних интерфейсов, тем самым обеспечивая автономность и модульность компонентов системы. Как работает, где применяется и какие плюсы/минусы имеет данный подход: https://tprg.ru/lBcg
#архитектура
❤5
Forwarded from Инструменты программиста
cobalt | Скачиватель видео с откуда угодно с API
Хорошо отлаженный инструмент, умеющий качать с YouTube, Twitter, Instagram, вКонтакте и кучи других сайтов, без регистрации и СМС. Сохраните, админы сами пользуются уже не первый месяц и очень довольны. А благодаря API процесс можно поставить на поток.
Цена: бесплатно
Репозиторий проекта
Попробовать скачать в GUI
@prog_tools
Хорошо отлаженный инструмент, умеющий качать с YouTube, Twitter, Instagram, вКонтакте и кучи других сайтов, без регистрации и СМС. Сохраните, админы сами пользуются уже не первый месяц и очень довольны. А благодаря API процесс можно поставить на поток.
Цена: бесплатно
Репозиторий проекта
Попробовать скачать в GUI
@prog_tools
👌6🆒2👍1
Сможете ли вы написать калькулятор?
Вам может показаться, что написать калькулятор — это задача для совсем неопытного новичка. Но вы ошибаетесь. Взгляните на картинку выше. Это калькулятор из iOS и он показывает неверный ответ.
Как же Appleнаговнокодила допустила ошибку в «простейшем» приложении и почему для Android такую же проблему решал именитый разработчик? Разобрались в статье.
Вам может показаться, что написать калькулятор — это задача для совсем неопытного новичка. Но вы ошибаетесь. Взгляните на картинку выше. Это калькулятор из iOS и он показывает неверный ответ.
(10100) + 1 − (10100)
равно 1
, а не 0
.Как же Apple
👍6❤2
Что бы стать программистом — программируйте
Сейчас есть тысячи разных курсов по программированию. Однако, после выхода с этих курсов многие ребята никому не нужны и их не берут на работу.
В чем может быть проблема? Ответ на этот вопрос есть в этой статье.
Сейчас есть тысячи разных курсов по программированию. Однако, после выхода с этих курсов многие ребята никому не нужны и их не берут на работу.
В чем может быть проблема? Ответ на этот вопрос есть в этой статье.
👍2👌2🤔1
Каждый раз, когда изучаешь новый инструмент:
This media is not supported in your browser
VIEW IN TELEGRAM
😁17🌚3💯1
Гайд: что такое хеш-таблицы
Внутри гайд подробно и с примерами рассказываем:
• Что такое хеш-функция
• Как работают хэш-таблицы
• Основные операции с хеш-функциями
Сохраняйте, это точно пригодится
#hash #простымисловами
Представьте, что вам нужно мгновенно находить нужные данные среди миллионов записей — например, определять, есть ли пользователь в базе, или быстро подсчитывать количество посещений страницы. Обычный массив или список справится с этим за O(n), а хэш-таблица — за O(1) в среднем.
Внутри гайд подробно и с примерами рассказываем:
• Что такое хеш-функция
• Как работают хэш-таблицы
• Основные операции с хеш-функциями
Сохраняйте, это точно пригодится
#hash #простымисловами
👍9
This media is not supported in your browser
VIEW IN TELEGRAM
Event loop для чайников: простыми словами о сложном механизме браузера
Event Loop — механизм, который управляет асинхронными операциями в JavaScript. Он позволяет обрабатывать задачи, не блокируя основной поток выполнения программы.
В этой статье простыми словами разберем, как работает цикл событий в браузере, что такое макрозадачи и микрозадачи, и как они влияют на выполнение кода. С примерами, схемами и лайфхаками для лучшего понимания.
Event Loop — механизм, который управляет асинхронными операциями в JavaScript. Он позволяет обрабатывать задачи, не блокируя основной поток выполнения программы.
В этой статье простыми словами разберем, как работает цикл событий в браузере, что такое макрозадачи и микрозадачи, и как они влияют на выполнение кода. С примерами, схемами и лайфхаками для лучшего понимания.
👍7
Области видимости в JavaScript
Мы используем переменные, чтобы хранить в них временные значения, а потом в нужный момент получать к ним доступ. Но не все переменные в нашем коде одинаково доступны. Доступна ли переменная и как получить к ней доступ, определяет область видимости.
Область видимости — это часть программы, в которой мы можем обратиться к переменной, функции или объекту. Этой частью может быть функция, блок или вся программа в целом — то есть мы всегда находимся как минимум в одной области видимости.
А более детально узнать что это такое и на примерах рассмотреть то, как работает эта область, вы сможете в этой статье.
#javascript
Мы используем переменные, чтобы хранить в них временные значения, а потом в нужный момент получать к ним доступ. Но не все переменные в нашем коде одинаково доступны. Доступна ли переменная и как получить к ней доступ, определяет область видимости.
Область видимости — это часть программы, в которой мы можем обратиться к переменной, функции или объекту. Этой частью может быть функция, блок или вся программа в целом — то есть мы всегда находимся как минимум в одной области видимости.
А более детально узнать что это такое и на примерах рассмотреть то, как работает эта область, вы сможете в этой статье.
#javascript
👍2😎1
Весна — повод разобраться в своих чувствах, особенно к Java
Перед вами как раз возможность это сделать в небольшом квизе. Здесь предстоит разработать устойчивую систему, которая выдержит любую нагрузку: https://tprg.ru/ynl5
Перед вами как раз возможность это сделать в небольшом квизе. Здесь предстоит разработать устойчивую систему, которая выдержит любую нагрузку: https://tprg.ru/ynl5
❤🔥7👍1
As Code: очередной тренд или будущее разработки ПО?
Обычная практика в IT-командах: все решения, договоренности живут ОТДЕЛЬНО от кода — в чатах, документах, головах. Со временем происходит масштабирование и всё это превращается в такой хаос, что проще снести и написать с нуля.
Тут на помощь приходит As Code.
Рассказываем почему As Code критически важен для современных IT-компаний и как он эволюционировал c 1970-х годов: https://tprg.ru/7gx5
#простымисловами #архитектура
Обычная практика в IT-командах: все решения, договоренности живут ОТДЕЛЬНО от кода — в чатах, документах, головах. Со временем происходит масштабирование и всё это превращается в такой хаос, что проще снести и написать с нуля.
Тут на помощь приходит As Code.
Это не просто методология, а философия, где все — от инфраструктуры до документации и политик безопасности — становится кодом.
Рассказываем почему As Code критически важен для современных IT-компаний и как он эволюционировал c 1970-х годов: https://tprg.ru/7gx5
#простымисловами #архитектура
👍8😁1
Можно ли уместить игру Minecraft всего в один QR-код?
Короткий ответ: да, можно.
Доказательство: на картинке выше.
Подробности: в статье.
#java #gamedev #неормальноепрограммирование
Короткий ответ: да, можно.
Доказательство: на картинке выше.
Подробности: в статье.
#java #gamedev #неормальноепрограммирование
❤4👍1😱1
Forwarded from Веб-страница
Пишем простое расширение для браузера
Ещё один туториал, который поможет вам изучить новые технологии и прокачать свои навыки. На этот раз мы с вами попробуем создать простое расширение для браузера, которое будет управлять куками на сайте. Для простоты в проекте используются только ванильные технологии без сложных библиотек и фреймворков.
#туториал
Ещё один туториал, который поможет вам изучить новые технологии и прокачать свои навыки. На этот раз мы с вами попробуем создать простое расширение для браузера, которое будет управлять куками на сайте. Для простоты в проекте используются только ванильные технологии без сложных библиотек и фреймворков.
#туториал
👍6