Как сделать свою IDE уровня IDEA

Автор: admin от 15-04-2017, 22:45, посмотрело: 70

Некоторое время назад я опубликовал пост, в котором поднял тему низкого уровня качества моего любимого инструмента — PyCharm, и спросил: что делать? Данная проблема видится мне совершенно обескураживающей: 21-й век на дворе, а единственная доступная мне профессиональная IDE развивается по принципу «лучше — больше, но хуже». Имеется около десятка багов, исправление которых я лично жду годами, не говоря уже о тех проблемах, которые мне стало лень зарепортить. Количество багов растёт каждый год с постоянной скоростью, а в качестве оправдания я слышу рассказ о зависимости количества багов от количества пользователей. Альтернатив нет, а пилить свою IDE — почти нереально. Так что же делать?

Среди потока эмоциональных комментариев меня особо заинтересовал один — никем не замеченный, в котором пользователь VISTALL скромно сообщил, как он решил эту проблему для себя. Он сделал свой форк IDEA для .NET и C# — Consulo IDE. Для меня лично такое заявление стало полной неожиданностью. Извините, если кто-то не разделяет моего удивления, но для меня это совершенно непостижимо так же, как вездесущие вечные баги в PyCharm. Ведь IDE разрабатывают большие команды разработчков, а он решил сделать свой форк, пусть даже и форк, но свой, который нужно поддерживать и развивать самому… Как??? Этот вопрос я решил задать лично автору форка — Валерию Семенчуку, а заодно и много других вопросов. Слово за слово, получилось небольшое интервью, надеюсь, интересное не только мне…

Категория: Программирование

 

Свои потоки ввода-вывода в C++ с помощью std::streambuf

Автор: admin от 15-04-2017, 21:00, посмотрело: 86

В статье на примерах объясняется, как реализовать поддержку потокового ввода-вывода из стандартной библиотеки () для своих классов.
В тексте статьи будет часто встречаться слово «поток», что означает именно поток ввода-вывода ((i/o)stream), но не поток выполнения (thread). Потоки выполнения в статье не рассматриваются.


Введение


Потоки из стандартной библиотеки — мощный инструмент. Аргументом функции можно указать поток, и это обеспечивает ее универсальность: она может работать как со стандартными файлами (fstream) и консолью (cin/cout), так и с сокетами и COM-портами, если найти соответствующую библиотеку.

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

Категория: Программирование

 

Создание однопользовательской игры: от идеи до прототипа

Автор: admin от 15-04-2017, 20:20, посмотрело: 54

Слушатели нашей программы «Менеджмент игровых проектов» temoon и Mazoo сейчас участвуют в GamesJamKanobu 2017 с необычной физической экшн-головоломкой, где можно изменять направление гравитации. Называется игра Graviman.

Под катом вы найдете подробный рассказ Артема и Тани про работу над этим проектом от зарождения идеи и до создания прототипа. Ну а скачать прототип и поиграть в игру можно на странице проекта на джеме. Если игра вам понравится, обязательно за нее проголосуйте.
Создание однопользовательской игры: от идеи до прототипа

Категория: Веб-разработка, Game Development

 

7 важнейших изменений в гейм-дизайне с эры Nintendo 64

Автор: admin от 15-04-2017, 20:00, посмотрело: 50


Старое снова становится модным. Достаточно посмотреть, например, на игру Yooka-Laylee компании Playtonic Games: ностальгический 3D-платформер в стиле Banjo-Kazooie и Donkey Kong 64. Playtonic была готова к этому проекту — многие сотрудники команды раньше работали в Rare, создававшую классику 1990-х.

С помощью Yooka-Laylee команда Platonic пытается показать, как 3D-платформер в классическом стиле может выглядеть на современном игровом рынке. После успешной кампании на Kickstarter Yooka-Laylee будет выпущена в апреле этого года.

