Анимированный ушифратор V2.0: В десятки и сотни раз меньше размер файлов, снятие ограничения на длину шифра

+246
Sasha-Flyerв блоге IT Pony!10 ноября 2019, 16:39
ушифратор.рф
(Раньше бы шифр с такой длиной весил порядка 100МБ) А еще теперь можно просто навести мышку...

678 комментариев

Sasha-Flyer
+6
mutronics
+3
Sakrit
+3
svg какой-то, но не привычный и добрый gif
x(
Atlas66
+2
Ну и чем же гиф лучше?)
Sasha-Flyer
+2
RSD500
+1
Зачем Дейбрекер убрал?
KerHarrad
+2
Sasha-Flyer
+3
Немного непонятно, но… то есть, ты смог преодолеть все те трудности перевода флеш-анимации в svg, о которых писал в предыдущем обсуждении? Тогда казалось, что это просто невозможно. Как же?
Ori
+2
А, нашел )
То-то я увеличиваю свгшку эту, надеясь увидеть плавный вектор, а вижу пиксели. Потому что пиксели и есть, там битмап )
Ori
+2
это не совсем вектор. точнее, это не вектор СОВСЕМ. Тут немного другая фишка — знаешь что такое диапроектор?)
Sasha-Flyer
+1
А «не зависит от длины сообщения» потому что ты хранишь только картинки-алфавит, а потом только показываешь их в правильном порядке?
Ты изобрел mod-музыку )
Ori
+2
Ты изобрел mod-музыку

Это что?
Sasha-Flyer
+1
То, что играет в кейгенах )

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

В общем, mod — это промежуточное звено между midi (чистыми командами) и pcm (чистой записью волны). Ну pcm-то и так был на момент описываемых событий, просто он был несжатым, а пишущих сидюков еще не было, чтобы в кустарных условиях писать большие оптические диски, куда бы он влазил. Вот игроделы и извращались с mod. Может были и другие причины… В общем, mod-музыка в играх 90-х, но до появления 95-й винды поиграть успела. А потом пришел mp3 и вытеснил всё на свете, теперь настоящее аудио занимает в 10 раз меньше места, больше не нужны никакие синтезаторы…
Ori
+2
Давным-давно компьютерная музыка была в MIDI
Слыыыш, MIDI жив, его музыканты используют.
семплом мог быть хоть лай собаки
Как раз лай в GS есть :P
Может были и другие причины…
Аудиокодеков толком не было, готовые разработки к середине 90-х и попёрли только: Cook, MPEG, Vorbis… Так что «сжимали» вручную в трекерах. На модархиве можно найти всякую дичь, вплоть до собранной из сэмплов игры на электрогитаре и даже попыток воспроизвести всякую попсу. Кстати, мне не попадалось кодеков, которые реализуют эту идею автоматизированно, работая с целым файлом и дедуплицируя похожие сэмплы — их ведь дохрена зачастую, можно здорово ужать размер, хоть кодирование и долгим будет и поточность утратится.
теперь настоящее аудио занимает в 10 раз меньше места
И булькает от артефактов сжатия, ага. Особенно древние оцифровки, со времён, когда MP3-фанатики визжали, что 128 kbps для CD-качества хватит всем — современные кодеки-то с таким битрейтом могут приличный звук выдать, но вот конкретно MP3 явственно булькает, особенно на электронщине — ему никак не меньше 160 подавай, а приличные люди меньше 320 или VBR не делают, если вообще связываются с MP3.
MiniRoboDancer
+4
Ну да, midi остался в своей нише — записать то, что наиграли на синтезаторе и передать другому. А люди слушают мпз ) Ладно, все не так плохо, на ютюбе люди слушают опус, хоть и не догадываются. Правда чаще всего это опус из мпз…

у меня в винде максимум ганшоты )

Ну, были же аудиодиски с pcm с 80-го? Можно было записать на компакт-диск игру в 5 мб, а остальное место диска заполнить аудиодорожками. Вроде у дюны-2 так было в cd-релизе. Или у дюны-1? У дюны-1 даже видео туда умудрились засунуть. Так что, скажем так в ААА-проектах того времени мог быть чистый звук с диска. (Хотя-бы теоретически, я подробно не гуглил сейчас.)

Булькает, но зато это больше не миди, теперь можно запилить полноценную музыку и озвучку всех персонажей.
Ori
+1
у меня в винде максимум ганшоты )
Так до 127 — это GM, GS ещё одним байтом расширен. Причём заполнен весьма разрежённо.
Можно было записать на компакт-диск игру в 5 мб, а остальное место диска заполнить аудиодорожками
И сколько минут бы она грузилась? А кэшировать их в оперативке потом, которой кот наплакал, или перед каждым событием шарпать диском, чтобы он вскорости разлетелся, как от StarForce? Тогда на дисковой и оперативной памяти экономили больше, чем на мощности процессоров, поэтому совали сжатие во все поля, в том числе процедурное всякое. Сейчас-то проще поднять гигов 50 с SSD, конечно, чем что-то распаковывать.
зато это больше не миди
Будто что хорошее. MIDI — опенсорс, звукозаписи — клозедсорс.
и озвучку всех персонажей
Ты мне сейчас упоротую идею подкинуше. Есть реализация «говорящего» рояля на FFT — робот жмёт кучу клавиш кряду и аппроксимирует голос. Надо попробовать (а впрочем, уже наверняка тоже готовое есть) с MIDI так сделать, 15 каналов должно хватить для чего-то разборчивого.

Кстати, на Нокиях и, возможно, ещё где-то, поддерживается XMF — MIDI с сэмплами, то есть почти трекерщина, по сути. Жаль, оно не взлетело особо.
MiniRoboDancer
+1
GM, GS
Я не знаю этих аббревиатур, поэтому ответил то, что знаю )

Мм… значит в тех cd-изданиях был просто отдельный диск с музыкой. Ну, игра устанавливалась на жесткий диск и левелы грузились с него. А музыку играем с cd. Например.

В миди голос не записать. А люди любят говорить и петь )

Да, слыхал у того парня.
Ori
+1
MiniRoboDancer
+1
Чем это открывать?
Ori
+1
Мобильником. Либо в Nokia Audio Suite, если получится его найти и крякнуть — честно активировать точно не выйдет, Forum Nokia мёртв давно.
MiniRoboDancer
+1
Как же ухитрялись играть музыку и воспроизводить речь с помощью писи-скрипера, на компьютерах не оснащённых звуковой картой?

Мой 286ой вполне мог ругаться матом, играть ламбаду и битлов вообще без звуковухи
ShprotaNa (ред.)
+1
Также, как и со звуковой картой ) Мы тут не про способы воспроизведения, а про форматы записи. «Ругаться матом» — это «звуковые волны записали и воспроизвели». «Играть ламбаду» — это скорее всего «синтезировали звуки и сыграли». Писи-спикер мог пищать что-то квадратное, треугольное или синусное в зависимости от железной реализации. Управлялся он обычно двумя параметрами — частотой звука и длительностью. «Ругаться матом» это писки очень маленькой длительности очень разных частот. Хоть у меня и не было 286-го, но программа, выводящая «настоящий звук» в писи-спикер попадалась, слушал, прикольно.
Ori
+1
Писи-спикер мог пищать что-то квадратное, треугольное или синусное
Квадратное (это ограничения контроллера, который управлялся через 61 порт). Но на больших частотах мембрана не успевала дойти до крайнего положения, поэтому в теории можно было воспроизводить и звуки не одной и той же амплитуды, если работать как ШИМ с частотой куда выше 20 кГц (например на 200 кГц подаещь 10% единицу и 90% ноль, в итоге мембрана отклоняется на условную одну десятую полного отклонения).
makise_homura
+1
Да, слыхал у того парня.
Интересная идея. Записать звук речи, преобразовать его в спектр, дискретизовать по музыкальным тонам и полутонам (фактически с частотой в корень 12 степени из 2), и проиграть на автопианино, используя амплитуду по каждой частоте как силу удара по клавише в конкретный момент. Забавно!
makise_homura
0
И сколько минут бы она грузилась?
Нисколько, ты вставлял диск в CD-ROM, и он автоматически без участия проца проигрывал музыку с аудиодорожек друг за другом прямо в звуковуху по отдельному кабелю. А последняя дорожка на диска была data, а не audio, и на ней, собственно, и была записана игра. Вроде в кваке ещё первой так было. Разумеется, без вставленного диска музыки не было.
XMF
Емнип, XMF — потомок XM, который в свою очередь потомок MOD.
makise_homura
+1
XMF — потомок XM
Ницё подобного, в XMF внутри RIFF-контейнер с сэмплами и обычным MIDI. А у XM бинарщина велосипедная.
MiniRoboDancer
+1
Сорян. Значит, я попутал, получается.
makise_homura
0
MiniRoboDancer
+1
Такую конвертацию видел давно, но работала она так себе.
Ori
+1
Ещё одна важная штука mod — реюз дорожек, из-за этого можно писать очень длинные песни маленького размера, причём это не просто «влепить четвёртую дорожку в цикле до бесконечности», а, например, играть их в порядке 1-2-3-1-3-2-1-4-1-4-5-3-2-3-2-3-2-ну и так далее, что позволяло, например, запилить музыку на 30-минутный уровень такую, чтобы после пяти минут не возникало чувства зацикленности, а если уровень идёт фиксированное время (например, в буллетхэллах), то можно было ещё и синхронизировать музыку с активностью на экране.
(Ага, а теперь представьте несжатый wav длиной в 30 минут и сколько дискет на него нужно… =)
makise_homura
+1
играть их в порядке 1-2-3-1-3-2-1-4-1-4-5-3-2-3-2-3-2-

Моя анимация работает по такому же принципу.
Sasha-Flyer
+1
Вот потому ты и фактически изобрёл mod-формат =)

(Разумеется, это не что-то плохое, а совсем наоборот.)
makise_homura (ред.)
+1
MiniRoboDancer
+2
О, эти четыре амиговских дорожки с одним инструментом на дорожку! =)
makise_homura
0
Лол, то же самое хотел сказать =)
makise_homura
0
Ну сделай же картинки ссылками еще, чтобы владельцы мобильных пк могли их открывать в новой вкладке по тычку и сразу видеть сообщение
V747 (ред.)
+3
Ховер в тачфонных браузерах обычно есть, но неинтуитивен, надо как-то быстро ткнуть, или наоборот — держать.
MiniRoboDancer
+2
а изменять размерность примеров в окне выбора? (видно плохо, анимации в хроме не работают или так и должно быть?)
Lord_Leks_Darkmind
+2
Анимации при выборе и не должны работать — там статичные ПНГшки. Скоро ПНГшек будет всё больше и больше — ты реально хочешь чтобы они все были анимированными при выборе?)
Sasha-Flyer
+2
да. я не могу выбрать, когда не вижу.
выпадающее меню для выбора пони, чтобы не грузить всех сразу? избранное в куки?
оффлайн версия?
Lord_Leks_Darkmind (ред.)
+2
«Избранное в куки» — ты имеешь в виду, чтобы твоя последняя галочка запоминалась?
Sasha-Flyer
+2
последние использованные ~пять, отдельной строчкой, например.
Lord_Leks_Darkmind
+2
Такое я смогу ввести только после ввода регистрации, а регистрацию я введу после ввода https, а его я введу когда мне наконец-то пришлют необходимый TXT файл.
Sasha-Flyer
+2
Куки, не?
V747
+2
Тут регистрация не нужна, это должно быть не user-based, а browser-based, то есть, через document.cookie или localStorage.
makise_homura
0
Как ты с Табуна-то куки воровать собираешься?
MiniRoboDancer
0
При чём тут куки с табуна? Мы запоминаем в куках последние сделанные на том же сайте ушифры.
makise_homura
0
Это конкретно для этой плюхи, а для остальных нужна проверка учётки на Табуне. Зачем отдельно от остальных делать?
MiniRoboDancer
0
Мм, в этой ветке я не вижу чего-то ещё.
makise_homura
0
Уже прямо сейчас работаю над этим, джаваскрипт изучаю ровно 2 дня, поэтому так медленно. вот тут тестовый вариант ушифратор.рф/1234 тут работает пока только фронденд, ушифр сервер тебе не даст.
Sasha-Flyer
+2

Надо это как то интегрировать со смайлопаком. Возможно, ещё одним userJS для tamper monkey.
oxide (ред.)
+5

leon0747 (ред.)
+2
На компе текст видно не только 1 секунду.
Для примера:
Sakrit (ред.)
+2
leon0747
+1

Сижу с хрома. Сайт ушифратора открыт в отдельном окне.
Sakrit
+2
Tankony
+1
Её и до этого не надо было таскать, достаточно ссылку вставить.
MiniRoboDancer
+1
Это баг с выводом title в браузере, как я понимаю, а не баг картинки.
makise_homura
0
Чего баг-то? Тултипы не обязаны показываться бесконечно.
MiniRoboDancer
0
Лел, не думал, что это теперь фичей считается =)
Ожидаемое поведение тултипа — он показывается до тех пор, пока я мышку не увожу с объекта.
makise_homura
0
Ожидаемое где? На конкретном тулките?
MiniRoboDancer
0
Ожидаемое на любом интерфейсе, снабжённом тултипами.
makise_homura
0
Ты ещё меню «Пуск» в любом интерфейсе ожидай, ага.
MiniRoboDancer
0
Начнём с того, что даже многие DE под Linux содержат полный аналог меню «Пуск».
Скажем так, я не видел ни одного интерфейса, где бы время показа тултипа было не бесконечно, да ещё и я не могу представить, зачем такое надо.
makise_homura
0
многие DE под Linux содержат полный аналог меню «Пуск»
Это где такое было-то, кроме Kylix? Даже в самой винде дефолтный Спуск меняется в каждой версии.
я не видел
Всё ясно с тобой.
зачем такое надо
Ну например, активировать что-то наведением, и чтобы тултип при этом не загораживал элемент. Не успевающие дочитать могут просто двигать время от времени курсор.
MiniRoboDancer
0
Это где такое было-то, кроме Kylix?
KDE, Xfce, MATE, LXDE (только то, что вспомнилось).
Всё ясно с тобой.
Что же со мной ясно? Давай, покажи мне, где тултип исчезает спустя некоторое время? (не просто можно так сделать, если хочется, а где это по дефолту и юзеры привыкли, разумеется).
активировать что-то наведением
Убить максимально жестоко тех, кто придумывает такую дичь. Я вообще не могу вообразить, где такое может быть удобно. Просто вообще. До сих пор горит с того мелкософтовского интерфейса, появившегося, кажется, в 98-ой, где наведение меняет выделение. Хорошо, что это можно было отключить, а то вообще бы пришлось бояться мышку по экрану двигать, вдруг что-то не то активируется.
makise_homura
0
KDE, Xfce, MATE, LXDE (только то, что вспомнилось)
И где там клоны меню «Пуск»? Более того, если его сделать — вангую, мелкомягкие засудят за нарушение копирайта. ЕМНИП, даже в ReactOS меню запуска отличается от виндового.
Давай, покажи мне, где тултип исчезает спустя некоторое время?
Не помню, я уже много лет по ним не лажу.
не просто можно так сделать, если хочется
Так задают-то разработчики программ. Во многих тулкитах время отображения тултипа задаётся аргументом при его вызове. Так что в разных программах по-разному, консистентного поведения нет.
Убить максимально жестоко тех, кто придумывает такую дичь
За что ты не любишь инвалидов, которым тяжело кликать, а то и вовсе глазами управляют?
наведение меняет выделение
Я не про это, я про всякие там выпадающие меню, интерактивные карты и подобное.
MiniRoboDancer
0
И где там клоны меню «Пуск»?
Кнопочки, по нажатию на которые вываливается функциональный аналог меня «Пуск».
Во многих тулкитах время отображения тултипа задаётся аргументом при его вызове.
Я ни разу не встречал, чтобы он исчезал спустя некоторое время. А повидал программ я достаточно много.
За что ты не любишь инвалидов, которым тяжело кликать
Я говорю про дефолтное поведение, а не про узкоспециализированную область.
я про всякие там выпадающие меню, интерактивные карты
Ну это не совершает фактического действия (к тому же, в менюшках, как правило, тултипов нет, там и так текстом написано).
makise_homura
0
функциональный аналог меня «Пуск»
Под функциональные аналоги можно и всякие простыни иконок подогнать, и даже консоль — делают-то одно и то же, запускают программы. Слишком размытое определение.
Я ни разу не встречал, чтобы он исчезал спустя некоторое время
Повезло.
это не совершает фактического действия
Так речь не о действиях, а тупо об изменении вида элемента и прочих визуальных последствиях при наведении курсора куда-либо. Которые без наведения пропадут, а тултип мешает их полностью рассмотреть.
MiniRoboDancer
0
Под функциональные аналоги можно и всякие простыни иконок подогнать
Они не менее такие же функциональные аналоги, чем тултипы в xfce — аналоги тултипов в винде.
makise_homura
0
Чепуху какую-то несёшь, приписываешь тултипы то к ОС, то к DE, хотя ни те, ни другие их отображением напрямую не занимаются и не определяют o_O О чём тогда с тобой спорить вообще?
MiniRoboDancer
0
Винда — фактически гибрид ОС, графического сервера и DE. Я говорю именно о той части DE (в том числе входящем в винду, которая задаёт то, как отрисовываются тултипы).
makise_homura
0
графического сервера и DE
Они вполне себе отдельные — GDI и explorer.exe.
которая задаёт то, как отрисовываются тултипы
Отрисовку задаёт тулкит. А их даже в самой винде дохрена — WinAPI, WinForms, WPF… Браузеры и вовсе многое сами рисуют.
MiniRoboDancer
0
Да. Но давай мы не будем go deeper, когда и так понятно, что я хотел сказать? Так-то я могу начать пояснять за отрисовку графических примитивов на GPU, но мы просто о том, что некая абстракция, нечто рисует тултипы. И нам не важно, какая, нам важно то, что мы их вообще видим.
makise_homura
0
когда и так понятно, что я хотел сказать?
Нет, потому что ты несёшь бред. В винде нет каких-то глобальных настроек отображения тултипа, они задаются в лучшем случае тулкитом, а в худшем — программой, которая этот тултип дёргает. Если тебе встречалось везде одинаковое поведение — тебе просто повезло :3
MiniRoboDancer
0
Ну, значит, мне просто повезло, ок.
Не знаю насчёт времени, но цвет точно задаётся централизованно (хотя, возможно, прога/тулкит могут его игнорировать, если нет централизованнного API рисования тултипов).
makise_homura
0
У меня в этом посте не только смайлики лагают, но и гифки тормозят и даже набор текста этого комментария не мгновенный D:
andreymal
+4
Есть такое.
ChaoticChloride
+2
Нужна ваша конфигурация. УМВР
mutronics
+1
Firefox. Подозреваю, этого достаточно)
andreymal
+1
Firefox.
CPU: Ryzen 3 2200G
GPU: Vega 56
И у мя токо прокрутка колёсиком вверх-вниз немного лагает.)
Waterfall
+2
Обнови Firefox, прокрутку гладкой сделали ещё в версии 57 и у меня прокрутка как раз ни капельки не лагает. А вот всё остальное лагает
andreymal
+1
Та новая она у мя.

