Рубрика «code»

Подсветка синтаксиса - это инструмент. Она помогает быстрее читать код. Быстрее находить нужную информацию. Ориентироваться в большом файле.

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

Безумие новогодней елки

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

Читать полностью »

Искусственный интеллект в программировании уже давно вышел за рамки простых подсказок кода. Современные инструменты, такие как GitHub Copilot, интегрированные в Visual Studio Code, способны не только дописывать код, но и выполнять команды в терминале, запускать сборки и тесты прямо из редактора. Вот еще Open AI вчера выпустил Codex, это адаптация моего поста про SWE-Agent.

Читать полностью »

Введение

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

Что такое ChatGPT и как он работает

Читать полностью »

Использование Redis в Go - 1

Redis — хранилище из семейства нереляционных (NoSQL) баз данных. Redis является очень быстрым хранилищем данных благодаря своей архитектуре in-memory. Он идеально подходит для задач, требующих быстрого доступа к данным, таких как кэширование, очереди сообщений, сессионная информация и многое другое. Go также известен своей высокой производительностью за счет компиляции в машинный код и эффективного управления памятью.

Установка

Читать полностью »

Расскажу об одном решении которое имеет больше смысла в качестве упражнения а не практической пользы. Постановка задачи звучит так: Хочу получить в C++ семантику property как в C# и без накладных расходов.

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

К слову, компиляторы Microsoft имеют способ описать property но это не является частью стандарта C++.

Сразу отмечу что property получились с значительными ограничениями и больше подходят для имитации SwizzlingЧитать полностью »

Как работает компьютер: глубокое погружение (на примере Linux) - 1

Введение

Я делал много вещей с компьютерами, но в моих знаниях всегда был пробел: что конкретно происходит при запуске программы на компьютере? Я думал об этом пробеле — у меня было много низкоуровневых знаний, но не было цельной картины. Программы действительно выполняются прямо в центральном процессоре (central processing unit, CPU)? Я использовал системные вызовы (syscalls), но как они работают? Чем они являются на самом деле? Как несколько программ выполняются одновременно?

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

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

Более удобный формат статьи.

Читать полностью »

Я думаю, многие из Вас слышали мнение о том что кода в контроллерах быть не должно, и потому контроллер с методами в одну строку считаются «Best Practice».Я в свою очередь сомневаюсь в том, что польза от этого так уж велика. Если у Вас возникали похожие мысли, прошу под кат.

image
Читать полностью »

Всем привет. На связи Владислав Родин. В настоящее время я являюсь руководителем курса «Архитектор высоких нагрузок» в OTUS, а также преподаю на курсах посвященных архитектуре ПО.

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


Введение

Хеш-таблицы (HashMap) наравне с динамическими массивами являются самыми популярными структурами данных, применяемыми в production'е, поэтому очень часто можно услышать вопросы на собеседованиях касаемо их предназначения, особенностей их внутреннего устройства, связанных с ними алгоритмов. Данная структура данных является классической и встречается не только в Java, но и во многих других языках программирования.
Читать полностью »

В процессе подготовки к курсу «Основы компиляторов» для студентов 4-го курса я изучал различные эзотерические языки программирования. Вот хорошая статья на эту тему. В статье самым интересным мне показался язык Befunge (Крис Пресс, 1993 год), особо отмечу три его особенности:

  1. Поле программы представляет собой двумерный тор, т.е. физически это прямоугольная матрица команд-символов, замкнутая по верхней(нижней) границе и по левому(правому) столбцу. По полю передвигается указатель команд (каждая команда – это некий символ с координатами x,y), выполняет команду и двигается дальше. Движение может быть во все 4 стороны (по умолчанию направо с точки 0,0), а при выходе за пределы «поля» указатель появляется с противоположной стороны.
  2. В языке есть две команды (p, g), которые меняют само поле, т.е. программа «самопереписывается» в процессе выполнения. Код программы на старте может не быть равен коду на финише. Стартовала программе «123pgpg##@», а закончила работать программа «ABC@1@2@3.14» (не правильный пример).
  3. Крис Пресси отмечал, что хотел создать язык, максимально сложный для компиляции. Де-факто это так, создать именно компилятор, который делает из программы exe-файлы адски сложно, я нашел информацию, что на Си кто-то смог это сделать… Лучше всего создавать транслятор из языка в код на Python, который я все равно называю компилятором для простоты.

Читать полностью »

Полезные разработчику привычки - 1

Благодаря которым вы станете лучше как программист

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

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

Переведено в Alconost
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js