Задать вопрос
  • Книги для разработки операционных систем?

    32bit_me
    @32bit_me
    Программист, встраиваемые системы
    Таненбаум "Современные операционные системы".
    А вообще совет - читайте исходники опенсорсных систем.
    Ответ написан
    Комментировать
  • Книги для разработки операционных систем?

    @majstar_Zubr
    C++, C#, gamedev
    В конце список онлайн книг

    https://github.com/jubalh/awesome-os
    Ответ написан
    Комментировать
  • Как записать файл в определенное место hdd?

    Zettabyte
    @Zettabyte
    Проф. восстановление данных ▪ Вопрос? См. профиль
    Под Windows столь необычный трюк можно выполнить своим кодом, используя FSCTL_MOVE_FILE. Т.е. не создавая файл, а перемещая существующий.

    Либо накидав на диск кучу файлов, а потом с помощью nfi.exe (NTFS File Sector Information Utility), или DiskView, или fsutil querycluster посмотрев что именно лежит в интересующих вас секторах.

    То же самое можно сделать в hex-редакторе, но тут уже требуется некоторое понимание файловых систем.

    Под Linux загляните в исходники dd (в качестве потенциального источника идей) и посмотрите на --write-sector в hdparm.

    Также можно воспользоваться debugfs:
    debugfs:  testb 100500
    Block 100500 marked in use
    debugfs:  icheck 100500
    Block   Inode number
    100500  1488
    debugfs:  ncheck 1488
    Inode   Pathname
    1488    /home/psiklop/hentai.mkv

    Кроме того, в своё время был DiskExplorer, но RunTime, по-моему, очень давно не обновляли свои инструменты, так что не знаю насколько оно работает сейчас.

    нужная прога вылетает

    Если же говорить в целом, то сама по себе такая идея - не очень. У вас уже пошли вылеты, а в будущем диск здоровее не станет, только продолжит покрываться бэдами.
    Так что запись файлов, создание разделов вокруг, лечение (remap) и прочие ухищрения относительно bad block'ов - это пластырь на умирающую лошадь.

    Забэкапьте содержимое всего диска и попробуйте сдать его по гарантии, если она не закончилась. Если закончилась, то используйте как свалку для того, что не жалко потерять.
    Ответ написан
    1 комментарий
  • При клонирования репозитория, клонируется только master ветка. Почему?

    zxmd
    @zxmd
    Можно клонировать конкретную ветку. Точнее вы в любом случае склонируете весь репозиторий но в рабочее состояние будет выставлена указаная.

    git clone -b
    Ответ написан
    Комментировать
  • Как лучше подключать css?

    @Nwton
    Разбиваешь css на два файла.
    1) В одном хранишь общие стили (шрифт, фон, стили осн. блоков) и подгружаешь его перед body, что бы во время загрузки страницы, пользователь уже что-то видел и понимал, куда зашел.
    2) Во втором оставляешь дополнительные стили, для модальных окон, иконок, комментариев и прочего. Инклудишь этот файл перед закрытием body, тем самым ускоряешь загрузку страницы.
    Ответ написан
    Комментировать
  • Docker: принято ли ставить на продакшене?

    @vitaly_il1
    DevOps Consulting
    Согласен с Saboteur - все зависит.
    При изучении докера
    - я советую исходить не из инструментов, а из требования проекта.
    Важно, чтобы программа бежала быстро, надежно, с воспроизводимой конфигурацией и деплоем. Этого можно добиться на "железе" (bare metal), виртуалках, контейнерах и проч. (serverless, например).
    Ответ написан
    Комментировать
  • Почему для скриптинга в шелле используется bash а не более современный язык программирования?

    DevMan
    @DevMan
    Марат Нагаев,
    зачем нужна оболочка - понятно, вопрос зачем нужен такой язык как баш
    да непонятно вам ничего: bash (как и любой другой unix–shell) – не отдельный язык, который специально устанавливается, это и есть командная оболочка. со встроенными возможностями скриптования (которые являются "примитивным" ЯП и которые отличаются по возможностям между разными оболочками).

    да можно не использовать эту возможность, а устанавливать жс или питон или руби или еще что–то и пользоваться их возможностями.
    но:
    1. не может быть речи о переносимости без зависимостей, далеко не всегда нужных.
    2. далеко не всегда возможно (например, на встраиваемых системах).
    Ответ написан
    Комментировать
  • Почему вместо true выводится 1, а вместо false вообще ничего?

    dima9595
    @dima9595
    Junior PHP
    if(2 == 2){
       echo 'true';
    }else{
       echo 'false';
    }
    Ответ написан
    Комментировать
  • Почему вместо true выводится 1, а вместо false вообще ничего?

    nokimaro
    @nokimaro
    Меня невозможно остановить, если я смогу начать.
    <?php
    var_dump(2 == '2'); //bool(true)
    var_dump(1 === '1'); //bool(false)
    Ответ написан
    Комментировать
  • Как редактировать плагин WordPress, чтоб при его обновлении изменения сохранились?

    OtshelnikFm
    @OtshelnikFm Куратор тега WordPress
    Обо мне расскажет yawncato.com
    Не слушайте, они не в теме))

    Можно, но при условии ваших знаний и возможностей плагина. Важно усвоить - ядро (файлы) плагина править нельзя. Но у себя воздействовать - можно.

    Итак:

    Смотря что вы подразумеваете под редактированием:

    1. Если css файлы - их редактировать нельзя. Только переопределять. т.е. если есть класс .some в плагине - то вы у себя в подвале подключайте свой css файл, а стиль для .some переносите и пишите там.

    2. если вы говорите о правке перевода, а у автора плагина строки переведены через __() функции - то воспользуйтесь плагинами интернационализации (переводов), или ВП фильтром gettext

    3. Если php файлы, то поинтересуйтесь у автора - есть ли в том месте, где вы хотите поменять, фильтр. apply_filters в коде плагина, а вы воздействуете на него через add_filters (Есть еще экшены (действия) - но они не позволяют изменять. Это триггеры, когда событие произошло).
    Если фильтра в этом месте нет - попросите автора добавить его. Обычно автор заинтересован в том, что его плагином пользуются и внедряет. Но если вам фильтр нужен только для смены текста - то вам вариант номер два, выше. У плагина может быть 500 строк и на каждую строку текста лепить фильтр - маразм.

    4. Автор плагина может ввести и поддерживать функционал шаблонов. Темплейты - например карточка товара, профиль пользователя, одиночная запись и т.д. Такой функционал имеют многие плагины. bbPress, woocommerce. Суть их такова - что вы переносите файл шаблона (например cart.php) в свою тему или внутри папки wp-uploads (каждый плаг по своему реализует) и плагин вначале проверяет наличие такого файла вне своей папки, а потом, если не нашел там, подключает из своей папки. Так вы можете всю нужную верстку и внешний вид под себя переделать.

    5. Много функций внутри плагина висит на хуках (add_action) - например так:
    add_action('some_action', 'some_function', 20);
    где 20 - приоритет выполнения. Так вы можете всю функцию дерегистрировать через remove_action. Например так:
    remove_action('some_action', 'some_function', 20); (приоритет 20 обязательно такой как и при регистрации)
    и потом всю функцию из плагина копируйте к себе (переименуйте) и вешайте на этот же хук и приоритет. Внутри функции уже делайте как вам надо - изменяйте.
    Но этот способ самый зависимый - т.к. вам нужно следить - вдруг в обновлении автор в этой функции внес изменения или устранил уязвимость. Следите через svn или гит.

    Так что варианты есть. А если их еще в плагине нет - попросите автора плагина добавить такую возможность. Если автор плагина не пойдет на встречу - не юзайте такой плагин. Там нет будущего. Большинство программистов понимает что ситуаций много и помогают и внедряют и подсказывают если есть еще способы влияния на нужный участок.
    Ответ написан
    Комментировать
  • Тайм-менеджмент для разработчика?

    @hermaeus_seeker
    Рекомендую книгу "Джедайские техники" Максима Дорофеева. Ещё у него есть свой канал YouTube. Сейчас ещё проходит марафон.

    Читал много литературы, для меня это лучший автор:
    1. Здесь нет банальностей вроде "SMART", "Слона разделить на части" и методик, которые их авторы сами не используют в жизни.
    2. Упор идёт не на ресурс "времени", а на ресурс "мыслетопливо". Часто времени у нас достаточно, но не хватает "мозговой энергии" на некоторые задачи стратегически важные(и сложные) задачи. Как следствие, человек сперва "разбирается с мелочью" не добираясь к важным задачам, из-за чего создаётся иллюзия нехватки времени.
    3. Борьба с прокрастинацией, дружба со своим и здоровые привычки.
    4. Систематический подход и практики.
    Ответ написан
    1 комментарий
  • А Вы встречали гениев-программистов?

    @mickvav
    Programmer, system and network administrator
    Видел среди студентов. Один такой сдал мне отличный проект семестровый, потом потусовался в Яндексе, расстроился из-за нехватки code review-вов и культуры разработки, ушёл в гугл.
    Пытаться нанимать таких людей стоит, если у вас есть задачи, которые вы не знаете, КАК решать. Если все задачи, которые вы решаете, для вас более-менее технически очевидны, они от вас разбегутся со скуки.
    Ответ написан
    Комментировать
  • А Вы встречали гениев-программистов?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Смотрю вопрос пользуется популярностью, поэтому тоже поделюсь мыслями. Люди, которые отвечают выше, смотрят на этот вопрос с одной стороны, а я расскажу с другой. Не буду называть себя гением и даже талантливым, но тем не менее ситуация, которую вы описываете, мне очень знакома. Я сам такой. Не общительный, со своим ноутом, решаю неочевидные задачки, занимаюсь в основном фрилансом, чтобы уменьшить бессмысленное общение на общие темы, хотя переодически сталкиваюсь с командами. Есть похожие знакомые. Не буду давать советов или рекомендаций. Просто поделюсь наблюдениями с обратной стороны, а выводы вы уже сами делайте.

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

    Стоит сказать, что такие люди часто мыслят излишне системно и при выборе места работы используют холодный расчет. Например ведут шкалу рейтинга компании и каждое событие, письмо, звонок, ответ на хитрый вопрос, отношение к тому, что он пришел на 10 минут раньше и все, что при этом происходит (а иногда такое происходит...) имеет положительный (например предложили посидеть 10 минут на диванчике) или отрицательный (полный хаос, переговорная занята, все бегают, ключи от кабинета потеряли, резюме только печатают, еще не читали) коэффициент. Если после собеседования компания окажется в минусе - такой человек скорее всего не станет ее рассматривать.

    Резюме его тянуло на senior, а в комменте к резюме говорилось об отсутствии командной разработки и том, что кандидат интроверт.

    Резюме. Скорее всего там есть на что посмотреть. Очень приятно придя на собеседование услышать, что твое резюме читали, что твой гитхаб заинтересовал или еще что-то такое. При этом крайне обидно (я понимаю, что звучит глупо, что все это скрывают, но это и правда обидно) слышать в свой адрес "мы не верим, что ты это написал, поэтому вот тебе тестовое задание". Если не верите - спросите. О своих проектах всегда есть, что рассказать, по делу такие люди говорить могут, а в присутствии технического специалиста диалог будет интересным и покажет все, что человек делал и к чему стремится.

    Он достал из портфеля свой ноутбук и с невиданной до этого скоростью решил новую тестовую задачу за 22 минуты

    Дело в том, как такие люди обрабатывают информацию. Почитайте другой ответ, я там приводил пример. Для сохранения рассудка отдельные факты не запоминаются и есть необходимость иметь свой набор закладок/заметок/исходников чтобы что-то сделать. Иначе получается, что "кусок мозга отрезали", а без него даже простейшая задача, которая не встречалась в последний месяц, может вызвать затруднения.

    что первый раз в жизни видел такой подход к решению задачи и те инструменты, которыми пользовался кандидат были ему не известны

    Это следствие широкого кругозора из предыдущего пункта. Просто есть особенность: если вы говорите "сделай мне xxx с помощью yyy" такой человек с большой вероятностью скажет "но с помощью zzz это сделать проще/быстрее/понятнее/проще_поддерживать и.т.д.". Не стоит сразу отбрасывать эту мысль, практически всегда она будет серьезно аргументирована. Это касается оценки заданий на собеседовании - если вы получили решение или ответ, который не ожидали - это стоит обсудить. Так вы покажете свою заинтересованность в знаниях кандидата. А это жирный плюсик в ваш адрес.

    В ответах выше говорят, что
    Для организации гений скорее вреден, чем полезен.

    Это спорное утверждение. Такой разработчик быстро устает от рутины, но даже рутину он может делать быстрее, чем кто-то другой. Или вообще может ее автоматизировать используя знания из других областей. Да, работать 9 часов в день практически невозможно. Но и за 4-5 часов при частичной занятости можно успевать очень многое.

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

    Еще там кто-то сказал
    психологических качеств (как вольётся в коллектив, в процесс)

    Такие люди почему-то думают, что коллектив должен быть сплоченным, что все должны дружить, ходить в боулинг, вместе кататься на велосипедах и участвовать в корпоративах. Я это видел несколько раз в разных школах, потом в институте, потом на работе. Но на самом то деле (практически всегда) им нужен человек, который будет работать. Пришел. Взял тикет. Сделал. Взял. Сделал. Поделился с кем-нибудь опытом. Предложил какое-то решение. Еще поработал. Ушел.
    Ответ написан
    Комментировать
  • Почему mysql возвращает ошибку?

    svfat
    @svfat
    ☺Нужен VPS? Два месяца бесплатно. Смотри профиль☺
    Не указан PRIMARY KEY
    Ответ написан
    Комментировать
  • Как "перепрошить" мозг будущему программисту?

    @DarkViatrix
    Интересуюсь всем возможным и невозможным.
    Если тебе это интересно, то ты можешь это прокачать. Без интереса - далеко не продвинешься.

    1. Уточни у себя, знаешь ли ты хорошо базовую математику, которую дают в 5-11 классах? Возможно, нужно начинать с самых основ и постепенно двигаться вверх, усложняя задачи. Как раз из 5 класса хорошо решаются задачи и развивается логика. Возможно, в начале тебе данные знания нужно подтянуть.

    2. Читай книги про логику, развивай логику, пытайся увидеть алгоритм в каждом своем дне.
    Сегодня искала книгу и многие советовали: Логика. Виноградов С. Н. и Кузьмин А. Ф. _ 1954, Непейвода В.В. - прикладная логика.

    3. Попробуй все языки программирования и выбери тот, который откликнется и понравится. У тебя могут не идти другие языки, но когда ты попробуешь все - ты сможешь определиться и найти свой язык. Если ни один не подойдет, тут уже смотреть другую сферу нужно. Можно же работать в IT и не обязательно быть именно программистом. После выбора языка - изучать его, двигаться в том направлении, поставить цель и разбить на несколько частей. Следовать плану.

    Если будешь прикладывать усилия, работать над этим - сможешь стать кем угодно.
    Главное - труд и чтобы дело нравилось.
    Ответ написан
    Комментировать
  • Можно ли заработать C++ программисту в 2021?

    @evgeniy_lm
    Заработать можно любому программисту в любом году при условии что он умеет писать важные, нужные программы
    Ответ написан
    Комментировать
  • Можно ли заработать C++ программисту в 2021?

    saboteur_kiev
    @saboteur_kiev Куратор тега C++
    software engineer
    И хочется слезть с родительской шеи побыстрее)

    С родительской шеи слазят тогда, когда знают как заработать. Взрослый - это не количество лет, а самостоятельность.

    Никому не нужен "подработчик на С++", но ты можешь делать лабы по С++ (или по математике или по еще чему-нибудь) в своей школе/институте и там подработать.
    А с 18-ти можешь попробовать трудоустроиться, для чего уже сейчас можешь пошерстить вакансии в своем городе и учить то, что в них указано.
    Ответ написан
    Комментировать
  • Что за профессии такие - Release Engineer и Configuration Manager?

    alexclear
    @alexclear
    A cat
    Release engineer - это не профессия, а должностная инструкция (роль). Это человек, который выполняет release engineering (https://en.wikipedia.org/wiki/Release_engineering), фактически - человек, который находится в конце цикла процесса разработки программного продукта. Он делает из предоставленного разработчиками кода готовый к развертыванию продукт - занимается написанием инсталляторов, сборкой пакетов, определением зависимостей и т.п.
    Configuration manager - это роль, человек, выполняющий которую, занимается управлением конфигурацией (https://en.wikipedia.org/wiki/Configuration_manage... Управление конфигурацией - это описание конфигурации, достижение повторимости, развертывание новых узлов, реакция на изменения внешних условий, внесение изменений по запросу, планирование емкости, определение бюджета и другие похожие задачи.
    Ответ написан
    Комментировать
  • Парсинг json файла, как исправить ошибку?

    it_monk
    @it_monk
    Разработчик в oncloud.ru
    > "keepalive": true,

    Запятэ в конце уберите
    Ответ написан
    4 комментария