Уровень дохода
Тип занятости
Разработка на Arduino
дистанционно
от 1000.00 руб.
Программирование микроконтроллеров. Микроконтроллер: AVR ATMega. Функции и задача устройства: Написать скетч для Arduino Uno (Atmega328p). Аналоговый вход A0 на вход. Цифровые выводы 2-8 - на выход, по умолчанию 0. На аналоговый вход приходит сигнал 8 уровней: 1. От 0 до 220 - Ничего не делать. 2. От 220 до 251 - Переключить значение выхода 2 на противоположный 3. От 252 до 275 - Переключить значение выхода 3 на противоположный 4. От 276 до 310 - Переключить значение выхода 4 на противоположный 5. От 311 до 340 - Переключить значение выхода 5 на противоположный 6. От 341 до 370 - Переключить значение выхода 6 на противоположный 7. От 371 до 430 - Переключить значение выхода 7 на противоположный 8. От 431 до 512 - Переключить значение выхода 8 на противоположный Сигнал должен усредняться в течение 0,2 секунды, прежде чем переключиться. После каждого переключения задержка 0,3 секунды.
Москва
Фрилансеры
2024-10-18
Разработка на React
дистанционно
от 500.00 руб.
Веб-разработка. Доработка существующего продукта. Нужен разработчик, чтобы доработать ряд компонентов в существующем сайте. Бекенд: Django Rest Framework. Фронтенд: ReactJs. Доработать: 1. Главную страницу 2. Страницу заказа 3. Корзину 4. Личный кабинет Необходимо сотрудничество на долгий срок. Пожелания и особенности: Нужен разработчик, чтобы доработать ряд компонентов в существующем сайте. Бекенд: Django Rest Framework. Фронтенд: ReactJs. Доработать: 1. Главную страницу 2. Страницу заказа 3. Корзину 4. Личный кабинет Необходимо сотрудничество на долгий срок.
Москва
Фрилансеры
2024-10-18
Разработка на HTML5
дистанционно
договорная
Доработка существующего продукта. Нужна помощь с кодом: все уже сверстано, но через сильные костыли. Хотелось бы найти человека, который упростит код и оставит комментарий, в чем были проблемы и как их на будущее стоит решать. Пожелания и особенности: Нужна помощь с кодом: все уже сверстано, но через сильные костыли. Хотелось бы найти человека, который упростит код и оставит комментарий, в чем были проблемы и как их на будущее стоит решать.
Москва
Фрилансеры
2024-10-18
Разработка на Laravel
дистанционно
договорная
Веб-разработка. Доработка существующего продукта. Добавить поле ввода промокода при покупке товара в интернет-магазине. Промокод должен предоставлять скидку на корзину. На фото , то как это должно выглядеть. Пожелания и особенности: Добавить поле ввода промокода при покупке товара в интернет-магазине. Промокод должен предоставлять скидку на корзину. На фото , то как это должно выглядеть.
Москва
Фрилансеры
2024-10-18
Разработка на Arduino
дистанционно
договорная
Программирование микроконтроллеров. Микроконтроллер: AVR ATMega, ST elecrtonics STM32x. Функции и задача устройства: Написание кода для ESP 32. Имеется существующее устройство на ESP 32 которое работает. Нужно его переработать добавив новый функционал.
Москва
Фрилансеры
2024-10-18
Разработка на Ruby
дистанционно
от 20000.00 руб.
Веб-разработка. Доработка существующего продукта, Разработка плагина с нуля для существующего проекта на Redmine. Описание функционала внутри файла. сумма приблизительная, обсуждается, но в адекватных пределах. без посредников.
Москва
Фрилансеры
2024-10-18
Разработка на Arduino
дистанционно
договорная
Устройство. Разработка с нуля. Радиопередатчик УКВ диапазона с кодовым разделение канала (CDMA), типом манипуляции сигнала - квадратурная.
Москва
Фрилансеры
2024-10-18
Разработка на Arduino
дистанционно
договорная
Программирование микроконтроллеров. Микроконтроллер: Arduino. Функции и задача устройства: Необходимо создать устройство - сетевой аудиомост. Задача его: получив HTTPS запрос по сетевому интерфейсу, воспроизвести предзаписанный MP3 файл. В устройстве должно быть включено: 1. Контроллер ардуино 2. Сетевой интерфейс с питанием PoE 3. MP3 плейер с флешкой 4. Аудиоплата со стандартным разъёмом mini-jack 3.5 Потребуется драйвер под OS Linux Astra для обмена с внешними системами.
Москва
Фрилансеры
2024-10-17
Разработка на Java
дистанционно
договорная
Пожелания и особенности: Надо помочь вместе сделать практическую работу на курсе Яндекса фронт-энд 9 спринт. Важно быть знакомым с этим проектом. Пожелания и особенности: Надо помочь вместе сделать практическую работу на курсе Яндекса фронт-энд 9 спринт. Важно быть знакомым с этим проектом.
Москва
Фрилансеры
2024-10-17
Разработка на Go
дистанционно
договорная
Помощь в решении учебной задачи. Доработка существующего продукта. Нужно написать учебный проект по голень, он в целом написан, требует небольшой доработки. Пожелания и особенности: Нужно написать учебный проект по голень, он в целом написан, требует небольшой доработки.
Москва
Фрилансеры
2024-10-17
Разработка на PHP
дистанционно
договорная
Разобраться с вирусами на сайте,. Доработка существующего продукта. Имеется самописный сайт , очень старый, лет 20 уже как. С него рассыпается спам и поэтому хостер отключил функцию еиайл оповещений с сайта. В общем надо найти угрозы и закрыть дыры. Спасибо.
Москва
Фрилансеры
2024-10-17
Разработка на Node.js
дистанционно
договорная
Разработка приложений для ПК. Настройка. Помочь разобраться со скриптом. Пожелания и особенности: Помочь разобраться со скриптом. Созвониться и научить меня.
Новосибирск
Фрилансеры
2024-10-17
Разработка на PHP
дистанционно
договорная
Веб-разработка. Доработка существующего продукта, тестирование, настройка. Поддержка и доработка существующего проекта.
Москва
Фрилансеры
2024-10-17
Разработка на Python
дистанционно
договорная
Веб-разработка. Разработка с нуля. Разработка сайта на Python с нуля.
Москва
Фрилансеры
2024-10-17
Разработка на JavaScript
дистанционно
договорная
Веб-разработка. Разработка с нуля. Обучение школьника по зум.
Москва
Фрилансеры
2024-10-17
Разработка на Python
дистанционно
от 2000.00 руб.
решение задач. Разработка с нуля. 1. Загрузка данных Работаем с набором данных FashionMNIST. Это не совсем про тексты, но зато он численный и его можно вытянуть в вектор. Ниже предлагается реализовать собственный класс для считывания, обработки и упаковки данных. training_data = datasets.FashionMNIST( root="data", train=True, download=True ) test_data = datasets.FashionMNIST( root="data", train=False, download=True ) Воспользуемся функцией загрузки данных из репозитория наборов данных. def load_mnist(path, kind='train'): import os import gzip import numpy as np """Load MNIST data from `path`""" labels_path = os.path.join(path, '%s-labels-idx1-ubyte.gz' % kind) images_path = os.path.join(path, '%s-images-idx3-ubyte.gz' % kind) with gzip.open(labels_path, 'rb') as lbpath: labels = np.frombuffer(lbpath.read(), dtype=np.uint8, offset=8) with gzip.open(images_path, 'rb') as imgpath: images = np.frombuffer(imgpath.read(), dtype=np.uint8, offset=16).reshape(len(labels), 784) return images, labels Реализуем класс для FasionMnist. Элементами датасета должны являться пары '(np.array, int)', массив имеет размерность (28, 28), тип элемента np.float32. import os class FashionMnist(Dataset): def __init__(self, path, train=True, image_transform=None, label_transform=None): ### YOUR CODE HERE ### LOAD IMAGES AND LABELS WITH FUNCTION ... ### ALSO PROVIDE TRANSFORMS TO APPLY self.image_transform = self.label_transform = def __len__(self,): ### YOUR CODE # RETURN LENGTH OF DATASET def __getitem__(self, idx): ### YOUR CODE HERE ### APPLY TRANSFORMS AND RETURN ELEMENTS test_dataset = FashionMnist("data/FashionMNIST", train=False) train_dataset = FashionMnist("data/FashionMNIST") Визуализируйте случайные элементы набора данных. ### YOUR CODE HERE В конструктор Dataset можно передать объект torchvision.transforms, который позволяет преобразовать исходные данные. Преобразование torchvision.transforms.ToTensor позволяет преобразоать данные из типа PIL Image и numpy.float32 в тип torch.float32 Реализуйте собственную поддержку преобразований в FashionMnist. Проверьте, что приведение типов работает корректно. class ToTensor: """Convert ndarrays in sample to Tensors.""" def __call__(self, sample): ### YOUR CODE HERE # SHOULD BE CALLABLE ToTensor(x) transform = ToTensor() ### YOUR CODE HERE # init dataset with your transform and check datatype Элементы набора данных могут быть объединены в пакеты (batch) явно и неявно. Если данные могут быть сконкатенированы или объединены каким-нибудь тривиальным способом, то можно не передавать никаких дополнительных парамертов в torch.utils.data.Dataloader. test_dataloader = DataLoader(test_dataset, batch_size=15, num_workers=2, shuffle=True) batch = next(iter(test_dataloader)) print(f"The length of the batch is {len(batch)}") print(f"The shape of the batch[0] is {batch[0].shape}") Если наша структура данных не позволяет нам использовать объединение по умолчанию, то можно написать собственную функцию, которая будет пакетировать данные. Реализуйте функцию, преобразующую последовательность элементов массива в пакет (batch). ### YOUR CODE HERE ### WRITE A COLLATE FUNCTION and use it with dataloaders test_dataloader = ### YOUR CODE HERE train_dataloader = ### YOUR CODE HERE batch = next(iter(test_dataloader)) print(f"The length of the batch is {len(batch)}") print(f"The shape of the batch[0] is {batch[0].shape}") 2. Реализация модулей нейронной сети Сначала нужно реализовать прямой и обратный проход через слои. Наши слои будут соответствовать следующему интерфейсу (на примере "тождественного" слоя): Сначала, мы реализуем функцию и её градиент. class IdentityFunction(Function): """ We can implement our own custom autograd Functions by subclassing torch.autograd.Function and implementing the forward and backward passes which operate on Tensors. """@staticmethod def forward(ctx, input): """ In the forward pass we receive a Tensor containing the input and return a Tensor containing the output. ctx is a context object that can be used to stash information for backward computation. You can cache arbitrary objects for use in the backward pass using the ctx.save_for_backward method. """ return input @staticmethod def backward(ctx, grad_output): """ In the backward pass we receive a Tensor containing the gradient of the loss with respect to the output, and we need to compute the gradient of the loss with respect to the input. """ return grad_output Разработанную функцию обернем классом IdentityLayer, все слои в PyTorch должны быть наследниками базового класса nn.Module() class IdentityLayer(nn.Module): def __init__(self): # An identity layer does nothing super().__init__() self.identity = IdentityFunction.apply def forward(self, inp): # An identity layer just returns whatever it gets as input. return self.identity(inp) 2.1 Функция активации ReLU Для начала реализуем функцию активации, слой нелинейности ReLU(x) = max(x, 0). Параметров у слоя нет. Метод forward должен вернуть результат поэлементного применения ReLU к входному массиву, метод backward - градиент функции потерь по входу слоя. В нуле будем считать производную равной 0. При обратном проходе могут понадобиться величины, посчитанные во время прямого прохода, поэтому их стоит сохранить в ctx. class ReLUFunction(Function): @staticmethod def forward(ctx, input): ### YOUR CODE HERE ### CALCULATE RELU FUNCTION WITH TORCH AND SAVE SOMETHING FOR BACKWARD VIA CTX @staticmethod def backward(ctx, grad_output): ### YOUR CODE HERE ### GET SOMETHING FROM FORWARD AND CALCULATE GRADIENT # CHECK LECTIONS OR GOOGLE out = ... return grad_output * out class ReLU(nn.Module): def __init__(self): super().__init__() self.relu = ReLUFunction.apply def forward(self, input): return self.relu(input) Проверяем градиент, испльзуя функцию gradcheck. torch.manual_seed(0) x = torch.rand((7,15), requires_grad = True, dtype=torch.double) relu = ReLU() assert gradcheck(relu, x) torch_relu = torch.relu our_relu = ReLU() assert torch.norm(torch_relu(x.float()) - our_relu(x)) < 1e-5 2.2 Линейный слой (linear, fully-connected) Далее реализуем полносвязный слой без нелинейности. Два набора параметра: матрица весов (weights) и вектор смещения (bias). class LinearFunction(Function): @staticmethod def forward(ctx, inp, weight, bias): ### YOUR CODE HERE ### CALCULATE OUTPUT ### AND SAVE SOMETHING FOR BACKWARD return output @staticmethod def backward(ctx, grad_output): # GET SOMETHING FROM BACKWARD # CHECK HOW BACKWARD PERFORMED grad_bias = grad_output.sum(0) grad_weight = grad_output.T @ inp grad_input = grad_output @ weight return grad_input, grad_weight, grad_bias class Linear(nn.Module): def __init__(self, input_units, output_units): super().__init__() ### YOUR CODE HERE ### initialize weights and bias with small random numbers or xavier ### do not forget to make them torch.nn.Parameter self.linear = LinearFunction.apply def forward(self,inp): return self.linear(inp, self.weight, self.bias) Проверка градиента, а также сравнение с работой нашего модуля с имплементированным в PyTorch. Проверка градиента: torch.manual_seed(0) x = torch.rand((6,12), requires_grad = True, dtype=torch.double) linear = Linear(12, 14) assert gradcheck(linear, x) Сравнение с PyTorch. output_units = 32 input_units = 15 x = torch.rand((16,15), requires_grad = True, dtype=torch.double) weight = torch.rand(size=(output_units, input_units), dtype=torch.double) bias = torch.rand(size=(output_units,), dtype=torch.double) torch_linear = torch.nn.Linear(input_units, output_units, dtype=torch.double) our_linear = Linear(input_units, output_units) state_dict = OrderedDict([("weight", weight), ("bias", bias)]) torch_linear.load_state_dict(state_dict) our_linear.load_state_dict(state_dict) torch_forward = torch_linear.forward(x) our_forward = our_linear(x) assert torch.allclose(torch_forward, our_forward) 3. Сборка и обучение нейронной сети Реализуйте произвольную нейросеть, состоящую из ваших блоков. Она должна состоять из нескольких полносвязанных слоев. class Network(nn.Module): def __init__(self, input_size=28*28, hidden_layers_size=32, num_layers=5, num_classes=10): super().__init__() ### YOUR CODE HERE ### STACK LAYERS WITH DEFINED PARAMETERS ### USE nn.Dropout, your linear, your relu and whatever you like ### LAST LAYER SHOULD BE nn.LogSoftmax def forward(self, inp): ### YOUR CODE HERE ### APPLY YOUR NET TO THE INPUT Написать цикл обучения. class EmptyContext: def __enter__(self): pass def __exit__(self, *args): pass # accuract metric for our classififcation def accuracy(model_labels, labels): return torch.mean((model_labels == labels).float()) def perform_epoch(model, loader, criterion, optimizer=None, device=None): is_train = optimizer is not None ### YOUR CODE HERE ### MOVE MODEL TO DEVICE ### CHANGE MODEL TO TRAIN OR EVAL MODE ### SET LOGGING VALUES ### ITERATE OVER DATALOADER ### MOVE BATCH AND LABELS TO DEVICE ### GET MODEL OUTPUT ### GET MODEL PREDICTIONS (from the probabilites) ### CALCULATE LOSS ### BACKWARD IF TRAIN ### STEP WITH OPTIMIZER (DONT FORGET TO ZERO GRAD) ### UPDATE LOGGING VALUES WITH LOSS AND ACCURACY ### RETURN LOGGED VALUES Теперь обучим нашу нейронную сеть. # INIT YOUR MODEL # CRITERION # AND OPTIMIZER # Add device # SET NUMBER OF EPOCHS # ITERATE OVER NUMBERS OF EPOCH # TRAIN AND VALIDATE # LOG METRICS FOR TRAIN AND VAL LIKE BELOW. (YOU MAY USE YOUR OWN WAY) print(f"Epoch - {epoch} : loss {loss}, accuracy {acc}") Дальше: Проведите эксперименты с числом слоев. Постройте графики зависимости качества модели на тренировочной и тестовой выборках от числа слоев. Для получения статистически значимых результатов повторите эксперименты несколько раз. Сделайте выводы.
Москва
Фрилансеры
2024-10-16
Разработка на C#
дистанционно
договорная
Ядро Linux. Разработка с нуля. Здравствуйте! Можете взять небольшой заказ на загружаемый модуль ядра линукс? Или дать какую-то консультацию? Задача – мониторинг SYN и ACK очередей TCP соединения. Например я локально поднял простой TCP сервер на сокете и привязал его к порту 12345. Далее делаю на него SYN-флуд (hping3). Требуется разработать загружаемый модуль ядра, который будет выводить информацию о размере SYN и ACK очередей. Ограничение – нельзя использовать хуки netfilter. Linux 5.4.0 Ubuntu 20.04 Я пытался это сделать самостоятельно, но у меня проблемы с получением доступа к очередям, я тупо не могу получить доступ к сокету сервера. Любая информация или советы приветствуются. Пожелания и особенности: Здравствуйте! Можете взять небольшой заказ на загружаемый модуль ядра линукс? Или дать какую-то консультацию? Задача – мониторинг SYN и ACK очередей TCP соединения. Например я локально поднял простой TCP сервер на сокете и привязал его к порту 12345. Далее делаю на него SYN-флуд (hping3). Требуется разработать загружаемый модуль ядра, который будет выводить информацию о размере SYN и ACK очередей. Ограничение – нельзя использовать хуки netfilter. Linux 5.4.0 Ubuntu 20.04 Я пытался это сделать самостоятельно, но у меня проблемы с получением доступа к очередям, я тупо не могу получить доступ к сокету сервера. Любая информация или советы приветствуются.
Москва
Фрилансеры
2024-10-16
Разработка на Laravel
дистанционно
договорная
Веб-разработка. Доработка существующего продукта. Задача: интеграция сервиса почтой россии. отправка подписки через почту России заказными письмами. https://www.pochta.ru/support/business/api Краткое описание функционала подписки. Подписки: - статус - подбираем - ошибка оплаты - сборка - отправка - этапы почты из трекинга Почты России - получение - сбор мнений - •адрес доставки История подписки: - транзакции оплаты или ошибки списания - отметки о смене статуса заказа Оставить мнение о чае этого месяца - в целом: положительное / отрицательное - поделитесь мнением с любителями чая Уведомления: – успешное списание по автоплатежу - письмо – ошибка списания по автоплатежу- письмо, смс – отключение подписки при попытке автоплатежа - письмо – каждый месяц пятого числа - “Письмо формируется в доставку!” – каждый месяц десятого числа - “Письмо передано в доставку!.
Москва
Фрилансеры
2024-10-16
Разработка на PHP
дистанционно
договорная
Веб-разработка. Доработка существующего продукта. Ищем программиста на php знакомого с разработкой сайтов на движке cs-cart. Есть основной сайт, на движке cs-cart, нужны исправления, корректировки и новые разработки десктопной и мобильной версии. Пожелания и особенности: Ищем программиста на php знакомого с разработкой сайтов на движке cs-cart. Есть основной сайт, на движке cs-cart, нужны исправления, корректировки и новые разработки десктопной и мобильной версии.
Москва
Фрилансеры
2024-10-16
Разработка на Arduino
дистанционно
договорная
Программирование микроконтроллеров. Микроконтроллер: Arduino. Функции и задача устройства: Необходимо подобрать модули для беспроводного управления цепи питания Если быть точным нужно подобрать радио модуль при помощи которого можно размыкать и замыкать электрическую цепь.
Москва
Фрилансеры
2024-10-16
Разработка на C/C++
дистанционно
договорная
С++Buider 11. Настройка, доработка существующего продукта. Есть код задания написанный чисто на с++, нужно сделать программу в билдере 11,чтобы выводило на соответствующие кнопки и на графики.
Москва
Фрилансеры
2024-10-16
Разработка на Arduino
дистанционно
от 300.00 руб.
Ардуино нано. Настройка. Имеются Ардуино нано и сервомотор, подключить с нуля (у нас ошибка на ошибке, не записывается скетч и не крутится моторчик).
Москва
Фрилансеры
2024-10-16
Разработка на Lua
дистанционно
договорная
Ardupilot. Разработка с нуля. Управление 2 мя сервоприводами по ориентации компаса и гироскопа полетного компьютера.
Москва
Фрилансеры
2024-10-16
Разработка на C#
дистанционно
договорная
Веб-разработка. Разработка с нуля. Разработать сайт на языке программирование c# для дипломного проекта.
Москва
Фрилансеры
2024-10-16
Разработка на Arduino
дистанционно
договорная
Веб-разработка. Доработка существующего продукта. Дано: металлические емкости, по форме напоминающие увеличенные американские почтовые ящики (далее - ящики) с двумя ячейками, разделенными перегородкой. Дверца каждой ячейки (объемом по 0,5м3) замыкается на электромеханический замок https://promix-center.ru/elektromehanicheskie-zamki/promix-sm104/ Снизу ящика расположен съемный металлический картридж условным размером 300х200х100 (более точный размер определим после комплектации необходимого оборудования.) В местах размещения ящиков нет электросети, а также нет Интернета. Алгоритм взаимодействия пользователей с замками ящиков: Через телеграм-бот пользователь знакомится с сервисом, выбирает, бронирует время и оплачивает ту или иную ячейка того или иного ящика, Бот отправляет Пользователю уникальный код для доступа к ячейке, При нахождении в непосредственной близости к ящику Пользователь нажимает кнопку на картридже, активируя контроллер с Wi-fi-модулем, Пользователь переходит в браузере своего смартфона на страницу локальной сети ящика, куда вводит (“копипастит”) уникальный код, Если код и время доступа верны, замок срабатывает и открывает нужную дверцу (или дверцы), В течение заданного времени Пользователь достает имущество из ячейки, проверяет его и принимает решение, сделав отметку на странице браузера: Он отказывается от аренды. В таком случае Пользователь обязуется: Сложить все имущество в ячейку как было ранее, Закрыть дверцу ячейки, Как только появится связь, отправить через бот мотивированную причину отказа с фото/видео Он начинает аренду (также по умолчанию, при истечении заданного времени). В таком случае Пользователь обязуется: Закрыть дверцу ячейки, По истечении времени аренды Пользователь открывает дверцу ячейки, используя кнопку на картридже и тот же уник.код (повторяет шаги 3-4), складывает все имущество в ячейку как было ранее, и закрывает ее, Пользователь отмечает в браузере как все прошло: “Все возвращено в прежнем виде” или “Что-то требует ремонта или замены” После завершения взаимодействия (шаг 6а или шаг 8) Пользователь обязуется принять от ящика обратную информацию в виде зашифрованного ключа и при появлении интернета передать через бот. Ключ содержит следующие данные: Время открытия замка, Аренда или отказ (6a или 6b), Время закрытия замка, Завершение аренды (8a или 8b), Заряд аккумулятора, Периоды экстремальных температур Техподдержка. Регулярно (не чаще 1 раза в 2 недели; чем реже, тем лучше) сервисмен: снимает картридж, меняет аккумулятор, копирует всю обр.связь за данный период, (при необходимости) открывает ячейки для инспекции имущества, (при необходимости) загружает новые уникальные коды, (при крайней необходимости) увозит картридж с оборудованием на ремонт. Процедура обслуживания на месте должна быть максимально простой и быстрой. Уникальные коды: УК формируются списками и загружаются на контроллеры ящиков, В зависимости от выбора пользователя на шаге 6 контроллер: “убивает” текущий код, или оставляет текущий код для второго доступа. Напоминание. В случае бездействия при открытой дверце, ящик (а в идеале и веб-страница на моб.телефоне пользователя) должны подать звуковой сигнал и напомнить о необходимости закрыть дверцу. Требуется: Спланировать все оборудование: Контроллер (ардуино, esp32, … или иное), Антивандальная кнопка включения контроллера, Аккумулятор достаточной емкости (идеальное время работы 15…20 дней), Прочие необходимые комплектующие (датчик температуры, элемент Пельтье, сирена и т.д.) Написать программу для контроллера (в идеале адаптировать готовое решение), Написать Сайт для лок.сети для пошагового заполнения пользователем: ввод уник.кода (просто кнопка “вставить”), аренда или отказ (шаг6), Как все прошло (шаг8), Скопировать Ключ (после закрытия дверцы).
Москва
Фрилансеры
2024-10-15
Часто задаваемые вопросы
Почему стоит искать работу для фриласнеров по профилю разработка и программирование в Москве у нас?
🔸 Более 1119 предложений о работе за сегодня в тематике разработка и программирование |
🔸 Работа и подработка на бирже фриланса от прямых заказчиков, которым нужна помощь специалистов по профилю разработка и программирование уже сегодня! |
🔸 Свежих заказов на разработка и программирование в Москве для фрилансеров на ноябрь 2024 года — 12 шт. |
Как найти удалённую работу для фриланс-специалистов по профилю разработка и программирование в Москве?
Вы специалист по разработка и программирование и ищете проекты и заказы на удалёнке в Москве? Нам всегда есть что вам предложить. Ежедневно мы публикуем новые проекты и заказы по вашей специальности. Найдите интересную работу уже сегодня
Сколько проектов для IT-специалистов по профилю разработка и программирование в Москве?
На ноябрь 2024 года опубликовано 690593 предложений удалённой работы от прямых заказчиков для исполнителей по специализации разработка и программирование
Сколько можно заработать выполняя проекты по разработка и программирование?
Специалисты по профилю разработка и программирование зарабатывают от 1000.00 рублей с заказа. Хотите больше? Выполняйте как можно больше заказов и зарабатывайте сколько пожелаете