Pull to refresh
0
@dvotyakread⁠-⁠only

User

Send message

Оптимальный путь новичка в мире C++/Qt

Reading time10 min
Views103K
Часто задаваемый начинающими программистами вопрос – какие материалы читать для повышения своего профессионального уровня? В таком, наиболее общем виде, ответить на данный вопрос невозможно. Это зависит от текущих знаний и умений человека, от его специализации, от задач, которые возникнут перед ним в будущем. Однако я попытаюсь ответить на данный вопрос для того направления программистской деятельности, в котором лучше всего разбираюсь – в создании кроссплатформенных сложных desktop-приложений. Приложений уровня и класса PhotoShop, VisualStudio, MS Word. Таких приложений, в которых с точки зрения программиста возникает больше количество разноплановых задач:

  • Отрисовка классического «офисного» GUI типа кнопок, прогресс-баров, виджетов, анимации.
  • Отрисовка любой нестандартной графики типа непрерывно движущихся графиков из миллионов точек.
  • Работа с базами данных
  • Работа с сетью
  • Работа с реестром операционной системы
  • Работа с принтером
  • Быстрое (в том числе параллельное) выполнение сложных вычислительных задач.
  • И многое, многое другое.

Наборов платформ и фреймворков, которые позволяют эффективно строить подобные приложения, не так уж много. В свое время, попробовав разные платформы, программисты в моей организации уверенно остановились на следующей связке: язык С++ и платформа Qt. Как показало время, этот выбор не подвел. Вот именно с оглядкой на этот выбор я начну излагать тот набор материалов, которые я рекомендую к изучению начинающими программистами, если они хотят стать настоящими гуру в этом направлении.
Читать дальше →
Total votes 8: ↑7 and ↓1+13
Comments21

Путь фрилансера. Часть 1. Советы новичкам

Level of difficultyEasy
Reading time11 min
Views244K


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

Заметив тенденцию на спрос постов по тематике фриланса подумал, что, пожалуй, пора и мне внести свою лепту по этой тематике. Много чего уже было сказано, но, на мой взгляд, не всегда конкретизировано в конкретные пункты.

Вкратце в двух словах о себе и прочем чтобы пост имел некоторую большую содержательность: на фрилансе 3 последних года с копейками. Работаю не один. Команда. Объединены интернетом и рамками СНГ. Большинство никогда не видел и даже с ними ни разу не созванивался. Офиса нет. С одним из таких граждан общаюсь и работаю уже лет 5-6. Как это ни странно барьером это не послужило. Знакомых, друзей, бывший сотоварищей по работе в команде нет и никогда не было, как и не было этой самой другой работы. Да, есть и такие странные люди на свете, кто никогда не работал в офисе и ничем иным не занят и это ни разу мне не помешало, а скорее наоборот.

Как я «докатился до такой жизни» и всю иную историю, предысторию и реалии опишу как-нибудь в другой раз, если сообщество посчитает это нужным (на этот случай предусмотрен опрос). А сейчас перейдём к тому, что и было запланировано.
Читать дальше →
Total votes 76: ↑63 and ↓13+50
Comments51

Как изучать языки программирования

Reading time11 min
Views275K


Я ни в коей мере не утверждаю, что указанный мной способ лучший из возможных. Более того, я вовсе не уверен в том, что он вообще правильный. Возможно, если бы моим первым языком был не Си, а какой-либо из функциональных языков или ассемблеров, моё мнение было бы иным, и жизнь моя сложилось бы совсем иначе. Так что весь нижеизложенный материал воспринимайте со здоровым скептицизмом.
Читать дальше →
Total votes 61: ↑46 and ↓15+31
Comments346

Фрейминг для разработчиков

Reading time9 min
Views5.7K
image

В социологии есть понятие «фрейм» — это когнитивная структура (каркас), социальный контекст, определяющий наше поведение. Оказавшись в каком-либо месте или ситуации, мы попадаем во фрейм — систему разрешённых и недопустимых действий, определённых установок. Например, придя в офис, мы понимаем, где находимся. Знаем, что здесь можно делать и чего нельзя. Какие действия приветствуются или ожидаются, а какие недопустимы. То есть «офис» — это фрейм (каркас, рамка), состоящий из набора социальных установок, правил и ожиданий.

