Как стать автором
Обновить
10.55

Графические оболочки *

KDE и все такое

Сначала показывать
Порог рейтинга
Уровень сложности

Синхронность — это миф

Время на прочтение14 мин
Количество просмотров12K
Привет всем!

Сегодня вас ждет длинный текст без картинок (слегка сокращенный по сравнению с оригиналом), где подробно разобран тезис, вынесенный в заголовок. Ветеран компании Майкрософт Терри Кроули описывает суть асинхронного программирования и объясняет, почему именно этот подход гораздо реалистичнее и целесообразнее синхронного и последовательного.

Желающие или подумывающие написать книгу, затрагивающую подобные темы — пишите в личку.
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии5

Отечественная САПР-платформа nanoCAD Plus: универсальный комплекс для тех, кто проектирует

Время на прочтение33 мин
Количество просмотров25K

Весной 2018 года наша компания («Нанософт») выпустила в свет nanoCAD Plus 10 – новую версию российской САПР-платформы, приуроченную к 10-летию компании. Подумать только – 10 лет мы создаем nanoCAD на благо наших пользователей! Что нового появилось в продукте? Несколько месяцев назад я отвечал на этот вопрос в рамках YouTube-трансляции, которую посетили 600 человек. Сам по себе такой формат презентации был для нас нов, технически сложен, но, по-моему, получилось здорово – сама презентация заняла один час, а потом я еще 50 минут отвечал на вопросы слушателей. И в результате мы получили уникальную видеопрезентацию, в которой подробно и наглядно рассказываем о новшествах продукта. На сегодняшний день запись трансляции посмотрели более четырех с половиной тысяч человек, которые в основном ставят лайки. Если вы пропустили трансляцию, смотрите запись – рекомендую.

Но в процессе подготовки презентации я не раз ловил себя на мысли, что, рассказывая о новшествах продукта, упускаю нечто большее – концентрируясь только на новшествах, отсекаю общее позиционирование продукта. Во что превратился nanoCAD за 10 лет разработки? Чем он удобен и почему должен быть полезен нашим пользователям? Какие у него ключевые преимущества? Вообще, в целом, что такое платформа nanoCAD? Поэтому я решил написать статью-обзор нашего программного комплекса для тех, кто не готов собирать новинки, разбросанные по разным версиям, а хочет в рамках одной статьи получить полное представление о nanoCAD. Фактически это будет обзор современного российского САПР-решения и потенциальных направлений развития САПР, а также ответ на вопрос, куда движется nanoCAD как продукт.

Итак, российская платформа nanoCAD Plus глазами разработчика: что это и для чего?
Всего голосов 20: ↑20 и ↓0+20
Комментарии42

Разбираем и просматриваем квалифицированные сертификаты средствами Python/Tkinter

Время на прочтение10 мин
Количество просмотров13K
Квалифицированные сертификаты быстро стали неотъемлемой частью повседневной жизни. И все больше людей хотят увидеть этого «зверя» изнутри. Это с одной стороны. А с другой стороны разрабатывается все больше приложений, в которых задействуется информация иэ этих сертификатов. И это не только атрибуты ИНН или ОГРН владельца или издателя сертификата. Это может быть и информация о том какой криптопровайдер использован владельцем сертификата (атрибут subjectSignTool) для генерации закрытого ключа или на базе каких сертифицированных средств создан удостоверяющий центр (УЦ), выпустивший тот или иной сертификат. И если написать программку, которая будет анализировать выпускаемые сертификаты, то можно будут собрать интересную статистику по тому какие СКЗИ используют владельцы сертификатов и на базе каких (правда это менее интересно) сертифицированных (или несертифицированных) средств развернуты УЦ (атрибут issuerSignTools):
Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии24

Кнопочные смартфоны в 2018

Время на прочтение11 мин
Количество просмотров120K
Долго я откладывал эту информацию от всеобщего обозрения, но вот пришло время поделится ей с вами.

Предисловие


