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

    ApeCoder
    @ApeCoder
    Лучше использовать EnumerateFiles, если надо не более одного файла.
    Ответ написан
    Комментировать
  • Какие есть решения по организации некого Changelog для разработчиков и системных администраторов?

    ApeCoder
    @ApeCoder
    • Любой багтрекер (например mantis)
    • Infrastructure as a code.
    Ответ написан
    Комментировать
  • Программа для удаленного выполнения разных задач?

    ApeCoder
    @ApeCoder
    Ответ написан
    Комментировать
  • Как правильно релизиться в больших компаниях?

    ApeCoder
    @ApeCoder
    Многие рекомендуют постоянные команды. Т.е. фича тим не собирается под фичу, а на команду назначается фича. После разработки фичи команда остается той же просто ей дается другая фича.

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

    см также
    https://www.thoughtworks.com/mingle/scaled-agile/2...
    www.discussagile.com/blog/dependency-management-in...
    https://www.scaledagileframework.com/value-stream-...
    Ответ написан
  • Как добавить свой обьекта в массив PowerShell?

    ApeCoder
    @ApeCoder
    Вот неплохая статья на эту тему

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

    Дальше его можно выводить в грид

    1..10 | %{ [PSCustomObject]@{ Name="Name_$_"; Value = $_} } | ogv


    Или сохранить в массив

    $a = 1..10 | %{ [PSCustomObject]@{ Name="Name_$_"; Value = $_} } 
    
    $a
    Ответ написан
    Комментировать
  • Как договорится с людьми использующие разные подходы?

    ApeCoder
    @ApeCoder
    Надо выработать общие принципы, команда должна быть достаточно образована чтобы знать язык на котором описываются проектировочные решения (все знают, что такое tell don't ask, например?).

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

    Помимо этого, надо договориться, как решать конфликты - например выбрать того, кто будет решать.

    Надо учиться понимать людей и стараться вставать на их сторону - искать рациональное зерно в и доводах. Не переходить на личности и выражаться уважительно (не "Это чушь", а "Я понимаю, что здесь есть вот такие позитивные стороны, но думаю, что будет интереснее сделать то то и то то").

    Самому выражаться ясно и логично, понимать почему именно это данное решение нравится а другое нет. Попробовать стать на точку зрения оппонента и там постоять.
    Ответ написан
    Комментировать
  • Вопросы по Clean Architecture?

    ApeCoder
    @ApeCoder
    В orm моей мечты можно было бы формулировать условия целостности на основном ЯП (типа linq) и они бы транслировались на sql. Не знаю как на реальных orm
    Ответ написан
  • Нужно ли программисту изобретать велосипед?

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

    По умолчанию лучше пользоваться готовеньким, если оно есть и в данном слуае удобно. Оно уже протестировано и народ прошел по граблям и знает тропинки. И не только народ в вашей конторе, но и за ее пределами.
    Ответ написан
    Комментировать
  • Я слышал, что goto использовать НЕЖЕЛАТЕЛЬНО. А что насчет while(true)? В функции есть много if'ов, в которых есть return. Моветон ли while(true)?

    ApeCoder
    @ApeCoder
    по while(true) не понятно какое именно условие выхода из цикла. То есть очевидно что цикл когда-то заканчивается но условие выхода размазано по его телу. Так же если происходит выход из цикла тоже трудно его понимать как черный ящик - т.е. дописывание, например, в конец фнукции какого-то кода не гарантирует его выполнения.
    Ответ написан
    Комментировать
  • Можно ли реализовать личный кабинет пользователя без серверной части?

    ApeCoder
    @ApeCoder
    Теоретически можно.
    Хранить всю инфу в браузере. Единстенный недостаток, что на другом устройсте ее уже не получить.
    Еще теоретически можно воспользоваться серверной частью в чудом браузере (если есть API) - пользователя просить залогиниться, напрмер на гугль доках и хранить все там (это условно, я не знаю, есть ли у них API доступный чисто из js).

    Но это все изврат и надо сделать серверную часть :)
    Ответ написан
    Комментировать
  • Как удалить комментарии из кода?

    ApeCoder
    @ApeCoder
    регулярку выше обработать все эти файлы и

    1) Обход всех папок - ls -Recurse -include *.js
    сохранить копии в папку runtime рядом с папкой source сохраняя дерево папок тем же,

    2) Вычисление нового пути (если source находится только на одном уровне ) $_.FullName -replace '\\source\\','\runtime\'
    но уже без комментариев в файлах.

    2) Преобразование
    2.1) Прочитать - gc -Raw
    2.3) Заменить -replace , ''
    2.4) Записать - sc

    Итого что-то типа
    ls -recurse -include *.js | %{
         $targetPath = $_.FullName -replace '\\source\\','\runtime\'
         mkdir (Split-Path $targetPath) -force
         (gc $_.FullName -Raw) -Replace <REGEX>,'' | sc $targetPath 
    }


    Для отладки советую visual studio code c соответсвующим экстеншеном.

    Учтите, что данный код теряет инфу о кодировке, у всех будет UTF8 с маркером порядка байтов (наберите sc -? если хотите установить другую кодировку)
    Ответ написан
    8 комментариев
  • Как добавить расширение к имени файла (автоматизировать)?

    ApeCoder
    @ApeCoder
    Запустить powershell и вставить эту команду
    ls -r | ?{(!$_.PsIsContainer -and !$_.Extension)} | %{ ren $_ ($_.Name + ".jpg") -whatif}


    Эта команда напишет те переименования которые осуществит. Рекурсивно начиная от текущей папки. Если результат устроит, надо убрать -WhatIf и запустит опять. Она переименет
    Ответ написан
    Комментировать
  • Какие знания нужны, чтобы создать такой продукт под android?

    ApeCoder
    @ApeCoder
    Надо знать, как писать UI под андроид, из каких компонентов состоит UI, рекомендации по визуальному дизайну .

    Перечень ограничений, которые android накладывает на приложение (какие разрешения просить, например, какие операции выполняются асинхронно). Какой паттерн для отделения бизнес логики от UI выбрать.

    у каждого пользователя есть своя страница,


    - Где и как хранить данные (тут нужен бекенд - это не связано с андроидом).
    - Как приложение будет получать данные? (протокол работы приложения с фронтэндом)
    - Каким образом обеспечивать авторизацию, защиту от подслушивания и перехвата. Модель атак на приложение.
    - Соответствие приложения европейскому (GPDR) и российскому законодательствам о персональных данных

    можно писать сообщения в ЛС либо в общий чат,


    - каким образом работают оповещения на Android
    - соответствие российскому законодательству об организаторах распространения информации

    присутствует карта города, на которой


    - Выбрать поставщика картографической информации (google, yandex, bing), ознакомиться с лицензией

    отмечены какие-либо места с фотографиями,


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

    также есть некая база с определёнными фотографиями/текстом, доступные всем.


    - какие требования по быстродействию
    - как осуществляется модульное и нагрузочное тестирования
    Ответ написан
    Комментировать
  • Bsod, в чем может быть проблема?

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

    Если вы программист, то можно попоробовать анализировать дамп
    Ответ написан
    Комментировать
  • Изменить активную вкладку в браузере?

    ApeCoder
    @ApeCoder
    В stack obverflow есть рецепты, но, похоже, они не работают в последних браузерах. См. также window.focus
    Ответ написан
    Комментировать
  • Как поместить название задачи в ListView через WinApi?

    ApeCoder
    @ApeCoder
    Конструктор требует System::String :: а не WCHAR *

    gcnew ListViewItem(gcnew String(pe.szExeFile));
    Ответ написан
    Комментировать
  • Почему глаза плохо воспринимают темный UI?

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

    People with astigmatism (approximately 50% of the population) find it harder to read white text on black than black text on white. Part of this has to do with light levels: with a bright display (white background) the iris closes a bit more, decreasing the effect of the "deformed" lens; with a dark display (black background) the iris opens to receive more light and the deformation of the lens creates a much fuzzier focus at the eye.

    Jason Harrison – Post Doctoral Fellow, Imager Lab Manager – Sensory Perception and Interaction Research Group, University of British Columbia


    Так же я встречал, мнение, что трудно когда яркость экрана сильно отличается от фона - то есть надо еще подстраивать под освещение.
    Ответ написан
    Комментировать
  • SemVer (Семантическое версионирование) как правильно выбрать когда увеличивать minor, а когда patch?

    ApeCoder
    @ApeCoder
    Если ваши изменения являются частью API то увеличиваете минорную версию, если это внутренние изменения, которые ничего не делают с API, то это патч.


    Патч-версия Z (x.y.Z | x > 0) ДОЛЖНА быть увеличена только если содержит обратно совместимые баг-фиксы. Определение баг-фикс означает внутренние изменения, которые исправляют некорректное поведение.

    Минорная версия (x.Y.z | x > 0) ДОЛЖНА быть увеличена, если в публичном API представлен новый обратно совместимый функционал. Она ДОЛЖНА быть увеличена, если какой-либо функционал публичного API помечен как устаревший (deprecated). Она МОЖЕТ быть увеличена в случае реализации нового функционала или существенного усовершенствования в приватном коде. Она МОЖЕТ включать в себя изменения, характерные для патчей. Патч-версия ДОЛЖНА быть обнулена, когда увеличивается минорная версия.

    Мажорная версия X (X.y.z | X > 0) ДОЛЖНА быть увеличена, если в публичном API представлены какие-либо обратно несовместимые изменения. Она МОЖЕТ включать в себя изменения, характерные для уровня минорных версий и патчей. Когда увеличивается мажорная версия, минорная и патч-версия ДОЛЖНЫ быть обнулены.
    Ответ написан
  • Можно лишь на одном JavaScript написать фронтенд?

    ApeCoder
    @ApeCoder
    Надо знать что-то еще. Можно, например, написать UWP приложение или скрипт WSH, но он все равно будет использовать какую-то библиотеку для описания UI.
    Ответ написан
    Комментировать