Сообщество - Лига программистов
Добавить пост

Лига программистов

1 538 постов 11 434 подписчика

Популярные теги в сообществе:

Программисты, дайте совет

О себе: Саратов, студент 3 курса, учусь на программиста
Проблема: в последнее время начал искать работу или хотя бы какие-то шансы, чтобы получить какой-либо опыт в данной сфере, но тут я, как вы понимаете, упал в пропасть. Сам раньше целился на фронтенд, React разработчик. Есть свои огрызки (пет-проекты), пробовал NextJs, работал с библиотеками: FramerMotion, TailWind, MaterialUI, использовал стейт-менеджер Redux, знаю основы RESTAPI (сервер на Java Spring Boot), знаю ООП, по крайней мере основы, также не забыл про TypeScript (активно не использовал его в своих проектах, но знаю с чем его едят).
Так в чем суть: Хотелось бы найти ментора, который бы сказал, могу ли я действительно на что-то претендовать на настоящий момент. На манну небесную особо не надеюсь, но вдруг найдутся добрые люди :)

Slack

Почему, если человек встанет посреди офиса и начнет орать “ВСЕ ВСЕ ВСЕ, у нас БАГ!”, то он звезданутый, а в Слаке “@Channel @devops.team @frontend.team у нас БАГ!” это нормально?

Как писать читабельный код на C++(и не только)

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

Как писать читабельный код на C++(и не только) Программирование, Программист, IT, Саморазвитие

пример того как не надо

  • Используйте понятные имена для переменных, функций и классов. Избегайте сокращений, однобуквенных идентификаторов и неоднозначных терминов. Например, вместо int x; лучше написать int age;.

  • Следуйте единому стилю форматирования кода. Выберите правила для отступов, скобок, пробелов и переносов строк и придерживайтесь их во всем проекте. Это улучшит читаемость и согласованность кода.

  • Разбивайте код на логические блоки и функции. Избегайте дублирования кода и длинных функций, которые делают слишком много всего. Выносите повторяющиеся или сложные части кода в отдельные функции с говорящими названиями. Это упростит понимание и тестирование кода.

  • Документируйте свой код с помощью комментариев. Комментарии должны объяснять, что делает код, зачем он нужен и как он работает. Комментарии также могут указывать на особенности, ограничения или предположения кода. Не забывайте обновлять комментарии при изменении кода.

  • Читайте и анализируйте чужой код. Это поможет вам узнать новые приемы, подходы и стандарты программирования на C++. Вы можете посмотреть на примеры кода в книгах, статьях, онлайн-курсах или открытых проектах.

Интересные факты и фичи языков программирования у нас в канале, заходи :)

Показать полностью 1

Мифы о старте карьеры в IT: Что стоит знать новичкам

IT-индустрия сегодня является одной из самых перспективных и востребованных отраслей. Многие молодые люди мечтают начать свою карьеру в IT, но часто им ставятся внушительные мифы и сомнения. Мы рассмотрим несколько распространенных мифов о старте карьеры в IT и разберемся, что стоит знать новичкам.

Миф №1: Нужны высокие математические навыки

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

Миф №2: Необходимы высокие технические навыки

Следующий распространенный миф - это то, что для работы в IT нужны сложные технические навыки и знание нескольких программных языков. На самом деле, в начале карьеры в IT, не обязательно быть экспертом во всех технических областях. Важнее всего – быть готовым к обучению и постоянно развиваться. Многие компании предлагают стажировки и программы подготовки новичков, которые помогут вам получить нужные навыки и знания.

Миф №3: Необходимо иметь высшее образование в IT

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

Миф №4: Работа в IT - это одиночная работа

Еще одним мифом является то, что работа в IT-сфере связана исключительно с одиночеством и изоляцией. На самом деле, IT-компании активно стимулируют командную работу и сотрудничество. Разработка программного обеспечения, создание веб-сайтов, работа с базами данных - все это требует командной работы и взаимодействия с другими специалистами.

Миф №5: Карьера в IT - это только для гениев

