тиня-айтиня | java, backend, db ♨️
145 subscribers
146 photos
6 videos
30 links
hi! my name is Tinya. i'm exploring IT, discovering technological curiosities and writing posts here about my studies 🦁
that's me: @tinunski
Download Telegram
сегодня выбралась впервые за неделю (две??) учиться на свежий воздух (читайте: выдуть пыль из клавиатуры тëплым морским ветерком 😄)

оцениваю опыт на 100/10 🌊
🔥121👌1
return lineOfSymbols.charAt(random.nextInt(lineOfSymbols.length()));

она написала эту строчку, перечитала, сошла с ума и больше никогда не была онлайн
👀5
отдыхаю после адского рабочего дня 😌💅🏼

так сказать, пописали рекламные тексты — теперь попишем валидаторы
7👀4
буквально резюме вчерашнего занятия 😳
Объясните разницу между Linkedlist и Arraylist.

ArrayList
— это реализация интерфейса List, основанная на массиве. ArrayList внутренне обрабатывает изменение размера этого массива при добавлении или удалении элементов. Вы можете получить доступ к его элементам за константное время по их индексу в массиве. Однако вставка или удаление элемента подразумевает сдвиг всех последующих элементов, что может быть медленным, если массив огромен, а вставленный или удаленный элемент находится близко к началу списка.

LinkedList — это двусвязный список: отдельные элементы помещаются в объекты Node (узел), которые имеют ссылки на предыдущий и следующий Node. Эта реализация может оказаться более эффективной, чем ArrayList, если у вас много вставок или удалений в разных частях списка, особенно если список большой.

Однако в большинстве случаев ArrayList превосходит LinkedList. Даже перемещение элементов в ArrayList, хотя и является операцией O(n), реализовано в виде очень быстрого вызова System.arraycopy(). Это может даже оказаться быстрее, чем O(1) вставка в LinkedList, которая требует создания экземпляра объекта Node и обновления нескольких ссылок под капотом. LinkedList также может иметь большие накладные расходы памяти из-за создания нескольких небольших Node объектов

#вопросы_с_собеседований
👀3
пост для тех, кому нужна поддержка:

да, ок решать задачку несколько дней, неважно, сколько времени на этапе учёбы уходит на решение – главное тут даже не результат, а уровень понимания того, что ты делаешь 🤞🏻

да, ок тупить на занятиях: лучше протупить сейчас и запомнить через ошибку, чем сделать это на собесе;

да, ок, что иногда нет ни сил, ни времени. работа есть работа, сон есть сон, без них далеко не уедешь. и впихивать в своё расписание учёбу между двумя нервными срывами так себе идея: лучше дать голове отдых, когда организм того потребует, а потом выделить целый выходной на то, чтобы в спокойном темпе догнать материал. стараться покодить каждый день тоже важно, но не в ущерб здоровью;

да, ок чувствовать, что жизнь изменилась, зациклилась, стала однообразной или что она вообще пролетает мимо. у меня сейчас так: но я знаю, ради какой цели всё это. это отрезвляет;

и – да, ок переживать о настоящем и будущем, ок нуждаться в поддержке и давать слабину. это часть процесса 🫂
13🔥4🤝2🌚1
сегодня с двумя коллегами обсуждали решение задачки, где мы в массиве из 10 тысяч значений ищем самое часто встречающееся. после когнитивно-затратных попыток connect all the dots и объяснить, как я написала функции, родился вывод:

надо мощно и срочно учиться переводить свой код в слова, чтобы диалог с коллегами шёл как по маслу, а не катился как перекати-поле через поломанные причинно-следственные связи 😬
🤓4👌1
заметили, как я пропала? ;) сейчас обо всём расскажу
👀4
короче, ни для кого не секрет, что учёба – это КАПЕЦ какое когнитивное испытание. это огромные изменения на нейронном уровне и стресс, от которого, как известно, мозг привык нас беречь. вот и меня пытается: сажусь за задачку, а потом обнаруживаю себя за просмотром какого-то тру-крайма. или решаю посмотреть лекцию, но заваливаюсь работой, начинаю тревожиться и зашлифовываю это всё нервным срывом.

как следствие: не могу спать, вижу сны, как меня выгоняют с курса, просыпаюсь в дикой тревоге и не могу физически сесть учиться дальше. просто не могу. мозгу стало настолько сложно, что он в панике смотрит не на конкретную задачку, с которой я рано или поздно справлюсь, а генерирует вместо этого сцены позора на занятии или даже на гипотетическом собесе. знали бы вы, как я сражаюсь с желанием написать преподавателю и отмазаться от урока по причине завал в жизни. да, завал, но у кого нет?

мне даже одногруппникам помочь с задачками кажется сейчас легче, чем сесть на 5 минуток и разобраться как следует самой в какой-то более новой теме.. потому что я чувствую, что моё понимание неидеально, и, следовательно, не стоит сил и времени, которых и так нет. вот такие приколы от мозга
🥴2🤝2
что мне может гипотетически помочь?

