• Как восстановить коммиты из безымянной ветки?

    v_decadence
    @v_decadence
    Через git reflog ищете хеши потерянных коммитов.
    reflog выводит все хеши, где был HEAD.

    И потом:
    git branch new-branch-name hash

    Ну а потом переходите в develop (хотя Вы и так вроде там) и мержите потерянные изменения:

    git checkout develop
    git merge new-branch-name


    Естественно, это всё через консоль надо делать.

    Главное, делать это в том хранилище, где были коммиты, и до git gc, иначе информация о недостижимых коммитах будет удалена.
    Ответ написан
    17 комментариев
  • Как пользоваться SourceTree?

    reaferon
    @reaferon
    Ну, в Source Tree, как мне кажется, все очень интуитивно понятно и просто. Особенно при работе с Bitbucket (еще бы!).
    Но рекомендую хорошо обдумать по поводу перехода. Если есть несколько больших проектов с большим количеством коммитов, то Source Tree становится очень тормозной и неповоротливой. У меня пара проектов 1С-Битрикс (over 50k файлов в каждом) вместе с ядром (так как обновления еженедельно прилетают и только на продашн). Адовы муки, надо сказать. На каждом коммите можно пойти борща поесть.
    На маленьких проектах нормально.
    Ответ написан
    2 комментария
  • Дизайн Windows Forms C#?

    cyber_roach
    @cyber_roach
    UX дизайнер INEDIapps
    Объясню на пальцах
    1) Windows Forms родились во времена Windows 95 когда над дизайном окон в windows думали единицы.
    Внедрение возможно, но это сродни пыткам и БДСМ, а какой-нибудь material Style вообще могут единицы на нем сделать, хотя в итоге выглядеть будет все равно как китайская подделка (присмотритесь к кривизне материал у телерика на формах в сравнении с андроидом, поймете о чем я)
    2) MDI контейнер не используется с 2003го. (как вышел .net), вместо него сейчас более перспективные Docking либо tab-компоновка (см любой браузер) либо Ribbon.
    Есть конечно исключения, например в Photoshop можно включить что-то вроде MDI режима, но это очень специфичные кейсы использования.

    Уже только 2 этих фактора лишают вас каких либо современных методов/библиотек для интеграции кастомных дизайнов в проект

    3) WPF.
    Почему вы видите информацию в разрезе десктопного дизайна только про него.
    Ну потому что, там оптимальное соотношение цена/время/качество в интеграции.
    Можно сделать почти все что угодно, но для хардкора нужен большой скилл (как и везде впрочем)
    Примеры можно посмотреть у меня https://inediapps.com/portfolio/
    В будущем рекомендую переходить на данную платформу, хотя некоторые олдфаги могут тут со мной поспорить. Насчет актуальности - он быстрее форм, его Microsoft сейчас активно поддерживает, он opensource, поддержка тача и hiDPI, перспектива кроссплатформенности (Avalonia, Unity3D, Xamarin+.net5 …)

    Вывод.
    Понять, простить и забыть о дизайне MDI + WinForm.
    Ответ написан
    Комментировать
  • Как можно уменьшить шум и гудение от HDD?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    из комента ClearAirTurbulence
    - вынести функции, используемые 24/7 на NAS\отдельный ПК, распорложенный вне комнаты

    как минимальный вариант можно обойтись и простеньким роутером с USB портом и поддержкой NFS/SMB, вешаем на него hdd и настраиваем доступ, выносим его подальше и подключаем к своей локальной сети, ну или как там у вас устроено, а в комп вставить ssd или тот же на 2.5
    Ответ написан
    Комментировать
  • Что есть платного в asp.net mvc кроме windows + visual studio?

    wkololo_4ever
    @wkololo_4ever
    В самом ASP.NET MVC нет ничего платного. Он может работать на linux + MySql. А с ASP.NET 5 все вообще из коробки. Другое дело, что обычно, выбирая ASP.NET, выбирают microsoft продукты (MSSQL, Windows Server и тд)
    Ответ написан
    Комментировать
  • Post и Get запросы, какая между ними разница и что лучше и для каких целей?

    socengel
    @socengel
    7 лет native php в продакшене, онлайн 20000+,
    Общего между ними то что они работают одинаково. Разницы между ними технически никакой. А вот идеологические различия есть.

    Я расскажу о них в контексте PHP. Прошу заметить что протокол HTTP к PHP имеет косвенное отношение потому что он создавался для обмена html страницами а PHP просто расширяет возможности и того и другого.

    GET запрос используется чтобы получить данные а POST чтобы отправить. (Напоминаю что технически они работают одинаково).

    Поэтому в контексте PHP опираясь на эту идеологию сделали следующим образом:
    1. При каждом запуске PHP по умолчанию создаются суперглобальные массивы ($_GET, $_POST).
    2. Если в строке запроса есть вопросительный знак(?). То все что после него считается параметрами GET запроса они представлены в формате 'ключ'='значение' и в качестве разделителя используется знак амперсанда (&)
    Пример:
    GET /index.php?name=Андрей&surname=Галкин
    это строка запроса, тут 2 параметра. эти параметры попадут в массив $_GET.
    3. $_POST заполняется другим способом. содержимое этого массива заполняется из "заголовков запроса". То есть из места, скрытого от глаз в явном виде. Всю рутину по созданию таких заголовков берет на себя браузер. Хотя иногда и что-то редактируется в заголовках в ручную.

    Чаще всего пост запрос используется в формах (для отправки данных).

    Например у нас есть форма для входа 2 поля логин и пароль.

    Представим что мы используем GET метод. Тогда при отправке формы мы перейдем на следующий адрес /login.php?login=Андрей&password=123 согласитесь что так передавать такую информацию совсем не безопасно. Любой может открыть ваш браузер и начиная вводить адрес сайта он из истории может увидеть ваши пароли и логины.

    А вот если бы мы указали методом POST то мы бы получили следующий запрос:
    POST /login.php (login=Андрей&password=123) то что в скобочках было бы скрыто и никак не сохранено в браузере.

    Теперь другая ситуация например форма поиска. Мы вводим текст и получаем страницу с результатами. Вот тут уместнее GET форма. потому что нам было бы удобно сразу иметь ссылку на результат поиска, то есть добавить в строку запроса можно выразится "Публичные параметры", которыми можно поделиться. И как результат в строке браузера будет конкретная ссылка на текущую страницу. Мы можем ее скопировать, и разместить где-нибудь, или например скинуть другу. И получить при переходе одну и ту же страницу. А не просить других людей зайти на сайт и в поиск вбить определенную фразу чтобы получить необходимую страницу.

    В общем подводя итог:
    GET - это чтобы получить определенную страницу в определенном виде ( сортировка, текущая страница в блоге, строка поиска и т.п. ).
    POST - для оправки данных которые не влияют на отображение страницы, в том плане что эти данные влияют только на результат выполнения скрипта ( логины, пароли, номера кредиток, сообщения и т.п. ).

    И еще одна хорошая новость их можно комбинировать, например
    POST /index.php?page=login (login=Андрей&password=123) Думаю я уже достаточно объяснил что из этого получится и какие параметры в какой массив попадут.
    Ответ написан
    2 комментария
  • Как сделать документацию к коду?

    @kn0ckn0ck
    Продюсер
    Есть две крайности, которых лучше избегать:
    1. красивая и исчерпывающая документация требует колоссальных ресурсов на поддержку
    2. сложно воспринимаемый код, без малейших подсказок с чего все начинается и чем заканчивается

    Стандартные решения:
    1. самодокументируемый код, составленный так, что читающий может понять что для чего и в какой последовательности работает.
    2. описание интерфейсов (назначение метода, тип/суть параметров и т.п.) в форме комментов в коде.
    3. автоматическая документация (генерится из комментариев) - эффективно, только если сам код закрыт.
    4. модульные тесты, фиксирующие требования к коду и демонстрирующие его использование.
    5. описание высокоуровневого дизайна (High Level Design, HLD), описывающий какие элементы существуют, их взаимосвязь друг с другом и основные сценарии взаимодействия.

    Работающая документация - это компромисс из этих практик, релевантный конкретной ситуации.

    Кстати, проектная работа, это не только документация к коду, это еще и свод правил, которые позволят архитектуре не расползтись кто в лес кто по дрова, а также сохранят стилистику написания кода для единообразия и легкой поддерживаемости кода.
    Ответ написан
    12 комментариев
  • Как определить источник всплеска установок Android приложения?

    @eponomarev
    Поищите упоминания в прессе в эти периоды по названию вашего приложения, пакету или общей тематике. Это также может быть чей-то твит, пост в соц. сети, даже в закрытой типа Лепры. Если вообще никаких причин для скачка не нашлось, можно прикрутить опрос пользователей, и спросить напрямую у них, откуда они узнали о вашем приложении. Используйте для этого, например, Mixpanel SDK.
    Ответ написан
    Комментировать
  • Как перевести идиому "костыль" на английский?

    @VJKL
    Ответ написан
    Комментировать
  • Как вести разработку вдвоем с Github?

    @Lexans Автор вопроса
    Для всех интересующихся подписчиков выкладываю. Я сделал файл с картинками после просмотра которого любые новички смогут начать использовать Git с удаленным репозиторием на GitHub
    Работа через GitHub вдвоем без консоли и специальн...
    Ответ написан
    5 комментариев
  • Как в Firefox настроить перевод страниц на русский, также как в Chrome?

    xotkot
    @xotkot
    хорошо есть и хорошо весьма
    нативная поддержка переводов у фокса уже пару лет как есть, но со своим плюсом и минусом
    плюс - в хроме прибит гугловский переводчик, а в фоксе можно выбрать один из трёх (Google, Bing, Yandex)
    минус - для каждого из переводчиков нужен ключ для пользования сервисами перевода от соответствующих компаний (Google, Bing, Yandex) что естественно, так как никто из этих гигантов не будет за просто так раздавать конкурентам преимущества за свои же ресурсы. Хотя их ключи можно получить бесплатно(?), но у Google и Bing на сколько я помню это было довольно геморно, единственное у Яндекс для этого нужно было просто иметь свой профиль(создать или иметь у них почту) и перейти по ссылке https://translate.yandex.ru/developers/keys а затем скопировать полученный ключ в поле browser.translation.yandex.apiKeyOverride (about:config)

    в общем виде для яндекса это будет выглядеть примерно так:
    firefox --> about:config
    browser.translation.detectLanguage=true
    browser.translation.ui.show=true
    browser.translation.engine=Yandex
    browser.translation.yandex.apiKeyOverride=КЛЮЧ


    смотри также - В Firefox появится поддержка перевода страниц при ...

    п.с.
    кстати, в будущем у фокса может появится своя переводческая база не зависящая от внешних игроков или даже сервисов, то есть, на самом клиенте появится возможность машинного офлайн перевода, см. Bergamot
    Mozilla развивает собственную систему машинного пе...
    Ответ написан
    6 комментариев
  • Стоит ли использовать браузер Brave?

    xmoonlight
    @xmoonlight
    https://sitecoder.blogspot.com
    Кроме возможного угона акков и сбора статистики - никаких минусов.
    Ответ написан
    4 комментария
  • Как ускорить загрузку firefox со старым профилем?

    Oxyd
    @Oxyd
    Linux enthusiast
    Копировать из старого профиля только эти файлы(*.sqlite ещё не мешало-бы пропуржить стандартными утилитами sqlite). Или, что лучше, использовать Firefox Sync, вместо ручного переноса профилей.
    Ответ написан
    1 комментарий