LINUX.ORG.RU

изучение баш и гит в качестве тестового задания

 , , , ,


3

4

Вопрос

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

Сводка интересных ответов

(пока не заглядываю, а просто собираю по трём страницам темы)

А вот что спросил у коллег/сам нагуглил

★★★★★

Последнее исправление: den73 (всего исправлений: 3)
Ответ на: комментарий от anonymous

а про git-lfs ты не слышал, да? ну ладно

А, то есть у нас в треде знаток Git по гуглу, которого фраза «дифф занимал всего ~400 Кб» не смутила, потому что он не в курсе. как работает git-lfs. Может когда-нибудь ты узнаешь это, а также принцип работы SVN, и какое преимущество над CVS и git-lfs (работающим по схожим принципам) она дает.

byko3y ★★★★
()
Ответ на: комментарий от anonymous
  1. Костыль
  2. Нет диффов
  3. Работает не лучше и не быстрее svn
  4. Вот так с помощью не хитрых приспособлений буханку… Но зачем?
gtk3 ★★★
()
Ответ на: комментарий от gtk3

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

anonymous
()
Ответ на: комментарий от byko3y

поменяли пару байт в видеофайле и посмотрели дифф. вы же дураки. ковёр ещё посмотрите.

anonymous
()

изучение баш и гит в качестве тестового задания

Лучше время потратить на C++ и Python.
Гит - для ЛОХ-ов, которые любят все «лучшее».
Microsoft любит и ищет ЛОХ-ов.

anonymous
()
Ответ на: комментарий от hobbit

По идее-то, если чел думал над тем, как себя продавать

Первое правило продаванского мышления: считать всех остальных такими же продаванами как и ты сам.

Ффух, я думал, я единственный, кого эта формулировка покоробила

А вот я не понял, в чем проблема с формулировкой.

byko3y ★★★★
()

Также SubVersion может работать как WebDav сервер в отличие от.

Git’у бы эта фича бы не помешала бы, чтобы сгладить его некоторые недостатки.

gtk3 ★★★
()
Последнее исправление: gtk3 (всего исправлений: 1)
Ответ на: комментарий от byko3y

Ну вообще, если ты не раб, ты продаёшь не себя, а свой труд. «Это может показаться мелочью,но это такая мелочь, которая имеет решающее значение».

hobbit ★★★★★
()
Ответ на: комментарий от ZuBB

мож бек для веба? ой, не знаю. но для питона есть джанга.

Дело пары минут:

$ mkdir /tmp/www
$ rm -rf /tmp/www
$ mkdir -p /tmp/www/cgi-bin
$ cat > /tmp/www/cgi-bin/hello.cgi
#!/bin/sh
echo "Content-Type: text/plain"
echo
echo hello there
$ busybox httpd -p 8080 -h /tmp/www
$ curl [::1]:8080/cgi-bin/hello.cgi
hello there

Теперь сравни это с минимальным бройлерплейтом для джанги. Можешь потом вспомнить, что не каждый выберет тормозное поделие, в котором за шаг вправо/влево выдают расстрел.

мож исчесления? чет не слышал а что в зеленых: есть numpy, scipy. для ML, AI, будет что сказать?

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

тогда некому будет поддерживать магическое спагетти написанное на одном из диалектов

Шелл — это вопрос базовой компьютерной грамотности. Когда адепт незнания шелла лезет в системное администрирование, у нас появляются YAML-программы шире аналога на awk раза в три, а вместо нормальной разработки и деплоя появляется халтура в виде безумно рассыпанных зависимостей (ага, leftpad) и перегона сотен мегабайт/гигабайт вместо деплоя. Код же в принципе начинает писаться как помойка.

anonymous
()
Ответ на: комментарий от anonymous
  1. простой;

Потому что пропаганда.

anonymous
()

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

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

баш

Шелл. Зачем вам именно bash? Я себя учить башизмы вообще не утруждал.