Обычно гладкая. Конкретно в этом треде подлагивает.
Waterfall
+1
webrender включен?
У меня схожая конфигурация, но всё гладко и быстро.
Mors
+1
Занятная штукенция…
Больше аппаратного ускорения богу аппаратного ускорения!
Екхем.
Был выключен. Как включил, подлагивания пропали. Спасибо.)
Waterfall
+1
Итого мы имеем: Либо APNG, который не требует процессорного времени но много весит. либо ASVG, который требовательный к процессору но весит в 100 раз меньше.
Какой стул лучше?
Sasha-Flyer
+2
APNG:
+ЦП
-Трафик
-ОЗУ
ASVG:
-ЦП
+Трафик
+ОЗУ

Вообще, мой мобильник офигевает от APNG, но норм работает с ASVG, так что склоняюсь к последнему.
Mors (ред.)
+2
По моему скромному мнению, ASVG лучше.
Ибо в худшем случае (aka гигантский смайлотред)…
ASVG грузит ЦП в видимой области.
APNG загрузит все смайлы на тонну трафика.
Waterfall
+2
а в невидимой области разве не грузит?
Sasha-Flyer
+1
Не рендерит.
По такому принципу работают движки браузеров — по-возможности, то что не нужно не рисовать.
Да и не только они — логично не отображать то чего не увидишь.
И я на практике посмотрел что мой ЦП грузится меньше когда на экране видно меньше asvg.
Waterfall
+2
У меня в куче тредов так, и что? :P А когда LuaKit засран открытыми жрущими процессор вкладками, так вообщеееее. Зато буферизуется отлично, можно пару предложений набрать и свитчнуться на другую программу, пока оно там слайдшоуит. А потом полчаса исправлять опечатки и не прожавшиеся из-за ушатанной клавиатуры символы.
MiniRoboDancer
+1
То есть у тебя не только браузеры протухшие, но и сам компьютер тоже?)
andreymal
+1
Я тебе больше скажу, оно уже на момент покупки (6 лет назад) было ультрабюджеткой :P
MiniRoboDancer
+1
Кстати да, подтормаживает куда сильнее предыдущего треда.
makise_homura
+1
Потому что SVG на порядок сильнее жрет процессор, чем APNG. зато его вес не зависит от длины. APNG длиной минуту весит бы 100+МБ, а SVG весит 200КБ всегда.
Sasha-Flyer
+2
Ivan_Magregor
+2
ПРОБЛЕМА:
В текущем виде асвг сильно грузят процессор
ПРИЧИНА:
очень частая смена кадров
РЕШЕНИЕ:
Совместить в себе технологию apng и asvg. Таким образом размер файлов не изменится, а нагрузка на процессор снизится в 20-30 раз.
Sasha-Flyer
+3
Точнее размер файлов тоже уменьшится, потому что переходных точек тоже будет в 20-30 раз меньше.
Sasha-Flyer (ред.)
+2
Меня всегда забавляет такой пафос) Хочешь в сколково?
V747
+3
Меня всегда забавляет такой пафос) Хочешь в сколково?

До меня кто-то комбинировал apng + asvg?
Sasha-Flyer (ред.)
+2
Тебя-нет)
Но анимированные элементы на управляемой подложке в играх везде)
Имеются в виду 2д, даже старый файтинг ис маджик работает по таким же принципам, многослойные элменты, ничто туда не мешает добавлять гиф или апнг
Во флеше тоже писал прелоадеры совмещая гиф, секвенции и скрипты, увы, это старо как мир, но, если работает-чоб нет)
V747 (ред.)
+2
Хошь засинкать смену кадров в SVG и вложенном в него APNG? Не взлетит, не говоря уж о том, что такая дичь запросто может не везде работать.

