• Какое направление выбрать для начала?

    saboteur_kiev
    @saboteur_kiev Куратор тега Карьера в IT
    software engineer
    Вообще неважно где начать.
    Если у вас голова с логикой дружит, есть интерес изучать программирование - до минимального уровня, чтобы вы могли написать простые программы/утилиты/веб-приблуду - можно просто взять и изучать хоть сразу 2-3 языка программирования, а специализацию определить уже потом, как будете понимать что вам более интересно.

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

    Не ищите лучшее, просто пробуйте писать какие-то мелкие штуки.
    Ответ написан
    6 комментариев
  • Что за консоль для работы с php?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Для работы в консоли - значит текстовая игра, нажимаешь кнопки, тебе что-то пишет прямо в текстовом окошке.
    Какие-нибудь простенькие викторины, отгадай число. Можно конечно попробовать и тетрис написать псевдографикой
    Ответ написан
    Комментировать
  • Оцените сборку бюджетного ПК (Бюджет 50k) для игр?

    saboteur_kiev
    @saboteur_kiev Куратор тега Железо
    software engineer
    1. Корпус - штука, которая покупается надолго. Всю начинку можно сменить пару раз, пока смените корпус. Корпус должен быть хороший, удобный, проветриваемый и для настольного игрового ПК - большой. На цену ориентируйтесь не ниже 80$, а лучше 100-110$

    2. Не дешевите на БП - от него зависит стабильность работы компа, стабильность напряжения которая идет на все внутренности, защита от перепадов напряжения - чтобы не было такого, что холодильник включился а у вас все зависло.

    3. Винты - если денег достаточно, возьмите хотя бы 256-512gb SSD, чтобы на него нормально помещалась операционка и пару игр. А HDD в придачу нужно брать медленный и тихий (5400, а не 7200). При это можно будет взять бОльшего объема за те же деньги.
    Если денег недостаточно, обойтитесь только SSD-512, а на HDD поднакопите позже.
    Ответ написан
    Комментировать
  • Как сделать игрового бота в вк?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Что делать:
    1. Научиться программировать
    2. Почитать документацию VK API, доступна на самом vk - ищите "для разработчиков".
    3. Написать бота
    Ответ написан
  • Как сделать сайт(сервер) отправляющий POST ответ по API в вк?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Вы на своей домашней машине уже написали код, который работает?
    VPS это не то, что будет делать что-либо без кода. Это просто круглосуточно доступный в инете комп.
    Ответ написан
  • Как разобраться в архитектуре/устройстве macOs?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Набор статей из интернета тут отлично спасают в большинстве ваших вопросов.

    Читайте что такое https://en.wikipedia.org/wiki/Filesystem_Hierarchy...
    В линукс нет букв, есть только одно дерево, начинающееся с корня /
    ixrevo.me/mac-os-x-file-system-structure

    Локальный диск может быть скрыт по разным причинам. В мобильном телефоне, даже под winphone он тоже скрыт, например.
    В общем на каждый ваш вопрос можно найти статью в интернете и этого достаточно для "входом в архитектуру".
    Ответ написан
    Комментировать
  • Как форматнуть полностью жёсткий диск с виндой без установщика через биос?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    В очень старых биосах был low-lever format, но это для тех дисков, которые еще были без собственного контроллера. Таких уже 30 лет не выпускают.

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Компьютерные сети
    software engineer
    Правительство страны хочет получать много бабла со всей индустрии, которая каким-либо образом крутится в интернете.

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

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

    Полностью закрытая РФ - очень проигрышный вариант, поскольку пример Китая РФ не потянет (надо было начинать лет 30 назад, когда на инет не было завязано столько бизнеса), сейчас перекрыть инет - будет кризис похуже 90-х. Но нельзя такое исключать. Будет лучше, чем в северной корее, хотя бы за счет ресурсов, но в целом - очень плохо.

    Еще момент - подобные проекты - это план на годы. 5-10 лет. А на такое время в РФ никто планировать не умеет. Поэтому во что это выльется хотя бы через 3 года - предсказать никто не возьмется.
    Ответ написан
    2 комментария
  • C++ или C# новичку?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    за 3 месяца изучал только функциональное программирование

    Видимо все очень плохо, если не различаете функциональное от процедурного.

    Перспективнее в принципе научиться пользоваться поиском, ведь подобных вопросов и ответом - полным полно.
    Нет такого, чтобы был сложнее С++ или легче С# - и там и там примерно одинаковый уровень вхождения, но разное применение.
    И для того, кто уже ЦЕЛЫЙ ГОД учит веб, можно как-то догадаться, что дело не в языке а в технологиях. Через год изучения языка, было бы неплохо учить конкретный фреймворк, а не просто язык.

    Если хотите юнити - то учите C#.
    Хотите Android - учите Java. Хотя C# там вроде появляется.
    Десктопные приложухи приложухам рознь. Можно хоть на питоне писать.
    Вы не просто учите. Вы что-нибудь пишите. Конкретное. Ну и да, вам с# наверное больше подойдет.
    Ответ написан
    2 комментария
  • Как правильно спарсить вывод systemd-cgtop?

    saboteur_kiev
    @saboteur_kiev Куратор тега Linux
    software engineer
    использование CPU начинает отображаться только со второго прохода (такая же ситуация, кстати, при парсинге обычного top

    Это не проблема, это так работают счетчики - любая программа типа top или systemd-cgtop сперва считывает показания счетчиков, а через две секунды считывает их заново, получая среднестатистическую нагрузку на CPU, и по этому уже выводит инфу.
    Найти нагрузку другим способом Линукс не предусматривает. Так же как и вытащить более детальное распределение слайсов времени по процессам.

    systemd-cgtop -b -n 2
    У меня попадает вроде оба экрана.

    Вы можете попробовать разве что самостоятельно считывать сразу счетчики
    читайте /proc/stat, /proc/sched_debug (возможно даже только его вам хватит), /proc_schedstat, вычислите какие цифры вам нужны и считывайте с той частотой, какая вам нужна.
    Ответ написан
    1 комментарий
  • Где найти литературу по дисковым массивам?

    saboteur_kiev
    @saboteur_kiev Куратор тега Книги
    software engineer
    Если нужна именно литература, идете на сайт любого производителя рейдов, скачиваете инструкцию в pdf.
    Выпускать отдельную книгу по рейд-технологиям как бы нет смысла.
    Ответ написан
    Комментировать
  • Как при распаковке архива масово менять права 777 на 755?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Вместо zip пользуйтесь tar.gz - он умеет сохранять права доступа Posix.
    Иначе никак, zip это не умеет. Разве что потом запускать дополнительную команду, которая будет делать chmod
    Ну и последний вариант - umask
    Ответ написан
    Комментировать
  • Как заставить себя идти спать во время?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Силы воли дофига! Я могу поднять мягкое место, идти до фитнес-цента 35 минут. Там выполнять тяжеленные задачи от тренера по плаванию. И это регулярно, стабильно 3 раза в неделю! Поднять жопу и пойти спать физически значительно легче, чем пойти на тренировку и тренироваться ;)


    Вранье.
    Вам интересно этим заниматься, может тренер веселый, может компания, может сейчас для вас приоритет устаканился такой, что это для вас важно, вот и идете в фитнес-центр.

    Сила воли это там, где вы не даете вашему мозгу вас обманывать.
    Итого: тренируйте силу воли.
    Ответ написан
    3 комментария
  • Как лучше организовать IT-инфраструктуру предприятия?

    saboteur_kiev
    @saboteur_kiev Куратор тега Компьютерные сети
    software engineer
    На что установлен ориентир:
    В первую очередь разумеется стабильная работа с отказоустойчивой системой.

    Берем нормальную стойку для серверного и сетевого оборудованием.

    Можно легко поискать бушную.

    1. Сеть
    В первую очередь хотелось бы перекроить в нормальные короба с выводом розеток, а не набивать провода в тонкие кабель-каналы.

    Какая разница в чем идут кабеля? Главное чтобы они шли не в одном канале с силовыми и их было достаточно.

    Кабель выберем экранированную витую пару.

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

    Тут встает выбор:
    1. Или на каждый этаж заводить управляемый коммутатор из дешевого сегмента (D-Link какой-нибудь на 16-24 портов), что не особо нравится в плане расширения. Поэтому склоняюсь к второму варианту.

    Заводите на каждый этаж несколько пар. Надо будет расширить - подключите на этаже 2-3 коммутатора. Вдобавок если какой-то кабель повредился, будет запасной. Вдобавок некоторые коммутаторы умеют увеличивать скорость за счет объединения двух портов.

    2. Разорится на парочку многопортовых стоечных коммутаторов и вести к каждой машине свой кабель.
    На сколько нарыл в интернете можно взять 2 по 48 портов, объеденить их.

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

    Дальше, т.к. в наличии есть филиалы, то не обойтись без маршрутизатора.

    Если что, некоторые провайдеры могут вам предоставить услугу "корпоративная сеть", организовав впн с вашими филиалами. Зависит от их расположения и подключения.

    Он в дальнейшем поможет организовать и активный резервный канал связи, соответственно 2 WAN порта + wifi модуль.
    WiFi будет для пользовательский мобильных устройств через резервный канал, т.к. основной канал планируется резать от "паразитного" трафика - только рабочие ресурсы.

    Vlan

    2. Сервер
    Тут меня одолевают смутные сомнения, взять 2 сервера и объединить их в кластер для оперативной подмены или
    в целях экономии взять 1 сервер и считать что ничего с ним не случиться.
    Хотелка для серверов: недорогая стоечная kvm консоль с IP.

    Говоря "сервер" нужно сразу говорить сервер чего. Что он будет делать.
    Кластер нужен если простой стоит гораздо дороже, чем поднять из бэкапа. А сейчас поднять виртуалку из бэкапа - дело очень быстрое.

    По серверам мысль такая:
    Про кластер из 2х новых серверов, если позволит бюджет, я уже сказал (пока не углублялся, но как понял во время работы синхронизируется, можно настроить распределение нагрузок и при выходе одного сервера из строя, идет полное переключение на второй)

    1 виртуальный сервер - Linux Ubuntu: Работает как DHCP-сервер (? или лучше отдать роль коммутатору/маршрутизатору) + как домен контроллер и служба каталогов (LDAP. Беглый анализ показал что популярности Samba) + сервер лицензий.

    Нагрузка на домен контроллер, DHCP и ldap обычно такая маленькая, что совершенно нет смысла делать для этого кластер. Обычная виртуалка на виртуалбокс справится с офисом на пару сот рабочих мест. А учитвая, что новые юзеры/новые машины в домен заводятся нечасто, бэкап недельной давности может оказаться вполне актуальным. Поэтому вместо кластера - просто каждую ночь резервная копия всей виртуалки на другой физический комп, и в случае чего просто поднимаете виртуалку с домен контроллером на другом сервере за пару минут. Сразу минус все сложности с кластерами.

    2 виртуальный сервер: ОС будет зависеть если все таки отыщется лицензия на MS SQL и Windows Server. Если нет, то ставим Linux Ubuntu и отдаем сервер под базу данных на PostgreSQL. Приоритет ресурсов: память.

    А зачем вам база, если так легко переезжаете с одной на другую? Если вам непринципиально, то сразу PostreSQL берите, зачем с лицензиями мучаться и виндой?

    3. Хранение данных

    Серьезно? SSD, точнее РЕЙД из SSD для хранения драйверов инсталляшек и бэкапов?
    SSD нужно разве что под postgres или 1C и без всяких рейдов, все остальное - на обычные HDD.
    Бэкапы настраивать исходя из предположительных потерь в случае простоя.

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

    Рейд имеет смысл исключительно на первом уровне. Если у вас диски виртуализированы - рейд не нужен.
    Рейд нужен только для исключительно критичных каждую минуту данных. Если компания может подождать час, зачем рейд? Тем более, что многие сервисы можно поднять виртуалку из бэкапа за 5 минут.

    5. Что мог упустить из виду в этом наброске плана?

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

    saboteur_kiev
    @saboteur_kiev Куратор тега Компьютерные сети
    software engineer
    маска определяет размер подсети, а не конкретную подсеть - маска это не имя подсети.
    По маске определяется - пытаться обратиться к компу напрямую или через default gateway

    в вашем случае - они будут друг друга видеть
    Ответ написан
    Комментировать
  • Что делать если проект разрастается до 4-6 приложений?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Но меня напрягает даже локально каждый день запускать ручками 4 приложения чисто для разработки)


    Плохие баш-скриптики. Можно же написать один, который за вас все запустит.

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

    Можете еще и в докер попробовать.

    Если все приложения написаны вами, то для вас мелкий рефакторинг для автоматизации билда и деплоя не должен быть проблемой.
    Ответ написан
    8 комментариев
  • Нужно ли писать на "чистом" C++ для первой практики?

    saboteur_kiev
    @saboteur_kiev Куратор тега C++
    software engineer
    Можно и сразу перейти.

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

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

    Собственно вместо того, чтобы писать на тостере вопросы - возьмите и напишите на OGL что-нибудь.
    Если столкнетесь с тем, что не особо понимаете как вообще начать писать - вот тут и окажется, что наверное сперва следовало попробовать на змейке хотя бы поработать и привыкнуть к IDE, научиться пользоваться отладчиком на более простом примере, который хотя бы запускается, а потом уже копать глубже.

    Если же у вас все получится с первого раза, ну возможно вы новый Кармак в молодости.
    Ответ написан
    Комментировать
  • На кого учится в IT-сфере?

    saboteur_kiev
    @saboteur_kiev Куратор тега IT-образование
    software engineer
    Ну если вы сейчас можете осилить вступительные в вуз - то конечно идите в вуз.

    Если нет - идите в колледж и каждый следующий год пытайтесь снова поступить в вуз (никто особо не мешает вам учась в колледже, параллельно подавать документы и пробовать пройти вступительные)

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

    saboteur_kiev
    @saboteur_kiev
    software engineer
    С помощью макросов - да. Там же на вижуал бейсике хоть тетрис написать можно. Но ссылка на готовое решение вряд ли.
    С помощью формул - частично. Смотря что за таблица - если статическая, можно извратиться.
    Ответ написан
  • Правильно ли я все понимаю?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    include <stdio.h> // include - директива препроцессора/программа, которая копирует содержимое файла stdio.h

    Можно и так, но правильнее "инклюдит", то есть вставляет.

    int main(void) { // функция main, которая возвращает целочисленное значение. аргументов не принимает

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

    int x  = 10; // объявление переменной x, которой присваивается значение 10

    да, определение с присваиванием

    return 0; // возврат родительному процессу(операционная система/терминал). 0 - завершение без ошибок

    Да. В стандарте С при return из main функции автоматически вызывает exit с возвратом кода в ОС.
    Ответ написан
    4 комментария