И последний распространенный миф, который нередко пугает новичков — это то, что карьера в IT доступна только гениальным умам. На самом деле, в IT-индустрии есть место для различных видов талантов и специалистов. Важнее всего – быть мотивированным, учиться и стремиться к постоянному развитию.

В итоге, для новичков, стремящихся начать карьеру в IT, важно не поддаваться мифам и сомнениям. Важно запомнить, что в IT-индустрии есть место для всех, кто обладает интересом к технологиям и готов постоянно развиваться.

Главное - начать и идти вперед, ведь будущее в IT обещает быть захватывающим и полным возможностей!

Мифы о старте карьеры в IT:                             Что стоит знать новичкам Карьера, IT, Технологии, Длиннопост
Показать полностью 1

Каррирование и частичное применение

Каррирование и частичное применение — две концепции из функционального программирования, которые очень часто путают из-за их схожести (а я пишу этот пост, чтобы наконец-то запомнить).

И частичное применение, и каррирование, реализуются как функции, принимающие в качестве параметра другую функцию.

Каррирование и частичное применение Кросспостинг, Pikabu Publish Bot, Frontend, Javascript, Текст



1️⃣ Частичное применение — функция partialApply, принимающая первым параметром функцию — fn, а остальные параметры — часть параметров функции fn. Функция partialApply возвращает функцию, которая в качестве параметров принимает недостающие аргументы функции fn.

2️⃣ Каррирование — функция curry, которая принимает единственный параметр — функцию fn, и возвращает каррированную функцию fn. Можно сказать, что каррированная функция fn — функция аккумулятор, которая будет накапливать переданные аргументы до тех пор, пока не будет передано достаточно параметров для вызова исходной функции. Параметры можно передавать в любом количестве.

Подробнее

- Карринг vs Частичное применение функции — C#
- Каррирование функций в JavaScript
- Реализация функции каррирования
- Function: length

https://t.me/cherkashindev/132

Показать полностью 1

К вопросу о теориях заговора

К вопросу о теориях заговора

Гайд - импортируем CKEditor 5 в Laravel 10 как модуль node.js

Всем привет!

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

Один из таких редакторов ну просто с сумасшедше-огромной функциональностью - это небезызвестный CKEditor, который недавно (шучу, давно уже) зарелизился замечательной 5-й версией.

Ее мы сегодня и будем импортировать в наш проект на Laravel 10. Скриншотик (и пасхалочка, кто знает тот поймет) внизу.

Как обычно есть 2 пути - простой и сложный.

Простой - это просто прописать в шаблоне

<script src="https://cdn.ckeditor.com/ckeditor5/40.0.0/classic/ckeditor.js"></script>

И активировать его на textarea через ClassicEditor.create().

Но есть нюанс.... что если авторы решат уйти из РФ и ограничит доступ? Или же РКН решит что "ты не пройдешь!" и ... ты не пройдешь. Нужно любить всех своих пользователей, а не заставлять их расчехлять VPN потому что на сайте не работает редактор.

Да и мы ведь серьезный проект пишем! Нам нужно свое! Да еще и желательно с кастомным билдом под наши задачи!

По этому мы пойдем по второму пути - сложному, который делится еще на два.

Назовем их "следовать инструкциям" и "догадаться самим".

Но перед тем как начать - нам нужно собрать кастомный билд с нужными нами модулями и настройками. Что можно спокойно сделать на сайте. Я использовал билд на базе ClassicEditor, выбрал нужные мне модули в том числе и модуль watchdog на будущее (сейчас активировать его в коде я его конечно-же не буду). В общем, качаем билд и распаковываем его в "Новая папка (3)" на рабочке. Он нам понадобится, но несколько позже.

Гайд - импортируем CKEditor 5 в Laravel 10 как модуль node.js Гайд, Инструкция, Программирование, PHP, Javascript, Nodejs, Laravel, Длиннопост, Разработка, Веб-разработка, IT

Распакованный архив с кастомным билдом

Следуем инструкциям.