Не нужно говорить, что со времён Nintendo 64 в играх изменилось многое. Мы попросили сотрудников Playtonic рассказать нам о том, как технологические усовершенствования повлияли на различные области разработки игр, и что они значили для дизайнеров, художников, композиторов и директоров, участвующих в процессе разработки.

Категория: Программирование » Веб-разработка

 

Переход с bash на zsh

Автор: admin от 15-04-2017, 18:40, посмотрело: 85

Чтобы перейти с bash на zsh необходимо знать базовые отличия между ними — без этого будет сложно провести первоначальную настройку zsh в ~/.zshrc.


Я не нашёл краткого описания этих отличий когда переходил сам, и мне пришлось потратить немало времени на вычитывание документации zsh. Надеюсь, эта статья упростит вам переход на zsh.


Зачем переходить


Для начала — а стоит ли вообще тратить своё время и внимание на переход? Учить ещё один диалект sh, менее распространённый чем POSIX sh или bash, заново заниматься настройкой рабочего окружения…


На мой взгляд, если вы проводите много времени в консоли, вам нравятся Vim или Emacs и вы уже потратили немало времени на их настройку "под себя" — однозначно стоит! Zsh по духу очень на них похожа: это очень сложная и гибкая программа, чьи возможности полностью мало кто знает, но потратив некоторое время на настройку можно получить очень удобную лично вам рабочую среду.

Категория: Операционные системы » Linux

 

Основы TCP/IP для будущих дилетантов

Автор: admin от 15-04-2017, 16:45, посмотрело: 68

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

Основы TCP/IP для будущих дилетантов

Категория: Программирование, Системное администрирование, Сетевые технологии

 

Security Week 15: Дырявый модем в Huawei, VirusTotal как канал утечки данных, Microsoft патчится от Dridex

Автор: admin от 15-04-2017, 09:50, посмотрело: 107

Security Week 15: Дырявый модем в Huawei, VirusTotal как канал утечки данных, Microsoft патчится от DridexБывают же люди, до чужих багов жадные. Ральф-Филипп Вайнман из Comsecuris явно слегка повернут на уязвимостях беспроводных модемов – он копает эту тему как минимум с 2011 года, безжалостно бичуя поставщиков дырявых чипсетов. Почти каждый год выступает с новым докладом. В этот раз досталось Huawei, точнее, ее дочке HiSilicon Technologies. И достанется еще не раз: компания по доброте душевной опубликовала исходники ядра Huawei H60 Linux, что крутится у них под чипами серии Kirin, а вместе с ними слила и прошивку для HiSilicon Balong – сотового модема, который стоит в смартфонах Huawei.

Категория: Информационная безопасность

 

Занятная приоретизация голосового трафика в Telegram

Автор: admin от 15-04-2017, 05:55, посмотрело: 69

Занятная приоретизация голосового трафика в Telegram

Наверное, многим интересно, как же команде Telegram удалось сделать популярную для мессенджеров функцию голосовых звонков уже сразу после запуска разительно отличающейся по качеству в лучшую сторону перед многими другими VoIP — сервисами.
Во время изучения работы Telegram Calls я обратил внимание на интересную техническую деталь, которая используется на сетевом уровне и помогает уменьшить задержки при прохождении пакетов, когда при соединении используются релейные сервера.

Категория: Программирование, Сетевые технологии

 

Генератор проектов

Автор: admin от 15-04-2017, 01:15, посмотрело: 168

В данной статье речь пойдет о специфическом программном продукте, предназначенном для разработки больших программно-информационных комплексов. Этот продукт называется «Генератор проектов», и в его основе лежит инструментальный подход к программированию, когда сам процесс разработки программных систем рассматривается как объект автоматизации. Эта тема была довольно модной где-то в 70-80-х годах прошлого века, но на наш взгляд, такой подход не устарел и сегодня. По крайней мере, нашему творческому коллективу долгие годы удавалось разрабатывать промышленные автоматизированные системы различного назначения с помощью собственного инструментария.

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

Категория: Программирование