Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Регистрируясь, я даю согласие на обработку данных и условия почтовых рассылок.
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam

Поддержка

Если вы не нашли ответ на свой вопрос, свяжитесь с нами.
Пикабу Игры +1000 бесплатных онлайн игр Монстрикс — это динамичная стратегия, где ты собираешь, улучшаешь и сражаешься с могучими монстрами.

Монстрикс

Мидкорные, Стратегии, Мультиплеер

Играть

Топ прошлой недели

  • Carson013 Carson013 23 поста
  • Animalrescueed Animalrescueed 32 поста
  • Webstrannik1 Webstrannik1 52 поста
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

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

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
0 просмотренных постов скрыто
tproger.official
tproger.official
Типичный программист

Студенческий вайб⁠⁠

38 минут назад
Студенческий вайб
IT юмор IT Программирование Код Универ Программист
1
3
Mercury13
Серия Доступно об АйТи

Ответ на пост «Тсс, этот секрет останется между нами и теми самыми библиотеками»⁠⁠1

3 часа назад

Доступно об АйТи: Почему ПО стало раздуваться

Я и сам против раздувания, и расскажу на примере своей программы «Юникодия». Это небольшая энциклопедия письменностей и самая лучшая замена Таблице символов, качать тут.

Исходный мем

Исходный мем

Моя Юникодия

Моя Юникодия

Использование фреймворков

«Юникодия» использует фреймворк Qt 6.1.3 — последний поддерживающий Windows 7. Думаю бросить «семёрку» и поднять версию Qt, но не знаю. Один только Qt занимает 24 мегабайта.

Слово «фреймворк» изначально (в вебе это слегка не то) означало библиотеку, которая содержит внешний цикл. Программист пишет программу, прописывая собственные события, вызываемые этим внешним циклом.

В настольном программировании фреймворк чаще всего используется для создания пользовательского интерфейса.

Кроссплатформенность

Одна из причин, почему используют фреймворки.

«Юникодия» есть только под Windows: у меня нет Мака, и и вообще на нём придётся учиться многому: свои цепочки шрифтов, свои механизмы сборки пакета, свои разглючки… Но, полагаю, фреймворк Qt поможет наладить Мак за пару недель, ведь он объединяет совершенно разные API операционных систем в один собственный.

Поднявшиеся требования к интерфейсу

Одна из причин, почему используют фреймворки: интерфейс должен давать тени, прозрачности и анимации.

Даже банальная таблица слева — это не стандартный элемент Windows, а нечто сделанное Qt с нуля.

Программа с собственным роскошным интерфейсом (драйвер от джойстика)

Программа с собственным роскошным интерфейсом (драйвер от джойстика)

Сейчас очень многие проги делают собственный интерфейсный стиль. Сам я, как программист, говорю: нет денег на хорошую дизайнерскую группу — в настольной программе используйте акценты, а не стройте новую «шкурку». У вас просто не получится сделать лучше, чем есть в ОС «из коробки». Решение моей Юникодии — только кое-где убрать рамку, чтобы уменьшить визуальный шум. Плюс пара цветных плашек.

HiDPI

…То есть экраны с высокой плотностью пикселей. Одна из причин, почему используют фреймворки.

  1. Сами фреймворки налаживают довольно сложную поддержку HiDPI.

  2. Программисту активно приходится писать функциональность по поддержке HiDPI там, где фреймворк сплоховал или нужно что-то нарисовать программно. Мороки много, килобайтов мало.

  3. Широкое использование векторной графики, растра запредельного разрешения. У меня из растров запредельного разрешения только иконки разных размеров от 16×16 до 256×256, а вот поддержка SVG от Qt занимает дополнительные 480 килобайт.

Иконки блоков на 175%

Иконки блоков на 175%

Загадка. Сможете сказать про каждую иконку, каким образом она рисовалась? Варианты: 1) Простой SVG; 2) Хинтованный SVG — SVG сдвигается на долю пикселя так, чтобы какая-то линия попала точно в пиксель; 3) Полупрограммно или программно — особый метод, придуманный специально для данной иконки.

Визуальные решения, взятые из веба

В частности, широкое использование иллюстраций.