1. абсолютно точно: адекватное планирование. разбить мой огромный план-капкан на всю жизнь на 2-3 пункта на каждый день и спокойно ему следовать, не пытаясь бежать вперёд себя. огромный нынешний план без деления на дни, где просто вкинут список лекций для пересмотра и невыполненных домашек, не подходит: это самосаботаж. галочки возле выполненных пунктов теряются на фоне того, что ещё предстоит сделать, а это толлько деморализует.

2. вспоминать почаще о временах первоначальной эйфории, когда было ещё не так сложно и всё получалось, и использовать это ощущение как мотивацию, а не как инструмент для того, чтоб себя же пристыдить за неуспехи.

3. эта картинка:
3
сегодня сделаю шажок навстречу себе и не стану сливаться с занятия. доделаю работу, спокойно займусь домашкой, сколько успею, позанимаюсь до урока, на уроке наделаю столько ошибок, сколько смогу, хорошо высплюсь и посвящу завтрашний день лекциям. рада, что создала этот канал, где могу при свидетелях озвучить свои слабости, страхи и планы. это помогает 🫶🏻
8🤓2
посмотрела одну лекцию, разобралась получше с композициями, решила одну из 5 оставшихся задачек и никто не умер
6👌2🤓1👨‍💻1
поняла, что надо расширять свой java-кругозор и смотреть на язык шире. находить материалы, искать полезные знакомства, слушать более опытных людей и погружаться в язык не только с академической точки зрения, но и как в будущий рабочий инструмент, с которым нам ещё дружить много лет (идеальный сценарий) 🤝

нашла клёвую подборку полезных материалов на ru и eng на хабре. там много всего: и нетворкинг, и доп. материалы, и курсы, которые можно слушать параллельно, чтобы глубже разбираться в темах, которые мы сейчас проходим на занятиях. делюсь🥂
🔥3🤓2
однажды ты спросишь меня, что я выберу: внутренние классы или внешние? в ответ я промолчу, и ты так и не узнаешь, что я просто потеряла дар речи после сегодняшней лекции и выбираю только один класс — свой пятый, где мне 11 лет и я бью крапиву палкой и ничего вот этого всего не знаю

работаем дальше, коллеги
12🤓1
сегодня по плану: чучуть посмотреть, как откроют яндексовский лекторий, сходить на учебную консультацию и вернуться слушать спикеров, обещают прикольное
👌2
если вы думали, что я забила на Яндекс Лекториум, то вот и нет

послушиваю иногда фоном лекции, что-то понимаю, что-то нет, но в голове зато хоть что-то остаётся. и сегодня я попала на СУПЕРСКУЮ лекцию про архитектуру кода для джавистов: конечно, из понятного мне было процентов 30, но какие они, эти 30!!

читал лекцию Сергей Федосеенков, глава отдела разработки битуби продуктов Маркета, и иллюстрировал всё примерами из жизни и практики (круто и наглядно!). иногда на каком-то базово-гуманитарном уровне не верится, что все эти сложные и абсолютно человечески реализованные сервисы — это просто набор компуктерных команд, методов, переменных и классов. но вот ты видишь, как знающий человек показывает тебе на примере кода, как реализуются бизнес-стретегии, как функционируют соединения к базам данных, в которых хранятся условные заказы с чипсиками — и ну это с ума сойти, это РЕАЛЬНО 🥹
3🤝2
часовую лекцию пересказывать, конечно, не стану, если захотите, она лежит 👉🏻на ютубе в записи. но вот что мне хорошо запомнилось и чем хочу поделиться: какие принципы хорошей архитектуры кода существуют?

📌 нужно всеми силами избегать дублирования кода, потому что это приводит к проблемам. например: если вы посадили баг или вам нужно доработать код, не всегда очевидно, где искать продублированные куски. в итоге что-то дорабатывается, что-то нет, и выходит так себе

📌 kiss: keep it simple, stupid. мне кажется, знаменитейший принцип, знакомый всем, от новичков до супер-прожжённых прогеров. не нужно решать задачу сверх-сложными методами, а лучше инкапсулировать логику совсем просто, супер-наивным способом, чтобы потом всегда можно было вернуться к переработке кода или даже всей архитектуры и не потеряться в трёх тысячах сосен :') в трёх соснах блуждать приятнее. а может быть, окажется, что этих трёх как раз и достаточно

📌 есть ещё пять принципов SOLID, спикер не стал останавливаться на каждом, но пояснил, что это аббревиатура, и каждая буква в ней — какой-то принцип объектно-ориентированного программирования. я почитала об этом отдельно, очень хорошие и важные принципы, которыми мы уже сейчас на занятиях пользуемся и сами того не знаем :) напишу о них отдельный пост завтра-послезавтра!

в общем, час пролетел продуктивно: по большому счёту я вдохновлялась сложной терминологией и пыталась на каком-то интуитивном уровне понять, о чём идёт речь 😂
но и без полезностей не ушла! так что продолжаю ратовать за подход к обучению «вписывайся в любые учебные авантюры, а там уж если и поймёшь процентик, то тоже хороший результат» 👀
🔥4👌2
это я, когда уезжаю трогать песок у моря в другие города по выходным
8😁4🔥2