По инструкции на сайте мы берем скачанный билд, копируем его в папку с проектом в директорию public\assets\ckeditor5, импортируем .js файл в blade шаблон и так-же активируем его через EditorWatchdog() или CreateEditor(). Легко и просто, и в принципе все гайды в интернете по интеграции в Laravel пишут нам что так делать правильно.

Но нас то не обманешь! У нас серьезный проект! И ведь действительно, вдруг нам потом понадобится модуль, который мы не добавили в наш билд? Пересобирать заново? Да ну его! По этому мы пойдем своим путем! Поехали!

Догадываемся сами

К нашему счастью в Laravel встроен замечательнейший инструмент под названием Node.js, который мы и будем использовать. И не только его.

Установка

Идем консолькой в папку с нашим проектом и запускаем (не забудь включить vpn)

npm install --save @ckeditor/ckeditor5-build-classic

Гайд - импортируем CKEditor 5 в Laravel 10 как модуль node.js Гайд, Инструкция, Программирование, PHP, Javascript, Nodejs, Laravel, Длиннопост, Разработка, Веб-разработка, IT

Установка

Сразу нам устанавливается множество зависимостей, однако наш любимый Laravel 10 этот модуль сразу не увидит. Для того чтобы это исправить нам нужно сделать еще кое-что. Поехали интегрировать.

Интеграция

Нам нужно чтобы наш Laravel увидел CKEditor, да собирал его под наши нужды "на лету". Для этого мы будем использовать vite, благо он идет в составе Laravel. У авторов CKEditor для него есть отдельный модуль с названием @ckeditor/vite-plugin-ckeditor5, его и будем использовать. Также нам понадобится модуль @ckeditor/ckeditor5-theme-lark.

Снова консоль, пишем:

npm install --save @ckeditor/vite-plugin-ckeditor5

npm install --save @ckeditor/ckeditor5-theme-lark

Пока ждем установку - наливаем кофе.

Далее ищем в корне нашего проекта файл vite.config.js и вносим в него следующие строки как показано на скриншоте (слева - старый файл, справа - внесенные изменения)

import { createRequire } from 'node:module';
const require = createRequire( import.meta.url );

import ckeditor5 from '@ckeditor/vite-plugin-ckeditor5';

ckeditor5( { theme: require.resolve( '@ckeditor/ckeditor5-theme-lark' ) } ),

Гайд - импортируем CKEditor 5 в Laravel 10 как модуль node.js Гайд, Инструкция, Программирование, PHP, Javascript, Nodejs, Laravel, Длиннопост, Разработка, Веб-разработка, IT

vite.config.js

Конфигурируем

Помните ту конфигурацию, что мы делали на сайте CKE? Она то нам сейчас и понадобится.

Открываем Новую папку (3) и в подпапке src находим файл ckeditor.ts. Это файл с настройками нашего билда. Копируем его в папку с проектом, в директорию resources/js.
Также из папки samples копируем style.css в resources/css.
И дополнительно создаем файлик editor.js - его мы и будем встраивать в наш шаблон.

Содержимое editor.js

import ClassicEditor from './ckeditor';

ClassicEditor.Editor
// Note that you do not have to specify the plugin and toolbar configuration — using defaults from the build.
.create( document.querySelector( '#editor' ), {
language: 'ru',
removePlugins: [
'MediaEmbedToolbar'
]
})
.then( editor => {
console.log( 'Editor was initialized', editor );
} )
.catch( error => {
console.error( error.stack );
} );

Для наблюдательных - я специально не использовал watchdog здесь. Импортировать его я планирую потом.

Дальше нам нужно загрузить недостающие модули.

Открываем редактором ckeditor.ts и видим вверху множество импортов.

Гайд - импортируем CKEditor 5 в Laravel 10 как модуль node.js Гайд, Инструкция, Программирование, PHP, Javascript, Nodejs, Laravel, Длиннопост, Разработка, Веб-разработка, IT

Открываем папку "node_modules/@ckeditor" внутри проекта и ищем недостающие модули. Если такие есть - устанавливаем их через npm install --save %имя_модуля%.

