𝚂𝚗𝚘𝚠𝙱𝚊𝚕𝚕𝙲𝚘𝚍𝚎


Channel's geo and language: Russia, Russian
Category: Technologies


Простым языком про it, ai и жизнь инди разработчика @Veoeo. Группа: @CodeBallSnow

Related channels

Channel's geo and language
Russia, Russian
Statistics
Posts filter












Литкод задачки с решением на Swift ч.3:

🐬 Climbing Stairs: тебе нужно подняться на вершину лестницы, у которой n ступенек. Каждый раз ты можешь подняться на 1 или на 2 ступеньки. Сколько существует различных способов подняться наверх?

// Примеры
Input: n = 2 → 2
// 1. 1 + 1
// 2. 2

Input: n = 3 → 3
// 1. 1 + 1 + 1
// 2. 1 + 2
// 3. 2 + 1

Input: n = 4 → 5

Объяснение и решение: Это классическая задача на динамическое программирование (почти числа Фибоначчи)
dp[i] = количество способов добраться до i-й ступеньки
dp[i] = dp[i-1] + dp[i-2]

class Solution {
func climbStairs(_ n: Int) -> Int {
if n Bool {
guard s.count == t.count else { return false }

var counter = [Character: Int]()

for char in s {
counter[char, default: 0] += 1
}

for char in t {
guard let count = counter[char], count > 0 else { return false }
counter[char] = count - 1
}

return true
}
}

Эти две задачи тоже легко решаются примерно за 20 минут и отлично развивают мышление (динамика + хеш-таблица)
😍
🥰 @SnowBallCode
😍




Ещё пара интересных задачек с литкода и решением на Swift

🐬 Valid Parentheses: дана строка s, содержащая только символы '(', ')', '{', '}', '[', ']'. Определи, является ли строка валидной: все открытые скобки должны закрываться в правильном порядке и соответствующими типами

// Примеры
Input: s = "()" → true
Input: s = "()[]{}" → true
Input: s = "(]" → false
Input: s = "([)]" → false
Input: s = "{[]}" → true

Объяснение и решение:
• Используем стек: открывающие скобки кладём, закрывающие проверяем и убираем. • Если в какой-то момент не совпадает или стек не пуст в конце false

class Solution {
func isValid(_ s: String) -> Bool {
var stack: [Character] = []

for char in s {
switch char {
case "(", "{", "[":
stack.append(char) // открывающую скобку кладём в стек
case ")":
if stack.last != "(" { return false }
stack.removeLast()
case "}":
if stack.last != "{" { return false }
stack.removeLast()
case "]":
if stack.last != "[" { return false }
stack.removeLast()
default:
return false
}
}

return stack.isEmpty // в конце стек должен быть пустым
}
}

🐬 Best Time to Buy and Sell Stock: дан массив prices, где prices[i] это цена акции в i-й день. Нужно найти максимальную прибыль, которую можно получить, купив акцию в один день и продав в другой (можно не покупать вообще)

// Примеры
Input: prices = [7,1,5,3,6,4] → 5 (купить в 1, продать в 4)
Input: prices = [7,6,4,3,1] → 0
Input: prices = [2,4,1] → 2

Объяснение и решение:
• Проходим по массиву один раз.
• Запоминаем самую низкую цену слева.
• На каждой итерации считаем потенциальную прибыль и сохраняем максимум

class Solution {
func maxProfit(_ prices: [Int]) -> Int {
var minPrice = Int.max // самая низкая цена, которую мы видели
var maxProfit = 0

for price in prices {
if price < minPrice {
minPrice = price // обновляем минимальную цену
} else {
let profit = price - minPrice
if profit > maxProfit {
maxProfit = profit
}
}
}

return maxProfit
}
}

Эти две задачи отлично дополняют предыдущие (Two Sum + Palindrome Number). Они тоже решаются за 10–20 минут, но уже требуют чуть больше размышлений

🥰 @SnowBallCode
😍


OpenAI готовит первую физическую клавиатуру Codex Micro

Это компактный макропад который они сделали вместе с Work Louder специально для работы с их AI-кодинг помощником. Устройство получило механические клавиши джойстик и удобное сенсорное управление благодаря этому можно быстро выполнять основные действия при работе с агентами в Codex одним нажатием, вместо того чтобы каждый раз использовать комбинации клавиш. Будет стоить около 230 $

Думаю такая вещь упростит рутину для тех кому совсем лень работать в Codex с клавиатуры. Кнопка push to talk какбы намекает на это

🥰 @SnowBallCode
😍


Выкатил обновлённую контент-фабрику подтянув проект до функционала монетизации!

Суть проста как жизнь автооюбителя в Москве: в первую очередь бот написан админом для админов. В нём можно создавать отложенные публикации, генерировать стилистически похожие тексты, на те, которые уже есть в вашем канале. Ещё можно создавать иллюстрации. Сейчас у сервиса включена монетизация только через stars, жду когда мне включат оплату картой за рубли на робокассе. Там какая-то проблема, пишут что бот не реагировал на старт, хотя я проверил на двух аккаунтах и всё работает. Бекенд крутится, вебхуки обновлены. Вообщем жду ответа

Кстати, у меня есть запас по экономике бота и я возможно поменяю mini модели использующиеся в нём на что-то более крутое, посмотрим

🥰 @SnowBallCode
😍


На прошлой неделе вы проголосовали за LeetCode, вот две простые задачки на Swift с решениями

🐬 Дан массив целых чисел nums и целое число target. Нужно вернуть индексы двух разных элементов, сумма которых равна target

// Пример
Input: nums = [2,7,11,15], target = 9
Output: [0,1]

🐬 Определить, является ли целое число палиндромом (читается одинаково в прямом и обратном порядке)

// Примеры
Input: x = 121 → true
Input: x = -121 → false
Input: x = 10 → false

Решение с объяснением в комментариях. Если понравились изи задачки напиши какие уровни опубликовать в следующий раз. Я их решил не сразу, понадобилось время 🤔

🥰 @SnowBallCode
😍


Ого. Кто бы мог подумать что приложения подозреваемые в слежке за пользователями продолжат ликвидировать

Саммери: Apple удалила из App Store сразу несколько приложений VK: Mail точка ru, VK Музыку, VK Видео, VK Мессенджер, Дзен, Одноклассники и другие сервисы. В VK заявили, что удаление произошло без предупреждения и объяснений назвав такое решение необоснованным и неприемлемым. Госдума же потребовала от Apple объяснить причины удаления. Московский суд уже впаял штраф полмиллиона соответствующему юрлицу за "неисполнение обязанностей по распространению информации в интернете". Apple заявила, что действует в рамках санкционных требований. Интересно, теперь начнётся давление на компанию и блокировки серверов обновлений Apple или чего нам теперь ждать?

Хотите квизы по программированию, стартапам, нейросетям или общим темам из it? 👍🏼- да, 👎🏼 - нет

🥰 @SnowBallCode
😍


Четыре популярных алгоритма на Swift с объяснением где их обычно применяют:

1. Линейный поиск. Самый простой способ найти элемент в массиве. Используют когда массив маленький и не отсортирован, например для поиска в коротком списке

func linearSearch(_ array: [T], target: T) -> Int? {
for (index, element) in array.enumerated() {
if element == target {
return index
}
}
return nil
}

// Пример
let numbers = [5, 3, 8, 1, 9, 2]
if let index = linearSearch(numbers, target: 8) {
print("Элемент найден на позиции \(index)") // 2
}

2. Бинарный поиск. Гораздо быстрее линейного, но работает только с отсортированными массивами. Используют в больших отсортированных списках, таких как поиск пользователей, товаров, автодополнение и всё такое

func binarySearch(_ array: [T], target: T) -> Int? {
var left = 0
var right = array.count - 1

while left 1 else { return array }

let pivot = array[array.count / 2]
let less = array.filter { $0 < pivot }
let equal = array.filter { $0 == pivot }
let greater = array.filter { $0 > pivot }

return quickSort(less) + equal + quickSort(greater)
}

// Пример
let array = [10, 80, 30, 90, 40, 50, 70]
let sorted = quickSort(array)
print(sorted)

В реальных приложениях чаще используют готовые методы .sorted(), .firstIndex(of:) и структуры данных из стандартной библиотеки (Array, Set, Dictionary). Также в функциях используется и . Это дженерики в Swift где универсальный тип-заполнитель, благодаря которому функция работает с любыми данными: Int, String, вашими моделями. Буква T это стандартное обозначение от слова "Type"

🥰 @SnowBallCode
😍


Поговорим сегодня о обстоятельствах непреодолимой силы на примере IT

Я уже ныл на тему того, что мой хостер 'https://t.me/snowballcode/296?comment=613' rel='nofollow'>соседствовал с дельцами которые сдавали серверы для развёртывания приватной сети и ею пользовались киберпреступники. Так вот, сегодня вычитал в одном телеграм канале что люди из гд додумались запретить для российских сайтов и приложений авторизацию через зарубежные сервисы. На момент написания статьи этот законопроект принят в 3х чтениях, но ещё застрял в совете федерации и не подписан одним известным лицом. В прошлом месяце была новость о запрете github, но видимо до него дело так и не дошло. Весной вообще хотели заблокировать зарубежные нейросети, видимо кто эту инициативу продвигал не в курсе что почти все западные сервисы и так банят аккаунты россиян. Со всеми перечисленными проблемами я как-то справился, вопрос вот в чём: сколько моих сограждан опустили руки и не нашли решение? Сколько россиян пользуются махом, вк и другими "наш ответ им"?

На моём этапе обойти эти ограничения для работы не составляет труда, но я заметил что обывател вообще порой не понимает разницу между gmail и вк. Если законопроект подпишут, то штрафы будут огромные. Знаете как админы решат проблему? Часть из них обновит шлюзы авторизации, а другие зарегистрируют домены на друга из Казахстана и Россия опять потеряет множество траффика и интересных проектов

🥰 @SnowBallCode
😍


Интересно, а что если мне ещё раз пройти теорию из курса Яндекса?

Сейчас я неспешно почитываю карьерный трек, но к заданиям по составлению резюме пока не приступал. В отличие от основной программы которую я прошёл, здесь все темы уже открыты для ознакомления. Нет таких замочков что открывались только после окончания спринта из проекта в проект. Всё-таки я буду немного в этом участвовать и составлю резюме с сопроводительным письмом о своих проектах на Swift, но займусь этим ближе к середине лета. Сейчас хочу сосредоточиться над продвижением своей сетки ботов и двух коммерческих проекта в телеграм. Хочу вывести их на самоокупаемость

Как готовитесь к жаре? Я вот утащил у сестры вентилятор 😆

🥰 @SnowBallCode
😍


Удивительно как легко может рухнуть то, что не продуманно до всех возможных мелочей

Вот как предугадать что часть независимой от меня инфраструктуры в момент станет недоступна? Никак. Можно лишь делать бекапы баз данных, а при разрастании проекта создавать realtime реплики на других локациях. В моем случае всё обошлось малыми потерями. Почти всем пользователям я компенсировал потерянные токены. Если кто-то ответит на письмо позже - начислю на их аккаунт тоже. Это моя зона ответственности. На данный момент я всё-таки не готов делать реплики на параллельный сервер, проще делать ежедневные бекапы прямо на VPS и специальным скриптом скачивать самые свежие версии бд на мак по ssh

Сейчас дорабатываю юзерфлоу бота по нейрофотографии убирая лишние сообщения, тк совершенству нет предела. А у вас были факапы? Как справились?

🥰 @SnowBallCode
😍


У моего хостера физически изъяли серверы в Нидерландах

Разумеется я все хостил в одной локации, у одного поставщика, без балансировщика и зеркал. Чтож, базы данных потеряны, исходный код сохранён, все конфиги сервера, хрон события и другие скрипты мне хватило ума закоммитить. И на том спасибо. Когда подниму все сервисы пройдусь по истории оплат в Robokassa и накину всем токены для @NeurFotoBot, даже если они были потрачены ранее или купили 💎 токены за stars. Такие дела, в комментариях написал про этот инцидент подробнее

🥰 @SnowBallCode
😍


А что если я свой пет проект превращу в стартап?

Значительно прокачал бота по нейрофотографии и теперь он полностью на инлайн кнопках, локализован на все СНГ языки и использует премиум и кастомные эмодзи! На фото снимок меня если бы я родился и прожил всю жизнь девушкой xd. А ещё меня сильно подставил провайдер по работе с моделями. Для своего бота я использовать training модель в контейнере на replicate и всё было хорошо три месяца, а потом начались проблемы. В итоге пришлось завести аккаунт на fal ai, закинуть туда доллары и провести ряд тестов. Сейчас полёт нормальный, к тому же я в ui по добавлению снимков перед обучением модели расширил возможность добавления до 18 фото и количество шагов тренировки с 800 до 1500 это дает более предсказуемый результат. Хотя по прежнему многое зависит от качества и различимости лиц на загружаемых пользователем фотографиях. Такие дела, а у вас есть какой-нибудь пет-проект или стартап?

🥰 @SnowBallCode
😍


Я сейчас начал разрабатывать новый сервис и почти довёл его до MVP

Думаю что за год я примерно понял куда двигаться в сфере телеграм ботов. Да и в целом it индустрия направляется по пути внедрения ai в свои продукты. Уверен что здесь не только хайп и "пузырь доткомов" которым сейчас пугают некоторые блогеры, но и огромное поле возможностей для всех желающих. Именно поэтому я хочу придумать, протестировать и разработать сервис для бизнеса или платформу которой будут пользоваться обычные люди по подписке @iNeedVisionary. С приходом недорогих сервисов вроде курсора, клода и кодекса почти каждый может попробовать свою гипотезу цифрового продукта или даже открыть свою студию разработки в одного специалиста

Вопрос только в том: сколько миллионов таких же энтузиастов в один момент посетила похожая мысль?

🥰 @SnowBallCode
😍


Блог начинался как мой путь в разработку через самостоятельное изучение Swift и Яндекс практикум

С тех пор многое поменялось. Я не готов всё время рассказывать о своём опыте и этой платформе. Именно сейчас я прохожу там карьерный трек, но мне больше интересна тема стартапов и нейросетей. Из-за этого я впервые не опубликовал сегодня запись в 9:41. Ранее публикации всегда символично выходили по четвергам именно в это время. Изменения сделаны намеренно. Канал я всё-таки поменяю исходя из своих приоритетов. Кто со мной: идите всех обниму, с кем пути расходятся, благодарю за доверие, поддержку и крепко жму руку

Теперь в 20:20 я буду публиковать тут тексты о стартапах, своих разработках, нейросетях и немного о программировании

@SnowBallCode
😍

20 last posts shown.