гит

Ну гит — это вообще культ карго. Когда мне было некомфортно с ним и писалось по мелочи, я пользовался rcs.

Какой ресурс на эту тему посоветуете?

man, help, мануал к гиту в репозиториях, ставящийся в /usr/share/doc.

anonymous
()
Ответ на: комментарий от anonymous

прочего ad-hoc-дерьмища с гигантской случайной сложностью

Это ты написал про то, что сейчас ретиво пытается заменить шелл.

anonymous
()
Ответ на: комментарий от den73

У меня есть окружение, в котором bash и coreutils нет, а вот busybox есть. Поэтому для меня было проще выучить кусочек ash’a и не учить bash от слова совсем.

anonymous
()
Ответ на: комментарий от hobbit

Ну вообще, если ты не раб, ты продаёшь не себя, а свой труд

Формы рабства включали добровольное временное рабство за вознагражение. И чем свободен человек, который по 12 часов в день работает просто для того, чтобы выжить?

byko3y ★★★★
()
Ответ на: комментарий от gtk3

Также SubVersion может работать как WebDav сервер в отличие от.
Git’у бы эта фича бы не помешала бы, чтобы сгладить его некоторые недостатки

https://en.wikipedia.org/wiki/Rational_ClearCase

Это не в последнюю очередь причины возникновения Bitbucket и Github. Правда, использовать чистые RVCS для реализации централизированного хранилища — это что-то из тренда ЛГБТ, где мальчик становится девочкой, а девочка — мальчиком. Весь смысл RVCS ведь заключается в том, что ты качаешь репу в локальное хранилище и читаешь всю историю локально, без каких-либо запросов на сервер, либо создаешь чисто локальную ветку и работаешь с «личным репозиторием», под который. естественнно, не будет никакого сервера. Парадокс в том, что для этой транссексуальной роли централизованного хранилища Git подходил лучше, поскольку имел более убогие штатные интерфейсы, таким образом делая востребованнее альтернативные решения.

byko3y ★★★★
()
Ответ на: комментарий от anonymous

ох, черт. как мастерски? смешал все в кучу. даже разбирать на куски и отвечать неохота

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

да есть места где *sh будет правильным инструментом, а есть где питон, а есть где оба, а есть где ни один из них. но опять же мест для питона больше.

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

ZuBB ★★★★★
()
Ответ на: комментарий от ZuBB

ох, черт. как мастерски? смешал все в кучу. даже разбирать на куски и отвечать неохота

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

вопрос в том как с этим делом в реальном мире?

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

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

Иногда стоит задуматься о том, нужна ли пародия на перл? На жабу с её экосистемой клонов? На нормальную скриптуху для обязывания её безболезненным FFI? Надо ли олефтпадиваться? Надо ли городить тонны всего для хелловорлда?

anonymous
()
Ответ на: комментарий от anonymous

Тебе и правописание осилить охоты нет

русский не родной, извини.

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

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

Иногда стоит задуматься о том, нужна ли пародия на перл? На жабу с её экосистемой клонов? На нормальную скриптуху для обязывания её безболезненным FFI? Надо ли олефтпадиваться? Надо ли городить тонны всего для хелловорлда?

думать надо. но новенький так думать не будет ибо нет опыта. от слова вообще. для него войти в питон легче чем шелл (или перл). а начнет ли он потом задавать такие вопросы это совсем другая история

(дальше спорить/дискутировать не вижу смысла)

ZuBB ★★★★★
()
Последнее исправление: ZuBB (всего исправлений: 1)
Ответ на: комментарий от ZuBB

да есть места где *sh будет правильным инструментом, а есть где питон

sh+perl покрывают все юзкейсы в околосистемном скриптовании. Эти инструменты удобнее, проще и гораздо надежнее питона. Если питон не является языком разработки в конторе, то он совершенно абсолютно тотально не нужен. Более того, технический руководитель может сам не знает питон на должном уровне. И что тогда делать? Подучить ненужно, а потом тестировать новичка на ненужно, потому что ненужно якобы всем нужно?

