Как выглядит карта программиста? То есть какие ветви есть и как к ним добираться? Лично мне интересно IT, но оно настолько просторно, что не знаю к чему подступиться. Соответственно, даже не могу выделить что нравиться, так как для этого сначала нужно попробовать. Свободное время конечно, поэтому всё не попробуешь. Например, мне интересно AI идеологически, но как туда вкатиться не знаю. Или же нравиться синтаксис с++, однако, если буду его изучать, то что можно делать с ним? Реквестирую также гайды по программированию, свои пути и советы.
>>779 (OP) Было время, когда я воспринимал программирование как путь автоматизации высоких порядков, вроде самовоспроизводимых устройств. А реальность оказалась, что подавляющее большинство создаваемых программистами вещей требует обслуживания.
>>784 >Какого рода AI Cистемы принятия решений интересны, так они могут решить множество проблем: замена судей, диагностировать серьёзные заболевания, помогать решать научные задачи, - да тысячи их. Распознавание образов тоже интересная задача, хоть и не нравится оно мне в руках государства.
>Можно раз в неделю отводить 8 часов на выходных на изучение узкой тематики. Стоит попробовать так. Однако узких тематик достаточно много и для её изучения существует порог. Для преодоления порога есть набор знаний и технологий. Эти знания и технологии сами по себе требуют осмысления, но и ещё нужно знать какие именно. Поэтому нужна карта, чтобы понимать, как добираться до цели.
Извлекая полезное из твоего опыта, один из вариантов пытаться понимать всё что есть на моём компьютере и разбирать каждую строчку в коде.
>>790 Давай поиграем? В простенькую игру, например, в плоском 2d мире у каждого игрока 10 юнитов, которые имеют сколько-то хп и стреляют снарядами. Соревнуются две программы, моя против твоей. В функцию передаётся массив координат юнитов (своих и вражеских), положения и скорости снарядов (чтобы уворачиваться), какие-то препятствия (если они есть) - нужно для каждого юнита высчитать действия (идти куда-то, стрелять в какую-то сторону или ещё что-то). Никаких внешних зависимостей и других секретных знаний, простенькое игровое ai (с открытым кодом, чтобы каждый мог скомпилировать и запустить) против другого простенького игрового ai. Каждую функцию в отдельном потоке запустить, чтобы более-менее равные вычислительные возможности были.
>>704 webp_quality говорит, что "Estimated quality factor: 100". Шакалы там от исходного jpeg'ошного файла, который он конвертировал. Если сконвертировать эту пикчу в png, то размером она выходит в 0,97 МБ, а если в webp без потерь - 680 КБ.
>>531 (OP) В практическом применении два основных, оно обходит JPEG по соотношению качества и размера. Притом даже при сильно ушакаленном качестве оно выглядит приемлемо, в отличие от JPEG. Это может быть полезно, например, когда на сайте много превью, делаешь их в WEBP, и размер загружаемой страницы прилично уменьшается. Экономить на прьевьюхах весьма разумно.
Второе: это формат с потерями с прозрачностью. Сейчас когда нужна прозрачность используется PNG, даже если качество не требуется.
Ответы:
Есть два стула: декларативный и императивный
Anonymous
No.628[Ответ]
И нет, это тред не о программировании, а об организации софта в операционные системы. Или о блуждании границы между этими сущностями, если будет угодно.
Далее пойдёт набор тезисов, которые выражают свежесформированное понимание этого всего и наверняка несут в себе ошибки и неточности.
Декларативный подход является методом абстрагирования от сущностей, при котором управление сущностями осуществляется единообразно и комплексно. Императивный — работа с каждой сущностью по отдельности определяемым сущностью методом.
Декларативные методы по сравнению с императивными являются более высокоуровневыми, т.е. позволяют меньшими усилиями добиться больших результатов, но ценой этому является меньшая контролируемость результата.
Императивный метод установки софта — даблклик по setup.exe, выбор компонентов, далее → далее → далее → отказаться от перезагрузки, и так для каждой программы. Декларативный — apt install софтина1 софтина2 софтина3.
Однако, тот же apt install по сравнению с декларацией требуемого софта в конфиге операционной системы (как в nixos и guixsd) является императивным.
Ещё пример — разница между управлением сборкой софта в gentoo и debian: в gentoo администратор описывает нужные опции сборки в системных конфигах, тогда как в debian для этого нужно расковыривать пакеты и патчить их скрипты сборки, которые ещё и сами по себе представляют из себя тот ещё зоопарк.
Разница между gentoo и lfs — декларативный и императивный подходы в чистом виде: в gentoo описываются опции сборки, после чего запускается автоматическая сборка требуемого софта (в идеале, на практике это часто несколько иначе), тогда как в lfs всё нужно пошагово собирать и устанавливать руками.
Эта модель также описывает разницу между sysvinit с километровыми шелл-скриптами костылей и systemd: к systemd демоны прикручиваются его средствами, единообразно, лаконично и переносимо на любую ОС с systemd или его эмуляцией (shepherd, nosh), в то время как на шелл-скриптах городятся костыли произвольным образом и рандомными средствами операционной системы.
>>725 Это та задача, для которой LFS непригоден. Он для подробного изучения софта, а не для глубокой автоматизации установки, что есть вещи противоположные, хоть и взаимосвязанные: подробное изучение облегчает дальнейшую автоматизацию, раскрывая возможности её тонкой настройки и границы функционала компонентов.
>>628 (OP) Декларативный подход более программерский, императивный - более хакерский. В императивном проще изучать систему, менять, экспериментировать копаться в ней. В декларативном проще сделать как надо, держать систему под контролем, обеспечить воспроизводимость.
Тупой вопрос. Раньше использовались хабы, но они были не безопасны, ведь слали данные на все порды кроме принимающего, а конечное устройство уже решало принимать или не принимать. На смену пришли свитчи, они делали arp-запрос, запоминали нужный адрес и уже на него слали данные. Я подумал своей тупой башкой, говорят,два устройства с одинаковым маком вызовут конфликт, одно из устройств данные получать не будет, но какое - не регламентируется. Какая вероятность, что злоумышленние получит пакеты, ecли пропишет себе чужой mac-адрес ? А что будет при условии, что настоящее устройство с этим маком уйдет из сети, отключиться или еще что, пакеты будут идти на устройство злоумышленника ?
>>596 (OP) > Раньше использовались хабы Они и сейчас используются, например, при коммутации оптики — это позволяет обойтись без электричества. > На смену пришли свитчи, они делали arp-запрос Свитчи не делают arp-запрос, его делают сами пиры. Свитчи только запоминают MAC-адреса, с которых на их портах идёт трафик (в т.ч. ответы на ARP-запросы, и отправляют идущие на эти MAC-адреса пакеты не на все порты, а на конкретные. > говорят,два устройства с одинаковым маком вызовут конфликт, одно из устройств данные получать не будет, но какое - не регламентируется. Да. > Какая вероятность, что злоумышленние получит пакеты, ecли пропишет себе чужой mac-адрес ? Зависит от поведения свитча. Заметив конфликт, он может разрулить его в пользу старого пира, либо наоборот — это, как ты сам написал, не регламентируется. > Какая вероятность, что злоумышленние получит пакеты, ecли пропишет себе чужой mac-адрес ? Если таблицы MAC-адресов свитчей не прописаны жёстко (а так провайдеры любят делать, в результате чего клиентам при смене MAC'а приходится звонить и просить сбросить привязку), то полная: если переткнуть девайс из одного порта свитча в другой, то он заработает практически сразу, а это та же операция.
Аноны, возник вопрос, интересуюсь чисто в любознательных целях. Пусть мы имеем папку, ее можно открыть, получается она как исполняемый файл, а когда она не исполняемая чтение содержимого невозможно. Можно ли сделать тaк, чтобы открытие папки сопровождалось выполнением чeгo-либo, батника, exe-шника ? Или же логика неправильная и это не позволит обойти пароль на права администратора
>>584 Сперма -> спермерка -> семерка -> windows 7. По аналогии дрисня - дриснятка - десятка; так же и с остальными. За точность перевода терминологии не ручаюсь. Только почему спермой названы вообще все сорта мастдая, не ясно.
>>517 >азам электроники и логических элементов(регистры, триггеры, дешифраторы, логические элементы и их построение) Главное понять логику битовых операций, а на чем, не очень важно. Хотя на электронных логических компонентах будет, наверное, нагляднее. Жаль, что теперь нету кружков всяких, где этому детям учиться? Вот я в кружок радиолюбительский в детстве ходил, там как раз впервые с логикой и познакомился.
>потом выучить архитектуру процессоров, потом пописать на асме, узнать, как устроен компилятор и как компилируется тот или иной язык Для общего развития это все знать, конечно, неплохо, но чтобы начать писать на высокоуровневых языках это не нужно. Они вообще для этого и были придуманы, чтобы не ломать голову ассеблером. А еще ассемблер для каждой архитектуры разный и даже освоив его, больше чем hello world на нем написать очень сложно.
>>518 >Главное понять логику битовых операций, а на чем, не очень важно. Хотя на электронных логических компонентах будет, наверное, нагляднее. >Жаль, что теперь нету кружков всяких, где этому детям учиться? Вот я в кружок радиолюбительский в детстве ходил, там как раз впервые с логикой и познакомился. Детям то зачем этому учиться? Этому учатся в вузе те, кто выбрал соответствующую профессию, в радиолюбительском кружке не дадут фундаментальных знаний. >Для общего развития это все знать, конечно, неплохо, но чтобы начать писать на высокоуровневых языках это не нужно. Они вообще для этого и были придуманы, чтобы не ломать голову ассеблером. А еще ассемблер для каждой архитектуры разный и даже освоив его, больше чем hello world на нем написать очень сложно. В основном ассемблер одинаков. Отличается только размер байта(он может быть 8, 32, 64 бит для разных архитектур) и некоторые команды(в слабых процессорах может отсутствовать умножение).
>>522 >Детям то зачем этому учиться? Мне, например, просто интересно было. Это сейчас никому ничего не надо. Именно в радиолюбительском кружке я получил первые базовые знания, которые потом мне пригодились и в программировании.
нужны ключи доступа к базе https://nais.gov.ua/ (ключи уникальной электронной подписи для внесения !статических измнений" в базу "реестр имущественных прав" "реестр судебных решений" , кто чем может помочь ?
У меня телефон Motorola G5s+, Android 8.1, 8 ядер (в 4 раза больше, чем у моего ПК), 3 гигабайта оперативки. И он иногда подлагивает, особенно на приложениях типа "Авито" и "Фейсбук". И когда я начинаю об этом размышлять, меня это адски бесит.
Смотрите сами, от "Авито" мне нужен список товаров, их подробная характеристика, контакты и т.п. От "Твиттера" мне нужен никнейм пользователя и 140 280 символов его твита. И Android 2.3 был бы хорошим выходом.
Но нахуя эти ебучие пидорасы из Гугл продают всем свой ебучий материальный дизайн, AppCompat-темы оформления для Activity в приложениях, причем делают это принудительно. Мне не нужен "материал как метафора". Я не педик. От телефона мне нужна информация. Хуй с ними, я смирился с зондами и постоянным сканированием и анализом моей геолокации. Зачем мне нужны все эти скругленные углы в интерфейсе? Плавные анимации перехода, тени при нажатии, объемный материал кнопок? НАХУЯ БЛЯТЬ, Я СПРАШИВАЮ?
Я НЕ ПЕДИК, МНЕ НУЖНА ИНФОРМАЦИЯ ОТ СМАРТФОНА. Если бы я был геем, я бы купил айфон с рюшечками. Ну нахуя Гугл каждый раз выпускает новую версию оси, производители приложений повышают minSdk в приложениях, тем самым убивая возможность пользоваться старыми осями? Ведь со времен выхода первого андроид не так уж много фич для пользователя добавилось. Все те же датчики, все те же две камеры.
Как так получилось, что я не могу пользоваться старым дизайном, где верхом шедевра будет подсвечивание элемента списка при нажатии? На 3 гигабайтах оперативной памяти я предпочту... не знаю, играть в примитивный 3D-шутер, запустить QPython, майнить битки или вычислять белки. Нахуя вот это вот увеличение памяти ради новых затененных бликов, всплывающих на кнопке AppCompatButton на 0,1 с для более реалистичного изображения искажения материала? И так в каждом, блять, приложении. И ладно, визуальные эффекты интерфейса выполнялись бы оптимизированно. Но нет, каждая тень, каждая блик через 20-30 слоев абстракции. Один метод вызывает другой метод, который вызывает переопределенный третий метод, который... И все это через драгоценную стековую память. Чтобы в конце поменять координаты точки или изменить цвет пикселя.
Аккумулятора на 3000 mAh хватает часов на 8-10 не самого активного пользования, неудивительно. У меня есть портативная рация с аккумулятором на 700 mAh. Ее хватает на сутки непрерывного разговора, а пользуясь с такой же частотой, как и смартфоном, аккума хватает на месяц-два. Неудивительно, что ваш телефон быстро съедает весь заряд. Какие бы Doze разработчики Гугла не впихивали бы в новые версии Android, ограничивая по времени вызовы AlarmManager и JobScheduler, это все в пустую, пока у вас есть ебаный дизайн с прогрессивным градиентным затенением каждого элемента, тенью тени и 20 слоями абстракции на все это.
В общем так, аноны, как вы считаете, есть ли выход из этого круга, когда мы наворачиваем мощность, чтобы наши кнопочки были более красивые, а индусы могли бы их рисовать через "Сделать заебись" визуальный редактор? Есть ли проекты по даунгрейду Андроид-интерфейса и возврата его хотя бы к 2.3 версии?
>>438 Если оно качественно слепленно, то да, я скорее буду пользоваться им, чем грузным и говенным браузерным интерфейсом. Но, опять же говорю, речь про ПК. На андроиде уровень макакинга поражает воображение, и на выходе это примерно те же сорта говна, что и доступ через браузер.
>>437 Менюшку правой кнопкой мыши можно и на сайтах делать, прям как в десктоп-прогах, просто не делают. Да и нах надо? Ну и в 2019 на десктопах всё ещё нет изоляции отдельных программ, так что в этом аспекте десктопописцы - уебаны. >>439 >чем грузным и говенным браузерным интерфейсом. Он не обязан быть таким.
Кстати, всякие твои приложения авит - возможно и работают через браузерный движок. Вот так.
>>447 >так что в этом аспекте десктопописцы - уебаны Сильное заявление.
> всякие твои приложения авит - возможно и работают через браузерный движок. Вот так. Об этом и речь. Вот где настоящее уебанство. Вместо нормального сайта делать тот же сайт открывающийся через приложение, суть браузер для открытия одного единственного сайта.
Решил обновить свой старый "сервер" два одно ядро - два гига на что-то поновее и, внезапно, встал вопрос выбора системного hdd. Раньше такого вопроса не стояло, я просто брал проверенный hdd, вроде WD, минимального объема и ставил на него систему. Сегодня же я думаю над этим вопросом уже пару недель и до сих пор пребываю в некотором замешательстве. Во первых я должен выбрать между ssd или hdd. Первых достаточно большой выбор и очень противоречивые отзывы о них. И вообще, надежно ли ставить ssd потребительского класса в сервер? С hdd тоже интересно, под систему мне надо не больше десятка-двух гигабайт, но hdd объемом меньше 512Гб просто нет в продаже, а такой объем мне нахер не нужен, под хранилище у меня будет отдельный hdd на 6Тб. И вот я выбираю между 512Гб hdd, 95% объема которого останется не востребовано, либо 128Гб ssd, цена на которые примерно одинакова. Если остановиться на ssd, то я присмотрел два варианта, это INTEL 545s или SAMSUNG 850. Хотелось бы услышать дельных советов. Может, если брать ssd будет достаточно просто перенести /var/log на hdd или сделать другие оптимизации?
Ах, да, сервер не сильно нагруженный, там крутится облако nextcloud, web сервер для тестов и всякая ерунда вроде tor, samba, transmission и всего такого прочего.
>>327 > C оффлайн бекапами слишком геморно получается А ты напиши скрипт, который сам будет всё делать при втыкании этого винта. Привязать его к втыканию можно, например, средствами systemd.
> кто-то гораздо чаще других По таблице того же Backblaze видно, что ляпы случаются у всех — и у сигейта, и у wd, и у тошибы. Ориентироваться в таком случае надо не на производителя, а на конкретную модель винта, надеясь на то, что она была произведена на той же фабрике, где и тестируемые.
>>330 Закон подлости таки работает не для всех. Но обсуждение мистики здесь вряд ли уместно.
>>332 >А ты напиши скрипт, который сам будет всё делать при втыкании этого винта. Я делал автоматизицию копирования (у меня винда на основном компе), один хрен со временем перестаю это делать. Сейчас вот новый сервер соберу, буду самую критичную информацию с помощью Syncthing синхронизировать между компом и сервером.