Профиль пользователя заблокирован сроком с 20 сентября 2021 г. и навсегда по причине: систематические нарушения правил сервиса
  • Как правильно указать It Архитектор в резюме (описание внизу)?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Я думаю, что вы еще не совсем созрели для IT-Архитектора.
    У профи данного уровня такие вопросы не возникают.
    Ответ написан
    1 комментарий
  • Прокрастинация, проблемы языка или я не программист?

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

    В твоем возрасте ты можешь стать кем угодно. Везде можно хорошо зарабатывать, если быть хорошим спецом. Не занимайся тем, что тебе не по душе.
    Ответ написан
    Комментировать
  • Как работать с оперативной памятью на android?

    kocherman
    @kocherman
    В Android ядро Linux. Смотрите версию ядра. Работают все привычные линуксу утилиты: top, strace, kernelshark, coredump, gdb, sqlcipher.
    Чаще чем подмена блока памяти используют разные патчеры apk, например LuckyPatcher.
    Также на Android не хуже чем на Linux работает Metasploit.
    Ответ написан
    2 комментария
  • Как сделать вывод толко 1 строки после совпадения grep -A 1?

    sotvm
    @sotvm
    Умный поймёт, а дураку и так всё равно.
    можно без лишнего колдовства )))
    grep -A 1 'ABCD' test.txt | tail -n 1
    НО если строк с 'ABCD' несколько??? :(
    Ответ написан
    Комментировать
  • В каком каталоге находится ядро Linux?

    jcmvbkbc
    @jcmvbkbc
    "I'm here to consult you" © Dogbert
    В том, в который его поместил сборщик системы. Оно может вообще не быть доступным из файловой системы (например, быть на отдельном разделе флеш-памяти без файловой системы). Оно может даже не находиться на устройстве, которое его использует (а загрузчик может каждый раз получать его по сети).

    А в классических дистрибутивах оно обычно в /boot.
    Ответ написан
    Комментировать
  • Как вывести pdf файл на страницу сайта?

    Adamos
    @Adamos
    Любой современный браузер просто открывает PDF как страницу.
    Даете ссылку - и пользователь открывает, сохраняет, печатает - как ему угодно и удобно.
    Ответ написан
    2 комментария
  • Симметрия массива относительно главной диагонали. Что не так?

    Что не так:
    1. Выражение if(a=b) необходимо заменить на if(a==b)
    2. Вещественные числа a и b равны, если fabs(a - b) < EPSILON. Следовательно, выражение if(a!=b) надо заменить на if(!(fabs(a - b) < EPSILON))
    Ответ написан
    1 комментарий
  • Как сделать анализ и спроектировать сложный SQL-запрос?

    @Dmtm
    Android
    "надо проектировать так как надо, а как не надо - проектировать не надо" - какой еще анализ кроме общих правил SQL? типа по индексу лучше чем без, а JOIN лучше IN
    есть же хранимые процедуры - не нужно умещать все в один запрос (и да, временные таблицы - это нормально)
    Ответ написан
    2 комментария
  • Будут ли разработчики игр востребованы в будущем?

    @Lord_Dantes
    Нет, в будущем будут только VR-игры. ПК и ноутбуки в целом исчезнут к 2030 году, появятся VR-сервера и машины которые будут управляться голосом.
    Ответ написан
    Комментировать
  • Как в написании операционной системы используют C?

    15432
    @15432
    Системный программист ^_^
    Не важно, на чём пишутся драйвера/ось/программы, в результате исполняется процессором машинный код - бинарные данные определённого формата, по которым процессор понимает, что ему делать в данный момент. На ассемблере приходится программировать, когда нужно реализовать очень "близкие к железу" вещи - трансляция памяти, регистры ввода-вывода. Каждая ассемблерная инструкция соответствует одному машинному слову, короче самый близкий к машине человекочитаемый код.
    Куда проще писать на высокоуровневых языках - части ОС и драйвера часто пишут на Си. Этот язык более прост для человека. Естественно этот код тоже сначала переводится компилятором в ассемблер, а затем и в машинный код. Другого процессор "не понимает". Этот набор данных подсовывается компьютеру в каком-либо виде. Например, самая первая инструкция в х86 ПК исполняется по адресу 0xFFFFFFF0 в адресном пространтсве. Этому адресу в современных ПК соответствуют самые последние 16 байт флеш-памяти BIOS. С этого кусочка запускается компьютер (это если кратко, на самом деле нифига не так).
    Раньше BIOS загружал операционку со специального загрузочного сектора на диске. Там в сыром виде лежал машинный код, который дальше обеспечивал загрузку ОСи. Сейчас всё более просто - место BIOS занял UEFI, по соглашению, система теперь стартует с файла в папке /efi/boot/bootx64.efi на загрузочном диске. То есть уже не просто сырые сектора, а сразу файлы. Обработка файловой системы и дисковых устройств запрограммирована в самом UEFI.
    Ответ написан
    5 комментариев
  • Как рисуется графика в операционной системе?

    Слишком поверхностно задан вопрос. Если говорить об ОС WIndows - то там вся графика в системных библиотеках (dll, и т.д.) и графических файлах, которые загружаются по мере надобности.
    Но сам процесс загрузки и то, что там делается в POST - это разные вещи, и они не пересекаются.
    То есть, сначала идёт при включении считывание содержимого микросхемы биос (да, пропустим этап инициализации чипсета и самого процессора, это зависит от аппаратуры), и биос при выполнении уже проверяет и инициализирует основные части - MIS/SIO, чипсет, контроллер памяти, порты всякие, видеокарты и т.д. И если что не так, то либо остановится, либо проинформирует о неисправности и пойдёт выполнять следующие шаги. (например, если не найдена видеокарта, на большинстве биосов по умолчанию будет остановка с выдачей пост-кода ошибки, и далее не загрузится ничего; а если не найдена клавиатура, или SMART диска BAD - то поведение может быть и с остановкой, а может и продолжить выполнение, зависит от настроек). А уже когда этап выполнения POST завершится, то биос передаёт управление на первый сектор жёсткого диска, или на другое устройство, смотря как настроено. ОС уже никак не знает, что там до него делалось в процессе POST.
    Другое дело - системы с EFI (UEFI). Там всё довольно тесно связано, и есть несколько фаз загрузки, но всё так же загрузка самой операционной системы будет после выполнения всех процедур в EFI. Разница только в том, что EFI более плотно связано с ОС, и сама ОС может хранить в чипе свои данные, и EFI может передавать данные и параметры в операционную систему.

    Если нужно именно на этапе инициализации системы на базе EFI - то вполне можно собрать образ firmware, в котором сделать нужные анимации, и прочее. Но это выйдет слишком трудозатратно, и заметно замедлит загрузку. В линуксах и всяких бсд вон изначально при загрузке не экран с картинкой, а сообщения загрузчика, ядра ОС, и стартовых скриптов (системы инициализации). И не нужно никаких анимаций, всё по тексту понятно, что именно сейчас загружается и выполняется. В более современных системах сложнее - там уже systemd, параллельная загрузка и выполнение, и прочие плюшки. Плюсом обычно ставят как раз какую-нибудь анимацию вместо текстов, якобы она предотвращает появление сообщений консоли, которые замедляют процесс старта (на самом деле, это было давно и неправда). Например, plymouth. Эта заставка стартует практически с самого загрузчика, и вполне логично было бы её и сделать под это всё дело, если надо.
    Остался у меня один вопрос - а ЗАЧЕМ? Ведь любые компы за последние лет 20 инициализировали железо (проходили POST) за доли секунды, и ещё от 1 до 3 секунд тратилось на загрузку всяких option ROM (сетевушки, рейд/ide контроллера, или ещё чего), и на раскрутку диска, чтобы с него загрузиться. О какой анимации речь? А сегодняшние компы, да с UEFI, да с SSD загружаются вместе с ОС за пару секунд! Сейчас никто и не заботится о том, чтобы что-то там в процессе загрузки Вам показать. Ладно, можно в автозагрузку запихнуть mplayer с видео любым, по вкусу. ОС уже конечно давно загрузилась, и ещё воспроизведение видео займёт 20-30 секунд. Да, красиво, да, можно понтануться перед друзьями (смори, как офигенно сделано, видно как комп загружается!). Но повторюсь, а кому это надо?
    Ответ написан
    1 комментарий
  • Где хранить сессии? SQLite? MySQL? Memcached? Redis? FS?

    @deliro
    SQLite и ФС — абсолютно не подходят, если приложение будет масштабироваться

    Серверы БД (MySQL/PostgreSQL/etc.) — надёжный но самый медленный вариант

    In-memory БД (Redis/memcached) — отличный вариант, из всех выше, самый производительный, но можно упереться в оперативку

    Signed Cookie Session (и его частный случай — JWT) — неописанный тобой вариант, самый экономный по памяти и диску и самый производительный. Сессия хранится прямо в куке. Сами данные сериализуются, например, JSON'ом и сжимаются, например, gzip'ом (но можно и msgpack + lzma взять, как угодно). После, чтобы пользователь (или хакер) не поменял куку по своему желанию, она подписывается, например, HMAC'ом + любой криптостойкой хэш-функцией
    Из плюсов: 0 байт занятой оперативы (кроме момента выполнения запроса), 0 байт занимаемого места на диске, нет зависимостей от баз данных
    Из минусов: нет возможности "разлогинить все остальные сессии" по запросу пользователя, небольшой сетевой оверхэд, так как сессия от браузера отправляется на каждый запрос, ограничение на размер данных в сессии, потому что данных должны влезть в куку, включая подпись и разделители. Но ради эксперимента, мне удалось засунуть в такую сессию первую главу Войны и мира сжатой, прежде чем упереться в лимит.
    Ответ написан
  • Какую программу использовать для измерения расстояний между маркерами на изображении?

    firedragon
    @firedragon
    Не джун-мидл-сеньор, а трус-балбес-бывалый.
    Попробуйте, правда я писал для измерения на карте. Можно кстати допилить при желании

    https://github.com/vkorotenko/mouse

    https://github.com/vkorotenko/mouse/releases/downl...
    Ответ написан
    Комментировать
  • Почему большинство компаний требуют Linux при устройстве?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Подавляющее большинство web-серверов в мире работают на Linux'ах. Вполне разумно ожидать от разработчика понимания окружения, в котором будут работать его программы. Так что не важно, что вы любите, важно с чем вас нанимают работать.
    Ответ написан
    19 комментариев
  • Как должен осуществляться поиск по пользовательсому запросу?

    HemulGM
    @HemulGM
    Delphi Developer, сис. админ
    Изучить минимум SQL DML.

    А если для ленивых и наглых, то выборка по условию Where позволяет указывать маску. "... where 'name' like 'andy%'..."
    В данном случае, будут выбраны те строки, поле name в которых начинается с 'andy'
    Ответ написан
    2 комментария
  • Почему одна функция возвращает true, а вторая false?

    EvgenyMamonov
    @EvgenyMamonov Куратор тега Go
    Senior software developer, system architect
    Потому, что функция InitEfaceType фактически возвращает структуру, а не указатель.
    Структура не может быть nil. Если вы возвращаете указатель на структуру - тогда уже на nil можно проверить.

    Сделайте fmt.Printf("Type: %T\n", InitEfaceType()) и вы увидите тип "main.S"

    Чтобы иметь возможность проверить интерфейс на nil можете сделать вот так:
    func InitEfaceType() interface{} {
      var s *S
      return s
    }
    ...
    fmt.Println(InitEfaceType() == (*S)(nil))

    полный код

    package main

    import (
    "fmt"
    )
    type S struct{}

    func (s S) F() {}

    func InitPointer() *S {
    var s *S
    return s
    }

    func InitEfaceType() interface{} {
    var s *S
    return s
    }

    func InitType() S {
    var s S
    return s
    }

    func main() {
    fmt.Println(InitPointer() == nil)
    fmt.Println(InitEfaceType() == (*S)(nil))
    //fmt.Println(InitType() == nil)
    }

    Ответ написан
    5 комментариев
  • Как и где хранить общие файлы?

    bullitufa
    @bullitufa
    электронщик программист (микроконтроллеры и PC)
    По моему git submodule самое то оно.
    Создаёте 3 реп. туда общие файлы. И в каждый реп добавляете субмодуль. По мере обновления синхронизируете субмодули!

    Чем хорошо субмодуль? Тем что, вы можете "взять" слепок основного репа и субмодуля. При этом вести активную работу на всех трех. Ну и естественно использовать ветвление: всё что уходит в деплой берёте строго с веток релиз (например). + правильно здесь использовать теги. Особенно у субмодуля. Т.е. забирать с субмодуля не по камиту, а по тегу.
    Удачи!
    Ответ написан
    2 комментария
  • Как выполнить MySQL запрос?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    В MySQL нет функций GETDATE и DATEADD.
    Вы перепутали с MS SQL.
    Ответ написан
    1 комментарий
  • Какая существует программа для выявления (16+) картинок среди остальных изображений?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    Значит и программа такая должна быть для обычного пользователя?

    с чего бы оно значит и должна?

    боты юзают Nudity Detector

    https://deepai.org/machine-learning-model/nsfw-detector
    https://www.picpurify.com/nudity-detection.html

    или самостоятельно написать можно, есть даже на JS примитив
    Ответ написан
    6 комментариев