bread
()
Ответ на: комментарий от ZuBB

русский не родной, извини.

В родном языке заглавные буквы есть? Сложносочинённые, сложноподчинённые, обороты, запятые, вот это вот всё есть?

для него войти в питон легче чем шелл (или перл)

Я повторяюсь, тебя поимела питонова пропаганда. Шелл проще любого перла и питона. Меньше конструкций, задачи проще. Лучше интерактивность. Результат налицо. Про то, что питон якобы «простой», можно часами рассказывать. Он не простой. Ни разу. Его рекламируют как простой. Таковым он не является. Входить стоит так, как надо, а не так, как попало. Иначе получается человек без понимания сути, который будет творить ахинею.

или перл

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

(дальше спорить/дискутировать не вижу смысла)

(Я бежала за вами три дня, чтобы сказать, как вы мне безразличны)

anonymous
()

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

Курс githowto сразу не подходит. Установка git под windows не описана - просто дают ссылку. А установка там далеко не тривиальна - нужно ответить на кучу неочевидных вопросов (я не знаю ответов, они зависят от конкретного проекта обычно). Т.е. те, у кого windows является ОС по умолчанию, сразу в пролёте. Впрочем, сейчас есть wsl, но о нём не сказано.

Интересен https://git-scm.com/book/ru/v2 , хотя наверняка нужно половину выкинуть. В общем, пока ответа на вопрос нет, продолжаю копать (а сроки в это время идут, и есть вероятность, что придётся вообще забить на эту идею).

den73 ★★★★★
() автор топика
Ответ на: комментарий от den73

Установка git под windows не описана - просто дают ссылку. А установка там далеко не тривиальна - нужно ответить на кучу неочевидных вопросов (я не знаю ответов, они зависят от конкретного проекта обычно).

cygwin, chocolatey, msys*

anonymous
()
Ответ на: комментарий от anonymous

Пробовал через msys2, но я считаю, что нужно сразу учить в связке с GUI инструментами. gitk смог запустить, а вот ни один инструмент для 3-стороннего слияния не смог. Т.е. виндузятникам придётся сливать конфликты вручную. Ну и вообще по результатам вчерашнего я понял, что нужен только один курс по баш, т.к. он идёт раньше. Двух слишком много.

den73 ★★★★★
() автор топика
Ответ на: комментарий от den73

Пробовал через msys2

Пробуй cygwin. Там твои 3diff должны быть.

учить в связке с GUI инструментами

Я GUI не учу. Оно обычно само.

а вот ни один инструмент для 3-стороннего слияния не смог

А надо?

anonymous
()
Ответ на: комментарий от anonymous

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

Вы в самом деле считаете оппонента настолько неспособным понять, что есть разница мжед арией Джузеппе Верди в театре и тем, как её может спеть Рабинович?

anonymous
()

По хорошему, фокусироваться на инструментах не очень хорошая идея.
Было бы параллельно подкидывать как выстраивать алгоритмы работы используя их.
Например, если они будут решать вопросы обслуживания как DevOps’ы, то им понадобится понимание как составить список требований и как этот список подразбить, например, чтобы это было 2 отдельных функции, а не лапша.
Как написать лапшу, а потом произвести упрощение, и почему, иногда, лучше этого не делать, а просто оставить гнить, т.к. и так понятно.

TomBOY ★★
()
Ответ на: комментарий от anonymous

Благодарю, включу в ссылки в посте.

den73 ★★★★★
() автор топика
Ответ на: комментарий от TomBOY

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

den73 ★★★★★
() автор топика
Последнее исправление: den73 (всего исправлений: 1)
Ответ на: комментарий от den73

объективный, незатратный способ проверить у кандидата обучаемость

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

TomBOY ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.