Pull to refresh
32
0.1

Пользователь

Send message

Приложение на Go шаг за шагом. Часть первая: скелет, НТТР-сервер и конфигурация

Level of difficultyEasy
Reading time10 min
Views3.3K

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

Привет! Я Владислав Попов, автор курса «Go-разработчик с нуля» в Яндекс Практикуме. В серии статей я хочу помочь начинающим разработчикам упорядочить знания и написать приложение на Go с нуля: мы вместе пройдём каждый шаг и создадим API для получения информации о книгах и управления ими. 

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

Как настроить веб-приложение под высокие нагрузки

Level of difficultyMedium
Reading time8 min
Views7.1K

Привет, меня зовут Александр Ададуров. Я — руководитель проектов ФГБУ «Центр информационно-технического обеспечения». В этой статье я опишу опыт настройки сайта с образовательным контентом под нагрузку в пиках до 15 000 запросов в секунду или до нескольких миллионов пользователей в день. 

Образовательный контент сайта представлял собой иллюстрированные HTML-страницы, видеоуроки и различные интерактивные задания, преимущественно на JavaScript, которые проверяли правильность выполнения заданий запросами к бэкенду. Сайт жил спокойной жизнью и вяло развивался до введения локдаунов в связи с распространением COVID-19. Первые месяцы карантина существенно изменили код приложения, его архитектуру и даже серверную инфраструктуру, на которой оно располагалось. 

Читать далее
Total votes 14: ↑13 and ↓1+15
Comments8

Как использовать defer в Go

Level of difficultyEasy
Reading time5 min
Views4.7K

Привет, Хабр!

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

В этой статье мы и рассмотрим как использовать defer в Golang.

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

Анти-паттерны в Go Web Applications

Level of difficultyMedium
Reading time18 min
Views6.9K

В какой-то момент моей карьеры меня перестало радовать ПО которое я разрабатывал.

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

Читать далее
Total votes 14: ↑13 and ↓1+15
Comments8

Выжимаем из Go максимум производительности

Level of difficultyMedium
Reading time11 min
Views20K

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

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

Читать далее
Total votes 76: ↑74 and ↓2+87
Comments40

HTTP-серверы на Fiber в Golang

Level of difficultyMedium
Reading time8 min
Views3.1K

Привет, Хабр!

Когда речь заходит о создании HTTP-серверов на Go, большинство сразу думают о привычных решениях, таких как net/http или Gin. Эти инструменты проверены временем, но что, если нужен сервер, который не просто стабилен, а работает очень быстро? Здесь помогает Fiber — лёгкий, но невероятно мощный HTTP-фреймворк, способный вывести производительность сервера на новый уровень.

С синтаксисом, знакомым всем юзерам Express.js, Fiber избавляет от лишней сложности и позволяет сосредоточиться на главном — максимальной скорости и эффективности.

Читать далее
Total votes 7: ↑6 and ↓1+7
Comments8

Ищем адекватную замену ChromeOS для устаревшего Chromebook. Несколько интересных экспериментов

Level of difficultyEasy
Reading time8 min
Views8.4K

Привет, Хабр! Это Кирилл из МТС Диджитал. Недавно я опубликовал пост Chromebook: жизнь после EOS. Сегодня возвращаюсь с продолжением.

Мне стало интересно, сложно ли подобрать операционную систему, с которой все устройства Chromebook будут работать в штатном режиме. И какие проблемы по ходу этого дела возникнут. Я попробовал установить несколько операционных систем — оказалось, тут есть о чем рассказать. Так что заварите себе чаю, приятного чтения!

Читать далее
Total votes 25: ↑25 and ↓0+38
Comments16

«Голая Java» или разработка без всего

Level of difficultyHard
Reading time33 min
Views24K

Рассказываю что можно сделать на одном только голом JDK. Это старое и ныне почти забытое искусство разработки без внешних библиотек и фреймворков. Работать будем «как в былинные времена» — киркой и лопатой голыми руками и немного мозгом.