В этой статье я расскажу, как мир упустил один очень удобный и надежный сегмент рынка. Сейчас есть большое обилие смартфонов на разных ОС, разных размеров, дизайна, характеристик и т.д. Но несмотря на всё это, общий функционал у них одинаковый, производители пытаются внести что-то особенное, вроде двойных камер, сканера отпечатков пальца, безрамочный экран и многое другое. Но со временем эксклюзивные функции появляются на всех смартфонах, включая бюджетный класс.
Всего голосов 70: ↑51 и ↓19+32
Комментарии201

Истории

Создаем TUI на python

Время на прочтение4 мин
Количество просмотров52K

Привет, Хабр! В этой статье я расскажу про npyscreen — библиотеке для создания текстовых интерфейсов для терминальных и консольных приложений.



Читать дальше →
Всего голосов 63: ↑63 и ↓0+63
Комментарии42

И на улицу JavaFX тоже придет Spring

Время на прочтение20 мин
Количество просмотров24K
Доброе время суток, хабровчане!

Надеюсь среди Вас найдутся такие же любители делать формочки как и я.
Дело в том, что я всегда был приверженцем дружелюбных интерфейсов. Меня расстраивали приложения, которые мало ориентированны на пользователей, такое особенно бывает в корпоративной разработке. И зачастую клиентские приложения написанные на Java это черные окошки, а к приложениям c GUI относятся со скептицизмом.

Ранее, на Swing или AWT все было очень печально, да наверное и до появления JavaFX 8 написание анонимных классов превращалось в спаггети код. Но с появлением лямбда-выражений все изменилось, код стал проще, понятней, красивее. Использовать JavaFX в своих проектах стало одним удовольствием.