А ещё наверняка найдётся реализация SVG, которая не умеет в дискретные перемещения и текущие ушифры будут летать туды-сюды, как бешенные. Ждём-с :3
MiniRoboDancer
+2
Всё прекрасно работает, я уже протестил, осталась лишь техническая реализация. Ну и еще мне Рандом в личку написал, говорит я проц Табуна загружаю… ЛОЛ. Так что надо поторопиться с реализацией.
Sasha-Flyer
+4
я уже протестил
В скольких браузерах?
проц Табуна загружаю
Чем? CDN с ним на одном сервере хостится, что ли?
MiniRoboDancer
+3
Щас своими ушками табун доломаете
Maxwell
+1
DragonKnight
+2
Ого. Если долго не заходить, то тут появляются прикольные штуки.
Akavirec
+3
BlueMagic
+2
Pony4tonado
+2
MiniRoboDancer
+3
Pony4tonado
+2
MiniRoboDancer
+2
Pony4tonado
+1
MiniRoboDancer
+1
Naked_Skull
+2
Спойлер
harou
+4
Ruberoid
+2
У кого слабые процессоры, нужна ваша помощь:
Здесь 400 svg картинок, которые двигаются 24 раза в секунду
здесь 400 svg, которые двигаются раз в секунду.
по-идее вторая версия должна жрать в 24 раза меньше процессора, но я чет не могу убедиться в этом…
Sasha-Flyer (ред.)
+2
На компе загрузка цп от первого варика 5% От второго 10%
На планшете 2014 года выпуска примерно тоже.
Ruberoid
+3
У мя второй вариант (раз в секунду) кушает чуть больше.
Waterfall
+3
Значит моя идея с апнг провалилась( облом.
Sasha-Flyer
+2
Sasha-Flyer
+3
Первая стабильно отъедала ~60%ЦП, вторая ~85%

Эта же скачет 20-40%.

Комп десятого года с двухъядерным пентиумом.
CorruptionCode
+2
То есть, конкретно эта версия у тебя работает шустрее в 2-3 раза? Какая у тебя ОС и браузер?
Тут очень странная ситуация — у людей на линуксе эта версия почти не отличается от тех что выше. а на винде разница 2-3 раза. Не могу пока понять в чем прикол.
Sasha-Flyer
+2
Винда седьмая и хром последней версии.
CorruptionCode
+2
ушифратор.рф/svg_display_inline_test — проверишь еще этот вариант?
Sasha-Flyer
+2
Этот вообще 30-40 в хроме.
mutronics
+2
50-60%
CorruptionCode
+2
последняя попытка — ушифратор.рф/пруф4 должен занимать чуть меньше, чем пруф1.
Sasha-Flyer
+2
Чуть позже освобожусь и могу «потестить»
Какие ссылки актуальны?
Mors
+1
ушифратор.рф/пруф — оптимизированный вариант
ушифратор.рф/пруф2 — тоже самое что и «пруф», но в 10 раз больше фреймов. однако ЦП должен быть загружен ровно так же, как и первый пруф
ушифратор.рф/пруф3 — неоптимизированный текущий вариант, должен жрать проц больше всего
ушифратор.рф/пруф4 — тут я вынес всю анимацию в CSS. По-идее должно работать быстрее чем пруф1-2, однако лично я разницы не вижу.
Sasha-Flyer (ред.)
+2
Firefox PCПруфCPU 15%
GPU 4%

Пруф 2Не заметил разницы с Пруф
Пруф 3CPU 25%
GPU 4%

Пруф 4CPU 13%
GPU 3%


При первом открытии Пруф4 в фаерфоксе словил баг: анимации то исчезали, то появлялись. При повторном открытии всё норм. Webrender включен.
Chrome PCПруфCPU 7%
GPU 2%

Пруф 2Не заметил разницы с Пруф
Пруф 3CPU 15%
GPU 4%

Пруф 4CPU 5%
GPU 2%


Mors
+2
когда вернусь из ВУЗа — сделаю более тяжелую вариацию 4-го пруфа. Если у тяжелой версии не будет разницы по сравнению с 4-м пруфом, тогда перейду на CSS. Если же у удлиненной анимации разница будет, то тогда я перейду на 1-2 пруф, потому что там производительность не зависит от длины.
Sasha-Flyer
+2
Firefox AndroidЛюбой из ПруфовCPU 50%
GPU 1%
Везде анимации полагивают. Этот же телефон офигивает от APNG ушифратора, страницы подлагивают. Хотя обычные страницы рисуются быстрее Chrom`a

Chrome androidПруф и Пруф 2CPU 65-100%
GPU 7-11% Плавно
Пруф 3CPU 100%
GPU 10%
Пруф 4CPU 84-100%
GPU11%
плавно, но в отличие от Пруф и Пруф2 чаще всего нагрузка 100%

Склоняюсь к варианту Пруф или Пруф 2
Mors
+2
Как же всё сложно… на ПК вроде пруф4 лучше, а на мобилках пруф1. Жаль что нельзя мобилкам одно показывать, а пк другое. ТАкое можно было бы сделать, если бы Табун разрешал скрипты вставлять…
Sasha-Flyer
+2
Забей, всем не угодишь.
MiniRoboDancer
+2
У меня далеко не самый слабый мобильник, 180к баллов антуту, думаю на более слабых мобильниках пруф4 может вызвать дискомфорт.
Кстати, у меня валяется Samsung s3, могу попробовать запустить его.
Mors
+2
Ну там скорее всего везде будет 100%
Sasha-Flyer
+2
Я предполагаю, что один из вариантов будет попросту не юзабилен. Что 100% — это понятно.
Он так разряжен, что не включается, придется подождать немного.
Mors
+1
Samsung s3
Chrome
Пруф & Пруф 2 CPU 33-44%
Пруф 3 46%
Пруф 4 15-38%
Экран меньше, мало дэшек помещается, поэтому норм работает. Уместить больше не получится. На телефоне, к слову, помещаются все.
Mors
+2
Всё ещё не пойму что лучше — 1 или 4.
Sasha-Flyer
+2
Напомни, чем они отличаются?
Mors
+1
ну, если ты шаришь в кодинге, то можешь сам посмотреть исходники картинок на обеих страницах, а если в кратце, то в «пруф» используется анимация с атрибутом visibility внутри тега SVG, а в пруф4 — всё тоже самое, только не внути svg, а в CSS.
Sasha-Flyer
+2
20-30%
CorruptionCode
+2
Пруф4 точно лучше чем пруф1? Люди на фаерфоксе говорят что он даже хуже… хммм
Sasha-Flyer
+2
В фаерфоксе по умолчанию выключено аппаратное ускорение, это стоит уточнять.
Mors
+1
Окей. Как у тебя дела с ссылками — есть разница?
Sasha-Flyer
+2
Да, хотя сейчас на первых двух жрёт меньше чем вчера. Пересмотрел сколько ест чисто хром без сторонних программ.
Первый 34-47 — Выглядит как-то дёргано в сравнении с четвёртым.
Второй 34-50
Третий 50-60
Четвёртый 20-30
CorruptionCode
+2
Итого делаем вывод, что Хром css-код обрабатывает быстрее, чем аналогичный SVG-код. А вот фаерфокс и то и другое обрабатывает почти одинакого даже с аппаратным ускорением. Правда пока не ясно как оно будет работать на мобильных платформах. Я очеьн боюсь, что iOS не осилит такой css.
Sasha-Flyer
+2
Как-то странно что третий сейчас нагружает сильнее чем ранее днём…
CorruptionCode
+2
А! Всё. Понял. Ссылки выше больше не ведут туда же куда и раньше.

Пруфф 1 это и есть третий вариант. Ладно.
CorruptionCode
+1
У меня не оч слабый, но разница видна только в хроме:
пруф chrome 10-13
пруф3 chrome 23-25

пруф firefox 23-25
пруф3 firefox 25-26

А еще у поней в фф башню сносит. Твай аж офигела от такого роготрясения.
Спойлер
mutronics (ред.)
+2
Запе-вай!



Ertus
+5



Ertus
+3



Ertus
+3
Да этож хор немых
Maxwell
+1
Это ушкохор.
Ertus
+2



MiniRoboDancer
+2
А может кто нибудь дать ссылку на самый первый пост где была придумана сама идея? Хочется разобраться какие положения ушей и что значат
V747
+2
Да чет эта тема постоянно мелькала тут и там. Ваще можно посерчить бэкап по словам «Ушифратор» и «Язык жестов».
Сразу выдаст такие псто — заказ на понячий аналог языка жестов
Ушифратор 2017
Если потыкаться и окунуться в историю, можно много всяких интересных фиговин найти. Типа алфавита из той самой книги из первых кадров сериала.
Dani4
+4
Как с телефона нормально смотреть на лисе, никуда не переходя со страницы?
Большая часть сообщений не влазит в менюшку по долгому нажатию.
S_Lunaris (ред.)
+2
А что насчет такого варианта? (проверьте нагрузку на провессор плиз):
Сейчас
После возможной оптимизации
Если во втором варианте прцессору легче, значит постараюсь эту оптимизацию залить на сервер на этой неделе.
Sasha-Flyer
+2
Первое — 90% процессора, второе — 50.
Ori
+2
Сейчас — 15%
После оптимизации — 9%
Mors
+2
Я не очень понял как это работает, то есть для каждой фразы генерируется индивидуальная последовательность движения ушек? Или сама гифка всегда будет одинаковой, но просто текст разный внутри?
MugGod
+2
для каждой фразы генерируется индивидуальная последовательность движения ушек

Можешь сам всё проверить — написать разные тексты, одинаковые тексты.
Sasha-Flyer
+2
А, ого, ясно
MugGod
+2
Прокрутка поняшепикера стала упоротой и неюзабельной. Примерно как на htmlbook.ru в своё время. Ты её на тачпадах тестироваше вообще?
MiniRoboDancer
+2
Это временное решение. Я написал первую строчку html-кода в тот день, когда и открыл Ушифратор. Мне ещё предстоит изучить все прелести html и css кода…
Sasha-Flyer
+2
Кстати, пока грузятся APNG, можно заметить, что на первом кадре рожа без глаз и ушей. А-а-а!
MiniRoboDancer
+2
На фаерфоксе или на Хроме и в каком именно Пруфе? Если бразуер Фаерфокс — то оно и понятно. там слои показываются сразу как только загружаются, а хром начинает показывать только после полной загрузки всех слоев.
Sasha-Flyer (ред.)
+2
На Луаките :P
MiniRoboDancer
+2
И претензия-то к тому, что первый слой пустой, хотя можно влить в него сразу. Но это на самом первом ушифе в треде, так что если уже починено, то хрен с ним.
MiniRoboDancer
+2
Первый (нижний) слой, это — туловище, череп и шея и (если есть) — крылья. Все остальные слои специально разделены ради кастомизации.
Sasha-Flyer
+2
MiniRoboDancer
+2
Кадр пустой? Такого не может быть… он пустой только если у тебя не подгрузилась картинка.
Sasha-Flyer
+2
… а, или APNG в слои умеет? Этъ другое дело!
MiniRoboDancer
+2
Тьфу ты, я уже забыху, что этот тред изначально про ASVG, а по APNG отдельный был. И уже несколько комментов чушь несу. Тут всё ASVG, что не перекопипастили из прошлого треда.
MiniRoboDancer (ред.)
+2
А-а-а!

Не ну а че? В играх тоже самое происходит, где есть динамичная подгрузка текстур.
Sasha-Flyer
+2
Не попадались такие. Впрочем, я и игр-то мало видиху.
MiniRoboDancer
+2
.(
Mors
+1
Точняк, а можно сделать чтобы пони была картинкой спойлера под которой скрывается текстовое сообщение, можно сразу в тело спойлера еще и ссылку на сайт ушкофира добавить, чтобы не искать пост. И оставить тултип, тогда вообще будет удобно и владельцам мобилок и пк
На да увы не работают ни свг ни апнг
V747 (ред.)
+2
На да увы не работают ни свг ни апнг

Что за ОС и браузер?
Sasha-Flyer
+2
Охренеть, даже в Opera 12 оба работают!
MiniRoboDancer
+2
На deviantart не работают ни свг ни апнг, написал же, на да, это если туда все это пропихнуть
V747 (ред.)
+2
Тогда уж на ДА не работают)
Mors
+1
)
Других критикуеть, а саме путаеть людей незакрытыми скобками.
MiniRoboDancer
+2
Так лучше?
Mors
+2
Кек.
MiniRoboDancer
+1
А ты уже хошь в комменты туды утащить? :3 Кому оно надо, только с кириллицей-то. А на fimfiction работает, кстати?
MiniRoboDancer
+2
Зато в Safari 5 ASVG не отображается вообще

И APNG статикой отображается. Что за зрада, Фраер? Ану делой переносимый GIF, чтобы в браузере самой правильной компании работало :P
MiniRoboDancer
+2
самой правильной компании

Когда-то я так считал, да) Но теперь у меня i7 7700 + rtx 2080 super, так что мне на свои айпады ваще плевать. Ну и на последних версиях Safari всё работает, кроме WebP.
Sasha-Flyer
+1
mutronics
+2
Скорее всего он саркастично вспоминает былые времена 2014-2015 года, когда я топил за iOS и говорил что айпады заменят ПК.
Sasha-Flyer
+1
Сейчас ситуация другая. Apple'овский вендорлок как раз спасает рынок от монополизации, а не приводит к ней. Ибо и так уже всё больше браузеров, в том числе WebKit-ных, выкидывают свои движки в пользу Blink. Если ещё Apple, Samsung и Mozilla сдадут позиции, то привет новому дивному вебу с Chrome-is-the-new-IE.
MiniRoboDancer
+1
Прикольно, но я без понятия, как там выбирать поняшку, там никаких меню нету.
Shade_Past
0
Да, чет там все поломалось((
Naked_Skull
0
А, так это не у меня одного? Лол.)
Shade_Past
0
Извиняюсь. сегодня выпущу аптейдет, который всё починит и сделает даже лучше
Sasha-Flyer
+1
Поди, прям на проде редактируешь, ага? :3
MiniRoboDancer
0
А где еще? У меня один комп, один сервер, который одновременно и локальный, и внешний.
Sasha-Flyer
0
Подкроватный сервер? Одобрям-с.

Открою маленькую тайну: на одной машине можно иметь сколько угодно виртуальных хостов. Прыличные люди имеют как минимум три: 1) продакшн, который отдаётся на истерзание юзерам; 2) стейджинг, на котором условия максимально приближены к продакшну (для предзаливного теста); 3) тестовый, на котором можно творить треш и угар, пока Аллах не видит.
MiniRoboDancer
+1
А где еще? У меня один комп, один сервер, который одновременно и локальный, и внешний.
Саня, каждый раз когда кажется что «все, дальше уж некуда», ты пробиваешь новое днище
KerHarrad
+1
Таки шо ви имеете против подкроватных серверов? Это ж максимальный интернет-суверенитет. Тем более, оно весьма грамотно проброшено, наружу ничего лишнего жопой не торчит.
@bq:11:15:09:/tmp/dl$ nmap 188.134.86.16
Starting Nmap 7.80 ( https://nmap.org ) at 2019-11-16 11:15 EET
Nmap scan report for flyer.mykeenetic.ru (188.134.86.16)
Host is up (0.096s latency).
Not shown: 998 filtered ports
PORT     STATE SERVICE
80/tcp   open  http
5001/tcp open  commplex-link

Nmap done: 1 IP address (1 host up) scanned in 29.78 seconds
MiniRoboDancer
0
Изначально у меня кстати все порты были открыты, но потом Андреймал тупо зашел в мою админку и я понял, что сидеть с полностью открытыми портами — плохая идея.
Sasha-Flyer
0
Таки шо ви имеете против подкроватных серверов?

Против них ничего, сам балуюсь. Я про разработку и редактирование на проде.
KerHarrad
0
Я про разработку и редактирование на проде.

То есть ты предлагаешь полностью скопипастить текущий код бекенда, и тупо его запустить в отдельной программе для локального порта?
Sasha-Flyer
0

Саня, почитай уже хоть немного про веб-разработку, а? Иначе и эту неплохую идею ушифратора зафейлишь и скатишь в трэш и лулзы.
KerHarrad
0
Попсовый вебдев ортогонален подкроватным серверам, даже конченые нищуки сидят на халявных хостингах, а не пытаются выпускать наружу локалхост (всякие ngrok — это уже для прошаренных, умеющих в CLI и инглиш, а не типичных местных похапэ-верстальщиков, выдрючивших пару CMS). Чего читать-то предлагаешь?
MiniRoboDancer
0
Чего читать-то предлагаешь?

Ну даже хз… чтоб слова «контроль версий», «разработка», «прод» и как их разделить, стали не пустыми звуками… тут да — скорей не про веб надо читать, а что-то совсем базовое…
KerHarrad (ред.)
0
Что базовое-то? Нету его. Это вообще понятия коммерческой разработки, которые передаются вербально, о них в гайдах не пишут.
MiniRoboDancer
0
По-моему это вообще из логики следует банальной — что, например, активно править торчащую наружу ХТМЛ страницу, по которой одновременно лазают юзеры — это такое себе…
KerHarrad (ред.)
0
По логике хипстоты — это самый блидинэджный блидинэдж, который только может быть, а значит — хорошо.
MiniRoboDancer
0
Вон пусть Столярова читает. который на ЛОР хайпил одно время своей книжкой, как раз на уровень Фраеров рассчитаной))
KerHarrad
0
Ты и системой контроля версий не пользуешься, ага?
MiniRoboDancer
0
Как?
Sasha-Flyer
0
Что «как»?
MiniRoboDancer
0
я пока ниразу не пользовался системой контроля версий.
Sasha-Flyer
0
Попробуй, это только в первый раз немного больно, потом понравится))
KerHarrad
+1
Только надо аккуратно, а то будет как-то так.
MiniRoboDancer
+1
можно конкретный пошаговый гайд на русском, как это делать внутри Pycharm`a?
Sasha-Flyer
0
внутри Pycharm`a?
У IDE-блядей спрашивай :P
MiniRoboDancer
0
Мда… дай дураку хер стеклянный...))
KerHarrad
0
У нас так один товарищ работает, который разрабатывает бут для Эльбруса-8С. Стоит ли говорить, что этот бут — пегасьи лепёшки и абсолютно неподдерживаемый (потому что нет ни возможности посмотреть чейнджлог, ни возможности написать ревью на конкретный участок кода, ни тем более, предложить пулл-реквест, если очень нужно)?
makise_homura
0
Очень зря, потому что это крайне удобная штука, немножко поработав с которой, начинаешь откровенно не понимать, как раньше жил без неё.

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

Из всех современных систем контроля версий рекомендую ориентироваться на git, в особенности с привязкой к веб-фронтендам ориджина и выше — сейчас большинство людей используют её, а в качестве фронтенда — github, gitlab и т.п.

На хабре есть некоторое количество статей, которые в этом тебе помогут.
makise_homura
0
Я боюсь выстрелить себе в колено, когда буду таким простым проектам прикручивать такую сложную систему.
Sasha-Flyer
0
Ну ты можешь как раз потренироваться на этом проекте. Заодно и научишься пользоваться. Начинать-то с чего-то надо.
makise_homura
0
Можешь подсказать что именно надо сделать, чтобы закоммитить свой проект? Я всё сказал что нужно, но ничего не получается:
Fetch Failed
git@github.com: Permission denied (publickey).
Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.

Причем я уже залогинился в гитхаб и ключ введен.
Sasha-Flyer
0
Ты репозиторий создал на гитхабе?
Тебе нужно создать (инициализировать) у себя, создать на гитхабе (через вебу), а потом пушнуть свой на гитхаб, прописав ему ориджин, если я правильно помню.
makise_homura
0
Ты репозиторий создал на гитхабе?

на этот вопрос я могу легко ответить — да, репозиторий создан: github.com/Sasha-Flyer/Ushifrator
Дальнейшие твои слова я, к сожалению, не понял совсем.
Sasha-Flyer
0
Отлично. Теперь смотри. То, что ты создал на гитхабе — это твой ориджин. Это то, что будет доступно всем. Работать ты будешь на своём компе, для этого тебе нужно иметь копию ориджина у себя. Это называется локальным репозиторием. Он равноправен с твоим ориджином. Как это сделать?
1) либо склонировать текущее состояние ориджина как локальную репу:
git clone https://github.com/Sasha-Flyer/Ushifrator

Это создаст у тебя на компе локальную репу, уже связанную с репой на гитхабе с тем же состоянием (то есть пока пустую);
2) либо создать у себя локальную репу и, связав её с ориджином, запушить её в ориджин:
mkdir Ushifrator
cd Ushifrator
git init 
git remote add origin https://github.com/Sasha-Flyer/Ushifrator
git push
makise_homura
0
Мне достаточно хранить все версии в облаке. Если надо будет скачать какую-то конкретную версию — я её скачаю при необходимости. Хранить постоянно все свои версии у себя локально я просто не вижу смысла — места и так не хватает уже.
Sasha-Flyer
0
Версии весят не так много (разумеется, они в идеале хранятся в репозитории не целиком, а только изменениями). Разве что если с репой долго работали, то иногда стоит делать упаковку репозитория, потому что не всегда дельты делаются сразу.
makise_homura
0
Какой смысл хранить БЕКАПЫ на том же жестком диске, где и сам проект? Разве бекапы не делают ради того, чтобы можно было восстановить проект, если с моим диском что-то произойдет?
Sasha-Flyer
0
Бэкапы — это то, что восстанавливается при отказе оборудования. Ты же хранишь не бэкапы, а историю версий, они имеют другое смысловое назначение — точки, к которым можно откатываться, если была совершена ошибка в разработке, и с которых пилить альтернативную функциональность, если у тебя несколько вариантов исполнения разных вещей (при этом ты оставляешь возможность синхронизации коммитов между ветками).
makise_homura
0
Ну так именно это я и хочу сделать — залить на гитхаб версию 1.0.0, потом залить отдельно версию 1.0.1, потом версию 1.0.2, и потом если она мне не понравится, быстренько скачать с гитхаба версию 1.0.1 и продолжить работать с ней. Это ведь возможно?
Sasha-Flyer
0
Смотри, ты пока не до конца понял суть гита. Системы контроля версий работают с гранулярностью не по релизам (это называется «теги»), а по изменениям («коммиты»). Релиз — это набор коммитов (видел когда-нибудь changelog к какой-нибудь софтине? Вот список изменений — это и есть коммиты). Ты можешь «скачать» (на самом деле, не скачать, а просто перейти) не только на конкретный тег (разумеется, это ты тоже можешь), но и на любой коммит между ними.

Тепрь про «заливку на гитхаб». Это тоже не совсем «заливка», потому что ты просто синхронизируешь состояние условного гитхаба (ориджин) со своим локальным репозиторием (командой push), либо наоборот, локального с ориджином (командой pull/fetch). При pull-е ещё не значит, что ты скачал конкретные версии; ты скачал всё, что изменилось там по сравнению с тем, что у тебя (например, если над проектом работает несколько людей, то именно ориджином они объединяются).

Короче, я тебе могу эту систему объяснить, если хочешь, но писать долго, если у тебя есть дискорд, то ты можешь войсом со мной связаться, постараюсь тебе объяснить, как это всё работает.
makise_homura
0
Меня вот все эти «скачать только изменения» немного воротят и выбивают из колеи. Я честно не могу понять зачем это так делается. Почему нельзя разные версии заливать по-отдельности с нуля, и потом в случае чего скачать целиком одну из версий, которая никак не зависит от соседних версий?
Sasha-Flyer
0
Именно для того, чтобы автоматически были видны изменения между версиями, и это позволяет делать кучу дополнительных вещей, которые не работают в случае с «хранить только снапшоты версий».
makise_homura
0
И какие же например? Самое главное это возможность быстро скачать любую из версий. Что еще надо то?
Sasha-Flyer
0
Это не главное, а единственное, что позволяет хранение снапшотов. А система контроля версий позволяет, например:
0) удобное хранение информации о том, что именно изменилось
1) разработка с какого-то этапа, не точно соответствующего какой-то версии
2) возможность втаскивания не всех изменений, а каких-то конкретных
3) возможность нескольким людям работать над одной программой (один делает одну функциональность, другой — другую)
4) возможность поддерживать несколько веток продукта — например, для разных схем использования
И т. п.
makise_homura
0
Ни один из этих пунктов лично мне на практике не нужен.
Sasha-Flyer
0
Пока не нужен. Но потом ты поймёшь, насколько это удобно (например, когда тебе в твой ушифратор посыплются пулл-реквесты с новыми понями, исправлениями ошибок, новой функциональностью и всё такое). Заметь, это всё сделают за тебя, тебе нужно будет только проверить, не накосячили ли там люди и принять пулл-реквесты.
makise_homura
0
Изменения между директориями и diff -r отлично покажет.
MiniRoboDancer
0
Одним куском, без разбивки на смысловые изменения и тем более без коммит-мессаг.
makise_homura
0
Почему нельзя разные версии заливать по-отдельности с нуля, и потом в случае чего скачать целиком одну из версий, которая никак не зависит от соседних версий?
Ты хошь SVN, забей на Git :D Базовая суть Git как раз в дедупликации изменений, потому что версии, как правило, отличаются друг от друга минимально, и по отдельности занимали бы дохрена места на диске. А SVN тупой, в нём «ветки» — именно что директории с отдельными независимыми версиями. Но его сейчас именно по этой причине мало кто юзает.
MiniRoboDancer
0
Ну я хочу ему объяснить, что знай он суть гита, сразу бы понял, что такое хранение, как в svn — куда менее гибко =)
makise_homura
0
Ну я хочу ему объяснить,
Не пытайся даже… легче зайца курить научить, чем Саню хоть чему-то. Ты можешь всю ночь ему разжевывать элементарщину, а завтра все сначала начнется. Саня не хочет понимать, он хочет прочитать шаманское заклинание, и чтоб все взлетело само. Плавали-знаем.
KerHarrad (ред.)
0
Возможно. Но я надеюсь на лучшее =)
makise_homura
0
Оставь надежду всяк с Фраером связавшийся. Очень скоро ты почувствуешь, как твой мозг заволакивает пелена безумия и безысходности, от попыток прошибить стену непрошибаемого упрямства и тупости… И тогда останется только бежать, или начинать стебаться)
KerHarrad (ред.)
0
Если надо будет скачать какую-то конкретную версию — я её скачаю при необходимости
Git так не работает, можешь его сразу выкидывать с такими требованиями.
MiniRoboDancer
0
ну так как на Гитхаб то заливать каждую версию? Чтобы потом при необходимости скачать любую из залитых версий и сразу начать работать именно с ней?
Sasha-Flyer
0
Для того, чтобы работать с локальной репой, ориджин не обязателен (ты можешь вообще всё коммитить в локальную репу, иметь ориджин на гитхабе просто даёт возможность с твоим репозиторием работать другим людям). Все версии (в виде дельт, т.е. изменений) у тебя уже есть в любой копии репозитория — апстриме, ориджине, локальном.

А перейти к любой из версий в локальном репозитории можно легко — командой checkout.
makise_homura
0
Еще раз — я не хочу хранить старые версии ЛОКАЛЬНО. Я хочу чтобы всё старьё хранилось ТОЛЬКО в облаке.
Sasha-Flyer
0
Почему ты их не хочешь хранить? Ты понимаешь, что ты хранишь не копии, а исключительно изменения между ними, но зато это здорово облегчает работу с ними?
Нет, конечно, ты можешь хранить историю до глубины 1 (я так делаю, когда временно выкачиваю репозитории, просто, чтобы собрать код, получить бинарник, а потом удалить исходники), но так не очень удобно работать.
Если вопрос в месте — то тут надо решать проблему как раз с местом, а не с управлением версиями. Ты просто сейчас предлагаешь решение («не хранить коммиты, кроме последнего») некой неизвестной проблемы, и я хочу выяснить эту проблему.
makise_homura
0
А если у новой версии ни одной строчки не будет совпадать с предыдущей версии? Я не понимаю смысла сравнивать только изменения. Как он вообще находит эти изменения? Прям побуквенно всё сравнивает? Основная Проблема этого подхода в том, что если потеряется исходная копия версии 1.0.0, то все будущие заливы тоже похерятся, потому что что как ты и говоришь, они будут хранить только изменения, а не весь свой код.
Sasha-Flyer (ред.)
0
А если у новой версии ни одной строчки не будет совпадать с предыдущей версии?
Значит это кардинально новый проект, если в нём ничего не совпадает =)
Дело в том, что программы именно так и развиваются — старая версия изменяется, а не переписывается с чистого листа. И именно для таких изменений git идеален.
Как он вообще находит эти изменения?
Построчное сравнение текстовых файлов.
что если потеряется исходная копия версии 1.0.0
Это первый коммит репозитория, и если репозиторий вообще работоспособный, она оттуда никуда не денется. Удалить из репозитория то, что там уже есть — в общем случае невозможно, это всё равно, что стереть прошлое. Даже откат коммита — это, по сути, антикоммит, который накладывается на откатываемый и возвращает всё к прежнему состоянию.
makise_homura
0
Я не хочу, чтобы ТАКОЕ хранилось локально. У меня осталось всего 10гб места и скорее всего и их скоро не станет.
Sasha-Flyer
0
Сколько у тебя весит проект? Я думаю, максимум — несколько мегабайт. Оверхед, который ты получишь — ещё несколько мегабайт. Стоит ли из-за нескольких мегабайт отказываться от удобства, если ты просто пока ещ не понял, насколько это удобно?
makise_homura
0
25МБ, учитывая картинки-превью и исходники для создания ушифро-анимаций. Но размер будет увеличиваться пропорциально количеству персонажей. То есть, сейчас 5 персонажей и весит 25МБ. Когда будет 50 персонажей — будет весить уже 250 МБ, а то и больше.
Sasha-Flyer
0
Ну и тогда у тебя весь репозиторий (даже если там тысячи коммитов) будет весить 300-400 МБ (250 МБ воркинг копия, 50-150 МБ — сжатые дельты, то есть собственно локальный репозиторий).
makise_homura
0
И почему это нельзя хранить удаленно?
Sasha-Flyer
0
Можно, но не слишком удобно. Хотя для твоих целей можно и удалённо (depth=1).
makise_homura
0
depth позволяет только с конца забрать, а Саше надо возможность скачать ЛЮБОЙ срез. Тут Git однозначно мимо кассы, это одна из его родовых проблем. И кстати, даже если скачать срез с конца — пушить всё равно не получится, придётся качать полный репозиторий.
MiniRoboDancer
0
depth позволяет только с конца забрать, а Саше надо возможность скачать ЛЮБОЙ срез.
Ну он всегда может сделать fetch =) хотя я сейчас не уверен, что это должно сработать так, как я думаю, надо проверять Я же пытаюсь его убедить, что удобнее иметь всю историю локально, тогда это куда проще.
И кстати, даже если скачать срез с конца — пушить всё равно не получится
Хм, странно, вроде по логике пуш просто закидывает туда всё, что у тебя есть в локалрепе, чего нет в ориджине. И даже если у тебя нет общих коммитов — оно всё равно туда запушится, просто ты этого не увидишь там. А если есть один общий коммит (head, который забрал с depth=1), то список слепится и новые коммиты появятся видны и в ориджине.
makise_homura
0
Как он вообще находит эти изменения? Прям побуквенно всё сравнивает?
Тебе и программы для сравнения файлов никогда не вcтречались? o_O Даже в PyCharm чот такое встроенное есть.
MiniRoboDancer
0
начинаешь откровенно не понимать, как раньше жил без неё
Да ладно, я уж сколько лет умеют в гит, а до сих пор лень инициализировать репозиторий для всякой дребедени, да и вообще как-то её версионировать. Бывает, правда, что жалею потом, но редко :3
MiniRoboDancer
0
Установил этот ваш git, но git init всё ещё не работает, пишет «git» не является внутренней или внешней
командой, исполняемой программой или пакетным файлом, при этом в path я его добавил и в проект — тоже.
Sasha-Flyer
0
И после ребута тож?
MiniRoboDancer
0
Щас бы ребутать комп, на котором работает два сайта и игровой сервер онлайн игры
Sasha-Flyer
0
Ну тогда не жалуйся на вендопроблемы :P Запускай по полному пути.
MiniRoboDancer
0
Кароче, я уже несколько часов пытаюсь разобраться с этой ебаной системой контроля версий, и ничего не работает до сих пор. Стоит ли мне продолжать или просто забить на эту бесполезную систему контроля версий?
Sasha-Flyer
0
Превозмогай. И определись для начала, чего ты хошь-то.
MiniRoboDancer
0
Я тебя понимаю, ибо поначалу думал точно так же. Продолжать однозначно стоит. Почитай статеечки с того же хабра и постарайся понять то, что там пишут, а не просто повторять команды. Мне, кстати, для понимания помогло нарисовать схемку с воркинг копи, стейджем, локальной репой и ориджином, подписать, зачем они нужны и порисовать на ней стрелочки, что делает какая команда (add, commit, push, pull, fetch, checkout и т.п.)
makise_homura
0
Я уже всё прочитал и ничего не выходит. Pycharm тупо не хочет коммитить в хитхаб, хотя логин и пароль в настройках введен и в аккаунт войден.
Sasha-Flyer
0
Не очень понял, при чём тут pycharm.
Алсо, коммит — это пересылка между стейджем и локальным репозиторием. На гитхаб (то есть, посылать состояние из локального репозитория в ориджин) ты будешь пушить.
makise_homura
0
Не очень понял, при чём тут pycharm.

Потому что это через него и делается? Только вот одна и таже ошибка не дает это сделать:
Спойлер
Sasha-Flyer
0
Ммм, ты пытаешься сделать pull request в свой же репозиторий? Обычно они делаются только тогда, когда у тебя уже есть готовая ветка с изменениями в ориджине и ты хочешь её запушить в апстрим. Тебе пока надо запушить локальную репу в ориджин. Можешь посмотреть, что у тебя в каталоге локального репозитория?
makise_homura
0
так, давай по порядку, что ты сейчас хочешь узнать? что у меня находится в репозитории хитхаба? Ну, ты и сам можешь посмотреть — github.com/Sasha-Flyer/Ushifrator там нет буквально ничего. А в самом проекте у меня сейчас 700 файлов, которые не хотят отправляться на Гитхаб.
Sasha-Flyer
0
А в самом проекте у меня сейчас 700 файлов, которые не хотят отправляться на Гитхаб.
Вот именно это, скорее всего, у тебя и должно быть локальным репозиторием. Я пытаюсь понять, является ли это действительно репозиторием (то есть инициализировал ли ты его), или просто каталогом, в который сложены файлы, без метаинформации о репозитории.
makise_homura
0
Кароче. Это просто папка с файлами, которая работает в Pycharm. И я это хочу залить на Хитхаб. Всё.
Sasha-Flyer
0
Тогда просто инициализуй там репозиторий (git init), свяжи его с гитхабом (git remote add origin https://github.com/Sasha-Flyer/Ushifrator), добавь имеющиеся файлы из воркинг копии в стейдж (git add -r *), сделай коммит из стейджа в репу (git commit -m 'Initial commit'), и затем — пуш на гитхаб (git push).
makise_homura (ред.)
0
А теперь можно обо всем по порядку и поподробнее?
Тогда просто инициализуй там репозиторий (git init)

Мне это прямо в открытом cmd прописывать, так?
Sasha-Flyer
0
Да, переходишь в каталог, где лежат исходники, и делаешь.
makise_homura
0
Этот каталог нужно указывать как параметр при вызове git init? В интернете я не могу найти конкретных примеров
Sasha-Flyer
0
Смотри, командная строка имеет такой параметр, как текущий каталог. Именно в нм ты выполняешь те команды, которые ты пишешь в командной строке. В винде он виден перед символом ">" в приглашении. Кроме того, в винде он разный для разных дисков, но пока мы углубляться в это не будем. Менять текущий каталог (т.е. переходить в другой) можно командой cd.

Тебе нужно перйти в тот каталог, где лежит проект, и после этого инициализировать там репозиторий командой git init.
makise_homura
0
C:\Users\User\PycharmProjects\site>«C:\Program Files\Git\bin\git.exe» init
Reinitialized existing Git repository in C:/Users/User/PycharmProjects/site/.git/

— так?
Sasha-Flyer
0
Да, так.
А, значит, у тебя репозиторий уже был инициализирован. Но ладно.
Теперь попробуй связать его с ориджином на гитхабе:
git remote add origin https://github.com/Sasha-Flyer/Ushifrator
makise_homura
0
C:\Users\User\PycharmProjects\site>«C:\Program Files\Git\bin\git.exe» remote add origin github.com/Sasha-Flyer/Ushifrator
fatal: remote origin already exists.
Sasha-Flyer (ред.)
0
Ага, значит и ориджин у тебя подключен.
Может, ты и коммит сделал? Посмотри, что у тебя выдаёт git status в этом каталоге.
makise_homura
0
C:\Users\User\PycharmProjects\site>«C:\Program Files\Git\bin\git.exe» status
On branch master
Changes not staged for commit:
(use «git add ...» to update what will be committed)
(use «git restore ...» to discard changes in working directory)
modified: messeges.json

Untracked files:
(use «git add ...» to include in what will be committed)
__pycache__/

no changes added to commit (use «git add» and/or «git commit -a»)

C:\Users\User\PycharmProjects\site>
Sasha-Flyer
0
Ага. То, что тебе выдал git status, означает то, что у тебя воркинг копия отличается от локальной репы только файлом messages.json, а папка __pycache__ вообще исключена из отслеживания (и так и надо). Можешь заодно дать команду git log и посмотреть, что у тебя в локальном репозитории.
makise_homura
0
C:\Users\User\PycharmProjects\site>«C:\Program Files\Git\bin\git.exe» log
commit 463db654f871e584b797926921d974c759f6a0a8 (HEAD -> master)
Author: Sasha-Flyer <nonameznet97@gmail.com>
Date: Sat Nov 16 22:51:19 2019 +0300

first version

C:\Users\User\PycharmProjects\site>
Sasha-Flyer
0
Вот, видишь? У тебя в истории один коммит, у которого есть уникальный идентификатор (463db654f871e584b797926921d974c759f6a0a8, его обычно там, где не важна точность, обрезают до 7-9 символов, т.е. слова типа «commit 463db654» будут обозначать именно его) и сообщение (first version). Это означает, что изменения теперь есть в твоём локальном репозитории, теперь осталось только влить всё новое в локальном репозитории (а нового там — именно этот коммит) в ориджин. Это делается командой git push.
makise_homura
0
C:\Users\User\PycharmProjects\site>«C:\Program Files\Git\bin\git.exe» push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use

git push --set-upstream origin master

C:\Users\User\PycharmProjects\site>
Sasha-Flyer
0
А, точно, я забыл сказать, что для локального репозитория ориджин (то, что является одной из удалённых копий репозитория) — это ещё и апстрим (та из удалённых копий, куда переливаются коммиты при push-е).
Действительно, установи ориджин своим апстримом командой git push --set-upstream origin master.

Здесь master — имя той удалённой ветки, в которую ты будешь заливать текущую локальную ветку; пока ещё ты не начал разбираться с ветками, и у тебя локальная активная ветка называется master (помнишь «On branch master» в выводе git status?), и удалённая будет так же называться. Это название «master» — общепринятое для главной ветки проекта.
makise_homura
0
C:\Users\User\PycharmProjects\site>«C:\Program Files\Git\bin\git.exe» push --set-upstream origin master
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Sasha-Flyer
0
Посмотри настройки пользователя и пароля (локальные, глобальные и системные):

git config --local user.name
git config --local user.email

git config --global user.name
git config --global user.email

git config --system user.name
git config --system user.email

Локальные — это для конкретно этого репозитория, глобальные — которые для всех репозиториев, с которыми ты работаешь из-под своего пользователя, если нет локальных, системные — с которыми работают все пользователи, если нет локальных и глобальных.
makise_homura
0
Sasha-Flyer
0
Так, здесь всё правильно. В твоём случае (работаешь под одним и тем же логином со всеми репозиториями, которых у тебя пока только один) глобальные настройки — правильное место для этой инфы.
makise_homura
0
А, хотя стоп, вот ещё:
Посмотри, правильно ли у тебя прописан origin (потому что «git@github.com» выглядит странно):

git remote show origin
makise_homura
0
C:\Users\User\PycharmProjects\site>«C:\Program Files\Git\bin\git.exe» remote show origin
git@github.com: Permission denied (publickey).
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

C:\Users\User\PycharmProjects\site>
Sasha-Flyer
0
Так, а так тогда?
git config remote.origin.url
(посмотрим просто переменную в конфиге, не обращаясь к ориджину)
makise_homura
0
C:\Users\User\PycharmProjects\site>«C:\Program Files\Git\bin\git.exe» remote show originconfig remote.origin.url
fatal: 'originconfig' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

C:\Users\User\PycharmProjects\site>
Sasha-Flyer
0
Эээ, на команду свою посмотри.
makise_homura
0
C:\Users\User\PycharmProjects\site>«C:\Program Files\Git\bin\git.exe» config remote.origin.url
git@github.com:/Sasha-Flyer/Ushifrator.git

C:\Users\User\PycharmProjects\site>
Sasha-Flyer
0
Судя по всему, всё есть. что еще нужно сделать — непонятно…
Sasha-Flyer
0
С оригином, начинающимся на git@, будет заливать по SSH, а SSH-ключа у тебя, поди, нет.

Сделай лучше на https://, тогда логин-пароль спрашивать будет. Команда должна быть на странице репозитория на Гитхабе, пока он пустой. Если будет ругаться, что origin уже есть — этот удали (git remote remove origin).
MiniRoboDancer
0
Ага, понятно, у тебя адрес ориджина не такой
https://github.com/Sasha-Flyer/Ushifrator
, а такой
git@github.com:/Sasha-Flyer/Ushifrator.git
. Возможно, это и сработало бы, не знаю, насколько github работает по протоколу git, я всегда использую https, но даже этот URL сформирован неправильно. Помнишь, как строятся URL? «протокол://[пользователь[: пароль]@]сервер[.домен]/путь/к/файлу». У тебя пользователь — git, а не Sasha-Flyer.

Здесь важно понимать, что пользователь в конфиге гита — это тот, под которым ты делаешь коммиты; пользователь в URL ориджина — тот, с которым ты логинишься на гитхаб. В общем случае они не обязаны быть одинаковыми, но пока это тоже не очень важно.

Короче, что я предлагаю:
Либо изменить имя пользователя в том, что есть (не знаю, сработает или нет — не проверял протокол git://):
git remote set-url origin git://Sasha-Flyer@github.com:/Sasha-Flyer/Ushifrator.git

Либо задать origin через https:
git remote set-url origin https://Sasha-Flyer@github.com/Sasha-Flyer/Ushifrator

Можешь задавать без имени пользователя, тогда при каждом пуше тебя будут спрашивать не только пароль, но и имя пользователя.

Ну, если задолбает вводить пароль, ты, конечно, его можешь встроить прямо в URL
git remote set-url origin https://Sasha-Flyer:твой_пароль@github.com/Sasha-Flyer/Ushifrator

Но ты сам понимаешь, что если кто утащит config твоего репозитория — то получит доступ к твоему github-овскому аккаунту. Поэтому лучше использовать авторизацию по ключу (как это — почитай мануалы самого гитхаба, там это относительно просто расписано).
makise_homura (ред.)
0
думаю https мне больше подходит. ввел C:\Users\User\PycharmProjects\site>«C:\Program Files\Git\bin\git.exe» remote set-url origin Sasha-Flyer@github.com/Sasha-Flyer/Ushifrator

но ничего не произошло. оно просто молча выполнилось и никакого сообщения не дало.
Sasha-Flyer
0
Теперь если ты посмотришь, какой у тебя URL origin-а предыдущей командой (git config remote.origin.url), то он должен измениться.
Если всё ок — делай git push.
makise_homura
0
C:\Users\User\PycharmProjects\site>«C:\Program Files\Git\bin\git.exe» config remote.origin.url
Sasha-Flyer@github.com/Sasha-Flyer/Ushifrator

C:\Users\User\PycharmProjects\site>«C:\Program Files\Git\bin\git.exe» push
fatal: The current branch master has no upstream branch.
To push the current branch and set the remote as upstream, use

git push --set-upstream origin master

C:\Users\User\PycharmProjects\site>«C:\Program Files\Git\bin\git.exe» push --set-upstream origin master
Enumerating objects: 780, done.
Counting objects: 100% (780/780), done.
Delta compression using up to 8 threads
Compressing objects: 100% (778/778), done.
Writing objects: 100% (780/780), 10.14 MiB | 6.53 MiB/s, done.
Total 780 (delta 51), reused 0 (delta 0)
remote: Resolving deltas: 100% (51/51), done.
To github.com/Sasha-Flyer/Ushifrator
* [new branch] master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.
Sasha-Flyer
0
Virst version
Это прелестно! :3
MiniRoboDancer
0
Что мне теперь с этим делать — вот в чем вопрос. ну вот залил я её в репозиторий — как мне теперь там файлы редактировать?
Sasha-Flyer
0
Да хоть прям на гейхабе!
MiniRoboDancer
0
хз, через обычное контекстное меню там обычные браузерные свойства. как удалить или сделать другие действия с файлами на гитхабе пока не понятно.
Sasha-Flyer
0
См. ниже — отредактировал у себя, добавил в стейдж, закоммитил (описал суть изменений), запушил.

Для удобства можешь поставить себе gui-клиент, чтобы не ковыряться с командной строкой, например, TortoiseGit или какой-нибудь другой. Главное — терминологию ты теперь начинаешь потихоньку узнавать и будешь понимать, что gui-клиент от тебя хочет.
makise_homura
0
НУУУУ ФРАААААЕР

Delete main.py
Ты дебил :3
MiniRoboDancer
+1
Кстати, разумеется, после этих изменений в ориджине нужно делать пулл ориджина к себе в локарепу.
makise_homura
0
Спасибо вам за офигенные советы. Пришлось теперь менять пароли буквально на всех аккаунтах. Больше в жизни не буду прикасаться ни к одной системе контроля версий
Sasha-Flyer
0
Очень зря. Заметь, что проблема не в системе контроля версий, а в том, что ты закоммитил и запушил, не подумав.
С выкладыванием на рандомный ресурс было бы то же самаое — вебархив не дремлет.
Алсо, никто не мешает тебе вести разработку чисто в локальной репе, не пуша её никуда (но всегда иметь возможность сделать ориджин для неё и запушить всё туда).
makise_homura
0
Kiskaa123
Офигенно криптостойкий пароль, ы.
MiniRoboDancer
0
киска… а Саня то шалунишка))
KerHarrad
0
Я пропалил два пароля и один ключ в этом файле, к счастью я успел всё удалить. Сейчас поменял абсолютно все пароли и деактивировал все ключи доступа.
Чтобы я еще хоть один раз связывался хоть с одной системой контроля версий? Просто нахуй! Менять все пароли на всех сайтах после этих пушей — такая себе идея.
Sasha-Flyer
0
Заметь, что до пуша ты ничего не пропалил (в этом и плюс пушей — непоправимого никогда не сделано, всегда можно начать ветку от предыдущего коммита).
А с выкладыванием паролей — ну, поэтому и в коммит файлы включаются не автоматически (если мы не делаем тупо git commit -a), и поэтому и есть файлик .gitignore.

Ну, поменял пароли, проблема-то в чём? Продолжай работать дальше, и просто смотри за тем, что коммитишь.
makise_homura
0
Ну так я у меня пароли и ключи доступа в main функции, где и выполняется весь код. как можно игнорить конкретные строчки внутри кода?
Sasha-Flyer
0
Вынести их в конфиг-файл и добавить этот файл в .gitignore. Это наиболее широко распространённая практика. При этом для тех, кто хочет попробовать развернуть у себя твою систему, полезно класть в git вместо рабочего конфига его шаблон.
Вот, посмотри, например, как сделано в "Курисабе": самому движку нужен файл config.php, но его в гите нет, зато есть шаблон _templates/config.php.template, и слова об этом в README.md.
makise_homura
0
Вот именно поэтому я и не буду пользоваться системами контроля версий больше — слишком много дополнительных танцев с бубном ради непонятно чего. Где гарантии что файл не зальется если я его добавлю в какой-то там гитигнор? А вдруг зальется, и я не замечу, а кто-то заметит и сворует все пароли незаметно? Это ведь хорошо что я сейчас вовремя заметил и сразу всё поменял. А если бы не заметил? Прощай аккаунты и все деньги на карте!
Sasha-Flyer
0
слишком много дополнительных танцев с бубном ради непонятно чего
Этот «танец с бубном» — ради того, чтобы разделить чувствительные данные от кода. Если они у тебя смешаны — это проблема архитектуры твоего кода, и она приводит в том числе и к этому. Видишь, ты эту проблему увидел только сейчас; а вот представь, что ты бы на каком-нибудь скриншоте спалил бы это и не заметил?
Где гарантии что файл не зальется если я его добавлю в какой-то там гитигнор?
Само определение файла .gitignore. Ну и ты, когда коммитишь, всегда можешь увидеть, какие файлы отправляются (ты их сам добавляешь командой add перед этим). Если ты увидел там что-то, что отправляется по ошибке — убери его из стейджа и коммить без него.
А вдруг зальется, и я не замечу, а кто-то заметит и сворует все пароли незаметно?
Именно поэтому тебе даётся возможность минимум два раза проверить: во-первых, при добавлении файлов командой add (подумай, перед тем, как давать команду, не увидит ли пользователь в этом файле чего-то не того?) И во-вторых — при коммите: обычно тебе показывают все файлы в стейдже перед подтверждением коммита.
А если бы не заметил? Прощай аккаунты и все деньги на карте!
Это ещё одна твоя архитектурная ошибка, впрочем, не связанная с программированием: не клади все яйца в одну корзину. Если у тебя через что-то могут увести деньги или ещё что-то важное, то как минимум, не используй этот аккаунт в автоматизированных системах (ну и не свети его почём зря вообще где-либо).
makise_homura
0
И во-вторых — при коммите: обычно тебе показывают все файлы в стейдже перед подтверждением коммита.

мне ничего не показывалось.
Sasha-Flyer
0
Скорее всего показывалось, просто там было триста файлов, и ты особо не смотрел (да, это типичная проблема первого коммита уже развиваемого проекта).
makise_homura
0
Показывается только если описание коммита через редактор вводить. Если из CLI задавать, то нет.
MiniRoboDancer
0
А, ну возможно (помню, пару раз задавал сообщения коммита через командную строку, но не помню, выдавал ли гит что-то), поэтому, наверное, я в подавляющем большинстве случаев ввожу сообщение через редактор (да и удобнее так). Там-то всё видно. И что в стейдже, и что в воркинг-копи, и что игнорируется.
makise_homura
0
А если я переименую файл с паролями — они в итоге опять добавятся? Я часто всё переименовываю. поэтому этот гитигнор мне тем более не подходит. Это слишком небезопасная хрень
Sasha-Flyer
0
git status и git diff. Не проверяешь перед коммитом — ну и дебил, чо
andreymal
+2
опять же — что это всё значит? И ради чего столько телодвижений?
Sasha-Flyer
0
Для наведения порядка на своём рабочем месте. Ну а если ты развёл срач и не хочешь прибираться — ну, дело твоё
andreymal
+2
О каком сраче идет речь? или я не имею права держать сразу несколько проектов внутри одной общей папки?
Sasha-Flyer
0
О каком сраче идет речь?
О паролях в коде, например
andreymal
+1
Почему я не имею права делать самый обычный код в виде
me = tabun_api.User(login="Sasha-Flyer", passwd="пароль")
где тут срач? Всего одна вполне логичная строчка, которая авторизирует меня на Табуне.
Sasha-Flyer (ред.)
0
Потому что ты лишаешь себя возможности даже мне файл скинуть
andreymal
0
Ну так можно ли как-то строчку скрыть, не создавая при этом никаких новых файлов и папок? Я не хочу раздувать и без того раздутый файлами проект.
Sasha-Flyer
0
Зачем, если можно просто создать файл? Если у тебя аллергия на файлы — мне тебя жаль
andreymal (ред.)
0
И как мне потом разбираться в смысле каждого файла?
Sasha-Flyer
0
Называть нормальными именами, писать документацию, класть рядышком example-файл для добавления в гит — в общем, наводить порядок
andreymal
+1
ЕЩЕ один файл? Ты издеваешься, да? Зачем еще один то? Что еще за example? Примеры мне еще не хватали
Sasha-Flyer
0
Ну и живи в сраче и не понимай свой собственный проект уже через полгода
andreymal
+1
Создание твоих файлов думаешь сильно упростит ситацию? Я вот ничего не понимаю по той ссылке, которую ты скинул комментом выше.
Sasha-Flyer
0
Мне упрощает, про альтернативно одарённых ничего сказать не могу)
andreymal
+1
И как же именно он упрощает?
Sasha-Flyer
0
Мне это очевидно, а альтернативно одарённым пытаться объяснять видимо смысла нет
andreymal
0
Почему ты считаешь меня альтернативно одаренным? разве я такте сложные вопросы задаю?
Sasha-Flyer
0
Тебя считают альтернативно одарённым, потому что ты себе придумываешь некоторые проблемы, которые реально проблемами не являются (много файлов, мало места и т.п.) и настаиваешь на том, что это всё-таки проблемы, а не пытаешься прислушаться и осознать, где на самом деле реальные проблемы, которые делают твой код, например, непереносимым в другие условия эксплуатации.

Вот например, если бы ты всё-таки не сдавал назад после выкладывания своего ушифратора на гитхаб, я бы, может, развернул бы его у себя и посмотрел, как его можно было бы улучшить, покидал бы тебе пулл-реквестов с этими улучшениями, и все были бы довольны. В этом и прелесть коллективной разработки, что те, кому что-то надо, сами делают всё за тебя, тебе нужно только отревьюить код и смерджить его с твоим. И обратное: если я вижу, что в чьём-то проекте мне чего-то недостаёт — я просто форкаю его себе, делаю нужные правки и пишу пулл-реквест в апстрим, и так мой код там появляется. Taisei Project, meson, screenfetch — во всех этих часто широко известных проектах есть мой код. Но твой код пока к этому неспособен, и это печалит.
makise_homura
0
мало места
проблемами не являются
Да ты охуеше.
если бы ты всё-таки не сдавал назад после выкладывания своего ушифратора на гитхаб
Интересно, что будет, если перезалить бесценный Сашенькин код :3
Taisei
широко известных
Нет; чоита?
MiniRoboDancer
0
Да ты
У него свободно несколько гигов, а он жалеет пару сотен мегабайт.
Нет; чоита?
Ну, Taisei — единственный не широко известный, поэтому я там дописал модивикатор «часто» =)
Это игруха по типу тохи, только опенсорсная. github.com/taisei-project/taisei/
makise_homura
0
У него свободно несколько гигов, а он жалеет пару сотен мегабайт.
Так они так и забиваются — там мегабайтик, тут мегабайтик, и приехали. Мало того, малый объём пустого пространства чреват быстрой фрагментацией и сбоями, если какая-то прога внезапно начнёт засирать диск.
MiniRoboDancer
0
Вопрос в приоритетах. Место оно затем и нужно, чтобы в него что-то класть, а не держать свободным ради циферки.
makise_homura
0
Проблема в том, что если такими «мегабайтиками» всё забить, то потом закинуть что-то реально большое и нужное окажется некуда, и придётся срочно рыскать по всему диску искать, что лишнего можно удалить
andreymal
0
Опять же вопрос приоритетов. Можно и не мегабайтиками всё забить.
А вообще — флешка на 64 гига на том же али стоит жалкие сотни рублей с доставкой, ну блин, ну 2019 же, цена за мегабайт упала ниже некуда, всегда можно иметь аварийную флешку и скидывать туда временно что-то, из-за чего что-то другое не вмещается, если уж кризис свободного места. Хоть, по хорошему, если возникают такие проблемы, нужно задуматься о покупке нового диска — там стоимость за гиг ещё ниже, просто это разовая трата. Но современный диск стоит не дороже, чем например я на еду трачу за пару-тройку недель (и куда дешевле, нежели я плачу за квартиру).
makise_homura
0
Флешка может навернуться, внешний диск тоже может навернуться, поэтому твоё временное скидывание не работает
andreymal
0
Внутренний диск также может навернуться, и даже диски в RAID могут навернуться одновременно от скачка питания. И вообще может быть пожар/наводнение/атомная война.

Вопрос исключительно оценки рисков. И потому, что вероятность наворачивания флешки (возможно) чуть выше, я и говорю о временном скидывании, а не постоянном.
makise_homura
0
Будет весело, когда что-нибудь навернётся аккурат после временного скидывания)
andreymal
0
Бывает, когда что-нибудь навернётся за день до момента, когда «всё, сегодня делаю бэкап». У меня такое было.

Так, пойду делать бэкап. Лол.
makise_homura
0
жалкие сотни рублей
Хуясе ты буржуй. В тред срочно призывается Olgfox !
там стоимость за гиг ещё ниже
И все яйца в одной корзине. Да и флешки могут навернуться целиком. Надёжнее всего оптические диски и ленты, их хотя бы частично прочитать можно гарантированно, если портиться начнут. У нас оптические диски ещё и стоят намного дешевле флешек, хотя в РФ, поговаривают, уже 150 р. за болванку местами.
MiniRoboDancer
0
В тред срочно призывается Olgfox !
Я хотел его упомянуть, но блин, решил что я и так слишком часто его вспоминаю =)
Для любого адекватного человека несколько сотен рублей разово за что-то принципиально полезное — это не то, насчёт чего стоит переживать.
Надёжнее всего оптические диски и ленты
Ленты не знаю — к счастью, дела с ними не имел (хотя тот же Арвид доводилось видеть). А вот оптические диски (CD-R) — те по моему опыту практически гарантированно перестают читаться в плане файлов с внешней стороны диска через 3-5 лет (а через десяток-другой лет портится и оглавление — сейчас большинство тех дисков, что я записывал в школьные годы, уже нечитаемые), в то время, как на HDD инфа может лежать десятилетиями без каких-либо проблем.

Из обоснованных практически неуязвимых стратегий для бэкапа предлагаю делать раз в несколько месяцев полный инкрементальный бэкап на другой диск (вот как раз сейчас у себя делаю, лол, правда, вместо обычных десятков гигов у меня тут 500 с лишним — хасбровский слив же) и хранить его (если важна защита от стихийных бедствий типа пожаров, наводнений, квартирных воров) в другом помещении (я не храню — у меня этот бэкап просто на NAS под креслом), и раз в несколько лет вычитывать как бэкапный, так и рабочий диск целиком, проверяя его на CRC-ошибки (если появились — то восстанавливать файлы с копии и как можно быстрее заменять диск).
makise_homura
0
разово
Сфига, если данные растут постоянно? Один хрен придётся либо чистить и сжимать, либо постоянно докупать носители. А при первом варианте прибавка в жалких 64 ГБ роли не сыграет, разве только если уже всё-превсё ненужное уконтрапуплено и место брать негде — тогда разово, да...
CD
Этъда, DVD надёжнее.
в то время, как на HDD
У HDD есть электронная точка отказа — контроллер. Да и головки от долгого хранения могут застрять. Это, конечно, не так плачевно, как у чисто электронных носителей (SSD/флешки), но требует раскурочивания, причём не в домашних условиях. А то и донорских деталей. Оптически диски же — тупо пластинки с данными, никаких наворотов. А ещё у HDD слишком большой объём. Если из пачки дисков на 4.7 ГБ сдохнет пару штук — не так плачевно, чем целый HDD на сотни гигабайт и тем более терабайты.
MiniRoboDancer
0
если данные растут постоянно?
Если они действительно постоянно растут — тогда надо задуматься о покупке нового диска. Это дороже, зато хватит куда как на дольше.
DVD надёжнее.
Ещё пока непонятно. Они не существовали достаточно долго, чтобы можно было оценить стабильность записанного на них через 10-20 лет после записи. (Вернее, существовали, но как диски, так и приводы были слишком дорогие).
У HDD есть электронная точка отказа — контроллер.
Контроллер на современных дисках — это ARM-овский/MIPS-овский процессор, важна только его прошивка и данные калибровки головок. А современные стенды для восстановления дисков умеют автоматически подбирать данные калибровки. Так что восстановить данные с диска при отказе платы управления в принципе возможно (пусть и дорого).
Если из пачки дисков на 4.7 ГБ сдохнет пару штук — не так плачевно, чем целый HDD на сотни гигабайт и тем более терабайты.
Может быть куда более плачевно, если именно на этих дисках было то, что тебе важно. А проблема с HDD, опять же говорю — решается регулярным зеркалированием.
makise_homura
0
10-20 лет
Так речь же о 3–5 годах шла. У меня самым старым лет 5 и есть, все живые, летом просканированы.
пусть и дорого
Ны дык — а оптика читается обычным приводом и Non-Stop Copy за бесплатно. Даже разлетевшийся диск можно склеить и аккуратно на минимальной скорости погонять — опять же, в домашних условиях.
решается регулярным зеркалированием
Для которого нужен как минимум ещё один HDD, то есть задача уже другой ценовой категории.
MiniRoboDancer
0
о 3–5 годах
Ну, за 3-5 лет ни один современный диск не сдохнет. У меня вон некоторые в коробке с железками лет десять пролежали, а сейчас на одном из них на работе крутится ось одного из моих личных компов. Да и флешка тоже не сдохнет (ну на всякий случай можно парочку взять).
а оптика читается обычным приводом
Повреждённая оптика не читается никаким приводом, сколько бы ты ни пытался.
Даже разлетевшийся диск можно склеить и аккуратно на минимальной скорости погонять
WAT. Ты никогда не склеишь диск с нужной точностью без перекосов в микроны. А ещё и трещины будут тебе давать рефлексы на дорожке. Вот нет, я не поверю в это никогда.
то есть задача уже другой ценовой категории.
Но и надёжность и объём хранения на порядки лучше.
makise_homura
0
(а через десяток-другой лет портится и оглавление — сейчас большинство тех дисков, что я записывал в школьные годы, уже нечитаемые)
Можно добавлю капельку систематической ошибки выжившего? Из моих 173 дисков 10-15-летней давности 160 полностью живые, в том числе CD-R
andreymal (ред.)
0
А сколько из них CD-R?
Ну, то есть интересна именно статистика по ним; обычные диски — там алюминий и поликарбонат, там портиться нечему, если не царапать поверхность. Обычные диски из тех времён и у меня читались не так давно (искал на одном из дисков дрова к старому блютусу).
makise_homura
0
А хз, мне уже две недели лень их ещё раз перебрать)
andreymal
0
Нет, это вредительский подход. Должно быть место для манёвров и под резерв. На ext это отчасти решается зарезервированным для рута пространством (которое всякие умники тоже прикручивают на свою голову), но при чём тут винда?
MiniRoboDancer
0
Повышением гибкости. Код со вшитыми паролями пригоден только для тебя. Если кто-то захочет поднять резервный Ушифратор — им придётся после каждого обновления заменять в нём пароли на свои. А отдельный файл менять не нужно.
MiniRoboDancer
+1
А если таких файлов будет очень много? Как в них разобраться потом и не потеряться в них?
Sasha-Flyer
0
Обычно конфиг ровно один
andreymal
+1
Структурировать проект :3 Вот, например, код принято класть в подпапочку src. А ресурсы — в res или assets. У тебя всё вместе, потому и свалка получается, если файлы плодить.
MiniRoboDancer (ред.)
+1
нет, у меня не всё вместе. если было бы всё вместе, фласк бы тупо не работал. весь публичный картинко-контент хранится static, который фаск автоматически выводит наружу, все html-исходники находятся в templates, и если бы они находились в другой папке, фласк бы просто их не видел, а исходники поней у меня хранятся в папках с именем пони.
Sasha-Flyer
0
А папки DBR/FS/RD/T2/TS тогда почему в корне?
MiniRoboDancer
0
Это старые папки, сегодня я их уже удалил.
Сейчас весь проект выглядит вот так:

в папке new находятся исходники, на основе которых рендерятся ушифры. в папке statis находятся превьюшки и те файлы, которые я вручную заливаю на свой сервер, в templates находятся html-исходники, в main.py — основной Фласк-код, messeges — логи, shifer — код, где происходник ушифрование сообщений. Назначение первых трех папок я не знаю.
Sasha-Flyer (ред.)
0
Репозиторий с гитом, настройки PyCharm и скомпилированный питоновый байткод для более быстрого запуска
andreymal
0
Ну, вот, уже какая-то структуризация я не буду говорить про орфографию, это сейчас к делу не относится. Чем тебе помешают два файла config.py (в котором будут храниться твои личные настройки, и который будет добавлен в .gitignore) и config.py.example (который будет иметь тот же формат, но в котором вместо паролей будут пустые строки или плейсхолдеры) в корне проекта?

Кстати, если messeges.json — это логи, его тоже стоит добавить в .gitignore.
Первые три папки — рабочие и к проекту не относятся, их тоже стоит добавить в .gitignore (кроме первой, которая хранит метаинформацию git-репозитория и не добавляется и так).
makise_homura
0
Всё это можно сделать внутри Pycharm без командной строки?
Sasha-Flyer
0
Есть графические клиенты git, например, TortoiseGit, в них всё это можно сделать. Возможно, можно и внутри Pycharm, если он поддерживает интеграцию с git.

Собственно, то, что тебе нужно сделать — это добавить в корень проекта соответствующие файлы .gitignore, config.py и config.py.example (ну или не .py, а .json или любого другого формата, который у тебя может прочитать main.py), добавить в стейдж первый и третий и закоммитить.
makise_homura
0
Сейчас попробую вынести пароль оттуда и снова выложить. надеюсь там ничего важного больше не осталось
Sasha-Flyer
+1
Что-то опять не получилось. он сейчас вообще что-то левое выложил, пришлось всё удалить опять.
Sasha-Flyer
0
Кароче. Я сделал много изменений, выложил на гитхаб, но он откуда-то взял старую версию и выложил ровно то, что я выложил вчера, включая те файлы, которые я вообще удалил с жесткого диска — ВТФ???
Sasha-Flyer (ред.)
0
Что тебе не так? Система контроля версий же для того и нужна, чтобы старые версии хранить.
MiniRoboDancer
0
Я хочу полностью удалить старую версию и выложить только новую. что я и сделал — я удалил с жесткого диска некоторые папки и файлы и выложил на гитхаб — но он без моего ведома ОПЯТЬ выложил старую версию — какого хера спрашивается??
Sasha-Flyer
0
Во-первых, а ты изменение с удалением папок записал в репозиторий-то?
Во-вторых, ты уже и так налажал по полной, удали уже папку .git и создай репозиторий с нуля
andreymal
0
Я удалил папки как факт и почистил картину. Зачем это куда-то записывать если это уже случилось как факт?
Sasha-Flyer
0
Затем, что репозитории для того и нужны, чтобы вести чёткую и последовательную историю действий с подробными описаниями причин изменений, а не тупо автоматом повторять все изменения из файловой системы. Сперва нужно сделать все изменения и проверить их работоспособность, а уже потом зафиксировать эти изменения в репозитории с добавлением описания, зачем эти изменения вообще проведены — никакая автоматика не сможет ни добавить такое описание, ни провести все нужные тесты
andreymal (ред.)
+1
удали уже папку .git

Эта папка кстати сама куда-то пропала. я её не трогал, и сейчас её нет нигде.
Sasha-Flyer
0
Скрытые файлы отобрази
andreymal
0
Всегда отображались и до сих пор отображаются. appdata вижу и всё остальное тоже вижу
Sasha-Flyer
0
Sasha-Flyer
0
Если git в этой директории перестал работать — то всё гут, создавай заново.

И, кстати, убедись, что у тебя после всех экспериментов и в вышестоящих директориях поддиректории .git нету, особенно в C:\Users\User
MiniRoboDancer
0
github.com/Sasha-Flyer/Ushifrator/ ну допустим сделал, вроде сейчас тут нет никакой лишней и личной инфы. только код для сайта + необходимость ввести самому свой логин и пароль для табуна
Sasha-Flyer
+1
Саня, гит — это такой блокчейн, до того, как блокчейн стал мейнстримом. Портить историю — это вообще гиблое дело, за него в приличных проектах по рукам бьют, потому что остальным придётся полностью перекачивать репозиторий. Да и смысла нету, твои старые пароли давно упёрли (я, например :3).

Но вообще, в крайнем случае таки можно, для этого rebase есть. Либо просто удали директорию .git и начни всё заново.
MiniRoboDancer
0
Пароли я везде поменял, так что смысла нет от них. Директорию git я больше не вижу в принципе, отображение скрытых файлов включено.
Sasha-Flyer
0
Пароли я везде поменял

Ты и новые раз 10 еще зальешь))
KerHarrad
0
Возможно, ты выложил свой локальный репозиторий (в котором, разумеется, осталась старая версия). Если ты хочешь начать вообще с чистого листа, то просто удали каталог .git и заново проинициализируй репозиторий.
Если при этом ты не видишь там своих последних изменений — возможно, они у тебя в воркинг копии (ты не сделал add), или в стейдже (ты сделал add, но не сделал commit).
makise_homura
0
Делаем ставки — через сколько еще итераций Фраер совсем убьет свой проект так, что нормальной копии не останется ни локально, ни на гитхабе)))
KerHarrad
0
Главное, что у меня останется :P Подниму свой Ушифратор, с Блекджек и Рерити.
MiniRoboDancer
0
Имхо проще с нуля написать, чем Сашкин наркоманский код разбирать и править))
KerHarrad
0
Чего наркоманский? Вполне прилично, как для новичка. Видимо, благодаря IDE, копипасте и постоянным пинкам от andreymal .
MiniRoboDancer
0
Созданный по своим гайдлайнам проект-то как раз понятен будет. А по навязанным — вылетит из головы.
MiniRoboDancer
0
Это если гайдлайны вообще есть)
andreymal
0
Каким именно гайдлайнам?
Sasha-Flyer
0
Ну ты ж каких-то хедканонов придерживаешься. Не хошь плодить файлы вон, например. Код определённым образом форматируешь (у меня отступ одним пробелом был или вообще без). Файлы с поняхами обзываешь ЗАГЛАВНЫМ_СНЕЙК_КЕЙСОМ.
MiniRoboDancer
0
Файлы с поняхами обзываешь ЗАГЛАВНЫМ_СНЕЙК_КЕЙСОМ

Я пытаюсь придерживаться таких же наименований поней, как они именуются в исходниках от Хасбро, чтобы потом быстро отредактировать что-то у определенного поня при необходимости. а вот почему так Хасбро обозвали свои исходники — это ты уже у них спрашивай.
Sasha-Flyer
0
Во, хазбровских практик ты придерживаешься, а опытных программистов слушать не хошь :3
MiniRoboDancer
+1
Если я не буду придерживаться их практики, то потом я хрен найду нужный .fla файл с конкретной пони если я захочу подредактировать её.
Sasha-Flyer
0
А если не будешь разделять код и данные, то будешь хронически сливать критические данные и бугуртить :3

Кстати, палю надёжный метод. Держи пароли вне папки проекта. Так ты его в Git не добавишь никак. И можно использовать один файл в разных проектах.
MiniRoboDancer
+1
И как мне импортировать файл вне папки проекта? И где гарантия что даже в таком случае гит не добавит его? Он ведь наверняка смотрит Питоновские импорты
Sasha-Flyer
0
Гит ничего не знает про питон, он просто добавляет файлы какие укажешь в пределах папки проекта

Ну а open('../config.json') написать вообще не проблема
andreymal
+1
open('../config.json')

А если я хочу не джейсон создать, а питоноский.ру файл, где просто будет две строчки log = «Sasha-Flyer»
passwd = «пароль»
Sasha-Flyer
0
Ну как вариант добавь папку с нужными тебе питоновскими файлами в свой персональный PYTHONPATH и потом пиши импорты как обычно. Но вообще-то писать конфиги в питоновых файлах это обычно плохо, ибо нахрена выполнять произвольный код в конфигах
andreymal
0
В джанге-то конфиг как раз на питоне :3
MiniRoboDancer
0
Да джанго вообще говно :3
andreymal
0
Разве Фласк не написан на Джанго и представляет собой упрощенный веб-фреймворк, где нет ничего лишнего?
Sasha-Flyer
0
Что?! Нет!
MiniRoboDancer
0
Ну Фласк все-же попроще выглядит в плане синтаксиса, разве нет?
Sasha-Flyer
0
Проще, но к джанге он отношения не имеет.
MiniRoboDancer
0
Кстати, в sysvinit часто конфиги — это такие же шелл-файлы, которые включаются через source, и если вдруг какой-то конфиг — rwxrwxrwx, то можно было туда дописать «rm -rf /» и было бы весело, лол =)

Поэтому, хоть такие конфиги и просто писать и просто использовать, я их юзаю только в том, что никогда не будет запускаться от рута.
makise_homura
0
Поэтому все нормальные дистрибутивы давно перешли на systemd ;)
andreymal
+1
Сисямда-то ваша и вовсе окорпичиванием UEFI из коробки прославилась.
MiniRoboDancer
+1
Дык это прошивки написанные всякими флаерами виноваты, а не она
andreymal (ред.)
0
Флаеры не виноваты, что им подсовывают всякие сисямды вместо сертифицированной предустановленной десяточки максимальной. Там это, гарантии за смену ОС на ноутах ещё не начали лишать, как на мобильниках?
MiniRoboDancer
0
Эх, когда же наш-то перейдёт…
makise_homura
0
А зачем ждать? Я вот поставиху systemd за год-два до того, как его по дефолту в Debian Testing всунули.
MiniRoboDancer
0
Да поставить-то можно всё, что угодно, но от этого оно у юзеров не появится.
Обидно, когда астра грузится за 20-25 секунд, альт — за 15-20, а ОС Эльбрус — за 45-55 и приходится это вписывать в ПЗ и ТУ, а потом юзеры думают «а чё так долго», а мы внутренне вздыхаем и «так надо».
makise_homura
0
А что плохого в дискредитации национальной денисоповощины? Медленная загрузка весьма гармонирует с десятикилограммовыми эльбрусоноутами для военных.
MiniRoboDancer
0
Медленная загрузка на элбьрусе, потому что через бинарную трансляцию х86 в нативщину идет. Открыли бы они полностью маны по нативной системе команд — давно б им оптимизированных сборок наклепали.
KerHarrad
0
потому что через бинарную трансляцию х86 в нативщину идет
ОС Эльбрус — это нативный дистрибутив Linux. Конечно, никто не мешает запустить какую-нибудь Ubuntu в режиме бинарной трансляции, но зачем (если не нужны, разумеется, пакеты из того дистрибутива)?
Открыли бы они полностью маны по нативной системе команд
Ты интеловские-то «маны по нативной системе команд» давно читал? Я вот нет, мне знания ассемблера нужны крайне редко. Единственное, в чём проблема — это компиляторы, это да. То, что есть из коробки — C, C++, Fortran, Java, mono. Сейчас почти доделали go и rust (уже работают, вопрос в том, чтобы побольше оптимизировать получающийся код). И вскоре допилим LLVM, значит, в теории, любой LLVM-совместимый фронтенд к нам подойдёт. То есть, если что-то будет уметь компилировать код в LLVM-IR, это означает, что оно автоматом будет генерить на тивный код на эльбрусе.
makise_homura
0
Если нативная ось, то что так проседает по скорости тогда? Компиляторы еще не совсем хорошо оптимизируют, и всякие -О3 не пашут?

Ты интеловские-то «маны по нативной системе команд» давно читал?
Доводилось года 3 назад, когда свою реализацию stackful корутин делал. Познавательная штука на самом деле.
KerHarrad
+1
Помнишь, я в соседнем (или в этом?) треде бомбил про однопоточные проги? Вот именно это и проседает. Вот к примеру, когда разрабатывался Эльбрус-8С, мы так и прикидывали: четырёхядерный i5 2600 МГц = восьмиядерный Эльбрус-8С 1300 МГц. И действительно примерно так и получалось (где-то быстрее, где-то медленнее, в целом примерно одинаково). Но ты ведь сам понимаешь, что в приближении однопоточной программы эльбрус будет в два раза медленнее? А поднимать её мы не можем — слишком сильно возрастёт стоимость чипов, поэтому нам приходится заказывать на достаточно старом 28-нм техпроцессе (а это с нашим конвейером частоты максимум до 1500), вместо того, чтобы уходить в 10 или в 7.
Доводилось года 3 назад, когда свою реализацию stackful корутин делал.
Ок, засчитано. Но таких как ты — единицы (им эта документация, вроде как, уже сейчас даётся по запросу с NDA), хоть мы и планируем в будущем полностью открыть спеки. Просто результат выполнения ОКР по дефолту остаётся в собственности заказчика, и без его согласия мы не можем ничего открывать (и принципиальное намерение это согласие дать уже есть, вопрос только в том, чтобы прочекать, нет ли где-то у нас нарушения патентов, поскольку архитектура делалась в двухтысячные, когда все иностранные патенты можно было слать лесом, а что там сейчас с этими патентами, никто не разберёт)
makise_homura (ред.)
+2
однопоточные проги? Вот именно это и проседает.

Тогда понятно, да… Этим же АМД вплоть до последних тредрипперов страдал, только в меньшей степени — слабостью ядер в однопотоке.

Ну щито делать, если в 2к19 всякие СашиФраеры не могут многопоток нормально асилить в своих прогах…
KerHarrad
+1
Вот-вот, у AMD с глофо тоже было не всё так радужно. Сейчас они вроде как раз тредрипперы свои на топовых TSMC-шных процессах делают, поэтому у них и одноядерная производительность подскочила.

Опыт показывает, что даже разработчики фаерфокса этого тоже не могут =)
makise_homura
0
Сейчас у АМД другой фейл вроде как… запихивание в эти самые тредрипперы NUMA-подобной архитектуры на внутреннюю межъядерную шину. В итоге проги, которые жрут много памяти, но не учитывающие, что она ВНЕЗАПНО может стать неоднородной по скорости доступа, если поток планировщиком оси перекинется на другое ядро, начинают тоже проседааааать)

что даже разработчики фаерфокса этого тоже не могут =)

Это ты еще ПаленуюЛуну не запускал. Вроде обещали что она будет вылизанным форком фуррика, но проц насилует еще сильнее, и таки в однопотоке)
KerHarrad (ред.)
+1
что она ВНЕЗАПНО может стать неоднородной по скорости доступа, если поток планировщиком оси перекинется на другое ядро
Хм, а вот это уже планировщик должен учитывать и не перекидывать процессы на ядра, не являющиеся сиблингами текущего. Странно, что он так не делает (или просто сиблинги неправильно прописаны?..)
но проц насилует еще сильнее, и таки в однопотоке)
Кажется, хорошо, что я с ней дела не имел =)
makise_homura
0
уже планировщик должен учитывать
Ну читал, что в последних билдах венды-10 вроде то ли уже пофиксили, то ли в ближайшее время пофиксят. Просто раньше нафиг не надо было в несервер-едишн осях. Про линух не знаю, наверно тоже патчи к последним ядрам уже есть.
KerHarrad (ред.)
0
Вы Флаеру мозг окончательно вывернете такими разговорами
andreymal
0
Ты хотел сказать «порвем межушную нитку»? )))

Меня он вроде как игнор-скриптом скрыл, после вчерашних попыток вразумить его.
KerHarrad
0
Надо, как нам закупаемый сейчас интеловский сервак придёт, прочекать, как там сиблинги в procinfo и кидает ли планировщик процессы между сокетами. Надеюсь, что это уже пофикшено (а то у нас все советуют «а вы ручками выставляйте affinity», и я такой «эээ вы чо поехавшие, это всё должно уметь автоматически»)
makise_homura
0
Ну думаю в windows server учет этой хрени давно есть, и во всяких сервер-заточеных сборках линуха тоже.
KerHarrad (ред.)
0
денисоповощины
Ну-ка давай объясни мне, где ты увидел денисопоповщину.
десятикилограммовыми эльбрусоноутами для военных
Вот этот ноут для военных весит 6 кг. И это при том, что я ещё не видел, в каком температурном диапазоне он работает. Не думаю, что наша разработка так уж сильно хуже, тем более что на рынок (очевидно, военный и специальный) она была выпущена аж семь лет назад. Сейчас бы мы (если был бы спрос), думаю, вполне уложились бы в 6 кг.
makise_homura
+1
где ты увидел денисопоповщину
А чем ещё являются эти ваши национальные дистрибутивы с перекрашенными либреофисами, мешаниной из DPKG/RPM и прочим трешем? Ладно вон китайцы хоть Deepin DE пилят интересный — а чем русские прославились, кроме создания видимости импортозамещения?
Вот этот ноут для военных весит 6 кг
Ну так а не для военных чот есть на Эльбрусе, не чугуниевое?
MiniRoboDancer
0
с перекрашенными либреофисами, мешаниной из DPKG/RPM и прочим трешем?
Давай теперь пруфы по каждому пункту по ОС Эльбрус. Хочешь, я тебе даже ssh к нашей демо-машинке дам, можешь прямо руками пощупать.
Ну так а не для военных чот есть на Эльбрусе, не чугуниевое?
Есть. Эльбрус-101PC, Эльбрус-401РС, Эльбрус-801РС, Эльбрус-101М, Эльбрус-801М. Сервера ещё есть, если интересно. Вообще, ты уже давно мог бы зайти на сайты МЦСТ и ИНЭУМ и посмотреть там всю эту инфу.
makise_homura
+1
дописать «rm -rf /»

Вот напомнил кстати — Фраер так бездумно копипастит все что ему подсовывают… а если кто-то добрый где-нибуть ему патч бармина подсунет))
KerHarrad
+1
format C: уже подсовывали в этом же треде — не сработал…
MiniRoboDancer
0
Ну и не должен был, в линейке НТ винды там защита от дурака на диск С. Я ж не злыдень какой, реально вредный код Фраеру подсовывать, я белый и пушистый whitehat)) А вот нарвется на черношляпника...))
KerHarrad
0
И как мне импортировать файл вне папки проекта?
Ты и про… в путях не знаешь, ага?
Он ведь наверняка смотрит Питоновские импорты
Ты преувеличиваешь разумность гита :3 Он вообще никак не интегрируется с конкретными языками программирования.
MiniRoboDancer
+1
Ну этот метод удобен только если работать одному и с одного компа.

Лучше разделять разработку и продакшен. Разработка на локалхосте-онли, где пароли вообще 123 ставить можно, и не бояться что уйдут в гит. А на продакшен-серваке держать файл с настоящими паролями.
KerHarrad
0
Ну этот метод удобен только если работать одному и с одного компа.
Так Саша пока в одиночку и работает. Ем не всрались эти гиты и кодохостинги.
Разработка на локалхосте-онли
Но ведь сайт хостится там же.
MiniRoboDancer (ред.)
0
Но ведь сайт хостится там же.
Ну кагбэ любой вебсервер умеет это разруливать. Настроить два сайта — ушифратор.рф на внешку и ушифратор.тест для разработки.

А еще лучше — таки по виртуалкам раскидать, тогда с тестовым сервером можно творить любую дичь, не роняя продакшен.
KerHarrad (ред.)
0
Достаточно, чтобы твой собственный гайдлайн совпадал с каким-либо из общепринятых =)
makise_homura
0
Ага, щяз :P
MiniRoboDancer
0
Если не хошь плодить кучу файлов — есть интерактивный
git add -i
Можешь правки в файлах резать на куски и добавлять только нужные. Но ты себе так только головняка добавишь :3
MiniRoboDancer
+1
О, кстати спасибо. Мне это никогда не было нужно (даже если есть идея в одном файле сделать две разные по смыслу правки, я сначала делаю одну, потом коммичу, потом другую и снова коммичу), но может понадобится в будущем, когда я буду разгребать вливы уровня Флаера в мои проекты =)
makise_homura
0
Ты как бы понимаешь, что твой код будут развивать в том числе и те, кому он понравится и кто захочет его поднять у себя? А значит, им нужно знать, как настроить его для себя.
makise_homura
0
Как минимум по названию. И возможно, по иерархии внутри подкаталогов. Есть проекты с сотнями тысяч файлов (то же ядро Linux), и куча разработчиков вполне нормально в них разбираются.

Имя файла типа config, я думаю, вполне говорящее, чтобы ты мог понять, что в нём лежит конфигурация.
makise_homura
0
Кароче, твой совет по изменению файлов не работает. У себя я изменил, но когда выкладываю на гитхаб — постоянно выкладывается старая версия.
Sasha-Flyer
0
На гитхаб выкладывается только то, что закоммичено.
MiniRoboDancer
0
После того, как ты изменил какие-то файлы, не забывай добавлять их в стейдж (add) и коммитить в репозиторий (commit), и только потом синхронизировать ориджин с локальным репозиторием (push).
makise_homura
0
я написал тебе в личку и скинул актуальную версию без лишних файлов. ответь плиз
Sasha-Flyer
0
Щас гляну
makise_homura
0
Аллергия, тащемта, вполне обоснованная. На не приспособленных к мелких файликам ФС эта мелюзга занимает значительно больше места, чем суммарный объём файлов. Блоки-то по 4KB минимум. Мне эти ваши node_modules забили NTFS до невозмоности создания новых файлов, при том, что свободного места ещё куча было.
MiniRoboDancer
0
Мусор от установленных сторонних программ это боль несколько иного рода
andreymal
0
Зависимости — не совсем «программы» :3
MiniRoboDancer
0
И тем не менее их теоретически возможно было бы сжать в один файл. Ну или в два, храня какую-нибудь мета-информацию во втором
andreymal
0
По-хорошему, над сначала поднять альтернативный репозиторий (если ещё не) без доков, примеров и прочего мусора. Нафиг он в зависимостях? Места занимает зачастую больше, чем непосредственно подключаемый в проект код.
MiniRoboDancer
0
Одно дело, когда файлов миллион, а другое — когда два новых.
Не, я встречал такие системы, которые, например, состояние системы каждые 10 секунд сбрасывали в новый файл типа status_20191110184250.txt, и потом в каталоге плодилось за месяч несколько сот тысяч файлов. Это да, дичь. Но два файла с чётким назначением — это не проблема.
makise_homura
0
Не уверен, можно ли в гите добавлять в коммит часть изменений, но лучше так не делать. Куда больше возможность ошибиться.
makise_homura
0
Этот код становится непереносим на любое другое применение (даже на другой аккаунт на том же табуне) без изменения собственно файлов кода. А представь, что было бы, если бы это был компилируемый язык и у пользователей был только бинарник? У них бы не было возможности даже отредактировать этот файл.

Понимаешь, не хранить вариабельную информацию в коде — это правило гигиены сходное с «мыть руки перед едой». Да, его сложно объяснить тем, кто так не привык, да и ты, когда возможности нет, можешь его разок проигнорировать (например, когда ты пишешь прогу однократного использования, которую потом просто удалишь, когда она сделает тебе, что должна была), но если ты его системно не придерживаешься — то твоё качество жизни (а в нашем случае качество кода) будет ниже, а проблемы, которые тебя будут из-за этого настигать, будут регулярны.
makise_homura
0
Ты же их наверное в разных папках держишь внутри этой общей, нет? В противном случае я с трудом представляю, как ты отличаешь, какой файл к какому проекту относится.
makise_homura
0
git status показывает тебе, что добавлено в стейдж и что отправится в репозиторий при коммите. git diff показывает тебе различия между воркинг копией и стейджем (то есть то, что ты будешь добавлять).
makise_homura
0
Если ты его переименуешь, то при следующем коммите, чтобы он вошёл в него, ты должен его добавить в стейдж (командой add). Я думаю, у тебя хватит логики не добавлять в коммит файл с паролями.
makise_homura
0
слишком много дополнительных танцев с бубном
Мешать код с данными — дурная практика, СКВ тут вообще ни при чём.
Где гарантии что файл не зальется если я его добавлю в какой-то там гитигнор?
Дык смотри, что в индекс попало, перед коммитом — git status на что? Если файл в .gitignore — Git даже не даст его добавить в индекс просто так, а переспросит.
А вдруг зальется, и я не замечу, а кто-то заметит и сворует все пароли незаметно?
А если троян или хакеры пароли незаметно упрут? Надо обеспечивать надёжную аутентификацию, двухфакторную хотя бы, а не надеяться на пароли. Если банк не умеет в 2FA и 3DSecure (а мне в Украине попадались такие) — гнать его взашей, пока не научится.
MiniRoboDancer
0
Всё что связано с моей картой и так связано или с симкой, или с мобильным приложением, однако как показывает практика — даже это не дает гарантию. Симку могут тупо восстановить без моего ведома и всё украсть даже не зная моего пароля.
Sasha-Flyer
0
Тем более — чего над паролями тогда так трястись?
MiniRoboDancer
0
Чтобы никто не зашел на мой табунский аккаунт?
Sasha-Flyer
0
Боишься, что враги воспользуются этим и насрут?
MiniRoboDancer
0
Симку могут тупо восстановить без моего ведома
Это очень редкая ситуация и применяется в основном для целенаправленных атак. Я думаю, вряд ли у тебя на счету миллионы, чтобы с тобой так запаривались.
makise_homura
0
Если банк не умеет в 2FA и 3DSecure

Все оплаты через карту идут через смс-сообщение, однако и симку могут восстановить, а в стиме оплата вообще идет сразу с карты, без подтверждения смс-ки.
Sasha-Flyer
0
а в стиме оплата вообще идет сразу с карты, без подтверждения смс-ки.
Это оффлайн-авторизация, которую ты можешь отозвать в течение некоторого времени (в отличие от платежей, авторизованных пин-кодом или одноразовым паролем).
makise_homura
0
Кстати, преимущество банков с живыми людьми перед всякой там криптой в том, что если что-то упрут — есть шанс, что транзакцию признают мошеннической и отменят, ещё и мошенников по горячим следам найти легче. А с криптой — поминай, как звали. В TON эту проблему попытались решить, но он не готов ещё.
MiniRoboDancer
+1
Насчёт банков. Мне, например, зарплату перечисляют на сберовскую карточку. Но я её оттуда же тупо снимаю и перекладываю на карточку МКБ, а потом, через онлайн-банк — большую часть на вклады там же. Соответственно, там есть и 3DS, и двухфакторная аутентификация, и всё такое. Пейвейва пока нет, но у меня просто карточки старые, в феврале, как срок закончится, поменяют — там он уже будет. Расплачиваюсь, соответственно, той же карточкой, имея на ней только ту сумму, которую ожидаю потратить в ближайшее время, по необходимости докидывая туда со вклада (редко бывает такое, что мне, например, надо внезапно заплатить по карточке больше 5к, а доступа к планшету и инету при этом нет).

В итоге: у меня всегда есть возможность заплатить, сколько надо, а стырить у меня бабло без моего ведома — сложно, особенно если речь идёт о сумме большей нескольких тысяч, которые лежат на карточке.
makise_homura
0
Я хочу чтобы всё старьё хранилось ТОЛЬКО в облаке
Кек. Тебе ж сказано — завести на локалхосте, навести порядок, потом уже заливать. Нет — ХАЦЮ В ОБЛАКО. И ещё жалуется теперь :3
MiniRoboDancer
0
Откуда мне было знать что он и пароли зальет?
Sasha-Flyer
0
Оно не заливало твои пароли. Оно залило main.cpp, а вот то, что у тебя в нём были пароли — это уже проблема main.cpp, а не системы.
А теперь представь, если бы ты залил версии тупо архивами. Ты бы, наверное, вряд ли бы посмотрел внутрь, и вряд ли бы увидел, в чём проблема. А деньги бы у тебя уже увели.

Кстати, первая же идея для второго коммита в твоей репе — это вынести логины-пароли-ключи в отдельный файл.
makise_homura
0
first version
Sasha-Flyer
0
Ты в описание-то глянь.
MiniRoboDancer
0
Да, ориджин поменялся — значит, надо его вновь установить апстримом.

Поздравляю! Теперь ты (пусть очень поверхностно) познакомился с гитом.
Теперь постарайся привыкнуть к правильному воркфлоу: как хочешь внести какие-то изменения, касающиеся какой-то темы (только одной!), вносишь их в локальную копию и делаешь git add изменившимся файлам. Как закончил изменения — делаешь git commit и пишешь сообщение коммита, в котором кратко в одну строчку поясняешь смысл изменений. Когда надо всё новое сгрузить из локальной репы в ориджин — делаешь git push. Если вдруг в ориджине появилось что-то новое (например, ты принял pull request или пушнул в ориджин с другого компа) — делаешь git pull. Если хочешь работать там, где пока нет локальной репы (например, на другом компе) — делаешь git clone (не забудь правильно поставить пользователя и email потом). Через некоторое время, когда ты поймёшь, как использовать ветки (например, когда ты делаешь массивные изменения в много коммитов) — ты узнаешь про команды checkout, branch и merge. Когда тебе нужно будет делать срез версии — ты сможешь прочитать про работу с тегами и открыть для себя вкладку releases на гитхабе. Когда другие юзеры будут добавлять к тебе в ушифратор что-то новое — ты увидишь pull-request-ы и сможешь их с себе мерджить в проект. Короче, возможностей миллион, ты сейчас многие из них считаешь не нужными тебе, и это нормально, но потом ты поймёшь, насколько каждая из них удобна.

Как правильно оформлять коммиты — можешь посмотреть в каких-нибудь адекватных репах на гитхабе (да хотя бы у меня, лол — github.com/makise-homura ).
makise_homura
0
Щас бы ребутать комп, на котором работает два сайта и игровой сервер онлайн игры

Виртуалки для слабаков, да
KerHarrad (ред.)
+1
Они ж прожорливые.
MiniRoboDancer
-1
Да ладно… прожорливые они были в 2000-х на полусофтовой эмуляции, а щас с vt-x, vt-d и прочими наворотами — 5-10% потерь в худшем случае.
KerHarrad (ред.)
0
Процентов от чего? Винда-то фиксированные ресурсы жрёт. Этъ тебе не контейнеры.
MiniRoboDancer
0
Разница между скоростью типовой программы запущенной на железе и на виртуалке.
KerHarrad
0
Так оверхед же в первую очередь по оперативке.
MiniRoboDancer
0
Бывает оверхд, да, но не на задачах уровня СаниФраера.

По оверхеду могу сказать, что один из серваков у нас на работе имеет 32Гб, винда сервер-2012, гиперВ. Сейчас на нем крутится 13 разных виртуалок, с виндой и линухом, в том числе резервный контроллер AD на 400+ машин. Проблем нет =).
KerHarrad
0
Зато запускаясь, подвешивают комп на пару секунд, да =)
makise_homura
0
Если на одном винте с хостовой осью, то да)
KerHarrad
0
Вангую, что ты добавил его в PATH после того, как открыл терминал, в котором пытаешься его вызвать. Открой ещё один терминал и попробуй там.
В линуксе то же самое: Export влияет только на вновь открываемые чайлды в этом терминале, но не на уже открытые.
makise_homura
0
Сейчас проблема не в этом, а в том, что он в принципе не хочет на Хитхаб заливать мои файлы.
Sasha-Flyer
0
Эх, был бы у тебя command-line git, можно было бы посмотреть, в чём проблема.
makise_homura
0
я git установил, но не понятно, как он должен работать. во время установки я всегда ставил дефолтные настройки.
Sasha-Flyer
0
Попробуй перейди в каталог, где у тебя лежит проект и сделать git status. Что он скажет?
makise_homura
0
Что значит «перейти в каталог» в данном контексте? Вот есть командная строка, где я могу сделать git status. Как это связано с каталогами — я не могу понять.
Sasha-Flyer
0
Что значит «перейти в каталог»

Саня блядь… команды консоли cd, md, rd тебе чтото говорят вообще?? Если нет — купи себе гуся, и морочь голову ему.
KerHarrad
0
Я лучше подожду ответа на этот вопрос от более адекватного человека. Ты заебал уже выпендриваться.
Sasha-Flyer
0
Простите, несдержался…
KerHarrad
+1
Ты заебал реально. Если ты что-то знаешь, чего не знают другие — это еще не повод выебываться, окей?
Sasha-Flyer
0
Если ты что-то не знаешь, чего знают другие — это еще не повод тупить, и выебываться, окей?

Не знать не стыдно — а вот не знать, и даже не пытатсья узнать, раз за разом творить херню, выклянчивать помощь, и после этого еще начинать быковать на тех кто тебе хотел помочь — это лютый зашквар.
KerHarrad (ред.)
+1
Выебываешься тут только ты. Я лишь пытаюсь получить помощь от людей, а ты только мешаешь своими выебонами про то, какой я тупой и какой ты умный.
Sasha-Flyer
-1
Я лишь пытаюсь получить помощь от людей

Помощь бесполезна — ты не пытаешься понять то что тебе объясняют и помогают.

ты только мешаешь своими выебонами
За что боролся, на то напоролся.
Я вот нихрена не понимаю например в медицине, в поэзии, в бальных танцах… но я и не лезу туда, не сижу на их форумах, и не ебу мозги тамошним юзерам идиотизмом.
KerHarrad
0
Я бы понял, если бы мне показали конкретный пример
Sasha-Flyer
0
Тоесть по каждому вопросу тебе показывать конкретный пример? Тогда проще за тебя все сделать сразу. Не работает это так. Нормальный человек увидев пару-тройку примеров, на этом базисе сам поедет дальше… а тебе уже 100500 примеров показывали, и все как апстену… У тебя ж знаний в компах, как оказывается, меньше чем у 70-летней бабки бухгалтерши в Мухосранском сельпо, если ты не знаешь как текущий каталог менять. Тебе не с гитхаба начинать надо, а с книжки «ПК для чайников».
KerHarrad (ред.)
0
лично ты мне ни одного конкретного примера не показал. только трындишь своим языком какой ты умный и какой я тупой, и ничего по теме не сказал.
Sasha-Flyer
0
Не, это таки безнадежно. Пробую объяснить последний раз, да спать пойду.

Программирование- это реально огромная, широкая отрасль… и важность самообучения ( подчеркиваю — САМО) в нем колоссальна. Твоя же способность к самообучению — меньше нуля. Не выйдет у тебя бесконечно выезжать на километровых темах на форумах, перескакивая от одного заебавшегося об тебя объясняющего, к другому, свеженькому. Не работает это так. Только остатки репутации угробишь. Репутация «человек, ниасиливший написать игру» это еще туда-сюда. но репутация человека которому 3 часа всем табором безысходно объясняли как поставить гит — это зашквар.
KerHarrad (ред.)
0
Если ты не хочешь никому помогать — тогда можешь просто валить отсюда. никто тебя не держит.
Sasha-Flyer
0
И Вас тем же концом по тому же месту (не)уважаемый.

Я сделал все что мог, но я не Трихаггер, с деревьями говорить не обучен, увы.
KerHarrad (ред.)
0
ты заебал выебываться. я уже понял что ты любишь строить из себя дохуя умного и унижать тех, кто не знает того, что знаешь ты. можешь мне лишний раз не напоминать это. Я уже понял, что ты за человек.
Sasha-Flyer
0
KerHarrad
0
Просто свали уже, тролль несчастный. Как таких токсичных как ты только на работу берут… пиздец.
Sasha-Flyer
0
А можно пруфцов, где на табуне я кого-то унизил за незнание чего-то? А то может склероз у меня, а я и не знаю?
KerHarrad (ред.)
0
Да весь этот топик тому подтверждение. Ты не дал НИ ОДНОГО конкретного примера и постоянно унижаешь меня, что я чего-то не знаю. Тебя с таким подходом все избегать должны. Ты просто невыносим и не способен давать конкретных примеров, а можешь только дизморалить других людей и угарать над тем, что они тупее тебя.
Sasha-Flyer
0
За что боролся — на то напоролся х2.

После твоего цЫрка, когда 100 постов из тебя выбивали инфу о траффике твоей игры, и его сравнение с ВоВ — уж извини, я тебя серьезно не воспринимаю вообще.

А так-то я очень вежлив и корректен на табуне, даже в срачах. Желающие опровергнуть пруфами есть?
KerHarrad
0
весь этот топик — пруф. перечитай свои оскорбления, может поймешь. Ты не способен даже объяснить как переходить по каталогам внутри командной строки. какой из тебя бля программист, если ты даже это объяснить не умеешь.
Sasha-Flyer
0
Дык да, программист, а не дрессировщик, и не индейский вождь Говорящий-С-Деревьями))

А с хуманами всегда договорится можно. По крайней мере на совещаниях по развитию проекта на работе шефа как-то убеждаю как правило.
KerHarrad (ред.)
0
умерь своё ЧСВ, придурок. я здесь изучаю азы а не с шефами общаюсь
Sasha-Flyer
0
я здесь изучаю азы

Не-а) Ты занимаешься чистейшим шаманством, повторяя механически непонятные тебе заклинания от других.
умерь своё ЧСВ, придурок
MISSION COMPLETE! Трансгалактический шаттл «Фраер-1» успешно стартовал в туманность Андромеды.
KerHarrad
+1
Тебе нравится меня троллить за то, что я не знаю того, что знаешь ты, правильно? Ты испытываешь кайф, осознавая, что ты умнее других?
Sasha-Flyer
-1
Тебе нравится меня троллить за то, что я не знаю того, что знаешь ты, правильно?

Нет. Я тебе уже 100 раз объяснял за что. Не за незнание, а за лютое нежелание знать. За твое абсолютно тупое «Вот прям вай-вай как хочу прямо тут и щас, а разбираться — для лохов»

Ты испытываешь кайф, осознавая, что ты умнее других?

Я не умнее других, абсолютно. Среднестатистический homo sapiens, не более. И никогда этого не утверждал кстати.
KerHarrad (ред.)
0
если ты не готов помогать — просто свали. Я тебя добавлю в игнор при первой же возможности, ибо ты мразь уже реально заебал меня своей выебучестью. Только и умеешь что хвастаться своим умом и нихрена не помогать по факту.
Sasha-Flyer
0
Тоесть этот камент tabun.everypony.ru/blog/computers/191717.html#comment13092564 ты проигнорил. Что и ожидалось вобщем-то))

умеешь что хвастаться своим умом

Пруф? Где я хоть раз сказал что я ниибаццо умный. Ссылку на каммент конкретный?

ибо ты мразь

И это будущее нашего кодинга… Le Fuu!
KerHarrad (ред.)
+1
Внезапно, не все обязаны менторить нубов — многих нанимают, чтоб они свою работу работали :3
MiniRoboDancer
0
если он этого не хочет делать, ТОГДА ХУЛИ ОН ТУТ ЗАБЫЛ??? Пусть валит из МОЕГО топика
Sasha-Flyer
0
Пусть валит из МОЕГО топика

А когда ты успел выкупить у Рэндома табун, чтоб он твоим стал? Табун он знаешь-ли общественный.
KerHarrad (ред.)
0
Напоминаю, что это топик про Ушифратор, а не про обучение Саши СКВ :3
MiniRoboDancer
0
Дык ушифратор то чей — фраерский. Что жаль — неплохая забавная штука сгинет в дебрях сашиного мракобесия.
KerHarrad (ред.)
0
Да ладно, штука-то простая, её и из векторов с Дивана слепить можно было. Просто ни у кого именно такой идеи не было. А Сашу от слитых вектров вштырило :3

И кстати, именно на ушифраторе Саша отлично показаше самоубачаемость, разобравшись в наворотах APNG/SVG. А сейчас, наверное, от усталости тупит и на людей бросается. И оно понятно — сделать хочется уже сейчас. Но утро вечера мудренее. Да и подбили разбираться с СКВ мы сами ведь — нам и отдуваться.
MiniRoboDancer
+1
Но утро вечера мудренее.
И то верно. Отваливаюсь спать. Завтра продолжим шоу))
KerHarrad
0
Просто ни у кого именно такой идеи не было.
Это как раз фишка коммьюнити: все ленятся что-нибудь сделать (зхоть и легко), а один делает, и становится автором какого-то проекта (а иногда при этом остальные ещё такие «эээ, хрена, мне не нравится, напишу-ка я своё», и появляется здоровая (не всегда, правда) конкуренция =)

Я надеюсь, что он сейчас немножко поймёт, что к чему, поживёт с этими мыслями, осознает суть и начнёт работать с СКВ.
makise_homura
0
Не начнёт, а если и начнёт — то через жопу, как я. Надо бы в какой-то готовый проект втянуть, чтоб на практике, как Саша любит, показать, как люди делають — да ведь неинтересно будет…
MiniRoboDancer (ред.)
+1
Да, это тоже сработало бы, но увы, такого нет =/
makise_homura
0
Я надеюсь

Ну безнадежно же. Ты же видел его логику уже — Саня по своему распиздяйству залил на гитхаб пароли, но виноват не он, а мы все, что посоветовали ему СКВ юзать, и истерика на тему «нах эти долбаные СКВ». И это весь Саня.
KerHarrad
0
Надеюсь, он побомбит, а потом поймёт, что это может быть полезно.
makise_homura
0
Не поймет — понималка не отросла))
KerHarrad
0
Я надеюсь, что отрастёт, вон, кто знал в конце третьего сезона, что у Твайки крылья отрастут? =)
makise_homura
0
Дык у Твайки изначально потенциал было видно, а у Фраера видно только заднюю стенку черепа в глазах))
KerHarrad (ред.)
0
Но если вдруг мне удастся сократить на один количество людей, не умеющих в СКВ — я буду доволен собой =)
makise_homura
0
самообучения
То-то выпускники всяких вайтишных шараг типа ШАГа не знают — их терпеливые преподы на достойной зарплате выдрючивают с нуля на кодомакак. Мышкой в IDE тыкать обучен — к индустрии готов!
MiniRoboDancer
0
Саню, как видишь, даже мышкой в гитхаб тыкать научить сложно)) Это не кодомакака, а кодоамеба — новый левел днища))
KerHarrad (ред.)
0
тебе не заебало выебываться тем, какой ты такой умный весь?
Sasha-Flyer
0
KerHarrad
0
съеби нахуй из моего топика. иди глумись над другими новичками. Меня ты уже откровенно бесишь
Sasha-Flyer
0
Так не мышкой же тыкает, я сразу предлагаху скачать гитхабовский клиент, но Саня сначала пыташе запушить прямо из PyCharm, а потом, не найдя по нему советчиков, скачаше голый Git и начаше творить с ним всякую дичь O\
MiniRoboDancer
0
Командной строке в современных книгах для чайников уже не обучають :C
MiniRoboDancer
0
Я лишь пытаюсь получить помощь от людей
В этом и проблема, ты живёшь в каменном веке, когда ещё не избрели книг. И вместо того, чтобы читать мануалы — воротишь нос и доёбываешь людей, чтобы тебе лично разжевали по буквам то, что и так стопицот раз описано.
MiniRoboDancer
+2
Ну у тебя есть в командной строке текущий каталог, с которым ты работаешь (ты можешь его менять, например, командой cd)
makise_homura
0
Это как-то связано с тем, в какой я папке сейчас нахожусь в проводнике? Или это разные вещи?
Sasha-Flyer
0
Не связано, но аналогично. То есть, как ты в проводнике гуляешь по каталогам — это примерно такой же «текущий каталог» для проводника, как и текущий каталог для командной строки.
makise_homura
0
Нельзя было сразу это объяснить? С самого начала, не выебываясь?
Sasha-Flyer
0
Я не делал то, в чём ты меня сейчас обвиняешь, если что.
То что я не знал, что ты был не знаком с понятием «текущий каталог» (и подбор лучшей аналогии, чтобы тебе это объяснить) — не моя проблема.
Как минимум, ты теперь хотя бы это понял.
makise_homura
0
Я не пойму, Git и Github это одно и тоже или не?
Sasha-Flyer
0
Да. Как Java и JavaScript. Или C и C#.
MiniRoboDancer
0
Можно конкретнее и подробнее? Че надо конкретно делать?
Sasha-Flyer
0
Скрестить жабу с попугаем.
MiniRoboDancer
0
Там чем конкретно они отличаются? Как мне сюда каждую версию программы выкладывать? — github.com/Sasha-Flyer/Ushifrator
Sasha-Flyer
0
Зачем выкладывать? Система контроля версий нужна, внезапно, для контроля версий. Заливать на всякие гейхабы — это уже вторично, когда убедишься, что там всё красиво.
MiniRoboDancer
0
А где мне еще контролировать версии, кроме как в облаке?
Sasha-Flyer
0
Ты сначала разберись с бардаком на локалхосте, а потом напоказ лей :P Откуда целых семьсот файлов? туды скомпилированные ушифры не попали?
MiniRoboDancer
0
Там есть отрендеренные превьюшки для сайта.
Sasha-Flyer
0
Вот что получилось сделать с помощью гита:
22:51 763 files committed: first version

Однако я так и не понял, по какой ссылке доступен этот коммит. и где он вообще
Sasha-Flyer (ред.)
0
Ссылки-шмассылки. Запускаешь git log и смотришь свои коммиты ненаглядные.

Кстати, в гите встроенный web-сервер есть. Но он всратый.
MiniRoboDancer
0
«C:\Program Files\Git\bin\git.exe» log
fatal: your current branch 'master' does not have any commits yet
Sasha-Flyer
0
Ну так сделай, ёпт. Чего там у тебя семь сотен файлов тогда? В индексе тупо?
MiniRoboDancer
0
Что сделать?
Sasha-Flyer
0
Коммит. Первый в твоей никчёмной жизни.
MiniRoboDancer
0
Можно немного пошаговой конкретики? Что открывать, что устанавливать, что вводить?
Sasha-Flyer
0
git status
покажи.
MiniRoboDancer
0
C:\Users\User>"C:\Program Files\Git\bin\git.exe" status
warning: could not open directory 'Application Data/': Permission denied
warning: could not open directory 'Cookies/': Permission denied
warning: could not open directory 'Local Settings/': Permission denied
warning: could not open directory 'NetHood/': Permission denied
warning: could not open directory 'PrintHood/': Permission denied
warning: could not open directory 'Recent/': Permission denied
warning: could not open directory 'SendTo/': Permission denied
warning: could not open directory 'главное меню/': Permission denied
warning: could not open directory 'Мои документы/': Permission denied
warning: could not open directory 'Шаблоны/': Permission denied
On branch master

No commits yet

Changes to be committed:
  (use "git rm --cached <file>..." to unstage)
        new file:   README.md

Changes not staged for commit:
  (use "git add/rm <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        deleted:    README.md

Untracked files:
  (use "git add <file>..." to include in what will be committed)
        .PyCharm2019.2/
        .PyCharmCE2019.1/
        .android/
        .bash_history
        .config/
        .dotnet/
        .fontconfig/
        .gitconfig
        .gradle/
        .idlerc/
        .ssh/
        .thumbnails/
        .virtualenvs/
        .vs/
        3D Objects/
        AppData/
        Contacts/
        Desktop/
        Documents/
        Downloads/
        Favorites/
        Intel/
        IntelGraphicsProfiles/
        Links/
        MicrosoftEdgeBackups/
        Music/
        NTUSER.DAT
        NTUSER.DAT{aaaaaaaaaa}.TxR.0.regtrans-ms
        NTUSER.DAT{aaaaaaaaaa}.TxR.1.regtrans-ms
        NTUSER.DAT{aaaaaaaaaa}.TxR.2.regtrans-ms
        NTUSER.DAT{aaaaaaaaaa}.TxR.blf
        NTUSER.DAT{aaaaaaaaaa}.TM.blf
        NTUSER.DAT{aaaaaaaaaa}.TMContainer00000000000000000001.regtrans-ms
        NTUSER.DAT{aaaaaaaaaa}.TMContainer00000000000000000002.regtrans-ms
        OneDrive - Peter the Great St. Petersburg Polytechnical University/
        Pictures/
        PycharmProjects/
        Saved Games/
        Searches/
        Unity_lic.alf
        Videos/
        ntuser.dat.LOG1
        ntuser.dat.LOG2
        ntuser.ini
        source/
        wflogs/

на месте «aaaaaaaaaa» я затер какие-то ключи, которые подозрительно выглядят.
Sasha-Flyer
0
Пипец, Саша не знает про рабочие директории, а лезет в CLI. Тушим свет, пациент неоперабелен.
MiniRoboDancer
+2
Ты мне попросил показать git status, я показал. Что еще надо?
Sasha-Flyer
0
Надо RTFM, а не копипастить чё попало куда попало. А то сейчас, чего доброго, весь хомяк на гейхаб зальёшь.
MiniRoboDancer
0
Я сейчас вот совершенно ничего не понял, честное слово. Может хватит выпендриваться своими знаниями и попытаешься объяснить человеку, который ниразу этого не делал?
Sasha-Flyer
0
Ты копипастишь команды в CLI, не имея понимания, что оно такое и как оно работает. Почитай про рабочие директории, перейди в директорию нужного проекта и выполняй команды там. А то бида-бида будет.
MiniRoboDancer
0
Можешь конкретно сказать что мне делать? Сами действия? Всё что ты сейчас пишешь — я даже не знаю как это загуглить правильно, чтобы понять что мне делать.
Sasha-Flyer
0
Саня, ты щас вырезаешь гланды автогеном через жопу… причем не умея юзать автоген, и поэтому под телефонным руководством пьяного слесаря))
KerHarrad
0
MiniRoboDancer
0
Ну и зачем ты мне скинул ссылку на статью, где я не понимаю ни одного слова? Можешь сам лично сказать что мне конкретно пошагово делать, или ты сам не знаешь?
Sasha-Flyer
0
Зарываться начинаешь. Если ты чего-то не можешь понять, это не значит что все этого не знают.

Может еще ваще к тебе удаленно подрубиться, и все за тебя сделать?
KerHarrad (ред.)
0
Ну так зачем он выпендривается своими заоблачными знаниями, стебясь надо мной? Да, я не знаю чего знает он, и поэтому мне нужна конкретная помощь чтобы сделать конкретные вещи. Я так многого прям прошу?
Sasha-Flyer
0
Я так многого прям прошу?

Ты занимаешься суходрочкой. Все что тебе рассказывают, объясняют, помогают — тебе все в одно ухо влетает, из другого вылетает. КПД процесса чуть менее чем нуль.
KerHarrad (ред.)
0
Я могу освоить примеры только на конкретной практике.
Sasha-Flyer
0
Найди на ютубе видеоурок из серии «гитхаб для дебилов» тогда.
KerHarrad
0
Я не выпендриваюсь, а пинаю тебя в нужном направлении.
MiniRoboDancer
0
Ты попросил показать git status, я показал, после чего ты начал выпендриваться что я его куда-то не туда ввожу. Ну так скажи куда конкретно его вводить, ну!
Sasha-Flyer
0
Если я скажу что и куда тебе лично вводить, табун роскомнадзор забанит)
KerHarrad
0
В директории твоего проекта, в которую ты не хочешь переходить, потому что не хочешь читать читать непонятную справку по CMD — ну и что с тобой делать тогда?
MiniRoboDancer
0
Ну так как в нее перейти?
Sasha-Flyer
0
Ногами
KerHarrad
0
где я не понимаю ни одного слова?
Как ты погроммируешь-то без инглиша?
или ты сам не знаешь?
Действительно — откуда я знаю, где у тебя чего лежит и какой проект ты хошь первым залить?
MiniRoboDancer
0
Ты запускаешь его из каталога C:\Users\User, а не того, где у тебя лежит проект.
makise_homura
0
Открой «пуск», набери «cmd», в нем format C: и забудь про кодинг.
KerHarrad
0
Думаешь, взлетит? Саша даже форматирование умудрится сломать.
MiniRoboDancer
0
всё так и есть. Permission denied
Sasha-Flyer
0
А ты с Live-диска
KerHarrad
0
Почеши анус пальцами правой ногой.
MiniRoboDancer
0
Прошу, хватит надо мной издеваться. Вы сами просили сделать контроль версий. Я попробовал сделать, следуя гайдам в интернете — нихрена не получилось.
Sasha-Flyer
0
Попробуй SVN поставить, он попроще чем гит)
KerHarrad
0
Я просто хочу залить свой проект на Хитхаб… разве это так сложно?
Sasha-Flyer
0
У гитхаба есть превосходнй клиент для винды, зачем ты трахаешьсо-то?
MiniRoboDancer
0
й клиент для винды,

Fetch Failed
git@github.com: Permission denied (publickey).
Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.
Sasha-Flyer (ред.)
0
Не смейтесь надо мной! Хватит смеяться надо мной! Не входите в мой сарай! НЕ ВХОДИТЕ В МОЙ САРАЙ!
MiniRoboDancer
+2
Че надо конкретно делать?

Сделай бочку.
KerHarrad
0
Ничего не понимаю.
Sasha-Flyer
0
Это не новость
KerHarrad
0
Github — это сайт для хранения многочисленных репозиториев формата git (и управления ими). Чаще всего на нём хранятся ориджины репозиториев проектов, с которыми работают их авторы и другие люди.
makise_homura
0
Я сделал 22:51 763 files committed: first version для всего проекта, введя свой логин и паорль от гитхаба, вроде никаких ошибок нет, но тут все равно пусто github.com/Sasha-Flyer, что я делаю не так?..
Sasha-Flyer
0
Пушнуто-то?
MiniRoboDancer
0
???
Sasha-Flyer
0
Видимо, ты сделал коммит в свой локальный репозиторий, но пока ещё не сделал push из локального репозитория в ориджин на github.
makise_homura
0
Successfully created project 'Ushifrator' on GitHub, but initial push failed: Warning: Permanently added 'github.com,140.82.118.4' (RSA) to the list of known hosts. git@github.com: Permission denied (publickey). Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.

github.com/Sasha-Flyer/Ushifrator репозиторий создался, но ни одного кода не добавилось. втф?
Sasha-Flyer
0
Теперь я не могу точно так же закоммитить код — пишет репозиторий уже сущесвутет. Мне его удалить или что вообще делать?
Sasha-Flyer
0
Покажи
git remote -v
MiniRoboDancer (ред.)
0
«git-remote» не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Sasha-Flyer
0
Фига ты быстреё, я ж команду почти сразу поправиху :3
MiniRoboDancer
0
C:\Users\User>«C:\Program Files\Git\bin\git.exe» remote -v
origin github.com/Sasha-Flyer/teleboorubot.git (fetch)
origin github.com/Sasha-Flyer/teleboorubot.git (push)
Sasha-Flyer
0
Тут всё чинненько.
MiniRoboDancer
0
Ну и что сделать, чтобы закоммитить свой проект? Вы сами советовали мне это сделать.
Sasha-Flyer
0
Sasha-Flyer
0
Ну если это одноразовая дребедень — то это понятно. Но если это живёт больше месяца и правки всё появляются — там уже впору задуматься о версионировании.
makise_homura
0
Версионирование может и помойкой из .bak100500 быть :P
MiniRoboDancer
0
Я надеюсь, что те, кто делают такое версионирование — получат свою кару как можно скорее =) Сорри, но это личное прост =)
makise_homura (ред.)
0
(выпячивает грудь)

Стреляй! :D
MiniRoboDancer
0
Как только ты устроишь такое на проекте, к которому я буду причастен, стрельну, не пожалею =)
makise_homura
0
А применимо ли к жрычёдальному пет-проекту понятие прода вообще? :3
MiniRoboDancer
0
Для онлайновых — однозначно да. Хотя бы из соображений безопасности.
KerHarrad
+1
Подумаешь, похитят у Саши коллекцию лошадок с письками, беда какая.
MiniRoboDancer
0
Ну если бы эти лошадки находились внутри C:\Users\User\PycharmProjects\site\static то да, могли бы похитить. но я их даже не сохраняю — всё и так хранится в открытую, в моем списке избранного на Буре.
Sasha-Flyer (ред.)
0
Бура в один прекрасный день сдохнет, $25 в день — это не хухры-мухры. Или просто окажется по ту сторону Железного Занавеса.
MiniRoboDancer
0
Если она сдохнет или будет риск железного занавеса — я заранее скачаю всё своё избранное на жесткий диск. Пока такого риска нет — всё храню прямо там. Это очень удобно в плане тегов. Локально у меня это будет просто храниться в папочках, а там можно фильтровать по любым комбинациям тегов.
Sasha-Flyer (ред.)
0
заранее
Не успеешь.
Пока такого риска нет
Он всегда есть.
а там можно фильтровать по любым комбинациям тегов
Про метаданные поверх ФС ты тоже ни слухом, ни духом, ага? :3
MiniRoboDancer
+1
То есть есть программа, которая одним одним кликом скачает всё мое избранное, при этом распарсив все теги, превратив в метаданные для каждого изображения?
Sasha-Flyer (ред.)
0
Конкретно для Дерпибуры, может, и нету. Значит, напишешь :P
MiniRoboDancer
0
В винде нельзя делать поиск, комбинируя логические операции. То есть придется полноценную прогу писать, имитирующую локально Дерпибуру.
Sasha-Flyer
0
Что значит «в винде»? Поиск по файлам в задачи ОС не входит, это и так задача прикладного уровня.
MiniRoboDancer (ред.)
0
Ну вот и придется писать кастомный обозреватель пони-картинок, в котором можно делать полноценный поиск по тегам.
Sasha-Flyer
0
И засунут троянчега на страничку с лошадками, чтоб все заходящие зашкваривались)
KerHarrad
0
А-а-а, трояны в картиночках, баюсбаюс. (Впрочем, в WMF и MNG таки можно, но они тут ни при чём).
MiniRoboDancer
0
Зачем в картинках? в ХТМЛ жабаскриптик засунуть… Да и картинки тоже — не троян, но позабавится можно. PNG-BOMB слышал?))
KerHarrad
0
жабаскриптик засунуть
И шо он натворит? В современных браузерах уже даже приколы типа merzkiy.ru/google10.php не работают.
PNG-BOMB
Бывает и хуже.
MiniRoboDancer
0
И шо он натворит

CVE-2019-11707 например))
KerHarrad
0
Ну так этъ эксплоит, эксплоит хоть в реализации HTTP оказаться может.
MiniRoboDancer
0
Понятно что в чем угодно эксплоит может быть, но если мы можем защититься хотя бы от тех, что в хтмл/жс сидят, путем соблюдения банальной гигиены разработки, значит таки надо ее соблюдать, даже на трэшпетпроэктах.
KerHarrad (ред.)
0
Но пользователям же от этого не легче, они не могут при посещении рандомного сайта знать, заботятся ли его содержатели о безопасности или нет, да и забота не страхует от взлома, в том числе незаметного. Поэтому, кстати, многие за пределы соцсетей предпочитают не высовываться: там страшно, вирусы.
MiniRoboDancer
0
Ну вопрос в степени риска — чем больше владельцев сайтов о ней заботится, тем безопаснее в целом.
KerHarrad
0
У нас вот, например, в одном месте корень git-репы движка — стейджинг и одновременно тестинг (последний коммит — стейджинг, воркинг копи — тестинг), а в продакшен стейджинг отправляется пуллом из репы.
makise_homura
0
© 2010–2019 Keenetic, Ltd.
Интересно, имеет ли это отношение к S01E15?
MiniRoboDancer
0
Откуда ты это взял?
Sasha-Flyer
0
Что? С сайта ихнего.
MiniRoboDancer
0
Ну, мой вайфай марки Кинетик, да. Что в этом такого? Плохая марка?
Sasha-Flyer
0
Плохая марка
Пиздеееец, у тебя ещё и бренды головного мозга. Зумерок 12 из 10.
MiniRoboDancer
0
Как же теперь проще стало жить
Спойлер
Sasha-Flyer
0
MiniRoboDancer
0

Ну вот есть еще желающие помогать этому альтернативно-одаренному после такого?)))
KerHarrad
0
Я ЧСВшный умник
MiniRoboDancer
0
Вот почему я даже не пытался подсадить Флаера на гит
andreymal
+2
Чтобы я еще хоть раз прикасался к этому гиту? Ни за что! От всего этого один вред и никакой пользы.
Sasha-Flyer
0
Чтобы я еще хоть раз прикасался к этому гиту? Ни за что! От всего этого один вред и никакой пользы.

Ну вот есть еще желающие помогать этому альтернативно-одаренному после такого?)) х2
KerHarrad
0
Ну, не хочешь становиться умным человеком — как хочешь
andreymal
+2
Каким именно образом умение пользоваться системой контроля версией характеризуется абсолютным умом человека?
Sasha-Flyer
0
Мда
Maxwell
0
demogog
0
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.