В дальнейшем есть шанс получить следующую ошибку от TailWindCSS (при запуске npm run dev)

[vite:css] Nested CSS was detected, but CSS nesting has not been configured correctly.Please enable a CSS nesting plugin *before* Tailwind in your configuration.

Она вызывается из-за того, что мы используем кастомный css для ckeditor

Чтобы этого не происходило, нам необходимо в файле postcss.config.js в корне нашего проекта добавить следующие строки:

'postcss-import': {},
'tailwindcss/nesting': {},

как на скриншоте

Гайд - импортируем CKEditor 5 в Laravel 10 как модуль node.js Гайд, Инструкция, Программирование, PHP, Javascript, Nodejs, Laravel, Длиннопост, Разработка, Веб-разработка, IT

postcss.config.js

Почти все

Нам осталось только в нашем шаблоне между тегов <head> добавить

@Vite(['resources/js/editor.js', 'resources/css/editor.css'])

И теперь любой <div> или <textarea> с указанием id="editor" будет вызван с редактором CKEditor5.

Запускаем проект через npm run dev и радуемся полученному результату!

Результат

Гайд - импортируем CKEditor 5 в Laravel 10 как модуль node.js Гайд, Инструкция, Программирование, PHP, Javascript, Nodejs, Laravel, Длиннопост, Разработка, Веб-разработка, IT

Результат

А Вы заметили пасхалочку на скриншоте?

Все что вам осталось - это настроить дизайн редактора в css файле.

Ну и как-же без ложки дегтя - почему-то конфигурация "language: ru" не срабатывает и редактор остается английским. Возможно не хватает какого-то модуля или же что-то необходимо донастроить. Пока еще не разобрался, но в целом на данном этапе разработки это не сильно критично. Если у Вас есть идеи - welcome!

Update: С языком разобрался. Действительно его необходимо было имортировать. Для этого в ckeditor.ts необходимо вставить строку после импорта { ClassicEditor }

import '@ckeditor/ckeditor5-build-classic/build/translations/ru';

Update2: Также нашел проблему при вставке видео с внешнего источника, например Youtube. В редакторе оно вставляется, а вот в пост не переносится. Лечится доп конфигом там-же в ckeditor.ts в секцию defaultConfig

mediaEmbed: {
previewsInData: true
}

Гайд - импортируем CKEditor 5 в Laravel 10 как модуль node.js Гайд, Инструкция, Программирование, PHP, Javascript, Nodejs, Laravel, Длиннопост, Разработка, Веб-разработка, IT

Исправленная локализация

Надеюсь что данный гайд поможет Вам в проектах.

Если вы хотите немного потрындеть, или быть может знаете Laravel или например умеете верстать, ну или просто у вас есть желание как-нибудь помочь с разработкой проекта, милости прошу в мою потрынделку.

В кратце - да, старый добрый, с блекджеком и шлюпками.

Всем спасибо!

Показать полностью 7

Готовы к Евро-2024? А ну-ка, проверим!

Для всех поклонников футбола Hisense подготовил крутой конкурс в соцсетях. Попытайте удачу, чтобы получить классный мерч и технику от глобального партнера чемпионата.

А если не любите полагаться на случай и сразу отправляетесь за техникой Hisense, не прячьте далеко чек. Загрузите на сайт и получите подписку на Wink на 3 месяца в подарок.

Готовы к Евро-2024? А ну-ка, проверим! Футбол, Тест, Евро 2024, Болельщики, ВКонтакте (ссылка)

Реклама ООО «Горенье БТ», ИНН: 7704722037

Как вкатиться в ИТ. Аксиомы

Ох ребят, так бомбит, так бомбит от того что пишут некоторые про старт карьеры в IT.

А когда бомбит я начинаю рубить правду матку. Жестко и не пытаясь сгладить углы.

Сейчас даю вам рецепт как вкатиться в айти и начать почти со старта зарабатывать 100к+. Путь непростой, ваш мозг будет против этого, попробуйте снимать стресс спортом, вкусной едой на природе, и ни за что, слышшь, ни за что не пробуй алкоголь. Сначала тебе покажется что это самый эффективный способ, а потом пик Балмера и windows ME