Вот и возникла у меня мысль связать лучший инструмент для Java Spring Framework и удобный в наше время инструмент для создания GUI JavaFX, это даст нам использовать все возможности Spring`а в клиентском десктопном приложении. Собрав всю информацию воеидно, которую я искал по просторам сети, я решил поделиться ей. Прежде всего хочу отметить, что статья предназначена больше для новичков, поэтому некоторые подробности для многих могут оказаться слишком банальными и простыми, но я не хочу их опускать, чтобы не терять целостность статьи.



Жду конструктивной критики по свои решениям.

Кому интересно, прошу под кат.
Читать дальше →
Всего голосов 31: ↑28 и ↓3+25
Комментарии23

Создание параметрических объектов базы в nanoCAD Механика (Часть 3)

Время на прочтение6 мин
Количество просмотров2.8K

Часть 3. Создание исполнений. Сборочные зависимости




В предыдущей части мы ознакомились с основным инструментарием Мастера объектов nanoCAD Механика для создания параметрического объекта и рассмотрели процесс задания параметров созданному элементу базы.

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

В этой части мы задействуем инструментарий nanoCAD Механика, предназначенный для создания полноценных параметрических объектов и управления сборочными зависимостями.

Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии2

Создание параметрических объектов базы в nanoCAD Механика (Часть 2)

Время на прочтение3 мин
Количество просмотров2.3K


Работа с кодом объекта. Мастер скриптов


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

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

Как было отмечено в предыдущей части, предлагаемый материал может использоваться в качестве инструкции по созданию параметрических объектов и управлению ими. Рекомендуется использовать nanoCAD Механика версии 8.0 и выше. Оценочная версия программы доступна по ссылке.

По ссылке https://goo.gl/6KhvzH можно скачать объект, который будет использоваться в качестве базового для данного примера.
Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии2

Как с помощью трех открытых проектов написать диплом

Время на прочтение13 мин
Количество просмотров8.9K
Не секрет, что в у нас в проекте используют обучают студентов. Точнее, студенты на базе проекта осваивают практические аспекты системного программирования: пишут дипломы, курсовые, занимаются исследовательской деятельностью и так далее. Вот об одном дипломе, успешно защищённом прошлым летом, и пойдет речь в данной статье.

Автором является Александра Бутрова AleksandraButrova, тема “Разработка графической подсистемы для встроенных операционных систем”. При написании диплома были использованы три открытых проекта: Embox, Nuklear и stb. Последний использовался только для загрузки картинок, а вот Nuklear являлся, по сути, виновником торжества. Можно сказать, что работа свелась к интеграции Nuklear и Embox. Первый предоставлял лёгкую графическую библиотеку, а Embox отвечал за встроенные системы.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии14

Создание параметрических объектов базы в nanoCAD Механика

Время на прочтение3 мин
Количество просмотров4.7K


В nanoCAD Механика существует база стандартных изделий, многие элементы которой являются параметрическими объектами и связаны между собой определенными зависимостями. Эти зависимости определяются теми стандартами, в рамках которых исполняются элементы.


Параметрическим объектом является элемент с управляемой через параметры геометрией.


Модуль Мастер объектов в nanoCAD Механика позволяет создавать объекты, параметры которых связаны определенными зависимостями не только внутри объекта, но и с параметрами других объектов базы. Это обеспечивает возможность генерировать через параметры различные исполнения или типы одного и того же объекта, а также управлять многокомпонентными сборками, создавая различные вариации одного узла или изделия в целом.


Предлагаемая серия практических материалов описывает некоторые возможности работы модуля параметризации в nanoCAD Механика и может служить кратким учебным пособием по созданию параметрических элементов.

Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Комментарии0

Конструктор GUI Visual Tcl с поддержкой тематических виджетов

Время на прочтение1 мин
Количество просмотров9K
imageПоследняя версия конструктора GUI Visual Tcl опирается на использование пакета Tcl/Tk версии 8.6. Этот пакет включает в себя как классические Tk-виджеты, так и тематические виджеты (Themed Widgets) TTK. Тем удивительнее, что конструктор vTcl поддерживает только классические tk-виджеты. Отчасти это можно объяснить поддержкой в vTcl виджетов BWidget, которые исторически включают в себя виджеты для создания «записных книжек» (Notebook), combobox-ов и т.д.:

image


Имея в своем распоряжении виджеты BWidget, теоретически можно обойтись и без тематических виджетов notebook, combobox и т.п.
Читать дальше →
Всего голосов 15: ↑13 и ↓2+11
Комментарии0

Tcl/Tk – создание расширений/пакетов на базе динамических библиотек

Время на прочтение9 мин
Количество просмотров3.7K
В одной из наших заметок было высказано намерение написать графические оболочки для пакетов OpenSSL и NSS (Network Security Services). GUI для NSS было написано:
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии4

Разработка приложений на языках C/C++ с использованием Tcl/Tk

Время на прочтение35 мин
Количество просмотров17K
image Мощный функционал скриптового языка Tcl в сочетании с виджетами Tk/TTK позволяет создавать в этой среде серьезные приложения. Этому способствует также его кросплатформенность и прекрасная интеграция с языками программирования C/C++.
Читать дальше →
Всего голосов 15: ↑12 и ↓3+9
Комментарии30

Ближайшие события

27 августа – 7 октября
Премия digital-кейсов «Проксима»
МоскваОнлайн
11 сентября
Митап по BigData от Честного ЗНАКа
Санкт-ПетербургОнлайн
14 сентября
Конференция Practical ML Conf
МоскваОнлайн
19 сентября
CDI Conf 2024
Москва
24 сентября
Конференция Fin.Bot 2024
МоскваОнлайн
25 сентября
Конференция Yandex Scale 2024
МоскваОнлайн
28 – 29 сентября
Конференция E-CODE
МоскваОнлайн
28 сентября – 5 октября
О! Хакатон
Онлайн
30 сентября – 1 октября
Конференция фронтенд-разработчиков FrontendConf 2024
МоскваОнлайн

Tcl/Tk. Тематические виджеты TTK и дизайнер TKproE-2.20

Время на прочтение7 мин
Количество просмотров7.6K
imageПросматривая свои заметки по проектированию GUI с использованием виджетов Tk, я почувствовал какую-то неудовлетворенность. А дело оказалось в том, что я фактически упустил работу с тематическими виджетами ttk (themed tk). Они в скользь были задействованы при рассмотрении пакета Tkinter для Python и использовании дизайнера Page . Там речь шла о виджете TNotebook (блокнот, записная книжка) из пакета ttk.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии6

Криптографические токены PKCS#11: управление и доступ к объектам токена (Продолжение )

Время на прочтение3 мин
Количество просмотров13K
image Криптографические токены/смарткарты сегодня стали довольно обыденным делом. Все больше людей идут на Удостоверяющие Центры (УЦ) и просят выдать ключик и электронную подпись для доступа к различным сайтам для получения тех или иных услуг. Попытка объяснить, что им выдадут сертификат по аналогии с паспортом, а электронную подпись они будут ставить сами, используя свой закрытый ключ, мало кого и в чем убеждает.

Есть магическое слово – ключик, а на нем есть что-то, что позволит отправить данные в налоговую, участвовать в торгах и т.п. И УЦ выдают гражданам и организациям «ключики» с сертификатами и закрытыми ключами. Сегодня в абсолютном большинстве этими ключиками являются токены. Так и хочется сказать -криптографические токены с поддержкой российской криптографией и интерфейсом PKCS#11. К сожалению это далеко не так. Несмотря на то, что и производителей и объем токенов растет, используются все же они в большинстве случаев как обыкновенная флэшка, но с доступом к ней по PIN-коду.
Читать дальше →
Всего голосов 11: ↑10 и ↓1+9
Комментарии17

Краткий сравнительный обзор GUI решений для работы с Docker

Время на прочтение3 мин
Количество просмотров40K

Инструментов для работы с Docker существует огромное множество, аналоночно как и статей с подборками решений. Однако на просторах бескрайнего интернета мало доводилось встречаться с краткими обзорными статьями, исходя из которых можно было бы понять какой инструмент мне нужен под конкретную задачу. Данная статья является лишь отражением того с чем довелось столкнуться и поработать лично, поэтому в список попали наиболее часто используемые и популярные инструменты.
Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии22

Vim спустя 15 лет

Время на прочтение15 мин
Количество просмотров43K


Мои предыдущие посты об использовании Vim (1, 2) читатели приняли хорошо, и пришло время обновления. В Vim 8 появилось много очень нужной функциональности, а новые сайты сообществ вроде VimAwesome облегчили поиск и выбор плагинов. В последнее время я много работаю с Vim и организовал рабочий процесс исходя из максимальной эффективности, вот снимок моей текущей работы.


Вкратце:


  • FZF и FZF.vim — для поиска файлов.
  • ack.vim и ag — для поиска файлов.
  • Vim + tmux — ключ к победе.
  • Благодаря асинхронности ALE — это новый Syntastic.
  • …И многое другое. Об этом ниже.
Всего голосов 63: ↑57 и ↓6+51
Комментарии42

DockStation. Почему мы решили сделать этот проект

Время на прочтение5 мин
Количество просмотров14K
Работа с Docker не самая простая задача. В этой статье хотелось бы рассказать что нас подтолкнуло с созданию DockStation проекта и что у нас уже реализовано на данный момент.

Начало


Я работаю разработчиком уже больше 8 лет, и для меня всегда была болью настройка dev окружения для разработки при переходе на другую OС или смене рабочей машины.
Читать дальше →
Всего голосов 19: ↑19 и ↓0+19
Комментарии56

Создание библиотеки компонентов с использованием Storybook

Время на прочтение9 мин
Количество просмотров36K

Введение


image

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

Компании все чаще прибегают к написанию интерфейса состоящего из множества независимых компонентов, которые могут быть использованы повторно. Многие дизайнеры создают дизайн проект который описывает каждую деталь дизайна. Они используют ряд инструментов для документирования интерфейсов, первые которые приходят на ум это axshare.com и zeplin.com. Тот же фотошоп, в котором у них все разложено строго по папочкам. Это позволяет им с легкостью работать над дизайном проекта, обновлять и добавлять новые страницы, просто копируя уже имеющиеся наработки.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии1

Пишем простой счётчик уникальных слов на Python с GUI на Tkinter

Время на прочтение3 мин
Количество просмотров24K
Данная статья написана для тех, кто только начал изучать Python. В ней я пошагово опишу создание простого счетчика слов из txt-файлов, применяя Tkinter. Исходный код написан под Python 2.7, в конце статьи я добавлю несколько комментариев относительно того, как перенести его под 3.6

С чего начинаем?


Никаких незаурядных лестниц в программе не будет, так что рекомендую писать в IDLE; конечно же, без проблем можно писать и в PyCharm'е, и в Эклипсе.
Читать дальше →
Всего голосов 18: ↑12 и ↓6+6
Комментарии10