Π’Ρ…ΠΎΠ΄ Π‘Π»ΠΎΠ³
Π‘Ρ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ ΠΈ Ρ€Π΅ΠΌΠΎΠ½Ρ‚
Π Π΅ΠΏΠ΅Ρ‚ΠΈΡ‚ΠΎΡ€Ρ‹
ΠšΡ€Π°ΡΠΎΡ‚Π°
ЀрилансСры
Π Π°Π·Π½Ρ‹Π΅ спСциалисты
Π£Ρ…ΠΎΠ΄ Π·Π° ΠΆΠΈΠ²ΠΎΡ‚Π½Ρ‹ΠΌΠΈ
Π’Ρ€Π΅Π½Π΅Ρ€Ρ‹
Автоинструкторы

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Python β€” удалённая Ρ€Π°Π±ΠΎΡ‚Π° Π² МосквС

Π”Π°Ρ‚Π°: 2022-01-07
Π”Π΅Ρ‚Π°Π»ΠΈ
Π Π΅Π³ΠΈΠΎΠ½
Москва
Π—Π°Π½ΡΡ‚ΠΎΡΡ‚ΡŒ
дистанционно
Π‘Ρ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ
договорная
Π”Π°Ρ‚Π° ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ
2022-01-07
ОписаниС
Π’Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° с нуля. This service provides the user with a signed JWT token (see example below) that is used by the identify the user. eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZS I6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk 6yJV_adQssw5c Which is translated to: { “sub“: “1234567890“, “name“: “John Doe“, “iat“: 1516239022 } However, this solution doesn’t work for automated CI/CD process s (Jenkins, Github actions, CircleCI…), as these services require n automated login. So, we need to create a new microservice (let’s call t AccessService) that will provide users with automated credentials, based on api-keys. Β© 2021 Altostra, Inc Example of possible Use Case: - User logs in to the Altostra and requests a new api-key with `read` permissions. This api-key will be used to automate CI/CD processes. - After receiving the api-key, the user installs it on a local machine. - Before running, a CI/CD process sends an authentication request to Altostra’s AccessService with the api-ke . - The AccessService verifies the api-key and generates a signed Altostra JWT token with the original userId and the permissions associated with this api-key. - The CI/CD process executes Altostra commands using the generated JWT token. The Task Your task is to create the new microservice called “AccessService“ to generate API keys for the users and use these api-keys to generate Altostra JWT tokens on demand. The service needs to support the following 4 REST endpoints: ● Create API key ○ POST / ■ Given an authenticated user request (which contains the userId) and a list of required permissions, generate a new api key for the user. ● Use API key ○ POST /authenticate ■ Given a request with a valid api-key: 1. generate a new signed JWT token for the user with the pre-defined set of permissions 2. Update the “last usage“ date of that API key Β© 2021 Altostra, Inc ● Revoke API key ○ DELETE /{:id} ■ Given an authenticated user request and an API key, revoke the usage of that key. ● Get API keys ○ GET / ■ Given an authenticated user request, get all the API keys of that user in an obstructed form (showing only the last 4 chars, like a credit card) with their status and last recently used date. The outputs ● Implement functionality as described in β€œThe Task” sect on. ● We prefer the solution to be implemented in TypeScript or JavaScript, but you can use any other language. ● Please use your own git repository to manage your code. ● As a final result, please provide a short user guide that describes how to install your code, how to run it and how to get outputs.
ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ Π·Π°ΠΊΠ°Π·Ρ‹

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Python

дистанционно
договорная
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ΠΈ Π±ΠΎΡ‚ΠΎΠ². Π”ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°. ПоТСлания ΠΈ особСнности: ΠΡƒΠΆΠ΄Π°ΡŽΡΡŒ Π² программистС Π½Π° свой софт написанный Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ с ΠΊΠΎΠ½Ρ†Π° октября ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ навсСгда. Π‘ΠΎΡ„Ρ‚ Π² Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΌ состоянии ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΡƒΠΆΠ΅ ΠΏΠΎΡ‡Ρ‚ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ. Π’Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ лишь экстрСнно Ρ„ΠΈΠΊΡΠΈΡ‚ΡŒ ΠΌΠ΅Π»ΠΊΠΈΠ΅ Π±Π°Π³ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠ΅ΡˆΠ°ΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Π΅. + Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΡ€ΠΎΠ±ΠΎΡ‚ΠΊΠ° Π±ΠΎΡ‚Π° со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ. Π˜Ρ‰Ρƒ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠ° с большим ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Ρ‚ ΠΎΠΏΡ‹Ρ‚Π° Π² написании Ρ‚Π°ΠΊΠΈΡ… Π±ΠΎΡ‚ΠΎΠ². Π’Π°ΠΊΠΆΠ΅ Π²Π°ΠΆΠ½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ, Ссли Ρ‡Ρ‚ΠΎ Ρ‚ΠΎ сломаСтся ΠΈ ΠΏΠΎΠΉΠ΄Π΅Ρ‚ Π½Π΅ ΠΏΠΎ ΠΏΠ»Π°Π½Ρƒ Ρ‡Ρ‚ΠΎΠ± Π²Ρ‹ Π±Ρ‹Π»ΠΈ Π½Π° связи ΠΈ Ρ€Π΅ΡˆΠ°Π»ΠΈ этот вопрос.
Москва ЀрилансСры

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Python

дистанционно
договорная
Π‘ΠΊΡ€ΠΈΠΏΡ‚ Π½Π° Python. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° с нуля. Напиши скрипт Π½Π° Python для Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎΠΉ автоматичСской рассылки Ρ‚Π΅Π½Π΄Π΅Ρ€ΠΎΠ² Π½Π° ΡΠ»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΡƒΡŽ ΠΏΠΎΡ‡Ρ‚Ρƒ.
Вомск ЀрилансСры

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Python