Читать далее
Total votes 73: ↑67 and ↓6+79
Comments107

Как защитить свое Go-приложение

Reading time4 min
Views3K

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

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

Читать далее
Total votes 9: ↑6 and ↓3+3
Comments1

Протокол SMTP. Пишем SMTP-сервер на C

Reading time12 min
Views3.4K

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

Читать далее
Total votes 11: ↑11 and ↓0+17
Comments5

Лучшая презентация для продажи ваших продуктов и услуг

Level of difficultyEasy
Reading time6 min
Views4.5K

Этот пост набрал на Medium 99 000+ лайков. Публикуем на Habr его перевод.

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

Читать далее
Total votes 17: ↑12 and ↓5+10
Comments2

Chromebook: жизнь после EOS

Reading time8 min
Views5.9K

Привет, жители Хабра! На связи Кирилл из МТС Диджитал.

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

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

Читать далее
Total votes 26: ↑25 and ↓1+38
Comments10

Микросервисы с Go-Micro на примере

Level of difficultyEasy
Reading time5 min
Views3K

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

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

Создание процессора с нуля для чайников

Reading time18 min
Views41K

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

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

В данной статьей мы пройдем путь создания процессора от единичного транзистора до работающего 8-битного процессора, и напишем свой ассемблер для него.

Читать далее
Total votes 112: ↑112 and ↓0+138
Comments71

React Hook Form: создание сложных форм для начинающих

Level of difficultyEasy
Reading time9 min
Views3.9K

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

React Hook Form — это библиотека, которая использует концепцию неконтролируемых компонентов, чтобы минимизировать количество повторных рендеров и повысить производительность приложения.

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

Читать далее
Total votes 6: ↑5 and ↓1+7
Comments1

Как я превратил обычный бизнес в IT компанию, читая книги

Level of difficultyEasy
Reading time14 min
Views9.8K

Началось с того, что я феерически прогорел при попытке создать IT компанию с нуля. Это произошло в дремучие года: у меня были длинные волосы, оранжевая рубашка, один из первых огромных смартфонов и белоснежный микро-ноутбук с большим черным модемом. Поэтому я мог сидеть в интернете прямо в Макдачной, что в те годы было реже, чем встретить Феррари на улице. И это почему-то приманивало ко мне разные интересные личности, они кидались ко мне чуть завидев издалека с кучей вопросов про компьютеры. И я почему-то решил, что было бы круто организовать телефонные консультации для пользователей компьютеров. 

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

Казалось бы, что могло пойти так?
Total votes 50: ↑42 and ↓8+53
Comments18

Как тестировать PWA?

Reading time8 min
Views6K

Про тестирование PWA есть много разрозненных мнений, подходов и обособленных принципов, иногда противоречащих друг другу. Мы в Red Collar решили испытать на себе несколько вариаций подхода к тестированию таких приложений.

Читать далее
Total votes 14: ↑12 and ↓2+11
Comments2

Дайте мне 15 минут, и я изменю ваш взгляд на GDB

Level of difficultyMedium
Reading time6 min
Views15K

Материал подготовлен на основе выступления с CppCon 2015 "Greg Law: Give me 15 minutes & I'll change your view of GDB" (доступно по ссылке ). Многие моменты я изменял и корректировал, поэтому учтите, что перевод достаточно вольный.

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

В статье будет рассматриваться отладка кода на C в ОС Linux.

Читать далее
Total votes 47: ↑45 and ↓2+63
Comments16

Превращаем Android-смартфон в USB-клавиатуру, мышь и флешку

Level of difficultyHard
Reading time29 min
Views27K

Android-смартфон при подключении к компьютеру через USB может выглядеть как медиаустройство, модем или хранилище файлов. В этой статье мы научимся делать из него USB-клавиатуру, мышь и флешку.
Читать дальше →
Total votes 59: ↑59 and ↓0+82
Comments48
1
23 ...

Information

Rating
3,804-th
Registered
Activity