Как вкатиться в ИТ. Аксиомы Карьера, Эффективный менеджер, Собеседование, Видео, YouTube, Мат, Длиннопост

Ставь лукаса, если узнал график :)

Начнем с аксиом.

Ты никому не нужен если не способен закрыть проект.

Твоя задача - давать бизнесу решения. Не придумывать почему не получилось, не рассказывать почему это невозможно сделать, а находить решения. Если тебя как то раз попросят нарисовать параллельные синие линии красным цветом перпендикулярно друг другу, ты должен не оправдываться, а предложить такую геометрию пространства и цветовую палитру, в которых это возможно. Это способ заработать уважение #1. Заработать уважение у менеджеров, коих будет много в твоей жизни, можешь даже не записывать их в телефон - сами позвонят, чаечки ненасытные. Менеджеров много, а на 100% рабочий способ получить респект у них только один, такова жиззь.


Ты никому не нужен если не способен во всем быстро разобраться.

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

Если тебя не научили учиться в школе - закончи институт, не научили в институте, и тебе все еще нужны курсы, которые объяснят как искать информацию, то может на конвеер? Там хотя бы почти никаких изменений годами.

Если ты в школе не любил читать - то даже не пробуй стать программистом, я серьезно. Поначалу будет серьезный перекос в твоей работе - тебе будут платить только за 90% твоей практики, оставшиеся 90% твоего рабочего дня, состоящего из обучения, никто оплачивать не будет. Начать задавать правильные вопросы - это способ заработать уважение #2. Заработать уважение у технарей.

Как вкатиться в ИТ. Аксиомы Карьера, Эффективный менеджер, Собеседование, Видео, YouTube, Мат, Длиннопост

14 часов еще не предел. А я не говорил что будет просто.

Ты никому не нужен, если не способен сказать когда будет готово.

Между хорошо, дешево и во время всегда выбирай вовремя.

Кто бы как айтишников не облизывал, IT - это сфера услуг, и твоя работа в большинстве случаев - это лишь часть бизнес процесса, и никто не будет сдвигать крупные рекламные акции и поставки партнерам если ты как программист проебался. Уволить тебя скорее всего не смогут напрямую, ибо ТК РФ и прочие толерастическо - гуманистистические ценности, скорее создадут обстановочку в которой ты сам уволишься. Не доводи до такого, а то быстро пополнишь айти обочину.

Назначил срок - уложись в этот срок, и это способ заработать уважение #0. Самый важный - способ заработать уважение своего заказчика и начальника.

Как вкатиться в ИТ. Аксиомы Карьера, Эффективный менеджер, Собеседование, Видео, YouTube, Мат, Длиннопост

Главное - роадмап красиво оформил.

Мой ответ на единственный важный вопрос.

Как сделать так чтобы крыша не текла?

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

Но все что ты будешь хотеть после рабочего дня - это спать. Скорее даже СПАТЬ.

Как же так происходит???

Начну с простых примеров. Задача по математике. Во всех учебниках школьной математики вы не найдете проблемы, которая способна занять у среднего ума более 45 минут.

В институте вы не найдете задач, которые требуют больше чем полтора часа (одну пару) для решения, кроме тех которые для самых упоротых ботаников.

Сейчас многие программисты планируют в часах, и 4 часа - это минимальная оценка. В большинстве случаев это то ,с чем ты никогда не сталкивался, это минимум 3 часа напряженной умственной деятельности и примерно 20-30 минут написания кода. Раза в два больше концентрации чем самая сложная задача в институте.

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

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

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

Дружище, ты обещал рассказать как зарабатывать 100к+ в месяц!

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

1. Опиши в комментарии что ты будешь разрабатывать как программист.
2. Установи дату.
3. В установленную дату выложи решение, которое решает поставленную задачу.

4. Не получилось - ты всегда можешь начать с начала, но уже с новой идеей.

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


Показать полностью 3 1
Отличная работа, все прочитано!