Ольга Шаврина говорит, что иллюстрации в интерфейсе нужны в таких местах.

  1. Пустые состояния — там, где (пока) нет контента.

  2. Онбординг — там, где мы подсаживаем пользователя на нашу программу/службу. Приветствует, знакомим, обучаем, помогаем.z

  3. Уведомления — извещаем о событиях, добавляем эмоций в сообщение.

  4. Индикация прогресса — отражаем текущий статус пользователя или системы.

  5. Облегчение выбора — картинкой уменьшаем количество текста.

Что из этого актуально для «Юникодии…

  • Иконки — это то самое пятое, когда привыкший к «Юникодии» запоминает цвет и символ.

  • Пустое состояние тоже есть в количестве одной штуки. Но встроенный минибраузер плохо работает с HiDPI (и не знаю, как разглючить), а я не переношу «корпоративного мемфиса» — потому оставил без картинки.

Пустое состояние — не помешала бы картинка

Пустое состояние — не помешала бы картинка

Рандомная картинка в стиле «корпоративный мемфис»

Рандомная картинка в стиле «корпоративный мемфис»

Интернет

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

Я наткнулся на проблему: программе рано или поздно придётся заказывать электронную подпись, и затык в интернет-библиотеке: старый Qt использует брошенный и неофициально поддерживаемый кем -то OpenSSL 1.1. Разумеется, неподписанный.

Существует старая цитата:

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

— Джейми Завински, разработчик Netscape

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

Расширение функциональности

Тут всё просто. По Блокам оказалось сложно выискивать некоторые символы? Сделаем Подборки. Кто-то просит Любимые? Ну, давай.

Поскольку я одиночка, само расширение функциональности отнимает немного — зато нет-нет, да подтяну какую-то библиотеку для этого (например, поддержку ZIP).

Локализация

Пять языков занимают не так много, всего 3 мегабайта. Это включает как модули локализации Qt, так и мои собственные. «Юникодия» содержит текста на небольшую книгу (200 тысяч знаков), и мои модули несколько больше Qt’шных.

Новая функциональность новых ОС

Занимает не так много, несколько десятков килобайт, но в стартовом меню Windows 10 используются свои иконки особого размера.

Специфичное для Юникодии

Я не использую каких-то цветастых интерфейсов, программа таскает необходимый минимум графики.

Зато Юникодия, раз уж это энциклопедия символов, таскает 110 мегабайт шрифтов, и с каждым новым Юникодом этих шрифтов становится больше и больше. Основной источник увеличения — китайские иероглифы: шрифту А я максимально доверяю, шрифт Б содержит новые символы, шрифт В — корейский и японский в каноничном для них формате «без засечек».

За китайскими иероглифами с непреодолимым отрывом отстают египетские и… жестовое письмо Валери Саттон.

Ответ на загадку. Простой SVG — всё, что не содержит горизонтальных/вертикальных линий. Хинтованный SVG — если таковая есть (нота, например). Программно — сложные структуры, где полное попадание в пиксели важнее попадания в размер (все пиксельные, а также счётные палки).

Спасибо за внимание!

Показать полностью 6
[моё] Программирование IT Программист Оптимизация Прогресс Ответ на пост Длиннопост
3
5
tproger.official
tproger.official
Типичный программист

Ну так ДА или НЕТ?⁠⁠

5 часов назад
Ну так ДА или НЕТ?
Показать полностью 1
IT юмор Программирование IT Программист Искусственный интеллект Чат-бот
11
14
mskmeter
mskmeter
Лига Недвижимости

Как я стал Нео в Матрице московских новостроек⁠⁠

12 часов назад

Привет, Пикабу! Помните сцену из Матрицы, где Нео видит зеленый код? Так вот, я теперь вижу примерно то же самое, только вместо кода - цены на новостройки в Москве. И знаете что? Это пи**ец, товарищи.

Короче, я программист, и мне надоело платить за съем. Решил купить квартиру в Москве. Зашел на сайты застройщиков и...

Первый день: ЖК "Развод-Сити" - студия 10 млн
Через неделю: Тот же ЖК - "рост цен 20%" - студия стала стоить 12 млн
Ещё через неделю: "МЕГА СКИДКА 10%!" - 12 млн со скидкой = 10.8 млн (дороже цены в первый день)

Понял, что застройщики играют в "повышаем-снижаем" лучше крипто-скамеров. Написал парсер, который следит за изменениями цен и определяет: фейковая скидка или реальная. Теперь я знаю, когда скидка настоящая, а когда маркетологи включили режим “развод лохов”.