В разработке ПО тоже есть фреймы. И главный из них — бэклог. Этот фрейм подразумевает, что чем больше пунктов бэклога мы реализуем, тем большего успеха добьёмся. Однако из-за того, что разработчиков заставляют как можно быстрее создавать фичи, они начинают «срезать углы», халтурить, и это угнетает их. 

Исправить это можно, если перейти от бэклога к фрейму влияния вашего продукта на рынок и заказчиков. Компания станет успешнее, а разработчики — счастливее.
Читать дальше →
Total votes 15: ↑12 and ↓3+15
Comments7

Простым языком об HTTP

Reading time9 min
Views1.5M
Вашему вниманию предлагается описание основных аспектов протокола HTTP — сетевого протокола, с начала 90-х и по сей день позволяющего вашему браузеру загружать веб-страницы. Данная статья написана для тех, кто только начинает работать с компьютерными сетями и заниматься разработкой сетевых приложений, и кому пока что сложно самостоятельно читать официальные спецификации.

HTTP — широко распространённый протокол передачи данных, изначально предназначенный для передачи гипертекстовых документов (то есть документов, которые могут содержать ссылки, позволяющие организовать переход к другим документам).

Аббревиатура HTTP расшифровывается как HyperText Transfer Protocol, «протокол передачи гипертекста». В соответствии со спецификацией OSI, HTTP является протоколом прикладного (верхнего, 7-го) уровня. Актуальная на данный момент версия протокола, HTTP 1.1, описана в спецификации RFC 2616.

Протокол HTTP предполагает использование клиент-серверной структуры передачи данных. Клиентское приложение формирует запрос и отправляет его на сервер, после чего серверное программное обеспечение обрабатывает данный запрос, формирует ответ и передаёт его обратно клиенту. После этого клиентское приложение может продолжить отправлять другие запросы, которые будут обработаны аналогичным образом.

Задача, которая традиционно решается с помощью протокола HTTP — обмен данными между пользовательским приложением, осуществляющим доступ к веб-ресурсам (обычно это веб-браузер) и веб-сервером. На данный момент именно благодаря протоколу HTTP обеспечивается работа Всемирной паутины.
Читать дальше →
Total votes 94: ↑82 and ↓12+70
Comments35

5 причин, по которым я люблю программировать в Linux

Reading time6 min
Views63K
Linux — это отличная платформа для занятий программированием. На нашей стороне — логичность, высокая эффективность, лёгкость работы с исходным кодом.

В 2021 году Linux выглядит как никогда привлекательно. Я собираюсь написать материалы, в которых расскажу о 21 способе использования Linux. А в этой статье я хочу поговорить о том, почему так много программистов выбирают Linux.

Когда я начал пользоваться Linux, я работал в сфере кинопроизводства. Я выбрал Linux из-за того, что эта ОС замечательно поддерживала работу с мультимедийными данными. Мы выяснили, что обычные коммерческие приложения для редактирования видео не способны обрабатывать большинство тех записей, которые мы извлекали из практически любых устройств, оснащённых камерами. Тогда я не знал о том, что Linux имеет репутацию операционной системы, рассчитанной на серверы и на программистов. Чем больше задач я решал с помощью Linux, тем сильнее мне хотелось научиться управлять всеми свойствами этой ОС. В итоге я выяснил, что компьютер показывает всю свою мощь тогда, когда его пользователь способен «говорить» на его языке. Через несколько лет после перехода на Linux я уже писал скрипты для автоматического редактирования видео, для объединения аудиофайлов, для пакетного редактирования фотографий, и для решения любых задач, которые мне удавалось сформулировать, и для которых удавалось найти решение. Мне не потребовалось много времени на то, чтобы понять, почему программисты любят Linux. Но именно Linux научила меня любить программирование.



Оказалось, что Linux — это отличная платформа для программистов, и для начинающих, и для опытных. Нельзя сказать, что Linux необходима для того, чтобы писать программы. Успешные разработчики пользуются самыми разными платформами. Но у Linux есть много такого, что она может предложить разработчикам. Кое о чём из этого я и хочу рассказать.
Читать дальше →
Total votes 60: ↑45 and ↓15+47
Comments162

Что стоит знать задумавшемуся о переходе на Ubuntu

Reading time8 min
Views115K


Знакомый, в глаза не видевший Linux, но заинтересовавшийся опенсурсом, после выхода Ubuntu 10.10 попросил написать ему, "чем хорошо, чем плохо, какие осложнения, какие тонкости, как наладить отношения с вин7", чтобы он мог решить, нужно ли ему это счастье.


Сначала подумал "зачем буду писать текст, когда наверняка его уже сто человек написали — быстро нагуглю, пошлю ссылку, а потом уже на конкретные вопросы отвечать буду". Но затем обнаружил, что по запросам вроде "миграция на ubuntu" вываливаются гигантские мануалы с тонкостями настройки compiz, а недлинный текст для "неопределившихся" быстро найти не получается ни в интернете вообще, ни на ubuntu.com и ubuntu.ru (то есть все как и писал в предыдущем посте), ни на Хабре — вот и подумал, что пусть теперь хотя бы на Хабре будет.


Участники "Убунтариума" вряд ли узнают из текста что-то новое, зато они могут дополнить его в комментах (не претендую на звание гуру, так что много важного наверняка упустил), и тогда люди, которые позже введут в гугл что-то вроде "переход на ubuntu", найдут тут счастье.

Читать дальше →
Total votes 232: ↑184 and ↓48+136
Comments638

Чемпионаты по программированию: развлечение для студентов или способ устроиться на работу мечты?

Reading time5 min
Views6.1K

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


Действительно, бывают чемпионаты чисто спортивные, куда люди приходят себя показать. А бывают другие — коммерческие, где на кону действительно крупные суммы денег, офферы в известные IT-компании и возможность релокейта в другую страну.


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



Читать дальше →
Total votes 9: ↑8 and ↓1+10
Comments15

Нужен ли шум для продуктивной работы мозга — обсуждаем мнения и исследования

Reading time3 min
Views7.9K

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

Читать далее
Total votes 8: ↑7 and ↓1+9
Comments11

Инструкция: Как создавать ботов в Telegram

Reading time6 min
Views1.7M
24 июня разработчики Telegram открыли платформу для создания ботов. Новость кого-то обошла стороной Хабр, однако многие уже начали разрабатывать викторины. При этом мало где указаны хоть какие-то примеры работающих ботов.
Попробую это исправить
Total votes 19: ↑14 and ↓5+9
Comments22

Облегчаем себе жизнь с помощью BeautifulSoup4

Reading time3 min
Views204K
Приветствую всех. В этой статье мы сделаем жизнь чуточку легче, написав легкий парсер сайта на python, разберемся с возникшими проблемами и узнаем все муки пайтона что-то новое.

Статья ориентирована на новичков, таких же как и я.
Читать дальше →
Total votes 3: ↑2 and ↓1+4
Comments9
Природа настолько очистилась, что технические конференции смогли выжить, а чисто рекламные — нет. Ведь сидеть дома в трениках и слушать маркетинговый трёп под чаёк с пряниками мало кто соберётся. Публику надо удивлять и давать ей пользу (контент is a king).

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

И тут на горизонте показался Yandex Scalе. Конференция посвящена одному продукту — Yandex.Cloud. Организаторы обещают, что это будет чисто техническая конференция с информацией из первых рук. Чтобы проверить это, мы пригласили представителя хабрасообщества Александра Фатина Loxmatiy Mamont испытать ведущих докладчиков на прочность.
Что мы узнали
Total votes 19: ↑15 and ↓4+28
Comments2

Что такое NFT на самом деле, сколько обмана может скрывать, и в каких сферах реально применим

Reading time5 min
Views120K

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

Единственная проблема заключается в том, что очень немногие знают, что такое NFT и как это работает на самом деле.

Пришло время пролить свет на NFT и глубоко погрузиться в детали того, как они работают, и сколько обмана может быть в сфере NFT.

Публикация основана на эксклюзивном переводе статьи: «NFT Madness — What they are and what they are not. Why they're great, and why they suck» для моего telegram-канала Clawed Project

Давайте начнем.

Что такое NFT на самом деле?

Всем известна аналогия с предметами коллекционирования. К сожалению, эта аналогия в лучшем случае совершенно неадекватна, а в худшем — явно вредна.

NFT (Non Fungible Tokens, не взаимозаменяемый токен) как термин означает, что каждый цифровой токен в сети уникален. Каждый токен содержит небольшое количество данных, которые уникальны для данного токена. Вот и все. Это просто небольшие контейнеры данных, которые перемещаются по блокчейну между адресами.

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

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

Information

Rating
Does not participate
Registered
Activity