Анимированный ушифратор V2.0: В десятки и сотни раз меньше размер файлов, снятие ограничения на длину шифра
+246
(Раньше бы шифр с такой длиной весил порядка 100МБ) А еще теперь можно просто навести мышку...
678 комментариев
x(
То-то я увеличиваю свгшку эту, надеясь увидеть плавный вектор, а вижу пиксели. Потому что пиксели и есть, там битмап )
Ты изобрел mod-музыку )
Это что?
Давным-давно компьютерная музыка была в MIDI. Но формат MIDI хранил только команды для синтезатора, который будет ее играть, а не сами звуки. Из чего следовала пара выводов: без синтезатора пользователь ничего не услышит, на разных синтезаторах играть будет по-разному. И тут кому-то в голову пришла гениальная мысль запихнуть в файл не только команды, но и звуковые семплы. Файл таким образом, конечно, увеличивался, но зато игрался без необходимости хранить на машине пользователя семплы какого-либо синтезатора и звучал везде одинаково — потому что принес звуки с собой. Кроме того, теперь авторы могли выходить за пределы возможностей синтезаторов, семплом мог быть хоть лай собаки, больше не нужно рассчитывать на то, что у пользователя на машине он будет.
В общем, mod — это промежуточное звено между midi (чистыми командами) и pcm (чистой записью волны). Ну pcm-то и так был на момент описываемых событий, просто он был несжатым, а пишущих сидюков еще не было, чтобы в кустарных условиях писать большие оптические диски, куда бы он влазил. Вот игроделы и извращались с mod. Может были и другие причины… В общем, mod-музыка в играх 90-х, но до появления 95-й винды поиграть успела. А потом пришел mp3 и вытеснил всё на свете, теперь настоящее аудио занимает в 10 раз меньше места, больше не нужны никакие синтезаторы…
у меня в винде максимум ганшоты )
Ну, были же аудиодиски с pcm с 80-го? Можно было записать на компакт-диск игру в 5 мб, а остальное место диска заполнить аудиодорожками. Вроде у дюны-2 так было в cd-релизе. Или у дюны-1? У дюны-1 даже видео туда умудрились засунуть. Так что, скажем так в ААА-проектах того времени мог быть чистый звук с диска. (Хотя-бы теоретически, я подробно не гуглил сейчас.)
Булькает, но зато это больше не миди, теперь можно запилить полноценную музыку и озвучку всех персонажей.
Кстати, на Нокиях и, возможно, ещё где-то, поддерживается XMF — MIDI с сэмплами, то есть почти трекерщина, по сути. Жаль, оно не взлетело особо.
Мм… значит в тех cd-изданиях был просто отдельный диск с музыкой. Ну, игра устанавливалась на жесткий диск и левелы грузились с него. А музыку играем с cd. Например.
В миди голос не записать. А люди любят говорить и петь )
Да, слыхал у того парня.
Мой 286ой вполне мог ругаться матом, играть ламбаду и битлов вообще без звуковухи
(Ага, а теперь представьте несжатый wav длиной в 30 минут и сколько дискет на него нужно… =)
Моя анимация работает по такому же принципу.
(Разумеется, это не что-то плохое, а совсем наоборот.)
выпадающее меню для выбора пони, чтобы не грузить всех сразу? избранное в куки?
оффлайн версия?
Надо это как то интегрировать со смайлопаком. Возможно, ещё одним userJS для tamper monkey.
Для примера:
Сижу с хрома. Сайт ушифратора открыт в отдельном окне.
Ожидаемое поведение тултипа — он показывается до тех пор, пока я мышку не увожу с объекта.
Скажем так, я не видел ни одного интерфейса, где бы время показа тултипа было не бесконечно, да ещё и я не могу представить, зачем такое надо.
Не знаю насчёт времени, но цвет точно задаётся централизованно (хотя, возможно, прога/тулкит могут его игнорировать, если нет централизованнного API рисования тултипов).
CPU: Ryzen 3 2200G
GPU: Vega 56
И у мя токо прокрутка колёсиком вверх-вниз немного лагает.)
Обычно гладкая. Конкретно в этом треде подлагивает.
У меня схожая конфигурация, но всё гладко и быстро.
Больше аппаратного ускорения богу аппаратного ускорения!
Екхем.
Был выключен. Как включил, подлагивания пропали. Спасибо.)
Какой стул лучше?
+ЦП
-Трафик
-ОЗУ
ASVG:
-ЦП
+Трафик
+ОЗУ
Вообще, мой мобильник офигевает от APNG, но норм работает с ASVG, так что склоняюсь к последнему.
Ибо в худшем случае (aka гигантский смайлотред)…
ASVG грузит ЦП в видимой области.
APNG загрузит все смайлы на тонну трафика.
По такому принципу работают движки браузеров — по-возможности, то что не нужно не рисовать.
Да и не только они — логично не отображать то чего не увидишь.
И я на практике посмотрел что мой ЦП грузится меньше когда на экране видно меньше asvg.
В текущем виде асвг сильно грузят процессор
ПРИЧИНА:
очень частая смена кадров
РЕШЕНИЕ:
Совместить в себе технологию apng и asvg. Таким образом размер файлов не изменится, а нагрузка на процессор снизится в 20-30 раз.
До меня кто-то комбинировал apng + asvg?
Но анимированные элементы на управляемой подложке в играх везде)
Имеются в виду 2д, даже старый файтинг ис маджик работает по таким же принципам, многослойные элменты, ничто туда не мешает добавлять гиф или апнг
Во флеше тоже писал прелоадеры совмещая гиф, секвенции и скрипты, увы, это старо как мир, но, если работает-чоб нет)
А ещё наверняка найдётся реализация SVG, которая не умеет в дискретные перемещения и текущие ушифры будут летать туды-сюды, как бешенные. Ждём-с :3
Чем? CDN с ним на одном сервере хостится, что ли?
Здесь 400 svg картинок, которые двигаются 24 раза в секунду
здесь 400 svg, которые двигаются раз в секунду.
по-идее вторая версия должна жрать в 24 раза меньше процессора, но я чет не могу убедиться в этом…
На планшете 2014 года выпуска примерно тоже.
Эта же скачет 20-40%.
Комп десятого года с двухъядерным пентиумом.
Тут очень странная ситуация — у людей на линуксе эта версия почти не отличается от тех что выше. а на винде разница 2-3 раза. Не могу пока понять в чем прикол.
Какие ссылки актуальны?
ушифратор.рф/пруф2 — тоже самое что и «пруф», но в 10 раз больше фреймов. однако ЦП должен быть загружен ровно так же, как и первый пруф
ушифратор.рф/пруф3 — неоптимизированный текущий вариант, должен жрать проц больше всего
ушифратор.рф/пруф4 — тут я вынес всю анимацию в CSS. По-идее должно работать быстрее чем пруф1-2, однако лично я разницы не вижу.
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%
GPU 1%
Везде анимации полагивают. Этот же телефон офигивает от APNG ушифратора, страницы подлагивают. Хотя обычные страницы рисуются быстрее Chrom`a
Chrome androidПруф и Пруф 2CPU 65-100%
GPU 7-11% ПлавноПруф 3CPU 100%
GPU 10%Пруф 4CPU 84-100%
GPU11%
плавно, но в отличие от Пруф и Пруф2 чаще всего нагрузка 100%
Склоняюсь к варианту Пруф или Пруф 2
Кстати, у меня валяется Samsung s3, могу попробовать запустить его.
Он так разряжен, что не включается, придется подождать немного.
Chrome
Пруф & Пруф 2 CPU 33-44%
Пруф 3 46%
Пруф 4 15-38%
Экран меньше, мало дэшек помещается, поэтому норм работает. Уместить больше не получится. На телефоне, к слову, помещаются все.
Первый 34-47 — Выглядит как-то дёргано в сравнении с четвёртым.
Второй 34-50
Третий 50-60
Четвёртый 20-30
Пруфф 1 это и есть третий вариант. Ладно.
А еще у поней в фф башню сносит. Твай аж офигела от такого роготрясения.
Спойлер
Сразу выдаст такие псто — заказ на понячий аналог языка жестов
Ушифратор 2017
Если потыкаться и окунуться в историю, можно много всяких интересных фиговин найти. Типа алфавита из той самой книги из первых кадров сериала.
Большая часть сообщений не влазит в менюшку по долгому нажатию.
Сейчас
После возможной оптимизации
Если во втором варианте прцессору легче, значит постараюсь эту оптимизацию залить на сервер на этой неделе.
После оптимизации — 9%
Можешь сам всё проверить — написать разные тексты, одинаковые тексты.
Не ну а че? В играх тоже самое происходит, где есть динамичная подгрузка текстур.
На да увы не работают ни свг ни апнг
Что за ОС и браузер?
И APNG статикой отображается. Что за зрада, Фраер? Ану делой переносимый GIF, чтобы в браузере самой правильной компании работало :P
Когда-то я так считал, да) Но теперь у меня i7 7700 + rtx 2080 super, так что мне на свои айпады ваще плевать. Ну и на последних версиях Safari всё работает, кроме WebP.
Открою маленькую тайну: на одной машине можно иметь сколько угодно виртуальных хостов. Прыличные люди имеют как минимум три: 1) продакшн, который отдаётся на истерзание юзерам; 2) стейджинг, на котором условия максимально приближены к продакшну (для предзаливного теста); 3) тестовый, на котором можно творить треш и угар, пока Аллах не видит.
Против них ничего, сам балуюсь. Я про разработку и редактирование на проде.
То есть ты предлагаешь полностью скопипастить текущий код бекенда, и тупо его запустить в отдельной программе для локального порта?
Саня, почитай уже хоть немного про веб-разработку, а? Иначе и эту неплохую идею ушифратора зафейлишь и скатишь в трэш и лулзы.
Ну даже хз… чтоб слова «контроль версий», «разработка», «прод» и как их разделить, стали не пустыми звуками… тут да — скорей не про веб надо читать, а что-то совсем базовое…
пегасьи лепёшкии абсолютно неподдерживаемый (потому что нет ни возможности посмотреть чейнджлог, ни возможности написать ревью на конкретный участок кода, ни тем более, предложить пулл-реквест, если очень нужно)?Не спорю, для этого надо немного поменять свой образ мыслей насчёт разработки, но после того, как ты поймёшь, как надо с этим работать, всё станет на порядок легче. Просто надо себя заставить и потренироваться на каком-нибудь более-менее простом проекте. Да, поначалу ты будешь откровенно не понимать, зачем тебе каждую правку комментировать, чем адд отличается от коммита, а коммит — от пуша, зачем нужна иерархия апстрим-ориджин-локалрепа-воркинг копи, зачем нужны ветки и пулл-реквесты, как осуществляется волшебство мёрджа и как резолвить конфликты, и т.п., но потом, когда разберёшься, осознаешь, насколько это мощный инструмент и насколько проще при этом, например, коллективная разработка (а в более-менее крупном проекте ты к ней в любом случае придёшь).
Из всех современных систем контроля версий рекомендую ориентироваться на git, в особенности с привязкой к веб-фронтендам ориджина и выше — сейчас большинство людей используют её, а в качестве фронтенда — github, gitlab и т.п.
На хабре есть некоторое количество статей, которые в этом тебе помогут.
Причем я уже залогинился в гитхаб и ключ введен.
Тебе нужно создать (инициализировать) у себя, создать на гитхабе (через вебу), а потом пушнуть свой на гитхаб, прописав ему ориджин, если я правильно помню.
на этот вопрос я могу легко ответить — да, репозиторий создан: github.com/Sasha-Flyer/Ushifrator
Дальнейшие твои слова я, к сожалению, не понял совсем.
1) либо склонировать текущее состояние ориджина как локальную репу:
Это создаст у тебя на компе локальную репу, уже связанную с репой на гитхабе с тем же состоянием (то есть пока пустую);
2) либо создать у себя локальную репу и, связав её с ориджином, запушить её в ориджин:
Тепрь про «заливку на гитхаб». Это тоже не совсем «заливка», потому что ты просто синхронизируешь состояние условного гитхаба (ориджин) со своим локальным репозиторием (командой push), либо наоборот, локального с ориджином (командой pull/fetch). При pull-е ещё не значит, что ты скачал конкретные версии; ты скачал всё, что изменилось там по сравнению с тем, что у тебя (например, если над проектом работает несколько людей, то именно ориджином они объединяются).
Короче, я тебе могу эту систему объяснить, если хочешь, но писать долго, если у тебя есть дискорд, то ты можешь войсом со мной связаться, постараюсь тебе объяснить, как это всё работает.
0) удобное хранение информации о том, что именно изменилось
1) разработка с какого-то этапа, не точно соответствующего какой-то версии
2) возможность втаскивания не всех изменений, а каких-то конкретных
3) возможность нескольким людям работать над одной программой (один делает одну функциональность, другой — другую)
4) возможность поддерживать несколько веток продукта — например, для разных схем использования
И т. п.
А перейти к любой из версий в локальном репозитории можно легко — командой checkout.
Нет, конечно, ты можешь хранить историю до глубины 1 (я так делаю, когда временно выкачиваю репозитории, просто, чтобы собрать код, получить бинарник, а потом удалить исходники), но так не очень удобно работать.
Если вопрос в месте — то тут надо решать проблему как раз с местом, а не с управлением версиями. Ты просто сейчас предлагаешь решение («не хранить коммиты, кроме последнего») некой неизвестной проблемы, и я хочу выяснить эту проблему.
Дело в том, что программы именно так и развиваются — старая версия изменяется, а не переписывается с чистого листа. И именно для таких изменений git идеален.Построчное сравнение текстовых файлов.Это первый коммит репозитория, и если репозиторий вообще работоспособный, она оттуда никуда не денется. Удалить из репозитория то, что там уже есть — в общем случае невозможно, это всё равно, что стереть прошлое. Даже откат коммита — это, по сути, антикоммит, который накладывается на откатываемый и возвращает всё к прежнему состоянию.
командой, исполняемой программой или пакетным файлом, при этом в path я его добавил и в проект — тоже.
Алсо, коммит — это пересылка между стейджем и локальным репозиторием. На гитхаб (то есть, посылать состояние из локального репозитория в ориджин) ты будешь пушить.
Потому что это через него и делается? Только вот одна и таже ошибка не дает это сделать:
Спойлер
Мне это прямо в открытом cmd прописывать, так?
Тебе нужно перйти в тот каталог, где лежит проект, и после этого инициализировать там репозиторий командой git init.
Reinitialized existing Git repository in C:/Users/User/PycharmProjects/site/.git/
— так?
А, значит, у тебя репозиторий уже был инициализирован. Но ладно.
Теперь попробуй связать его с ориджином на гитхабе:
fatal: remote origin already exists.
Может, ты и коммит сделал? Посмотри, что у тебя выдаёт git 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>
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>
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>
Действительно, установи ориджин своим апстримом командой git push --set-upstream origin master.
Здесь master — имя той удалённой ветки, в которую ты будешь заливать текущую локальную ветку; пока ещё ты не начал разбираться с ветками, и у тебя локальная активная ветка называется master (помнишь «On branch master» в выводе git status?), и удалённая будет так же называться. Это название «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.
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
Локальные — это для конкретно этого репозитория, глобальные — которые для всех репозиториев, с которыми ты работаешь из-под своего пользователя, если нет локальных, системные — с которыми работают все пользователи, если нет локальных и глобальных.
Посмотри, правильно ли у тебя прописан origin (потому что «git@github.com» выглядит странно):
git 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>
git config 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>
git@github.com:/Sasha-Flyer/Ushifrator.git
C:\Users\User\PycharmProjects\site>
Сделай лучше на https://, тогда логин-пароль спрашивать будет. Команда должна быть на странице репозитория на Гитхабе, пока он пустой. Если будет ругаться, что origin уже есть — этот удали (git remote remove origin).
Здесь важно понимать, что пользователь в конфиге гита — это тот, под которым ты делаешь коммиты; пользователь в URL ориджина — тот, с которым ты логинишься на гитхаб. В общем случае они не обязаны быть одинаковыми, но пока это тоже не очень важно.
Короче, что я предлагаю:
Либо изменить имя пользователя в том, что есть (не знаю, сработает или нет — не проверял протокол git://):
Либо задать origin через https:
Можешь задавать без имени пользователя, тогда при каждом пуше тебя будут спрашивать не только пароль, но и имя пользователя.
Ну, если задолбает вводить пароль, ты, конечно, его можешь встроить прямо в URL
Но ты сам понимаешь, что если кто утащит config твоего репозитория — то получит доступ к твоему github-овскому аккаунту. Поэтому лучше использовать авторизацию по ключу (как это — почитай мануалы самого гитхаба, там это относительно просто расписано).
но ничего не произошло. оно просто молча выполнилось и никакого сообщения не дало.
Если всё ок — делай git push.
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'.
Для удобства можешь поставить себе gui-клиент, чтобы не ковыряться с командной строкой, например, TortoiseGit или какой-нибудь другой. Главное — терминологию ты теперь начинаешь потихоньку узнавать и будешь понимать, что gui-клиент от тебя хочет.
Ты дебил :3
С выкладыванием на рандомный ресурс было бы то же самаое — вебархив не дремлет.
Алсо, никто не мешает тебе вести разработку чисто в локальной репе, не пуша её никуда (но всегда иметь возможность сделать ориджин для неё и запушить всё туда).
Чтобы я еще хоть один раз связывался хоть с одной системой контроля версий? Просто нахуй! Менять все пароли на всех сайтах после этих пушей — такая себе идея.
А с выкладыванием паролей — ну, поэтому и в коммит файлы включаются не автоматически (если мы не делаем тупо git commit -a), и поэтому и есть файлик .gitignore.
Ну, поменял пароли, проблема-то в чём? Продолжай работать дальше, и просто смотри за тем, что коммитишь.
Вот, посмотри, например, как сделано в "Курисабе": самому движку нужен файл config.php, но его в гите нет, зато есть шаблон _templates/config.php.template, и слова об этом в README.md.
мне ничего не показывалось.
Вот например, если бы ты всё-таки не сдавал назад после выкладывания своего ушифратора на гитхаб, я бы, может, развернул бы его у себя и посмотрел, как его можно было бы улучшить, покидал бы тебе пулл-реквестов с этими улучшениями, и все были бы довольны. В этом и прелесть коллективной разработки, что те, кому что-то надо, сами делают всё за тебя, тебе нужно только отревьюить код и смерджить его с твоим. И обратное: если я вижу, что в чьём-то проекте мне чего-то недостаёт — я просто форкаю его себе, делаю нужные правки и пишу пулл-реквест в апстрим, и так мой код там появляется. Taisei Project, meson, screenfetch — во всех этих часто широко известных проектах есть мой код. Но твой код пока к этому неспособен, и это печалит.
Это игруха по типу тохи, только опенсорсная. github.com/taisei-project/taisei/
А вообще — флешка на 64 гига на том же али стоит жалкие сотни рублей с доставкой, ну блин, ну 2019 же, цена за мегабайт упала ниже некуда, всегда можно иметь аварийную флешку и скидывать туда временно что-то, из-за чего что-то другое не вмещается, если уж кризис свободного места. Хоть, по хорошему, если возникают такие проблемы, нужно задуматься о покупке нового диска — там стоимость за гиг ещё ниже, просто это разовая трата. Но современный диск стоит не дороже, чем например я на еду трачу за пару-тройку недель (и куда дешевле, нежели я плачу за квартиру).
Вопрос исключительно оценки рисков. И потому, что вероятность наворачивания флешки (возможно) чуть выше, я и говорю о временном скидывании, а не постоянном.
Так, пойду делать бэкап. Лол.
Для любого адекватного человека несколько сотен рублей разово за что-то принципиально полезное — это не то, насчёт чего стоит переживать.Ленты не знаю — к счастью, дела с ними не имел (хотя тот же Арвид доводилось видеть). А вот оптические диски (CD-R) — те по моему опыту практически гарантированно перестают читаться в плане файлов с внешней стороны диска через 3-5 лет (а через десяток-другой лет портится и оглавление — сейчас большинство тех дисков, что я записывал в школьные годы, уже нечитаемые), в то время, как на HDD инфа может лежать десятилетиями без каких-либо проблем.
Из обоснованных практически неуязвимых стратегий для бэкапа предлагаю делать раз в несколько месяцев полный инкрементальный бэкап на другой диск (вот как раз сейчас у себя делаю, лол, правда, вместо обычных десятков гигов у меня тут 500 с лишним — хасбровский слив же) и хранить его (если важна защита от стихийных бедствий типа пожаров, наводнений, квартирных воров) в другом помещении (я не храню — у меня этот бэкап просто на NAS под креслом), и раз в несколько лет вычитывать как бэкапный, так и рабочий диск целиком, проверяя его на CRC-ошибки (если появились — то восстанавливать файлы с копии и как можно быстрее заменять диск).
Ну, то есть интересна именно статистика по ним; обычные диски — там алюминий и поликарбонат, там портиться нечему, если не царапать поверхность. Обычные диски из тех времён и у меня читались не так давно (искал на одном из дисков дрова к старому блютусу).
Сейчас весь проект выглядит вот так:
в папке new находятся исходники, на основе которых рендерятся ушифры. в папке statis находятся превьюшки и те файлы, которые я вручную заливаю на свой сервер, в templates находятся html-исходники, в main.py — основной Фласк-код, messeges — логи, shifer — код, где происходник ушифрование сообщений. Назначение первых трех папок я не знаю.
Кстати, если messeges.json — это логи, его тоже стоит добавить в .gitignore.
Первые три папки — рабочие и к проекту не относятся, их тоже стоит добавить в .gitignore (кроме первой, которая хранит метаинформацию git-репозитория и не добавляется и так).
Собственно, то, что тебе нужно сделать — это добавить в корень проекта соответствующие файлы .gitignore, config.py и config.py.example (ну или не .py, а .json или любого другого формата, который у тебя может прочитать main.py), добавить в стейдж первый и третий и закоммитить.
Во-вторых, ты уже и так налажал по полной, удали уже папку .git и создай репозиторий с нуля
Эта папка кстати сама куда-то пропала. я её не трогал, и сейчас её нет нигде.
И, кстати, убедись, что у тебя после всех экспериментов и в вышестоящих директориях поддиректории .git нету, особенно в C:\Users\User
Но вообще, в крайнем случае таки можно, для этого rebase есть. Либо просто удали директорию .git и начни всё заново.
Ты и новые раз 10 еще зальешь))
Если при этом ты не видишь там своих последних изменений — возможно, они у тебя в воркинг копии (ты не сделал add), или в стейдже (ты сделал add, но не сделал commit).
Я пытаюсь придерживаться таких же наименований поней, как они именуются в исходниках от Хасбро, чтобы потом быстро отредактировать что-то у определенного поня при необходимости. а вот почему так Хасбро обозвали свои исходники — это ты уже у них спрашивай.
Кстати, палю надёжный метод. Держи пароли вне папки проекта. Так ты его в Git не добавишь никак. И можно использовать один файл в разных проектах.
Ну а open('../config.json') написать вообще не проблема
А если я хочу не джейсон создать, а питоноский.ру файл, где просто будет две строчки log = «Sasha-Flyer»
passwd = «пароль»
Поэтому, хоть такие конфиги и просто писать и просто использовать, я их юзаю только в том, что никогда не будет запускаться от рута.
Обидно, когда астра грузится за 20-25 секунд, альт — за 15-20, а ОС Эльбрус — за 45-55 и приходится это вписывать в ПЗ и ТУ, а потом юзеры думают «а чё так долго», а мы внутренне вздыхаем и «так надо».
Доводилось года 3 назад, когда свою реализацию stackful корутин делал. Познавательная штука на самом деле.
Тогда понятно, да… Этим же АМД вплоть до последних тредрипперов страдал, только в меньшей степени — слабостью ядер в однопотоке.
Ну щито делать, если в 2к19 всякие СашиФраеры не могут многопоток нормально асилить в своих прогах…
Опыт показывает, что даже разработчики фаерфокса этого тоже не могут =)
Это ты еще ПаленуюЛуну не запускал. Вроде обещали что она будет вылизанным форком фуррика, но проц насилует еще сильнее, и таки в однопотоке)
Меня он вроде как игнор-скриптом скрыл, после вчерашних попыток вразумить его.
Вот напомнил кстати — Фраер так бездумно копипастит все что ему подсовывают… а если кто-то добрый где-нибуть ему патч бармина подсунет))
Лучше разделять разработку и продакшен. Разработка на локалхосте-онли, где пароли вообще 123 ставить можно, и не бояться что уйдут в гит. А на продакшен-серваке держать файл с настоящими паролями.
А еще лучше — таки по виртуалкам раскидать, тогда с тестовым сервером можно творить любую дичь, не роняя продакшен.
Имя файла типа config, я думаю, вполне говорящее, чтобы ты мог понять, что в нём лежит конфигурация.
Не, я встречал такие системы, которые, например, состояние системы каждые 10 секунд сбрасывали в новый файл типа status_20191110184250.txt, и потом в каталоге плодилось за месяч несколько сот тысяч файлов. Это да, дичь. Но два файла с чётким назначением — это не проблема.
Понимаешь, не хранить вариабельную информацию в коде — это правило гигиены сходное с «мыть руки перед едой». Да, его сложно объяснить тем, кто так не привык, да и ты, когда возможности нет, можешь его разок проигнорировать (например, когда ты пишешь прогу однократного использования, которую потом просто удалишь, когда она сделает тебе, что должна была), но если ты его системно не придерживаешься — то твоё качество жизни (а в нашем случае качество кода) будет ниже, а проблемы, которые тебя будут из-за этого настигать, будут регулярны.
Все оплаты через карту идут через смс-сообщение, однако и симку могут восстановить, а в стиме оплата вообще идет сразу с карты, без подтверждения смс-ки.
В итоге: у меня всегда есть возможность заплатить, сколько надо, а стырить у меня бабло без моего ведома — сложно, особенно если речь идёт о сумме большей нескольких тысяч, которые лежат на карточке.
А теперь представь, если бы ты залил версии тупо архивами. Ты бы, наверное, вряд ли бы посмотрел внутрь, и вряд ли бы увидел, в чём проблема. А деньги бы у тебя уже увели.
Кстати, первая же идея для второго коммита в твоей репе — это вынести логины-пароли-ключи в отдельный файл.
Поздравляю! Теперь ты (пусть очень поверхностно) познакомился с гитом.
Теперь постарайся привыкнуть к правильному воркфлоу: как хочешь внести какие-то изменения, касающиеся какой-то темы (только одной!), вносишь их в локальную копию и делаешь git add изменившимся файлам. Как закончил изменения — делаешь git commit и пишешь сообщение коммита, в котором кратко в одну строчку поясняешь смысл изменений. Когда надо всё новое сгрузить из локальной репы в ориджин — делаешь git push. Если вдруг в ориджине появилось что-то новое (например, ты принял pull request или пушнул в ориджин с другого компа) — делаешь git pull. Если хочешь работать там, где пока нет локальной репы (например, на другом компе) — делаешь git clone (не забудь правильно поставить пользователя и email потом). Через некоторое время, когда ты поймёшь, как использовать ветки (например, когда ты делаешь массивные изменения в много коммитов) — ты узнаешь про команды checkout, branch и merge. Когда тебе нужно будет делать срез версии — ты сможешь прочитать про работу с тегами и открыть для себя вкладку releases на гитхабе. Когда другие юзеры будут добавлять к тебе в ушифратор что-то новое — ты увидишь pull-request-ы и сможешь их с себе мерджить в проект. Короче, возможностей миллион, ты сейчас многие из них считаешь не нужными тебе, и это нормально, но потом ты поймёшь, насколько каждая из них удобна.
Как правильно оформлять коммиты — можешь посмотреть в каких-нибудь адекватных репах на гитхабе (да хотя бы у меня, лол — github.com/makise-homura ).
Виртуалки для слабаков, да
По оверхеду могу сказать, что один из серваков у нас на работе имеет 32Гб, винда сервер-2012, гиперВ. Сейчас на нем крутится 13 разных виртуалок, с виндой и линухом, в том числе резервный контроллер AD на 400+ машин. Проблем нет =).
В линуксе то же самое: Export влияет только на вновь открываемые чайлды в этом терминале, но не на уже открытые.
Саня блядь… команды консоли cd, md, rd тебе чтото говорят вообще?? Если нет — купи себе гуся, и морочь голову ему.
Не знать не стыдно — а вот не знать, и даже не пытатсья узнать, раз за разом творить херню, выклянчивать помощь, и после этого еще начинать быковать на тех кто тебе хотел помочь — это лютый зашквар.
Помощь бесполезна — ты не пытаешься понять то что тебе объясняют и помогают.
За что боролся, на то напоролся.
Я вот нихрена не понимаю например в медицине, в поэзии, в бальных танцах… но я и не лезу туда, не сижу на их форумах, и не ебу мозги тамошним юзерам идиотизмом.
Программирование- это реально огромная, широкая отрасль… и важность самообучения ( подчеркиваю — САМО) в нем колоссальна. Твоя же способность к самообучению — меньше нуля. Не выйдет у тебя бесконечно выезжать на километровых темах на форумах, перескакивая от одного заебавшегося об тебя объясняющего, к другому, свеженькому. Не работает это так. Только остатки репутации угробишь. Репутация «человек, ниасиливший написать игру» это еще туда-сюда. но репутация человека которому 3 часа всем табором безысходно объясняли как поставить гит — это зашквар.
Я сделал все что мог, но я не Трихаггер, с деревьями говорить не обучен, увы.
После твоего цЫрка, когда 100 постов из тебя выбивали инфу о траффике твоей игры, и его сравнение с ВоВ — уж извини, я тебя серьезно не воспринимаю вообще.
А так-то я очень вежлив и корректен на табуне, даже в срачах. Желающие опровергнуть пруфами есть?
А с хуманами всегда договорится можно. По крайней мере на совещаниях по развитию проекта на работе шефа как-то убеждаю как правило.
Не-а) Ты занимаешься чистейшим шаманством, повторяя механически непонятные тебе заклинания от других.
MISSION COMPLETE! Трансгалактический шаттл «Фраер-1» успешно стартовал в туманность Андромеды.
Нет. Я тебе уже 100 раз объяснял за что. Не за незнание, а за лютое нежелание знать. За твое абсолютно тупое «Вот прям вай-вай как хочу прямо тут и щас, а разбираться — для лохов»
Я не умнее других, абсолютно. Среднестатистический homo sapiens, не более. И никогда этого не утверждал кстати.
Пруф? Где я хоть раз сказал что я ниибаццо умный. Ссылку на каммент конкретный?
И это будущее нашего кодинга… Le Fuu!
А когда ты успел выкупить у Рэндома табун, чтоб он твоим стал? Табун он знаешь-ли общественный.
И кстати, именно на ушифраторе Саша отлично показаше самоубачаемость, разобравшись в наворотах APNG/SVG. А сейчас, наверное, от усталости тупит и на людей бросается. И оно понятно — сделать хочется уже сейчас. Но утро вечера мудренее. Да и подбили разбираться с СКВ мы сами ведь — нам и отдуваться.
Я надеюсь, что он сейчас немножко поймёт, что к чему, поживёт с этими мыслями, осознает суть и начнёт работать с СКВ.
Ну безнадежно же. Ты же видел его логику уже — Саня по своему распиздяйству залил на гитхаб пароли, но виноват не он, а мы все, что посоветовали ему СКВ юзать, и истерика на тему «нах эти долбаные СКВ». И это весь Саня.
То что я не знал, что ты был не знаком с понятием «текущий каталог» (и подбор лучшей аналогии, чтобы тебе это объяснить) — не моя проблема.
Как минимум, ты теперь хотя бы это понял.
Однако я так и не понял, по какой ссылке доступен этот коммит. и где он вообще
Кстати, в гите встроенный web-сервер есть. Но он всратый.
fatal: your current branch 'master' does not have any commits yet
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» я затер какие-то ключи, которые подозрительно выглядят.
Может еще ваще к тебе удаленно подрубиться, и все за тебя сделать?
Ты занимаешься суходрочкой. Все что тебе рассказывают, объясняют, помогают — тебе все в одно ухо влетает, из другого вылетает. КПД процесса чуть менее чем нуль.
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.
Сделай бочку.
github.com/Sasha-Flyer/Ushifrator репозиторий создался, но ни одного кода не добавилось. втф?
командой, исполняемой программой или пакетным файлом.
origin github.com/Sasha-Flyer/teleboorubot.git (fetch)
origin github.com/Sasha-Flyer/teleboorubot.git (push)
Стреляй! :D
Бывает и хуже.
CVE-2019-11707 например))
Спойлер
Ну вот есть еще желающие помогать этому альтернативно-одаренному после такого?)))
Ну вот есть еще желающие помогать этому альтернативно-одаренному после такого?)) х2