Вот реальная сводка из канала за 6 ноября:

Зеленым отмечены реальный скидки. А оранжевым - фейковые.

Зеленым отмечены реальный скидки. А оранжевым - фейковые.

Посмотрим детально максимальную скидку 14.7% от ВЕЙВ (ЛСР).

График с реальным снижением цены

График с реальным снижением цены

И действительно, цена постепенно росла, но резко снизилась 6 ноября и стала меньше цены по которой квартира стояла еще в мае. Можно считать скидку реальной.

А теперь посмотрим скидку Октябрьская 98 (Самолет), которая помечена оранжевым цветом как фейковая.

График-американские горки с ценами

График-американские горки с ценами

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

Вот ссылка на канал t.me/mskmeter где каждый день бот автоматически публикует такие сводки. Это бесплатно, без рекламы, смс и регистрации :)
Теперь когда застройщики реально снизят цены (да, это происходит каждый день!), вы узнаете первыми.

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

Показать полностью 4
[моё] Новостройка Москва Сервис Личный опыт Программист Скидки Длиннопост
7
HolyMonkey
HolyMonkey

IT киноляпы в фильме "Социальная сеть"⁠⁠

19 часов назад

На днях пересматривал фильм про любовь, дружбу, предательство и конечно же про талантливых Гарвардских программистов и решил как программист с 15 летним опытом разобрать IT моменты в фильме.

Записал часовой обзор к себе на YouTube. Но вот вырезка нескольких ярких моментов.

1. Бесконечный цикл на Perl

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

Возможно просто добавляли строки чтобы выглядело круче. Что интересно в строках запроса все запросы идут к локальному серверу.

2. Рейтинг Эло

В фильме смысл этой формулы описывали так: "Т.е исходя из этой формулы, победит та девушку рейтинг которой выше?".

Полная бессмыслица. Здесь высчитывается рейтинг, который получит девушка A за победу над девушкой B и наоборот. Чем выше рейтинг противника тем больше рейтинга я получаю.

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

3. Домен

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

На 2005 год, в котором разворачивается фильм, нужно было подождать пару дней чтобы друзья могли получить к сайту доступ.

4. Сижу крутой перед консолью

Это я так понимаю лог нагрузки.

Тогда можно понять почему нет обращений к картинкам. Но тогда здесь точно должны были отображаться проценты занимаемой оперативной памяти и нагрузка на CPU.

Иначе толку от этого лога 0.

5. Квадратные матрицы

Для псевдо-кода такая ошибка простительна. Но не совсем понятно почему тогда определили row и col, но не определили input и output.

6. Самострел

В сцене, где Марк сохраняет картинки с кёкрленда он ошибся в запросе wget. Такое могло бы быть.

Мы можем, не обязательно, в wget указать новое имя файла после скачивания. Но для этого нужно указывать дополнительный флаг -O.


Кстати помните сцену с сэндвичем?

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

Славный фильм.

Много пишу про IT и разыгрываю технику у себя в ТГ Канале.

Показать полностью 6
[моё] Программист Программирование IT Баг Фильмы Обзор фильмов Длиннопост
7
20
8088
8088
Юмор для всех и каждого
Серия АйТи на удаленке

А че так можно было? )))⁠⁠

22 часа назад

Пристроил себе гараж и балкон к многоквартирному дому )

А че так можно было? )))

Я тоже так хочу на своей удаленке )))

Показать полностью 1
[моё] Юмор IT Удаленная работа Программирование Истории из жизни Telegram (ссылка) Программист Python Фриланс
14
1027
tproger.official
tproger.official
Типичный программист

Тсс, этот секрет останется между нами и теми самыми библиотеками⁠⁠1

22 часа назад
Тсс, этот секрет останется между нами и теми самыми библиотеками
Показать полностью 1
IT юмор Программирование IT Программист Оптимизация Прогресс
228
4
8088
8088
Юмор для всех и каждого
Серия АйТи на удаленке

В офис завезли новый кулер )⁠⁠

23 часа назад
Новый кулер в офисе

Новый кулер в офисе

Уже пора выходить с моей удаленки? )))

Показать полностью 1
[моё] Юмор IT Удаленная работа Программирование Истории из жизни Python Telegram (ссылка) Офис Программист IT юмор Фриланс Карьера
5
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Маркет Промокоды Пятерочка Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии