KennixDev - Software Engineer
61 subscribers
43 photos
1 video
6 files
47 links
Software Engineer (Product / Full-Stack / DevOps)

Group: @KennixDevGroup
Me: @Kennix88
GitHub: https://github.com/Kennix88
@solycmty
Download Telegram
Channel photo updated
Всем ахаё как говорится😁
В этом телеграм канале я буду делиться своими мыслями Тем как решаю задачки по программироваю на code wars или каком другом сервисе
Где и как я обучаюсь чему-либо
Как провожу свои тренировки. Кое какие замеры тела соотвественно 😁
Ну и в целом может какую-то инсайдерскую информацию обо мне, которая мало кому известна🙃
🤔2
Про CodeWars - Что это такое и с чем его едят

CodeWars - это некое образовательное сообщество по программированию. На платформе разработчики программного обеспечения обучаются задачам программирования, эти самые задачи там называют "ката", не вникал почему😅
Решать задачи можно на 57 различных языках программирования. Ниже прикрепил скриншот, что есть на выбор, серым отмечены те, которые мне интересны и я изучаю их в той или иной степени.
Мне пришлось создать бота чтобы красиво оформлять посты. Стандартными функциями телеграмма такого не добиться😅
Channel name was changed to «Kennix88 - Просто Кеша:)»
​​На CodeWars есть система прогресса

1) Ранги от 8 до 1 kyu, чем меньше тем лучше. Мой текущий ранг 7 kyu. Ранги получаешь за решение Kata(Задач) и за рост очков репутации.

2) Очки репутации. Начинаешь по-моему с 6 очков, сейчас у меня 48 очков. Из начисляют так же за прохождение kata и если качество твоего кода нравится другим пользователям, они ставят так скажем респект и тебе начисляют за это очки репутации.

3) Третий основной показатель это количество пройденных Kata. На текущий момент у меня 10
​​И так, давайте решим первую задачку на CodeWars

Условие задачи:

Учитывая строку цифр, вы должны заменить любую цифру ниже 5 на "0", а любую цифру 5 и выше - на "1". Верните результирующую строку.

Примечание: входные данные никогда не будут пустой строкой


Я решаю задачи на TypeScript. поэтому стартовый код представлен на нем.
Свое решение я скину ниже как только решу задачу:)

Стартовый код:

export const fakeBin = (x:string):string => {
// your code here
};


Код для тестов

import solution = require('./solution');
import {assert} from "chai";

describe("Example tests", function() {
it("should work for simple cases", function() {
assert.equal(solution.fakeBin('45385593107843568'), '01011110001100111');
assert.equal(solution.fakeBin('509321967506747'), '101000111101101');
assert.equal(solution.fakeBin('366058562030849490134388085'), '011011110000101010000011011');
});
});
​​Мое решение в одну строку)
Решал, казалось бы простую задачку, довольно долго. Хотел решить максимально лучшим способом, использовав минимум кода.

export const fakeBin = (x:string):string => {
return x.split('').map(parseFloat).map((num) => num < 5 ? '0' : '1').join('')
};
А вот решения других людей. После решения задачи, можно посмотреть кто как решил. Первые два, явно знают побольше моего, их код еще короче)))
После решения задачи, нужно обязательно разобрать по полочкам лучшее решение. Там был вызван всего лишь один метод replace. И теперь мне нужно будет прочитать документацию о нем, чтобы на будущее знать как он работает, что он есть и в следующий раз использовать уже его
Добавлять ссылки на документацию к методам, которые используются в решении задач?
Anonymous Poll
100%
Да
0%
Нет
Не знал, что есть функции в каналам для отключения уведомлений к определенным постам в ленте. В дальнейшем буду выкладывать посты с уведомлениями только со срочными сообщениями для вас! Дабы не спамить уведомлениями🙃
Надо бы уже купить большие горшки, а то два денежных дерева уже пришлось в вёдра посадить😅 настолько они уже большие)
Взял их под свой контроль, а то их запустили
Будут дружить с авокадиком 😁