Я понимаю про SOLID там, но если следовать правилу единой ответсвенности, то файлов будет просто целая гора,да. так оно и и будет
Также встает вопрос, например, у меня сейчас маршрутизация а-ля микрофреймворк, чтобы прикрутить MVC надо реализовывать поиск контроллера и вызов метода. Должен ли этим заниматься отдельный класс?не надо спрашивать такие вопросы. Если ты что-то пишешь, то должен быть уверен в правильности своей архитектуры. Иначе ты на каждый чих будешь вопрос задавать.
Пишу небольшой фреймворк для себя в образовательных целяхв целом идея абсолютно глупая, вредная и приведет тебя только к выгоранию. Ибо по сути ты будешь бесплатно работать, что-то делать, а толку не будет. Я сам писал фреймворк несколько лет в свободное время, написал, но лучше тебе потратить это всё на изучение того, что сейчас есть и сделать конечный продукт - будет больше пользы. Плюс опыт работы на актуальном инструменте в карму.
@echo off
for /l %%a in (1,1,12) do for /l %%b in (1,1,31) do ( md %%a.%%b\wb 2>nul & md %%a.%%b\zaliv 2>nul)
for /l
, а обычный for %%a in (01 02 03 04 05 ...) do
setlocal enabledelayedexpansion
set "mday1=01 02 03 04 05 ..." :: в mday1 - 1 - это номер месяца (январь)
set "mday2=01 02 03 04 05 ..."
:: и так далее до mday12
...
for %%b in (!mday%%a!) do ...
for /l %%b in (1,1,!mday%%a!) do
<Route path="/products" component={Products} />
exact
.return <h1>Product# {match.slug}</h1>;
match.params.slug
. const mustStay = n => n !== null;
.const newArr = arr.map(n => ({
...n,
array2: n.array2.filter(mustStay),
}));
arr.forEach(n => n.array2.reduceRight((_, n, i, a) => mustStay(n) || a.splice(i, 1), 0));
// или
for (let i = 0; i < arr.length; i++) {
const a = arr[i].array2;
a.splice(0, a.length, ...a.filter(mustStay));
}
// или
for (const { array2: a } of arr) {
let numDeleted = 0;
for (const [ i, n ] of a.entries()) {
a[i - numDeleted] = n;
numDeleted += !mustStay(n);
}
a.length -= numDeleted;
}
const parseToDate = string => {
const [day, month, year, hour, minute] = string.match(/\d+/g).map(match => parseInt(match));
const normalizedYear = year < 2000 && year.toString().length <= 2 ? year + 2000 : year;
const date = new Date(normalizedYear, month - 1, day, hour || 0, minute || 0);
return date;
};
const strings = [
'01 02 2003 04 05',
'01 02 03 04 05',
'01/02/03 04 05',
'01-02-3 04-05',
'23-08/2019 3 4',
'1 1 1980 0 0',
'2 2 0'
];
for (const string of strings) {
const date = parseToDate(string);
console.log(date.toLocaleString());
}
/**
'01.02.2003, 04:05:00'
'01.02.2003, 04:05:00'
'01.02.2003, 04:05:00'
'01.02.2003, 04:05:00'
'23.08.2019, 03:04:00'
'01.01.1980, 00:00:00'
'02.02.2000, 00:00:00'
*/
Я плохой программист
или же неправильно распределяю время на программирование?(от 1,5 часов до 5 в день) в чем проблема?
Я надеюсь вы разрешите мой вопрос и дадите мне какой либо ответ, благодарю тех кто напишет адекватный ответ, а тех кто будет писать откровенные гадости, дабы поднять свое эго мне просто жалко.
return counter(stepNumber)
так же вернет 7 для 100countSteps = n => Math.ceil(Math.log2(n))
(но это неточно, я уже не особо в ладах с математикой)