Я x Буше x Kotelov
Это был крутой кейс для портфолио, о котором уже писали и не один раз, который получили награды и залетел в топ 10 приложений на Workspace Digital Awards 2024. На проекте я был ведущим разработчиком и teamlead-ом. В первый раз попробовал себя в роли управленца и, честно говоря, мне не очень понравилось. Есть определенные сложности в работе, которые мы, кстати, обсуждали вместе с Женей Антоновым на подкасте. У него есть крутой канал, на который, я считаю, стоит подписаться, если тебе интересно руководить командой.
Но с другой стороны, это был отличный опыт разработки для общепита, к тому же для меня он был первым. Построение архитектуры, формирование инфраструктуры, написание кодовой базы - все делалось с нуля. Ограничения были только со стороны заказчика на определенный стек, поскольку они не хотели плодить зоопарк технологий, что я, собственно, поддерживаю.
К сожалению, технические аспекты раскрыть не могу. Но зато могу поделиться общим впечатлением.
Построение архитектуры
Для того чтобы что-то делать, надо понять, что именно надо делать. Сначала я собрал всю информацию, что у нас есть от заказчика, так называемые функциональные требования: каталог, возможность заказа, push-оповещения и так далее. Попытался накидать черновик схемы взаимодействий. Затем начал описывать все компоненты, которые будут у нас в системе и как они будут общаться друг с другом.
После этого настал черед посмотреть на нефункциональные требования - DAU, availability, количество пользователей и так далее. В схему добавились новые компоненты, что-то из текущих изменилось для обеспечения функциональности, отслеживания ошибок и мониторинга показателей. Необходимо помнить о том, что мы ориентируемся на бизнес, а ему важны цифры - мы должны их предоставить.
Пишем код
Если вы думаете, что написать backend для мобильного приложения, которое обслуживает 300к+ пользователей без багов, просто - это не так. Есть множество моментов, которые сложно учесть, нюансы, которые будут у каждого бизнеса свои, и много других подводных камней. Чтобы этого избежать, приходится очень часто созваниваться и встречаться с бизнесом. Проводить множество тестов. Я как-то раз поехал в "Буше" и в реальном времени делал заказ через бета-версию приложения, чтобы отладить работу.
Запуск приложения
Наступает тот самый момент перед запуском, тебя наполняет множество эмоций, но они быстро исчезают. Весь запуск состоит в том, что ты, условно, просто нажимаешь кнопку «опубликовать» и потом начинаешь долго и мучительно смотреть логи, метрики, получать сообщения из техподдержки и моментально править все, что только возможно. Никакого шампанского, фейерверков и танцев до утра - в общем, совсем не весело.
Небольшим итогом, могу сказать, что это было круто! Конечно, глупо отрицать, что иногда хотелось это все бросить, были моменты, которые раздражали и в целом сложностей было достаточно. Но я рад, что был на этом проекте.
Это был крутой кейс для портфолио, о котором уже писали и не один раз, который получили награды и залетел в топ 10 приложений на Workspace Digital Awards 2024. На проекте я был ведущим разработчиком и teamlead-ом. В первый раз попробовал себя в роли управленца и, честно говоря, мне не очень понравилось. Есть определенные сложности в работе, которые мы, кстати, обсуждали вместе с Женей Антоновым на подкасте. У него есть крутой канал, на который, я считаю, стоит подписаться, если тебе интересно руководить командой.
Но с другой стороны, это был отличный опыт разработки для общепита, к тому же для меня он был первым. Построение архитектуры, формирование инфраструктуры, написание кодовой базы - все делалось с нуля. Ограничения были только со стороны заказчика на определенный стек, поскольку они не хотели плодить зоопарк технологий, что я, собственно, поддерживаю.
К сожалению, технические аспекты раскрыть не могу. Но зато могу поделиться общим впечатлением.
Построение архитектуры
Для того чтобы что-то делать, надо понять, что именно надо делать. Сначала я собрал всю информацию, что у нас есть от заказчика, так называемые функциональные требования: каталог, возможность заказа, push-оповещения и так далее. Попытался накидать черновик схемы взаимодействий. Затем начал описывать все компоненты, которые будут у нас в системе и как они будут общаться друг с другом.
После этого настал черед посмотреть на нефункциональные требования - DAU, availability, количество пользователей и так далее. В схему добавились новые компоненты, что-то из текущих изменилось для обеспечения функциональности, отслеживания ошибок и мониторинга показателей. Необходимо помнить о том, что мы ориентируемся на бизнес, а ему важны цифры - мы должны их предоставить.
Пишем код
Если вы думаете, что написать backend для мобильного приложения, которое обслуживает 300к+ пользователей без багов, просто - это не так. Есть множество моментов, которые сложно учесть, нюансы, которые будут у каждого бизнеса свои, и много других подводных камней. Чтобы этого избежать, приходится очень часто созваниваться и встречаться с бизнесом. Проводить множество тестов. Я как-то раз поехал в "Буше" и в реальном времени делал заказ через бета-версию приложения, чтобы отладить работу.
Запуск приложения
Наступает тот самый момент перед запуском, тебя наполняет множество эмоций, но они быстро исчезают. Весь запуск состоит в том, что ты, условно, просто нажимаешь кнопку «опубликовать» и потом начинаешь долго и мучительно смотреть логи, метрики, получать сообщения из техподдержки и моментально править все, что только возможно. Никакого шампанского, фейерверков и танцев до утра - в общем, совсем не весело.
Небольшим итогом, могу сказать, что это было круто! Конечно, глупо отрицать, что иногда хотелось это все бросить, были моменты, которые раздражали и в целом сложностей было достаточно. Но я рад, что был на этом проекте.
🔥3🍾3❤2💔1
Начнем день с повторения алгоритмов и сегодня у нас в гостях.
Циклическая сортировка
Основные применения метода циклической сортировки:
- когда требуется минимизировать количество операций записи.
- когда необходимо выполнить сортировку "на месте", минимизируя использование дополнительной памяти.
Алгоритм:
1. Для каждого элемента массива ищем правильную позицию для вставки этого элемента.
2. Когда мы находим правильную позицию, проверяем, не находимся ли мы уже в начале цикла. Если да, завершаем текущий цикл.
3. Вставляем элемент на правильную позицию.
4. Переходим к следующему элементу и повторяем процесс.
5. Повторяем процесс до тех пор, пока не отсортируем все элементы.
По памяти - O(1), по времени - O(n^2)
Пример задачи: Отсортировать массив целых чисел с использованием циклической сортировки.
#ПовторяемАлгосы
Циклическая сортировка
Основные применения метода циклической сортировки:
- когда требуется минимизировать количество операций записи.
- когда необходимо выполнить сортировку "на месте", минимизируя использование дополнительной памяти.
Алгоритм:
1. Для каждого элемента массива ищем правильную позицию для вставки этого элемента.
2. Когда мы находим правильную позицию, проверяем, не находимся ли мы уже в начале цикла. Если да, завершаем текущий цикл.
3. Вставляем элемент на правильную позицию.
4. Переходим к следующему элементу и повторяем процесс.
5. Повторяем процесс до тех пор, пока не отсортируем все элементы.
По памяти - O(1), по времени - O(n^2)
Пример задачи: Отсортировать массив целых чисел с использованием циклической сортировки.
func cycleSort(arr []int) {
length := len(arr)
for cycleStart := 0; cycleStart < length-1; cycleStart++ {
item := arr[cycleStart]
pos := cycleStart
// Находим правильную позицию для текущего элемента
for i := cycleStart + 1; i < length; i++ {
if arr[i] < item {
pos++
}
}
// Если текущая позиция совпадает с началом цикла, значит, элемент уже на своем месте
if pos == cycleStart {
continue
}
// Пропускаем дубликаты
for item == arr[pos] {
pos++
}
// Перемещаем элемент на его правильную позицию
if pos != cycleStart {
item, arr[pos] = arr[pos], item
}
// Перемещаем оставшиеся элементы в текущий цикл
for pos != cycleStart {
pos = cycleStart
for i := cycleStart + 1; i < length; i++ {
if arr[i] < item {
pos++
}
}
for item == arr[pos] {
pos++
}
if item != arr[pos] {
item, arr[pos] = arr[pos], item
}
}
}
}#ПовторяемАлгосы
🙏1🌚1
Творчество или логика
Задумался о том, что со временем в работе программиста так называемая логика побеждает творчество в решении вопросов. В самом начале пути ты больше экспериментируешь, проявляешь смекалку, «креативишь» — если можно так сказать. Тебя вдохновляет сам процесс того, что ты создаешь что-то новое (возможно, только для тебя), будь то игра, скрипт или какой-то сайт — в это время творчество и логика работают в команде и помогают тебе находить необычные решения.
Но со временем, когда мы набираемся опыта, работаем над коммерческими проектами, читаем и пишем код, на первый план выходит логика. Появляются строгие архитектурные стандарты, требования по безопасности, оптимизации и поддерживаемости кода. Мы становимся более дисциплинированными и структурированными, следуем проверенным методологиям и паттернам.
Думаю, еще не малую роль сыграли AI… Но оставлю эту мысль на другой пост, а пока просто вкину пример: Copilot, который подсказывает вам «правильный» вариант кода, уже подумал за вас и заставляет вас думать над тем, что написал он, вместо того, чтобы просто проявить фантазию.
Конечно, я не говорю о том, что творчество и креатив исчезают. Они скорее видоизменяются, и творчество теперь проявляется в поиске оптимальных решений, которые соответствуют текущим требованиям. То есть, мы строим архитектуру, которую можно масштабировать, или пишем код, который легко поддерживать — в этом тоже есть своего рода творчество, но оно немного другое.
Но, блин, иногда хочется, да и в целом, я считаю, что надо возвращаться в то время, когда всё казалось проще и свободнее. Заводить pet-проекты, пробовать различные технологии, которые никогда не добавят в вашу инфраструктуру, соглашаться на какие-то сторонние проекты или помогать друзьям и просто кайфовать от процесса. Я уверен, что именно в таком процессе и рождаются гениальные идеи!
Этот канал я могу также назвать попыткой проявить творчество и размять мозг. И это оказалось совсем не просто. У меня нет четкого понимания для чего я его сделал и к чему иду, интересно это аудитории или нет, но подстраиваться под тренды, рекламу или еще что-либо я не хочу. Основная идея - нет идеи, нет логики, только творчество.
#ХабМыслей #МоментДляРазмышлений
Задумался о том, что со временем в работе программиста так называемая логика побеждает творчество в решении вопросов. В самом начале пути ты больше экспериментируешь, проявляешь смекалку, «креативишь» — если можно так сказать. Тебя вдохновляет сам процесс того, что ты создаешь что-то новое (возможно, только для тебя), будь то игра, скрипт или какой-то сайт — в это время творчество и логика работают в команде и помогают тебе находить необычные решения.
Но со временем, когда мы набираемся опыта, работаем над коммерческими проектами, читаем и пишем код, на первый план выходит логика. Появляются строгие архитектурные стандарты, требования по безопасности, оптимизации и поддерживаемости кода. Мы становимся более дисциплинированными и структурированными, следуем проверенным методологиям и паттернам.
Думаю, еще не малую роль сыграли AI… Но оставлю эту мысль на другой пост, а пока просто вкину пример: Copilot, который подсказывает вам «правильный» вариант кода, уже подумал за вас и заставляет вас думать над тем, что написал он, вместо того, чтобы просто проявить фантазию.
Конечно, я не говорю о том, что творчество и креатив исчезают. Они скорее видоизменяются, и творчество теперь проявляется в поиске оптимальных решений, которые соответствуют текущим требованиям. То есть, мы строим архитектуру, которую можно масштабировать, или пишем код, который легко поддерживать — в этом тоже есть своего рода творчество, но оно немного другое.
Но, блин, иногда хочется, да и в целом, я считаю, что надо возвращаться в то время, когда всё казалось проще и свободнее. Заводить pet-проекты, пробовать различные технологии, которые никогда не добавят в вашу инфраструктуру, соглашаться на какие-то сторонние проекты или помогать друзьям и просто кайфовать от процесса. Я уверен, что именно в таком процессе и рождаются гениальные идеи!
Этот канал я могу также назвать попыткой проявить творчество и размять мозг. И это оказалось совсем не просто. У меня нет четкого понимания для чего я его сделал и к чему иду, интересно это аудитории или нет, но подстраиваться под тренды, рекламу или еще что-либо я не хочу. Основная идея - нет идеи, нет логики, только творчество.
#ХабМыслей #МоментДляРазмышлений
🔥2👍1👏1
Небольшой ретрит на выходные
Уехать на природу на пару дней без связи и интернета — в этом есть что-то привлекательное. Не буду говорить, что подобные практики полезны, типа перезагружается мозг, очищаются мысли и все такое. Просто хочу сказать, что это было кайфово.
Я на два дня в целом забыл о существовании телефона, и, честно говоря, он мне даже не был нужен. Периодически возникали мысли о работе, но они очень быстро уходили.
Перезагрузился ли я?
Не заметил такого.
Нашел ли я смысл жизни?
Нет. Но для меня просто отдохнуть — это уже достижение.
Придумал план, как привести сюда миллион подписчиков?
К сожалению, тоже нет.
Важно то, что эти два дня напомнили мне о важности баланса между работой и отдыхом. Да, возможно, я не привез домой новых идей и планов на миллион, но я вернулся с чувством внутреннего покоя и свежей энергии.
Ну и из полезного:
* Поймал рыбу (1 штука)
* Готовил два дня на костре
* Закончил текст для конференции на завтра
#хабМыслей #МоментДляРазмышлений
Уехать на природу на пару дней без связи и интернета — в этом есть что-то привлекательное. Не буду говорить, что подобные практики полезны, типа перезагружается мозг, очищаются мысли и все такое. Просто хочу сказать, что это было кайфово.
Я на два дня в целом забыл о существовании телефона, и, честно говоря, он мне даже не был нужен. Периодически возникали мысли о работе, но они очень быстро уходили.
Перезагрузился ли я?
Не заметил такого.
Нашел ли я смысл жизни?
Нет. Но для меня просто отдохнуть — это уже достижение.
Придумал план, как привести сюда миллион подписчиков?
К сожалению, тоже нет.
Важно то, что эти два дня напомнили мне о важности баланса между работой и отдыхом. Да, возможно, я не привез домой новых идей и планов на миллион, но я вернулся с чувством внутреннего покоя и свежей энергии.
Ну и из полезного:
* Поймал рыбу (1 штука)
* Готовил два дня на костре
* Закончил текст для конференции на завтра
#хабМыслей #МоментДляРазмышлений
🔥4
Это были долгие два дня
Понедельник итак день тяжелый, так еще и весь день не мог нормально сконцентрироваться на задачах и привести мысли в порядок.
Я готовил текст на выступление, пересматривал презентацию, выбирал шмотки, и все это между рабочими тасками.
Ну а вечером я уже сидел в поезде до Москвы. А там в 6 утра я пересел в поезд на Кострому. Финалом было такси, которое увезло меня за город на одну базу отдыха. Дорога не особо приятная, но таков путь.
Я не умею делать прогревы, да и сил особо не осталось, просто хочу сказать, что весь этот путь был проделан ради того, чтобы выступить на летней школе программирования для крутых ребят, победителей олимпиад по информатике/математике
Понедельник итак день тяжелый, так еще и весь день не мог нормально сконцентрироваться на задачах и привести мысли в порядок.
Я готовил текст на выступление, пересматривал презентацию, выбирал шмотки, и все это между рабочими тасками.
Ну а вечером я уже сидел в поезде до Москвы. А там в 6 утра я пересел в поезд на Кострому. Финалом было такси, которое увезло меня за город на одну базу отдыха. Дорога не особо приятная, но таков путь.
Я не умею делать прогревы, да и сил особо не осталось, просто хочу сказать, что весь этот путь был проделан ради того, чтобы выступить на летней школе программирования для крутых ребят, победителей олимпиад по информатике/математике
🤩4👾1
Media is too big
VIEW IN TELEGRAM
И что меня ждало далее
Я не совсем понимал, куда я еду, и как это будет выглядеть, поэтому все, что я видел далее, было неожиданно.
Лагерь - топ. Я вернулся в свое детство, когда сам просил родителей отправить меня в подобный. Правда, там не было компьютеров, телефонов и направленность лагеря была в спорт, но это не суть.
Очень крутой и молодой коллектив ребят организаторов, я рад знакомству с каждым. Теплая, дружелюбная атмосфера. Все рассказали, показали, накормили и успокоили. Наверно, от части, это также помогло хорошо выступить.
Ну и само выступление вызвало бурю эмоций. Очень приятно видеть в глазах ребят рвение. Я видел, как они слушали, делали какие-то пометки и в конце задали большое количество вопросов. Им хотелось слышать как можно больше реальных историй, ведь они драйвят больше всего. Ну и без интересных каверзных вопросов тоже мы не обошлись 😅 Подарил мерча самым активным ребятам за крутые вопросы.
Это был незаменимый опыт. Лично для себя могу сделать вывод, что выступать мне нравится. Я не могу объективно оценить свое выступление, но уже сейчас скажу, что это только начало.
Я не совсем понимал, куда я еду, и как это будет выглядеть, поэтому все, что я видел далее, было неожиданно.
Лагерь - топ. Я вернулся в свое детство, когда сам просил родителей отправить меня в подобный. Правда, там не было компьютеров, телефонов и направленность лагеря была в спорт, но это не суть.
Очень крутой и молодой коллектив ребят организаторов, я рад знакомству с каждым. Теплая, дружелюбная атмосфера. Все рассказали, показали, накормили и успокоили. Наверно, от части, это также помогло хорошо выступить.
Ну и само выступление вызвало бурю эмоций. Очень приятно видеть в глазах ребят рвение. Я видел, как они слушали, делали какие-то пометки и в конце задали большое количество вопросов. Им хотелось слышать как можно больше реальных историй, ведь они драйвят больше всего. Ну и без интересных каверзных вопросов тоже мы не обошлись 😅 Подарил мерча самым активным ребятам за крутые вопросы.
Это был незаменимый опыт. Лично для себя могу сделать вывод, что выступать мне нравится. Я не могу объективно оценить свое выступление, но уже сейчас скажу, что это только начало.
🔥8😍2
Интервальное слияние
Основные применения метода интервального слияния:
- Задачи, связанные с расписаниями, временными промежутками и любыми задачами, требующими объединения пересекающихся или смежных интервалов
- Также оптимизации и упрощения работы с временными данными, такими как управление ресурсами, планирование задач и обработка временных интервалов
Алгоритм:
1. Сначала сортируем интервалы по начальным значениям.
2. Затем начиная с первого интервала и перебираем все остальные интервалы.
3. Если текущий интервал пересекается с предыдущим, объединяем их в один интервал.
4. Если текущий интервал не пересекается с предыдущим, добавляем предыдущий интервал к результирующему списку и продолжаем сравнивать текущий интервал с последующими.
Временная сложность:
* Сортировка интервалов: O(n log n), где n - количество интервалов. Это связано с тем, что перед объединением интервалов необходимо отсортировать их по начальным точкам.
* Объединение интервалов: O(n), после сортировки интервалы объединяются за линейное время.
Таким образом, общая временная сложность алгоритма интервального слияния составляет O(n log n), где n - количество интервалов.
Пространственная сложность:
Пространственная сложность зависит от того, какие структуры данных используются для хранения интервалов и промежуточных результатов. Обычно это может быть O(n) дополнительной памяти для хранения отсортированных интервалов и результата их слияния.
Пример задачи: Объединить пересекающиеся временные интервалы.
#ПовторяемАлгосы
Основные применения метода интервального слияния:
- Задачи, связанные с расписаниями, временными промежутками и любыми задачами, требующими объединения пересекающихся или смежных интервалов
- Также оптимизации и упрощения работы с временными данными, такими как управление ресурсами, планирование задач и обработка временных интервалов
Алгоритм:
1. Сначала сортируем интервалы по начальным значениям.
2. Затем начиная с первого интервала и перебираем все остальные интервалы.
3. Если текущий интервал пересекается с предыдущим, объединяем их в один интервал.
4. Если текущий интервал не пересекается с предыдущим, добавляем предыдущий интервал к результирующему списку и продолжаем сравнивать текущий интервал с последующими.
Временная сложность:
* Сортировка интервалов: O(n log n), где n - количество интервалов. Это связано с тем, что перед объединением интервалов необходимо отсортировать их по начальным точкам.
* Объединение интервалов: O(n), после сортировки интервалы объединяются за линейное время.
Таким образом, общая временная сложность алгоритма интервального слияния составляет O(n log n), где n - количество интервалов.
Пространственная сложность:
Пространственная сложность зависит от того, какие структуры данных используются для хранения интервалов и промежуточных результатов. Обычно это может быть O(n) дополнительной памяти для хранения отсортированных интервалов и результата их слияния.
Пример задачи: Объединить пересекающиеся временные интервалы.
type Interval struct {
Start int
End int
}
func merge(intervals []Interval) []Interval {
if len(intervals) <= 1 {
return intervals
}
// Сортировка интервалов по начальному значению
sort.Slice(intervals, func(i, j int) bool {
return intervals[i].Start < intervals[j].Start
})
merged := make([]Interval, 0)
current := intervals[0]
for i := 1; i < len(intervals); i++ {
if intervals[i].Start <= current.End {
// Если текущий интервал пересекается с предыдущим, объединяем их
current.End = max(current.End, intervals[i].End)
} else {
// Если текущий интервал не пересекается с предыдущим, добавляем предыдущий к результирующему списку
merged = append(merged, current)
current = intervals[i]
}
}
merged = append(merged, current)
return merged
}#ПовторяемАлгосы
❤1👨💻1
Как я попал в это ваше IT
Шамистан запустил прикольную волну, которую подхватил Олег и сделал пост на ту же тему (ставь ему огонек, если интересно почитать, что было дальше), которая привлекла и меня.
Я не из тех, кто рассказывает, что занимался совсем другим, учился на гуманитария и вот в один прекрасный день решил стать программистом.
Первый комп
Первый комп у меня появился в 1 классе, тогда мне привез его отец из Японии. Откровенно говоря, что с ним делать не знал даже он, а я и подавно. На него была накатана Windows 95 и были несколько игр, в которые мне быстро надоедало играть, и я начинал шерстить все значки и папки в поисках чего-то интересного. Потом один наш знакомый поставил на него 98-е окна, стало чуть интереснее. Тогда мне показали Word, сказали, что надо учиться печатать. Появилась возможность ставить хоть какие-то игры, которые были у друзей. Но в скором времени он перестал все тянуть из-за железа, и я начал искать способы, чтобы его раскачивать. Менялся видеокартами, что-то разбирал/собирал, короче, делал все, чтобы вдохнуть в него жизнь. Не вышло.
Первые шаги в код
Следующий комп появился в классе 6-7, я тогда слабо соображал в железе, выбор делал еще один наш знакомый, который почему-то решил, что встроенная видеокарта — это вообще кайф, просто надо чуть больше оперативки купить, и все будет летать. Спойлер: ничего не летало. С этим компом я долго возился. Игры не шли на нем совсем, кроме каких-то онлайн, например, Lineage II… Этой штуке я отдал несколько лет жизни, пока её тянул мой комп.
Именно в этот момент проснулся интерес к коду и внутренностям. Затем я начал поднимать собственные сервера для CS 1.6, делал сайты на ucoz для клана в контре, сервера для L2 со своими настройками, узнал, что такое Joomla. Золотые были времена. Кстати, в это же время были ArtMoney, CheMax, все возможные софты для автокача, короче — как вы поняли, это все я активно использовал, ахахаха)) Где-то приходилось разобраться, как это работает, что-то поправить и так далее. В общем, делал не столько для процесса заработка в игре, а ради спортивного интереса.
Точка невозврата
Далее ничего необычного, в школе чинил компы всем одноклассникам. Научился ставить винду (ZverCD — ван лав), править BIOS на базовом уровне и вот это вот все. В школе сдал ЕГЭ по информатике — то еще было приключение, потому что информатику преподавал физик, который ничего не знал в компах. Универ по специальности, закончил бакалавриат, параллельно делал несколько сайтов под заказ и работал в воспитательном отделе.
Вот я выпустился из универа, вот мой красный диплом по направлению «Прикладная информатика», а дальше что? А дальше — работы по специальности нет. Я работал то звукорежиссером, то DJ, то аниматором и параллельно получал степень магистра.
И только после того, как я переехал в Питер, я начал работать по специальности. Сначала в одной веб-студии, из которой уволили через месяц, а затем просто по различным компаниям. Пока не дошел до того, что мы имеем сейчас.
Да, последний абзац получился пустоват, но в канале, я думаю, будет еще много инфы, которая заполнит пробелы.
P.S. Пока писал этот пост, разблокировал воспоминания, ставь лайк если у тебя также. А я картинки прикреплю для большего эффекта, потому что фотки вряд ли найду.
Шамистан запустил прикольную волну, которую подхватил Олег и сделал пост на ту же тему (ставь ему огонек, если интересно почитать, что было дальше), которая привлекла и меня.
Я не из тех, кто рассказывает, что занимался совсем другим, учился на гуманитария и вот в один прекрасный день решил стать программистом.
Первый комп
Первый комп у меня появился в 1 классе, тогда мне привез его отец из Японии. Откровенно говоря, что с ним делать не знал даже он, а я и подавно. На него была накатана Windows 95 и были несколько игр, в которые мне быстро надоедало играть, и я начинал шерстить все значки и папки в поисках чего-то интересного. Потом один наш знакомый поставил на него 98-е окна, стало чуть интереснее. Тогда мне показали Word, сказали, что надо учиться печатать. Появилась возможность ставить хоть какие-то игры, которые были у друзей. Но в скором времени он перестал все тянуть из-за железа, и я начал искать способы, чтобы его раскачивать. Менялся видеокартами, что-то разбирал/собирал, короче, делал все, чтобы вдохнуть в него жизнь. Не вышло.
Первые шаги в код
Следующий комп появился в классе 6-7, я тогда слабо соображал в железе, выбор делал еще один наш знакомый, который почему-то решил, что встроенная видеокарта — это вообще кайф, просто надо чуть больше оперативки купить, и все будет летать. Спойлер: ничего не летало. С этим компом я долго возился. Игры не шли на нем совсем, кроме каких-то онлайн, например, Lineage II… Этой штуке я отдал несколько лет жизни, пока её тянул мой комп.
Именно в этот момент проснулся интерес к коду и внутренностям. Затем я начал поднимать собственные сервера для CS 1.6, делал сайты на ucoz для клана в контре, сервера для L2 со своими настройками, узнал, что такое Joomla. Золотые были времена. Кстати, в это же время были ArtMoney, CheMax, все возможные софты для автокача, короче — как вы поняли, это все я активно использовал, ахахаха)) Где-то приходилось разобраться, как это работает, что-то поправить и так далее. В общем, делал не столько для процесса заработка в игре, а ради спортивного интереса.
Точка невозврата
Далее ничего необычного, в школе чинил компы всем одноклассникам. Научился ставить винду (ZverCD — ван лав), править BIOS на базовом уровне и вот это вот все. В школе сдал ЕГЭ по информатике — то еще было приключение, потому что информатику преподавал физик, который ничего не знал в компах. Универ по специальности, закончил бакалавриат, параллельно делал несколько сайтов под заказ и работал в воспитательном отделе.
Вот я выпустился из универа, вот мой красный диплом по направлению «Прикладная информатика», а дальше что? А дальше — работы по специальности нет. Я работал то звукорежиссером, то DJ, то аниматором и параллельно получал степень магистра.
И только после того, как я переехал в Питер, я начал работать по специальности. Сначала в одной веб-студии, из которой уволили через месяц, а затем просто по различным компаниям. Пока не дошел до того, что мы имеем сейчас.
Да, последний абзац получился пустоват, но в канале, я думаю, будет еще много инфы, которая заполнит пробелы.
P.S. Пока писал этот пост, разблокировал воспоминания, ставь лайк если у тебя также. А я картинки прикреплю для большего эффекта, потому что фотки вряд ли найду.
🔥7👍1
Солнце почти село, а на канале нет нового поста
Это не просто говорящий заголовок, а сообщение от друга мне в личку сегодня. Первая мысль - точно, надо же что-то написать. А писать-то и нечего. Отсюда вопрос - а как часто вообще вести эту активность? Писать посты, придумывать темы.
Были мысли составить контент-план и следовать ему, чтобы держать людей в тонусе и постоянно что-то рассказывать, но тогда теряется та самая идея, которую я вкладывал - творить, а не делать на поток.
И вот сижу я, размышляю, решения пока не нашел. Может, кто подскажет тут? Всё-таки в канале уже 31 человек, и некоторые даже иногда что-то комментируют.
Как часто на ваш взгляд надо делать посты? Есть ли темы, которые вам особенно интересны?
Это не просто говорящий заголовок, а сообщение от друга мне в личку сегодня. Первая мысль - точно, надо же что-то написать. А писать-то и нечего. Отсюда вопрос - а как часто вообще вести эту активность? Писать посты, придумывать темы.
Были мысли составить контент-план и следовать ему, чтобы держать людей в тонусе и постоянно что-то рассказывать, но тогда теряется та самая идея, которую я вкладывал - творить, а не делать на поток.
И вот сижу я, размышляю, решения пока не нашел. Может, кто подскажет тут? Всё-таки в канале уже 31 человек, и некоторые даже иногда что-то комментируют.
Как часто на ваш взгляд надо делать посты? Есть ли темы, которые вам особенно интересны?
Audio
Вернулся в зал
Через месяц закончится абонемент и лучшего момента уже не будет.
Два года назад я стабильно ходил 3 раза в неделю, занимался с тренером, пил BCAA, креатин, протеин, а потом началось... Сначала закончился абонемент, и не было возможности его купить, потом появился новый абонемент, но вместе с ним и сложности в работе, из-за которых времени ни на что не оставалось.
Оправданий, почему я не ходил, могу придумать сколько угодно, но основная - лень. Начиная с этого дня, буду бороться с ленью и прокрастинацией. Буду ставить конкретные цели на ближайшее время и делиться успехами и неудачами здесь, чтобы держать себя в тонусе и мотивировать вас.
Цель: вернуться к стабильному режиму тренировок.
Ставь огонек, если хочешь или уже занимаешься спортом.
#цель #новыеПривычки
Через месяц закончится абонемент и лучшего момента уже не будет.
Два года назад я стабильно ходил 3 раза в неделю, занимался с тренером, пил BCAA, креатин, протеин, а потом началось... Сначала закончился абонемент, и не было возможности его купить, потом появился новый абонемент, но вместе с ним и сложности в работе, из-за которых времени ни на что не оставалось.
Оправданий, почему я не ходил, могу придумать сколько угодно, но основная - лень. Начиная с этого дня, буду бороться с ленью и прокрастинацией. Буду ставить конкретные цели на ближайшее время и делиться успехами и неудачами здесь, чтобы держать себя в тонусе и мотивировать вас.
Цель: вернуться к стабильному режиму тренировок.
Ставь огонек, если хочешь или уже занимаешься спортом.
#цель #новыеПривычки
🔥7🌚1
Слышали, как шутят программисты?
Да, зрелище так себе, но мы стараемся, правда. Мы не виноваты, что приходится сначала сказать шутку, а потом объяснить, где надо смеяться.
Вся суть наших шуток сводится к сарказму, техническим терминам и безудержному количеству мемов.. Мемы - это база. Я очень много общаюсь мемами и прикольными видосами.
Делает это меня веселым человеком? Нет.
Нравится мне это? Очень.
Буду ли я продолжать так делать? Вот тут вопрос…
В универе я играл в КВН, и хотя моя «карьера» в юморе дальше университета не пошла, я запомнил одну важную фразу: «Шутка - это неожиданность». А сейчас даже думать не надо, кинул смешную картинку, сказал «Чиназес» и все, все посмеялись.
В общем, стало интересно, что на ваш взгляд лучше: кинуть мем, придумать хорошую шутку или оставить как есть?
#ХабМыслей #МоментДляРазмышлений
Да, зрелище так себе, но мы стараемся, правда. Мы не виноваты, что приходится сначала сказать шутку, а потом объяснить, где надо смеяться.
Вся суть наших шуток сводится к сарказму, техническим терминам и безудержному количеству мемов.. Мемы - это база. Я очень много общаюсь мемами и прикольными видосами.
Делает это меня веселым человеком? Нет.
Нравится мне это? Очень.
Буду ли я продолжать так делать? Вот тут вопрос…
В универе я играл в КВН, и хотя моя «карьера» в юморе дальше университета не пошла, я запомнил одну важную фразу: «Шутка - это неожиданность». А сейчас даже думать не надо, кинул смешную картинку, сказал «Чиназес» и все, все посмеялись.
В общем, стало интересно, что на ваш взгляд лучше: кинуть мем, придумать хорошую шутку или оставить как есть?
#ХабМыслей #МоментДляРазмышлений
🤪3🌭1
Артём Рыбин | Мэйби pinned «Вот он, долгожданный (мной) вводный пост, который я наконец-то придумал. Меня зовут Артем, я опытный backend-разработчик и уже более 6 лет занимаюсь коммерческой web-разработкой. За это время я успел поработать в крупных компаниях со сложной архитектурой…»