Двач.hk не отвечает.
Вы видите копию страницы, сохраненную 28 сентября в 08:33.
Вы видите копию страницы, сохраненную 28 сентября в 08:33.
15,1 Мб, 690x390
Написал face swap на Rust. Один бинарник, без Python, 60fps. Скачал, распаковал, запустил.
github.com/despite-death/face-swap
github.com/despite-death/face-swap
40 Кб, 1211x680
Сап, двачеры! Интересует путь тех, кто в итоге познал великие и ужасные алгоритмы
Значица, решил глубже разобраться в том, как работают программы. Сам я гуманитарий по образованию (хоть у нас и был вышмат, но довольно поверхностный). Работаю QA уже несколько лет, но понял, что начинает поднадоедать тестерская рутина.
По сабажу: начал с бинарного поиска. Но встрял уже на 222 задачке литкода со сбалансированным деревом. Чувствую, что не хватает какого-то базового алгоритмического мышления, все-таки я этим почти не занимался
Какой путь я выбрал на данный момент:
1) Книгу читат (начал с Грокаем алгоритмы)
2) Задачи решат (LeetCode, с простеньких)
Что именно я хочу узнать от вас:
1. С чего вы начинали? Книги, курсы, какие-то конкретные ресурсы
2.Какой формат обучения показался вам самым эффективным (чтоб быстро не забить)? Например: час теории + пару часов на задачи
3.Подводные камни — на что ушло много времени, а в итоге оказалось малоэффективным или вовсе бесполезным
Всех обнял 🫂
Значица, решил глубже разобраться в том, как работают программы. Сам я гуманитарий по образованию (хоть у нас и был вышмат, но довольно поверхностный). Работаю QA уже несколько лет, но понял, что начинает поднадоедать тестерская рутина.
По сабажу: начал с бинарного поиска. Но встрял уже на 222 задачке литкода со сбалансированным деревом. Чувствую, что не хватает какого-то базового алгоритмического мышления, все-таки я этим почти не занимался
Какой путь я выбрал на данный момент:
1) Книгу читат (начал с Грокаем алгоритмы)
2) Задачи решат (LeetCode, с простеньких)
Что именно я хочу узнать от вас:
1. С чего вы начинали? Книги, курсы, какие-то конкретные ресурсы
2.Какой формат обучения показался вам самым эффективным (чтоб быстро не забить)? Например: час теории + пару часов на задачи
3.Подводные камни — на что ушло много времени, а в итоге оказалось малоэффективным или вовсе бесполезным
Всех обнял 🫂
165 Кб, 736x1178
Учусь в вузе на программиста, но чет ощущение, что на безработного. Все говорят о том, что конкуренция оч большая и работы нет. Мне вообще нравится ОС, бек тоже интересует, писать логику для серверов, базы данных, докер, архитектура инф систем, но говорят, что конкуренция в беке большая, а устроится в компанию, которая занимается ОС (типа как майнкрософт) совершенно не возможно. Поэтому я даже не знаю, кризис какой-то, непонимаю чем заниматься, на что стоит тратить время
1 Мб, 1400x625
>Куд-кудах, никто больше не пишет код руками!
>Кукареку, если кабанчик увидит что ты пишешь код вручную, он тебя тут же уволит!
Разработчики возвращаются к ручному программированию после урезания подписок на Claude и Copilot
https://shazoo.ru/2026/06/16/185755/razrabotchiki-vozvrashchaiutsia-k-ruchnomu-programmirovaniiu-posle-urezaniia-podpisok-na-claude-i-copilot
22 Кб, 736x414
это не сложный и нереальный код, просто попытка быть лучше хоть в чем то, удачи всем кто прочел
https://www.mediafire.com/file/uf1gnqu3g9ujmad/cat.py/file
https://www.mediafire.com/file/uf1gnqu3g9ujmad/cat.py/file
153 Кб, 1280x1204
В Claude может появиться проверка возраста и личности: Anthropic обновили политику конфиденциальности для планов Claude Free, Pro и Max.
Как именно будут проверять —не написано. Обычно это паспорт, и в таком случае есть шанс ошибок при верификации с российским паспортом.
Новые правила вступят в силу 8 июля.
Чё посоны, стоит продлять? У меня только загран этой страны.
Как именно будут проверять —не написано. Обычно это паспорт, и в таком случае есть шанс ошибок при верификации с российским паспортом.
Новые правила вступят в силу 8 июля.
Чё посоны, стоит продлять? У меня только загран этой страны.
195 Кб, 736x414
Приветствую аноны, давно хотел изучить для себя программирование, но не знаю с чего начать. Выбрал для себя самый дружественный язык - питон. Аноны с опытом, помогите составить роадмап как начать путь в этом направлении. Какие Ютуб каналы можете посоветовать для начинающего мимохода
1 Кб, 46x44
Есть ли на дваче люди кто увлекается спортивным программированием? поделитесь своим путем в этой сфере
126 Кб, 533x651
Все ИИ-агенты для программирования с громким треском провалили новый бенчмарк чистоты и качества кода!
Alibaba протестировала ИИ-агентов для программирования на 100 реальных кодовых базах, каждая из которых охватывала 233 дня разработки. Результат - полный провал ИИ в программировании.
Выяснилось, что один раз сгенерировать код и пройти тесты — не так уж сложно. А вот поддерживать код в течение 8 месяцев и при этом не ломать всё подряд — именно здесь ИИ с огромным треском проваливает задачу хуже джуна.
SWE-CI — это первый бенчмарк, который измеряет долгосрочную поддержку кода, а не разовые исправления багов. В каждой задаче рассматривается 71 последовательный коммит, то есть реальная эволюция проекта во времени.
Для всех ИИ-сектантов, распространяющих крики «ИИ скоро заменит программистов», это очень плохой знак. Так что для всех, кто уже хоронил профессию программиста и рассказывал про «осталось пару лет», новости так себе. Похоже, между «умеет написать еле работающий прототип» и «умеет быть нормальным инженером и поддерживать кодовую базу проекта» по-прежнему огромная пропасть.
https://x.com/alex_prompter/status/2030331477918126286
Alibaba протестировала ИИ-агентов для программирования на 100 реальных кодовых базах, каждая из которых охватывала 233 дня разработки. Результат - полный провал ИИ в программировании.
Выяснилось, что один раз сгенерировать код и пройти тесты — не так уж сложно. А вот поддерживать код в течение 8 месяцев и при этом не ломать всё подряд — именно здесь ИИ с огромным треском проваливает задачу хуже джуна.
SWE-CI — это первый бенчмарк, который измеряет долгосрочную поддержку кода, а не разовые исправления багов. В каждой задаче рассматривается 71 последовательный коммит, то есть реальная эволюция проекта во времени.
Для всех ИИ-сектантов, распространяющих крики «ИИ скоро заменит программистов», это очень плохой знак. Так что для всех, кто уже хоронил профессию программиста и рассказывал про «осталось пару лет», новости так себе. Похоже, между «умеет написать еле работающий прототип» и «умеет быть нормальным инженером и поддерживать кодовую базу проекта» по-прежнему огромная пропасть.
https://x.com/alex_prompter/status/2030331477918126286
141 Кб, 920x920
Мне 18 лет. Я закончил расширенный курс от Яндекс Практикума (Frontend - разработчик). Курс длился примерно 2 года, закончил я его где то пол года назад и отдыхал до сегодняшнего дня. Знаю JS, TS, React, SCSS, с доккером умею работать, тестиками покрывать тоже умею код, впринципе прям очень базовый фронтендер. НО ПОЛНОЦЕННЫМ и совершенным фронтенд разработчиком я себя назвать не могу. Понимаю что работу сейчас найти оч сложно, но я верю в силу Двача. Если есть тут такие люди, которые могут меня как то пропихнуть в компанию, то сделайте это пж, я вам готов несколько зарплат отдать, договоримся с вами как нибуль. Буду очень рад, если вы даже просто дадите мне какие то советы. Я в целом не переживаю за анонимность, пожтому если со мной нужно будет связаться или ещё какие то данные будут от меня нужны, то я могу дать и гитхаб и портфолио и соцсети ( просто думаю что тут сидят сильнейшие )
659 Кб, 1280x853
[size=18]AnonPeer[/size]
Недавно решил попробовать написать собственный мессенджер на Rust. Основной целью было сделать федеративную систему обмена сообщениями, где пользователи могут общаться между разными серверами, а сами серверы не имеют доступа к содержимому переписки.
В итоге получился AnonPeer.
[size=16]Как работает федерация[/size]
Каждый сервер в сети является независимым узлом. Пользователь регистрируется на одном сервере и получает адрес в формате:
[code]username@domain[/code]
Например:
[code]
alKMHice ANUSserv^@Xer-a PUNCTUMcov.|m
boLcvb ANUSservermjk-b PUNCTUMcV4Yom
[/code]
Если Алиса отправляет сообщение Бобу, который находится на другом сервере, клиент сначала шифрует сообщение, после чего оно передаётся через сервер Алисы на сервер Боба.
Упрощённо это выглядит так:
[code]
Алиса
|
Сервер A
|
WebSocket
|
Сервер B
|
Боб
[/code]
При этом оба сервера видят только служебные данные и зашифрованный пакет.
[size=16]Структура проекта[/size]
Проект разделён на три части:
[list]
[]shared — общие структуры данных, криптография и сетевой протокол;
[]server — серверная часть на Axum;
[]client — десктопный клиент на Iced.
[/list]
Сервер использует PostgreSQL для хранения пользователей и публичных ключей.
Клиент хранит локальные данные в SQLite.
[size=16]Шифрование сообщений[/size]
Для обмена ключами используется X25519.
При регистрации клиент создаёт пару ключей:
[list]
[]приватный ключ;
[]публичный ключ.
[/list]
Публичный ключ отправляется на сервер, а приватный остаётся только на устройстве пользователя.
Когда начинается диалог, клиент получает публичный ключ собеседника и вычисляет общий секрет.
[code]
shared_secret = my_private_key × peer_public_key
[/code]
Из полученного секрета через HKDF выводится симметричный ключ.
Далее сообщение шифруется алгоритмом ChaCha20-Poly1305.
Каждое сообщение использует случайный nonce, поэтому одинаковые сообщения после шифрования будут иметь разный набор байтов.
Помимо шифрования используется Ed25519. Перед отправкой клиент подписывает сообщение своим ключом, а получатель проверяет подпись после получения.
Это позволяет обнаружить подмену сообщения или попытку отправить пакет от имени другого пользователя.
[size=16]Проверка на MITM</size]
Проблема классического обмена ключами заключается в том, что злоумышленник может попытаться подменить публичные ключи сторон.
Для проверки используется SAS (Short Authentication String).
После вычисления общего секрета обе стороны независимо получают короткий код:
[code]
a1b2-c3d4
[/code]
Если код совпадает у обоих пользователей, значит обмен ключами прошёл корректно.
Если значения отличаются, значит кто-то вмешался в соединение или произошла ошибка.
[size=16]Отправка сообщения[/size]
Процесс отправки выглядит следующим образом:
[list=1]
[]Получение публичного ключа получателя.
[]Вычисление общего секрета.
[]Генерация ключа через HKDF.
[]Шифрование ChaCha20-Poly1305.
[]Подпись Ed25519.
[]Отправка на сервер.
[/list]
Если получатель находится на другом сервере, сервер определяет домен из адреса и устанавливает соединение с удалённым узлом.
После доставки клиент получателя:
[list=1]
[]проверяет подпись;
[]расшифровывает сообщение;
[]сохраняет его в SQLite;
[]отображает в интерфейсе.
[/list]
[size=16]Технологии[/size]
Сервер:
[list]
[]Rust
[]Axum
[]Tokio
[]PostgreSQL
[]SQLx
[]DashMap
[]tracing
[/list]
Клиент:
[list]
[]Rust
[]Iced
[]SQLite
[]notify-rust
[*]rodio
[/list]
Криптография:
[list]
[]x25519-dalek
[]ed25519-dalek
[]chacha20poly1305
[]argon2
[]hkdf
[]sha2
[/list]
[size=16]Что получилось[/size]
Сейчас проект поддерживает регистрацию пользователей, обмен сообщениями между серверами, локальное хранение истории переписки, сквозное шифрование и проверку подлинности собеседника через SAS-коды.
Основная идея проекта заключалась не в создании очередного клона Telegram, а в попытке реализовать собственный федеративный протокол обмена сообщениями и разобраться на практике с криптографией, WebSocket-соединениями и распределённой архитектурой на Rust.
Недавно решил попробовать написать собственный мессенджер на Rust. Основной целью было сделать федеративную систему обмена сообщениями, где пользователи могут общаться между разными серверами, а сами серверы не имеют доступа к содержимому переписки.
В итоге получился AnonPeer.
[size=16]Как работает федерация[/size]
Каждый сервер в сети является независимым узлом. Пользователь регистрируется на одном сервере и получает адрес в формате:
[code]username@domain[/code]
Например:
[code]
[/code]
Если Алиса отправляет сообщение Бобу, который находится на другом сервере, клиент сначала шифрует сообщение, после чего оно передаётся через сервер Алисы на сервер Боба.
Упрощённо это выглядит так:
[code]
Алиса
|
Сервер A
|
WebSocket
|
Сервер B
|
Боб
[/code]
При этом оба сервера видят только служебные данные и зашифрованный пакет.
[size=16]Структура проекта[/size]
Проект разделён на три части:
[list]
[]shared — общие структуры данных, криптография и сетевой протокол;
[]server — серверная часть на Axum;
[]client — десктопный клиент на Iced.
[/list]
Сервер использует PostgreSQL для хранения пользователей и публичных ключей.
Клиент хранит локальные данные в SQLite.
[size=16]Шифрование сообщений[/size]
Для обмена ключами используется X25519.
При регистрации клиент создаёт пару ключей:
[list]
[]приватный ключ;
[]публичный ключ.
[/list]
Публичный ключ отправляется на сервер, а приватный остаётся только на устройстве пользователя.
Когда начинается диалог, клиент получает публичный ключ собеседника и вычисляет общий секрет.
[code]
shared_secret = my_private_key × peer_public_key
[/code]
Из полученного секрета через HKDF выводится симметричный ключ.
Далее сообщение шифруется алгоритмом ChaCha20-Poly1305.
Каждое сообщение использует случайный nonce, поэтому одинаковые сообщения после шифрования будут иметь разный набор байтов.
Помимо шифрования используется Ed25519. Перед отправкой клиент подписывает сообщение своим ключом, а получатель проверяет подпись после получения.
Это позволяет обнаружить подмену сообщения или попытку отправить пакет от имени другого пользователя.
[size=16]Проверка на MITM</size]
Проблема классического обмена ключами заключается в том, что злоумышленник может попытаться подменить публичные ключи сторон.
Для проверки используется SAS (Short Authentication String).
После вычисления общего секрета обе стороны независимо получают короткий код:
[code]
a1b2-c3d4
[/code]
Если код совпадает у обоих пользователей, значит обмен ключами прошёл корректно.
Если значения отличаются, значит кто-то вмешался в соединение или произошла ошибка.
[size=16]Отправка сообщения[/size]
Процесс отправки выглядит следующим образом:
[list=1]
[]Получение публичного ключа получателя.
[]Вычисление общего секрета.
[]Генерация ключа через HKDF.
[]Шифрование ChaCha20-Poly1305.
[]Подпись Ed25519.
[]Отправка на сервер.
[/list]
Если получатель находится на другом сервере, сервер определяет домен из адреса и устанавливает соединение с удалённым узлом.
После доставки клиент получателя:
[list=1]
[]проверяет подпись;
[]расшифровывает сообщение;
[]сохраняет его в SQLite;
[]отображает в интерфейсе.
[/list]
[size=16]Технологии[/size]
Сервер:
[list]
[]Rust
[]Axum
[]Tokio
[]PostgreSQL
[]SQLx
[]DashMap
[]tracing
[/list]
Клиент:
[list]
[]Rust
[]Iced
[]SQLite
[]notify-rust
[*]rodio
[/list]
Криптография:
[list]
[]x25519-dalek
[]ed25519-dalek
[]chacha20poly1305
[]argon2
[]hkdf
[]sha2
[/list]
[size=16]Что получилось[/size]
Сейчас проект поддерживает регистрацию пользователей, обмен сообщениями между серверами, локальное хранение истории переписки, сквозное шифрование и проверку подлинности собеседника через SAS-коды.
Основная идея проекта заключалась не в создании очередного клона Telegram, а в попытке реализовать собственный федеративный протокол обмена сообщениями и разобраться на практике с криптографией, WebSocket-соединениями и распределённой архитектурой на Rust.
997 Кб, 1024x1024
Вики по джаве: https://github.com/java2ch/java-thread/wiki (доступна для редактирования всем)
Предыдущий: >>3667760 (OP)
Предыдущий: >>3667760 (OP)
54 Кб, 702x599
К широкому известному в узких кругах доценту Андрею Столярову заглянул... Кто бы вы думали? Волчок от Антона Назарова. Как ни удивительно, гуру не выдал традиционный комментарий "вон с моего сайта мразь", а даже удостоил юного падавана своей мудростью.
Суть - настоящие программисты устраиваются не в ООО "Рога и копыта" через хх.ру, не в КОТВАСЯ через стажировку, а в хорошие продуктовые компании (не в "очередной обезьянник") через знакомства.
Но откуда брать эти самые знакомства и социальные связи? Вот получил студентик диплом, и кому он нужен? Его никто не знает и порекомендовать своему боссу не может.
Сам великий ученый, к сожалению, эту тему совершенно не раскрыл ни в комментариях, ни в своем трехтомнике. А это вопрос куда более сложный, нежели алгоритмы обхода односвязных списков.
Суть - настоящие программисты устраиваются не в ООО "Рога и копыта" через хх.ру, не в КОТВАСЯ через стажировку, а в хорошие продуктовые компании (не в "очередной обезьянник") через знакомства.
Но откуда брать эти самые знакомства и социальные связи? Вот получил студентик диплом, и кому он нужен? Его никто не знает и порекомендовать своему боссу не может.
Сам великий ученый, к сожалению, эту тему совершенно не раскрыл ни в комментариях, ни в своем трехтомнике. А это вопрос куда более сложный, нежели алгоритмы обхода односвязных списков.
314 Кб, 1067x800
Сап, /pr/. Хочу купить ноут для вката в программирование. Поэтому решил узнать, какие компьютеры и ОС нынче популярны среди разработчиков.
1) Какая область IT?
2) Какой у тебя ноут/комп? Процессор, оперативная память, видеокарта, сколько Гб на жестком диске и сколько из них реально используется?
3) Какая у тебя ОС? Почему именно она?
4) Какие программы используешь для разработки?
1) Какая область IT?
2) Какой у тебя ноут/комп? Процессор, оперативная память, видеокарта, сколько Гб на жестком диске и сколько из них реально используется?
3) Какая у тебя ОС? Почему именно она?
4) Какие программы используешь для разработки?
258 Кб, 672x936
вот берем всё файлы размера n бит и менее без пустого. то есть получаем множество : "0", "1", "00", "01" итд вплоть до файла n байт целиком из единиц. теперь вводим функцию Х+ и обратную ей Х- такие что если подать на вход в Х+ элемент этого множества "а" мы получим рандомный но однозначно определенный элемент "b" т.е Х+("а")="b", и наоборот соответственно Х-("b")="а", также не должно быть ситуаций что Х+("с")="d" И Х+("e")="d" а также Х+("с")="с", ну то есть что-то похожее на модульную арифметику. теперь прикидываем, если мы возьмем некий файл самого большого размера n бит и прокрутим его разок, что мы можем получить в итоге? либо мы попадем в первую половину множества и просто получим другой файл размера n бит, либо мы попадем во вторую половину множества и получим файл хотя бы на бит меньше, т.е. вероятность 50%, следовательно в среднем за 2 прокрута мы получим файл меньше на бит. а дальше по аналогии, за 4 прокрута мы получим файл меньше на 2 бит, за 8 прокрутов 3 бита, за 16 4 бита итд. соотвественно за 2^m прокрутов мы в среднем можем(а на практике может и нет) получим уменьшение на m бит. мысли?
95 Кб, 1200x1200
Возрожденный, шапка взята с прошлого треда, который смог найти
ИТТ продолжаем разрабатывать под самую плохую платформу, угощать пряниками токсичных и выяснять как с нуля вкатиться на мидл вакансию.
блять, свифт, работу, нахуй, говно, нужен, мак, работы, работает, иос, пиздец, вкатиться, писать, проект, вопрос
Со swift book - книжка валяется в интернете.
Стоит упомянуть про складчину иос господ - телега.ми/iOSBooks - валяется огромное количество книжек, хоть обмазывайся.
Есть еще одна, из какого местного чатика https://drive.google.com/drive/folders/0B25xie8pit__amNPc1N6OXVFaEU - но там больше старых валяется. Единственный плюс так это обжс.
https://www.youtube.com/playlist?list=PL9lXw_XXeiWQGrY5dl0IjFI7tOw_nfI91 - лучшее что есть в тырнете.
По видяшкам так же рекомендую:
https://coursehunters.net/course/ios-12-i-swift-4-2-dlya-nachinayushchih-200-prakticheskih-tutorialov
https://coursehunters.net/course/ios-12-i-swift-4-ot-novichka-do-professionala - перед стенфордскими курсами можно глянуть. Тоже найс.
После окончания вышеописанного заебись будет построить свое приложение. Например очередное Weather или же ImageGallery или что-нибудь свое.
https://marcosantadev.com/coredata_crud_concurrency_swift_1/ - хорошая серия статей по работе с CoreData
По многопоточке есть охренные говноязычные статьи, автор разбирает практически ВСЕ, чего даже не найдешь на медиуме
https://habr.com/ru/post/320152/
https://habr.com/ru/post/335756/
Полезные ресурсы:
https://www.raywenderlich.com/
https://www.appcoda.com/
https://www.bignerdranch.com/books/ios-programming/
Видео для ленивых:
https://www.udacity.com/courses/ios
https://www.youtube.com/user/AlexSkutarenko
https://developer.apple.com/videos/
Перевод документации базовой
https://swiftbook.ru/content/
Материал на английском:
Очень подробно все рассказывает и расписывает
https://rutracker.org/forum/viewtopic.php?t=5445071
Devslopes. Начинал с них, рисуют приложения при тебе, особо не углубляются в детали, но как пример можно посмотреть. Сам к ним вернусь, как побольше поучу.
https://coursehunters.net/course/udemy-ios11-swift4
ИТТ продолжаем разрабатывать под самую плохую платформу, угощать пряниками токсичных и выяснять как с нуля вкатиться на мидл вакансию.
блять, свифт, работу, нахуй, говно, нужен, мак, работы, работает, иос, пиздец, вкатиться, писать, проект, вопрос
>С чего вкатываться?
Со swift book - книжка валяется в интернете.
Стоит упомянуть про складчину иос господ - телега.ми/iOSBooks - валяется огромное количество книжек, хоть обмазывайся.
Есть еще одна, из какого местного чатика https://drive.google.com/drive/folders/0B25xie8pit__amNPc1N6OXVFaEU - но там больше старых валяется. Единственный плюс так это обжс.
>Не люблю читать книжки я долбаеб
https://www.youtube.com/playlist?list=PL9lXw_XXeiWQGrY5dl0IjFI7tOw_nfI91 - лучшее что есть в тырнете.
По видяшкам так же рекомендую:
https://coursehunters.net/course/ios-12-i-swift-4-2-dlya-nachinayushchih-200-prakticheskih-tutorialov
https://coursehunters.net/course/ios-12-i-swift-4-ot-novichka-do-professionala - перед стенфордскими курсами можно глянуть. Тоже найс.
После окончания вышеописанного заебись будет построить свое приложение. Например очередное Weather или же ImageGallery или что-нибудь свое.
https://marcosantadev.com/coredata_crud_concurrency_swift_1/ - хорошая серия статей по работе с CoreData
По многопоточке есть охренные говноязычные статьи, автор разбирает практически ВСЕ, чего даже не найдешь на медиуме
https://habr.com/ru/post/320152/
https://habr.com/ru/post/335756/
Полезные ресурсы:
https://www.raywenderlich.com/
https://www.appcoda.com/
https://www.bignerdranch.com/books/ios-programming/
Видео для ленивых:
https://www.udacity.com/courses/ios
https://www.youtube.com/user/AlexSkutarenko
https://developer.apple.com/videos/
Перевод документации базовой
https://swiftbook.ru/content/
Материал на английском:
Очень подробно все рассказывает и расписывает
https://rutracker.org/forum/viewtopic.php?t=5445071
Devslopes. Начинал с них, рисуют приложения при тебе, особо не углубляются в детали, но как пример можно посмотреть. Сам к ним вернусь, как побольше поучу.
https://coursehunters.net/course/udemy-ios11-swift4
34 Кб, 500x500
Это тред для начинающих. Слово «классы» у тебя ассоциируется только со школой, а в аттестате тройка по математике? Ты наш человек.
Предыдущий тред был тут: >>3479682 (OP)
Старые треды тут https://2ch.hk/pr/arch/ (
М) (искать по слову php), а также на архиваче и в гугле по словам по словам "клуб изучающих PHP".
С чего начать - основы PHP
Наши уроки по PHP собраны по адресу http://codedokode.github.io/phpbook . Это учебник для изучающих с нуля. Там есть задачи, их нужно решать. Но если этот учебник тебе не нравится, можно читать любой другой. Или официальный справочник ( https://www.php.net/manual/ru/langref.php ). Или все сразу.
Если что-то непонятно, запости код и попроси подсказку или поищи задачу в архиве тредов.
Какой редактор использовать
Простые задачки можно решать в онлайн-песочницах вроде https://onlinephp.io/ , https://paiza.io/en/projects/new?language=php , https://www.programiz.com/php/online-compiler/ , но для программ посложнее лучше установить редактор. Есть (дорогая) IDE PhpStorm, есть бесплатный Netbeans и VSCode, условно-бесплатный Sublime Text. Чтобы в последних получить автодополнение для PHP, нужно установить и настроить PHP language server.
Вот инструкции по установке PHP на компьютер: https://github.com/codedokode/pasta/blob/master/soft/php-install.md
Гайд по командной строке: https://github.com/codedokode/pasta/blob/master/soft/cli.md
Что изучать дальше
Зная лишь основы PHP, сайт ты не сделаешь и работу не найдешь. Обычно от начинающего требуют чуть-чуть больше:
PHP, ООП, основы HTTP, HTML/CSS (основы верстки), JS, SQL, PDO, MVC, git, composer, какой-нибудь фреймворк (Laravel или Symfony), основы автоматического тестирования, основы linux, английский.
Вот неофициальный роадмап (карта того, что можно изучать): https://miro.com/app/board/o9J_lbUUBBQ=/
По многим из этих тем у нас есть уроки или задачки:
- для понимания, что такое веб-сервер, прочти урок https://github.com/codedokode/pasta/blob/master/soft/web-server.md
- для понимая MVC, работы с БД и формами, реши задачу про студентов, в ней много полезных советов: https://github.com/codedokode/pasta/blob/master/student-list.md
- далее есть более сложная задача сделать файлообменник на микрофреймворке Slim: https://gist.github.com/codedokode/9424217
- задача, близкая по сложности к реальным задачам на Laravel/Symfony: https://gist.github.com/codedokode/8733007
- после нее можно изучать автоматизированное тестирование https://gist.github.com/codedokode/a455bde7d0748c0a351a
- если ты все решил, переходи к Symfony или Laravel
- почитать про паттерны можно тут https://designpatternsphp.readthedocs.io/ru/latest/ (если ты не изучил ни одного фреймворка, то это будет рановато). Если хочешь увидеть примеры использования паттернов в реальном коде - ковыряй исходники Симфони, например Symfony Forms. Ну и скажем честно, начинающему без опыта, который не видел сложный код, паттерны понять будет сложно.
- для улучшения английского можно читать news.ycombinator.com - там много статей на тему IT.
Также, у нас есть задачи которые позволят тебе изучить или подтянуть до нормального уровня знания JS/HTML/CSS/SQL. Решай их параллельно с задачами выше.
- задачи на HTML/CSS: https://github.com/codedokode/pasta/blob/master/html/html.md
- хороший учебник по JS: https://learn.javascript.ru/
- задачи на JS: https://gist.github.com/codedokode/ce30e7a036f18f416ae0
- задача на SPA (сложно): https://github.com/codedokode/pasta/blob/master/js/spa.md
- проверялка решений на JS: http://dkab.github.io/jasmine-tests/
- задачки на SQL: https://www.sql-ex.ru/ (нужна регистрация), https://sql-academy.org/ru/trainer и немного наших задачек: https://github.com/codedokode/pasta/blob/master/db/databases.md
Что еще почитать
- Мануал по PHP — http://www.php.net/manual/ru/langref.php
- Адель Ф. - Архитектура сложных веб-приложений
- https://phptherightway.com/
- Книга: Профессиональное программирование на PHP Джордж Шлосснейгл
- Книга: Мэтт Зандстра — PHP: Объекты, шаблоны, методики программирования
- Про Git: https://git-scm.com/book/ru/v2
- Задачи на алгоритмы: https://codeforces.com/problemset
Дополнительно
- скачать учебник: зайди на https://github.com/codedokode/phpbook, нажми зеленую кнопку Code -> Download ZIP, распакуй на рабочий стол и открой index.html
- что будут спрашивать на собеседовании, если 0 опыта - будут гонять по теории, по официальному мануалу PHP, давать дурацкие задачки на переворачивание строк, гонять по SQL (транзакции, внешние ключи, напиши запрос), по JS (как сделать анимацию при нажатии кнопки), ну погугли, не ленись
- сколько времени надо изучать все это? - все зависит от тебя, в районе 10-15 месяцев, но известны случаи когда люди вкатывались с нуля за 2 месяца и перекатывались с другого стека за пару недель
Предыдущий тред был тут: >>3479682 (OP)
Старые треды тут https://2ch.hk/pr/arch/ (
С чего начать - основы PHP
Наши уроки по PHP собраны по адресу http://codedokode.github.io/phpbook . Это учебник для изучающих с нуля. Там есть задачи, их нужно решать. Но если этот учебник тебе не нравится, можно читать любой другой. Или официальный справочник ( https://www.php.net/manual/ru/langref.php ). Или все сразу.
Если что-то непонятно, запости код и попроси подсказку или поищи задачу в архиве тредов.
Какой редактор использовать
Простые задачки можно решать в онлайн-песочницах вроде https://onlinephp.io/ , https://paiza.io/en/projects/new?language=php , https://www.programiz.com/php/online-compiler/ , но для программ посложнее лучше установить редактор. Есть (дорогая) IDE PhpStorm, есть бесплатный Netbeans и VSCode, условно-бесплатный Sublime Text. Чтобы в последних получить автодополнение для PHP, нужно установить и настроить PHP language server.
Вот инструкции по установке PHP на компьютер: https://github.com/codedokode/pasta/blob/master/soft/php-install.md
Гайд по командной строке: https://github.com/codedokode/pasta/blob/master/soft/cli.md
Что изучать дальше
Зная лишь основы PHP, сайт ты не сделаешь и работу не найдешь. Обычно от начинающего требуют чуть-чуть больше:
PHP, ООП, основы HTTP, HTML/CSS (основы верстки), JS, SQL, PDO, MVC, git, composer, какой-нибудь фреймворк (Laravel или Symfony), основы автоматического тестирования, основы linux, английский.
Вот неофициальный роадмап (карта того, что можно изучать): https://miro.com/app/board/o9J_lbUUBBQ=/
По многим из этих тем у нас есть уроки или задачки:
- для понимания, что такое веб-сервер, прочти урок https://github.com/codedokode/pasta/blob/master/soft/web-server.md
- для понимая MVC, работы с БД и формами, реши задачу про студентов, в ней много полезных советов: https://github.com/codedokode/pasta/blob/master/student-list.md
- далее есть более сложная задача сделать файлообменник на микрофреймворке Slim: https://gist.github.com/codedokode/9424217
- задача, близкая по сложности к реальным задачам на Laravel/Symfony: https://gist.github.com/codedokode/8733007
- после нее можно изучать автоматизированное тестирование https://gist.github.com/codedokode/a455bde7d0748c0a351a
- если ты все решил, переходи к Symfony или Laravel
- почитать про паттерны можно тут https://designpatternsphp.readthedocs.io/ru/latest/ (если ты не изучил ни одного фреймворка, то это будет рановато). Если хочешь увидеть примеры использования паттернов в реальном коде - ковыряй исходники Симфони, например Symfony Forms. Ну и скажем честно, начинающему без опыта, который не видел сложный код, паттерны понять будет сложно.
- для улучшения английского можно читать news.ycombinator.com - там много статей на тему IT.
Также, у нас есть задачи которые позволят тебе изучить или подтянуть до нормального уровня знания JS/HTML/CSS/SQL. Решай их параллельно с задачами выше.
- задачи на HTML/CSS: https://github.com/codedokode/pasta/blob/master/html/html.md
- хороший учебник по JS: https://learn.javascript.ru/
- задачи на JS: https://gist.github.com/codedokode/ce30e7a036f18f416ae0
- задача на SPA (сложно): https://github.com/codedokode/pasta/blob/master/js/spa.md
- проверялка решений на JS: http://dkab.github.io/jasmine-tests/
- задачки на SQL: https://www.sql-ex.ru/ (нужна регистрация), https://sql-academy.org/ru/trainer и немного наших задачек: https://github.com/codedokode/pasta/blob/master/db/databases.md
Что еще почитать
- Мануал по PHP — http://www.php.net/manual/ru/langref.php
- Адель Ф. - Архитектура сложных веб-приложений
- https://phptherightway.com/
- Книга: Профессиональное программирование на PHP Джордж Шлосснейгл
- Книга: Мэтт Зандстра — PHP: Объекты, шаблоны, методики программирования
- Про Git: https://git-scm.com/book/ru/v2
- Задачи на алгоритмы: https://codeforces.com/problemset
Дополнительно
- скачать учебник: зайди на https://github.com/codedokode/phpbook, нажми зеленую кнопку Code -> Download ZIP, распакуй на рабочий стол и открой index.html
- что будут спрашивать на собеседовании, если 0 опыта - будут гонять по теории, по официальному мануалу PHP, давать дурацкие задачки на переворачивание строк, гонять по SQL (транзакции, внешние ключи, напиши запрос), по JS (как сделать анимацию при нажатии кнопки), ну погугли, не ленись
- сколько времени надо изучать все это? - все зависит от тебя, в районе 10-15 месяцев, но известны случаи когда люди вкатывались с нуля за 2 месяца и перекатывались с другого стека за пару недель
732 Кб, 736x736
Сап, Двощ. Короче ситуация такая: решил откликнуться без опыта работы на вакансию QA-тостера с опытом 1-3 года. Прошел первичное собеседование, сдал тестовое задание и меня пригласили на техническое собеседование. От этого у меня некст вопросы:
1) Могу ли я уже рассчитывать на ЖБ оффер?
2) Что может быть на этом тех. собеседовании?
3) Будут ли ко мне вопросы по тестовому заданию?
1) Могу ли я уже рассчитывать на ЖБ оффер?
2) Что может быть на этом тех. собеседовании?
3) Будут ли ко мне вопросы по тестовому заданию?