дистанционно
договорная
Π’Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° с нуля. ПоТСлания ΠΈ особСнности: Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅ Π² visual studio ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ всС вывСсти Π² Π²ΠΈΠ΄Π΅ Π³Ρ€Π°Ρ„ΠΈΠΊΠΎΠ² с подписями . Π·Π°Π΄Π°Π½ΠΈΠ΅: ВывСсти 5 самых популярных ΠΈΠΌΠ΅Π½ Π·Π° всю ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ, вывСсти 5 популярных муТских ΠΈ 5 популярных ТСнских ΠΈΠΌΠ΅Π½ Π·Π° всю ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ. 5 самых Ρ€Π΅Π΄ΠΊΠΈΡ… ΠΈΠΌΠ΅Π½ Π·Π° всю ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ, 5 муТских ΠΈ 5 ТСнских самых Ρ€Π΅Π΄ΠΊΠΈΡ… ΠΈΠΌΠ΅Π½ Π·Π° всю ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ, ΠΊΡ€ΠΎΠΌΠ΅ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠΌΠ΅Π½ потрСбуСтся вывСсти ΠΈΡ… количСство. ВАкТС Π² ΠΏΠ΅Ρ€Π²ΠΎΠΌ Π·Π°Π΄Π°Π½ΠΈΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΎΡ‚ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π²Π²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ числа Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ с 1880 ΠΏΠΎ 2010, Ссли Π΄Π°Π½Π½Ρ‹Π΅ вводятся Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠΈΡ‚ΡŒ Π²Π²ΠΎΠ΄ Π³ΠΎΠ΄Π° Π΅Ρ‰Π΅ Ρ€Π°Π·, ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Π²Π΅Π΄Π΅Π½ΠΎ число Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ ΠΈΠ»ΠΈ Π½Π΅ Π½Π°ΠΆΠ°Ρ‚Π° ΠΊΠ½ΠΎΠΏΠΊΠ° Π²Ρ‹Ρ…ΠΎΠ΄Π°. ΠŸΠΎΠΏΡ‹Ρ‚Π°Ρ‚ΡŒΡΡ Π½Π°ΠΉΡ‚ΠΈ количСство Ρ€ΠΎΠΆΠ΄Π΅Π½Π½Ρ‹Ρ… Π² 1990 Π³ΠΎΠ΄Ρƒ с ΠΈΠΌΠ΅Π½Π΅ΠΌ Pedro, Greg, Semen, Vito, Jack, Jim.
ΠŸΡ€ΠΈΠΌΠΎΡ€ΡΠΊΠΈΠΉ ΠΊΡ€Π°ΠΉ ЀрилансСры

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Python

дистанционно
договорная
Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для ПК. Π”ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°. Π”ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π±ΠΎΡ‚Π°. парсинг Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠ°Π±ΠΈΠ½Π΅Ρ‚Π°. + Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π·Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ»Π°Ρ‚Ρƒ ΠΏΠΎ договорСнности. ΠΌΠ½ΠΎΠ³ΠΎ.
Москва ЀрилансСры

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Python

дистанционно
договорная
Π’Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° с нуля.
Π‘Π°Π½ΠΊΡ‚-ΠŸΠ΅Ρ‚Π΅Ρ€Π±ΡƒΡ€Π³ ЀрилансСры

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Python

дистанционно
договорная
backend. собСсСдованиС. ΠŸΡ€ΠΎΠ²Π΅ΡΡ‚ΠΈ тСстовоС собСсСдованиС ΠΏΠΎ python для senior ML Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅: 30 ΠΌΠΈΠ½ΡƒΡ‚ - Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ 1-2Ρ… easy/medium алгоритмичСских Π·Π°Π΄Π°Ρ‡ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅. 30 ΠΌΠΈΠ½ΡƒΡ‚ - вопрос-ΠΎΡ‚Π²Π΅Ρ‚ ΠΏΠΎ ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π½Π° python ΠΈ Π΅Π³ΠΎ инфраструктурС : ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Ρ‹, микросСрвисныС Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹, CI/CD, Ρ€Π°Π±ΠΎΡ‚Π° с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π²ΠΈΠ΄Π°ΠΌΠΈ Π‘Π” Π½Π° ΠΏΠΈΡ‚ΠΎΠ½Π΅, ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒ, api ПослС встрСчи Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΈΡΡŒΠΌΠ΅Π½Π½Ρ‹ΠΉ Ρ„ΠΎΠ»ΠΎΡƒΠ°ΠΏ с выявлСнными слабыми мСстами ΠΈ рСкомСндациями Ρ‡Ρ‚ΠΎ стоит Π΄ΠΎΡƒΡ‡ΠΈΡ‚ΡŒ. ПоТСлания ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€Π²ΡŒΡŽΠ²Π΅Ρ€Ρƒ: ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠ΅Ρ‚Π΅ тСхничСскиС собСсСдования Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π½Π° python Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ послСднСго Π³ΠΎΠ΄Π°, Π²Π΅Π΄Π΅Ρ‚Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ прилоТСния Π² микросСрвисной Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ Π½Π° python, ΠΈΠΌΠ΅Π΅Ρ‚Π΅ практичСский ΠΎΠΏΡ‹Ρ‚ Π² пСрСчислСнных Ρ‚Π΅ΠΌΠ°Ρ….
Москва ЀрилансСры

Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π° Python

дистанционно
договорная
Π’Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° с нуля.
Москва ЀрилансСры