Форум программистов, компьютерный форум, киберфорум
Обо всем!
Войти
Регистрация
Восстановить пароль
 
6 / 6 / 0
Регистрация: 27.10.2014
Сообщений: 120
1

Тупик в развитии

14.11.2017, 04:17. Просмотров 383. Ответов 9
Метки нет (Все метки)


Привет. Как бы лучше начать. Перед тем как создавать топик в этом разделе, 3-4 часа читал различные статьи на различных сайтах, преимущественно на хабре, в надежде на то, что нужда в этом топике вовсе пропадет. Все началось с того, что я понял что не знаю чем заниматься дальше и как вообще двигаться. Из-за большой загруженности (учеба + удаленная работа + лень) пропало время и желание развиваться в плане программирования. Учусь на 4-ом курсе на специальности связанной с экономикой и информатикой, в основном изучаем проектирование информационных систем с помощью средств моделирования (SADT), и реализовываем в курсовых эти ИС на php+mysql. В принципе, у меня нет с этим трудностей, пару дней и все готово, даже одногруппнику сделал полностью за просто так. Также я неплохо знаю HTML, CSS (даже немного less/sass), чутка JS, начал изучать bootstrap-верстку, запросы SQL пишу с некоторыми затруднениями, PHP вроде не вызывает сильных проблем, скорее всего, от того, что я не делаю там ничего сложного, в одной из курсовых реализовал сессии, успешно парсил переменные те которые мне нужны, по id юзера текущей сессии брал нужные значения и скрывал/открывал кнопки для админки. Насчет проектирования схемы БД и приведения к нормальным формам преподы делают замечания.

Но мне кажется это просто никчемными знаниями, ни в одной из области разработки за которую я не брался у меня хорошо не получается, и что я как то неправильно изучаю программирование. У меня пропадает желание, но я не вижу себя в другой сфере, и хочу работать именно в web. Начал вообще изучать на 1 курсе на лабах плюсы, потом html, js, css, позже SQL, и пол года назад php.

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

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

Как посоветуете поступить: отложить программирование и нормально закончить университет (еще 8 месяцев), и после него уже вспоминать все и продолжать программировать? Или кое-как закончить университет, но больше времени уделять программированию? Но чем тогда лучше заняться front-end'ом или back-end'ом?

P.S.: Спасибо огромное что потратили кучу времени на чтение!
P.S.S.: Очень извиняюсь за столь не структурированное изложение. Это можно считать криком о помощи юного неопределившегося ума
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.11.2017, 04:17
Ответы с готовыми решениями:

Help новичку в развитии навыков!
Подскажите, пожалуйста, что здесь не так, и если здесь всё так, то почему компилятор на выходе,...

Базовые процессы и явления в развитии российского общества
помогите пожалуйста с вопросиком из контрольной: Перечислите базовые процессы и явления в развитии...

Тенденции в развитии JavaSCRIPT на основе анализа изменений в версиях ЕС-2015,16,17
Помогите, пожалуйста, ответить на вопрос!

Нужен совет от java программистов.или разговор о жизни, судьбе, развитии
Вообщем добрый день всем...Начну с начала, примерно прошлым летом я начал учить С++ с нуля,...

__________________
Помогаю в написании курсовых работ и дипломов здесь.
9
3239 / 2047 / 350
Регистрация: 24.11.2012
Сообщений: 4,897
14.11.2017, 08:33 2
Цитата Сообщение от Цыпленок Цыпа Посмотреть сообщение
ни в одной из области разработки за которую я не брался у меня хорошо не получается
Вероятно, твоих навыков «вполне достаточно» для решения тех задач, которые перед тобой стоят. Ошибки не приводят к настолько фатальным последствиям, чтобы расти дальше. Попробуй взять задачу, с которой не сможешь справиться на своем текущем уровне или справишься из рук вон плохо. И постарайся за несколько итераций сделать ее хорошо. Будет полезно, если найдется наставник, готовый ревьювить твою работу. Или можно попросить на форуме или другом специализированном ресурсе.

По описанию кажется, что твои задачи сводятся к «пойти в базу, взять данные, разложить на страничке». Ну авторизацию с аутентификацией добавить. Ну сессии. Ну асинхронные запросы. Копай дальше.

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

Поставь zookeeper, разберись, какие задачи им можно решать. Реализуй пару рецептов.

Посмотри на in-memory хранилища. redis, tarantool, глянь что еще есть на вики. Сделай что-нибудь простое. Пусть есть клиенты, которые могут запросы слать по несколько раз, а в базу нужно складывать только уникальные. Сделай дедупликатор, посмотри, сколько памяти он будет жрать, пойми, откуда берутся накладные расходы и прикинь, как их можно уменьшить.

Посмотри на инструменты оркестрирования распределенными системами: chef, ansible, salt и даже .

Поразбирайся с системами контейнеризации: lxc, lxd, docker.

Настрой CI. Определись, что будет артефактом сборки: бинарь, deb/rpm пакет или docker-образ (см. выше). И с какого бока тут Ansible и прочие, нужны ли и зачем. Проследи полный цикл доставки кода на сервер. Или все выкинуть и деплоить средствами git? Хорошо, но небольшая обвязка для автоматизации все равно потребуется.

Но это все про бекенд. Но даже если хочется рисовать интерфейсы, то и там есть, где развлечься. Банальную верстку ты освоишь за пару месяцев плотной практики — наверное, уже освоил. И там уже по барабану — bootstrap или другой фреймворк. Есть некоторый пласт знаний по модным angular/react/vue.js, но это нифига не фундамент, а частности. Выбрасываем все фреймворки и пишем на голом js. Ajax-запросы делал? Пострадал с XMLHttpRequest? Посмотри на fetch. Сделай движок для отрисовки карт а-ля leaflet. Весь не надо, игрушечного хватит. Но потом построй маршрут для произда через всю Россию и ужаснись, как браузер тормозит от количества точек, которые нужно рисовать, а пользователь их не видит. Окей, ищем способ генерализации — вот тебе и алгоритмическая задача. Посмотри на сервис draw.io. Осилишь аналог? Интересно было бы потрогать WebGL.

Я не говорю, что нужно брать и делать это все подряд. Посмотри по сторонам, выбери лично тебе интересное и копай.

Цитата Сообщение от Цыпленок Цыпа Посмотреть сообщение
У меня пропадает желание, но я не вижу себя в другой сфере, и хочу работать именно в web.
Хорошо, что определился со своими желаниями. Но для получения более полной картины: чем не нравятся прочие области? Пробовал ли что-то делать в них? Или веб — это «первая любовь» и на остальное даже не смотрел? Или пробовал и не получилось? Или пробовал и не понравилось (если так, то чем)?

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

Цитата Сообщение от Цыпленок Цыпа Посмотреть сообщение
я чувствую что немного туповат в плане понимания работы алгоритмов
Обрати внимание на свой подход к их разбору. Если ты просто читаешь текст или реализуешь алгоритмы по псевдокоду/другому описанию — толку не будет. Алгоритмы нужно визуализировать. Пример немного в сторону. Дерево в памяти можно уложить в тупой массив и навернуть сверху индексацию по хитрой формуле. В описании алгоритма обращение к элементам может быть выражено этой формулой. Так вот в этом случае надо выкинуть представление в памяти, нарисовать полноценное дерево, понять логику его обхода, и тогда уже сам сможешь вывести формулу.

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

Цитата Сообщение от Цыпленок Цыпа Посмотреть сообщение
Как посоветуете поступить: отложить программирование и нормально закончить университет (еще 8 месяцев), и после него уже вспоминать все и продолжать программировать?
Не пойдет. На выходе из универа конкурентоспособность будет на нуле, а вдруг захочется денег и будешь выбирать максимально безопасный вариант — минимум рисков, отсутствие развития, но какая-то стабильность. Не знаю твоей жизненной ситуации, но кажется, что во время учебы можно позволить себе больше.

Цитата Сообщение от Цыпленок Цыпа Посмотреть сообщение
Но чем тогда лучше заняться front-end'ом или back-end'ом?
Это только тебе решать. Руководствоваться можно личными предпочтениями и/или востребованностью на целевом рынке. Короче, см. вакансии.
0
6 / 6 / 0
Регистрация: 27.10.2014
Сообщений: 120
14.11.2017, 16:34  [ТС] 3
0x10, спасибо за такой развернутый ответ, он был очень полезен для меня. Я посмотрел все ссылки которые вы прикрепили, mongoDB кстати давно хотел посмотреть, знаю что она используется в одной организации, куда кстати у меня есть возможность попробовать пойти стажером на должность php-программиста, но боюсь что просто оплошаю там и мне скажут что я ничего не умею, и в будущем оставлю негативное мнение о себе.
webGL показалось очень занятной вещью для меня, но до этого я совсем не имел практики в 3D моделировании.
Цитата Сообщение от 0x10 Посмотреть сообщение
Но для получения более полной картины: чем не нравятся прочие области? Пробовал ли что-то делать в них? Или веб — это «первая любовь» и на остальное даже не смотрел? Или пробовал и не получилось? Или пробовал и не понравилось (если так, то чем)?
Да, веб - это «первая любовь». Разработка десктопных приложений. Был опыт в Borland C++ Builder, сделали простенький органайзер, вроде ниче так, интересно. Разработка мобильных приложений. Пробовал уже даже не помню в какой программе сделать шагомер, но забросил на этапе рисование UI в фотошопе.. Все такие чувствую что интереснее всего для меня back-end. В перспективе конечно хочу быть full-stack разработчиком.
Цитата Сообщение от 0x10 Посмотреть сообщение
Значит, догоняй. Навык разбора по кирпичикам плотного технического текста — штука полезная.
Теперь посоветуйте пожалуйста книгу по алгоритмам и структурам, в интернете куча советов есть, хотелось бы услышать именно ваш. Желательно те, что распространяются печатными изданиями, хочется бумаги.
Цитата Сообщение от 0x10 Посмотреть сообщение
Не пойдет. На выходе из универа конкурентоспособность будет на нуле, а вдруг захочется денег и будешь выбирать максимально безопасный вариант — минимум рисков, отсутствие развития, но какая-то стабильность. Не знаю твоей жизненной ситуации, но кажется, что во время учебы можно позволить себе больше.
Ну думаю с поиском работы у меня сильных проблем не возникнет, проблему я вижу только в своей некомпетентности. Стабильность и минимум рисков не про меня. Жизненная ситуация у меня в принципе нормальная, ни чем не ограничен кроме учебы и работы, живу себе поживаю в своей комнате, широкополосный доступ провел пол года назад за приличную сумму, до этого пользовался модемами (которые поделали мне мозги и заставляли читать об электронике и прочих смежных темах, в надежде улучшить соединение). Заработал и купил себе новенький макбук про, есть еще пк. В принципе все для того, чтобы комфортно обучаться у меня есть.
0
3239 / 2047 / 350
Регистрация: 24.11.2012
Сообщений: 4,897
14.11.2017, 17:12 4
Цитата Сообщение от Цыпленок Цыпа Посмотреть сообщение
знаю что она используется в одной организации, куда кстати у меня есть возможность попробовать пойти стажером на должность php-программиста, но боюсь что просто оплошаю там и мне скажут что я ничего не умею, и в будущем оставлю негативное мнение о себе.
В любом случае имеет смысл сходить на собеседование, пообщаться с руководством и определиться: хочется туда идти или нет. А где останется негативное мнение? Конкретно в этой конторе? Так она, наверное, не последняя в городе. Плохую рекомендацию в трудовую напишут? Вряд ли.

Цитата Сообщение от Цыпленок Цыпа Посмотреть сообщение
Пробовал уже даже не помню в какой программе сделать шагомер, но забросил на этапе рисование UI в фотошопе..
Рисовать интерфейсы в фотошопе — дело дизайнеров. В моей текущей компании «разработчик интерфейсов» — вообще отдельная специализация, т.е. даже разрабатывая продукт с графическим интерфейсом не каждый на фултайм пишет этот самый интерфейс, для этого есть специальные люди. Хотя, конечно, бывают задачи на стыке, как же без них. Подробнее рассказать не смогу, т.к. сам в бекендах.

Цитата Сообщение от Цыпленок Цыпа Посмотреть сообщение
Теперь посоветуйте пожалуйста книгу по алгоритмам и структурам, в интернете куча советов есть, хотелось бы услышать именно ваш.
Скажу то же самое, что и все остальные. По алгоритмам — Кормен. По дискретке — любой учебник. Можно с припиской «для программистов» в названии.

Цитата Сообщение от Цыпленок Цыпа Посмотреть сообщение
Все такие чувствую что интереснее всего для меня back-end.
К тому, что уже писал выше, могу накинуть Distributed systems for fun and profit. И все-таки немного чистых Си и тренировка в разработке клиент-серверных приложений. Чтобы хотя бы элементарно понимать различные стратегии обработки множества клиентов.

Цитата Сообщение от Цыпленок Цыпа Посмотреть сообщение
В перспективе конечно хочу быть full-stack разработчиком.
Здесь осторожнее, т.к. повышается риск напороться на контору, которая либо хочет сэкономить на специалистах, либо в режиме конвейера клепает однотипные проекты.
0
6 / 6 / 0
Регистрация: 27.10.2014
Сообщений: 120
14.11.2017, 17:45  [ТС] 5
Цитата Сообщение от 0x10 Посмотреть сообщение
В любом случае имеет смысл сходить на собеседование, пообщаться с руководством и определиться: хочется туда идти или нет. А где останется негативное мнение? Конкретно в этой конторе? Так она, наверное, не последняя в городе. Плохую рекомендацию в трудовую напишут? Вряд ли.
Дело в том что я уже работаю в этой конторе на должности типа оператора в одном из проектов. В перспективе хочу работать программистом в этой же конторе. Я знаю как там работают и что в перспективе работать с ними очень круто. Но думаю уже после универа с какими-некакими компетенциями попробовать.
Цитата Сообщение от 0x10 Посмотреть сообщение
К тому, что уже писал выше, могу накинуть Distributed systems for fun and profit.
С английским ненастолько все хорошо, но и не слишком все плохо.
Цитата Сообщение от 0x10 Посмотреть сообщение
Скажу то же самое, что и все остальные. По алгоритмам — Кормен. По дискретке — любой учебник. Можно с припиской «для программистов» в названии.
Спасибо.
0
3239 / 2047 / 350
Регистрация: 24.11.2012
Сообщений: 4,897
14.11.2017, 17:51 6
Цитата Сообщение от Цыпленок Цыпа Посмотреть сообщение
Но думаю уже после универа с какими-некакими компетенциями попробовать.
Не факт, что универ их даст. Самому быстрее.
0
6 / 6 / 0
Регистрация: 27.10.2014
Сообщений: 120
14.11.2017, 18:16  [ТС] 7
0x10, имею ввиду, что к окончанию универа самостоятельно научусь.
Спасибо вам большое за рекомендации! Я очень рад, что вы увидели этот топик.
0
4187 / 2294 / 387
Регистрация: 05.10.2013
Сообщений: 6,394
Записей в блоге: 177
18.11.2017, 17:45 8
Цитата Сообщение от Цыпленок Цыпа Посмотреть сообщение
webGL показалось очень занятной вещью для меня, но до этого я совсем не имел практики в 3D моделировании.
Мне нравится учиться создавать 3D модели в Blender. Результат своей работы можно экспортировать в WebGL с помощью графических библиотек three.js или babylon.js.

Я сделал небольшой пример из примитивов: сферы, конусы, плоскость такой пример на three.js (можно крутить с помощью зажатой кнопки мыши): https://jsfiddle.net/8Observer8/4zbym8L0/

Книга на русском по чистому WebGL версии 1.0: WebGL. Программирование трехмерной графики

Туториал на русском: Основы WebGL

Вот так выглядит минимальная программа на чистом WebGL 1.0, которая выводит на экран точку красного цвета, размером 10 пикселей:

https://jsfiddle.net/8Observer8/8kduku4r/2/

PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<!DOCTYPE html>
<html lang="en">
 
<head>
    <meta charset="UTF-8">
    <title>Shortest Program</title>
</head>
 
<body>
    <canvas id="renderCanvas" width="200" height="200" style="border: 1px solid black;"></canvas>
 
    <script>
        var VSHADER_SOURCE =
            'void main()\n' +
            '{\n' +
            '    gl_Position = vec4(0.0, 0.0, 0.0, 1.0);\n' +
            '    gl_PointSize = 10.0;\n' +
            '}\n';
 
        var FSHADER_SOURCE =
            'void main()\n' +
            '{\n' +
            '    gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);\n' +
            '}\n';
 
        function main()
        {
            var gl = document.getElementById('renderCanvas').getContext('webgl');
            var vShader = gl.createShader(gl.VERTEX_SHADER);
            gl.shaderSource(vShader, VSHADER_SOURCE);
            gl.compileShader(vShader);
 
            var fShader = gl.createShader(gl.FRAGMENT_SHADER);
            gl.shaderSource(fShader, FSHADER_SOURCE);
            gl.compileShader(fShader);
 
            var program = gl.createProgram();
            gl.attachShader(program, vShader);
            gl.attachShader(program, fShader);
            gl.linkProgram(program);
            gl.useProgram(program);
 
            gl.drawArrays(gl.POINTS, 0, 1);
        }
        main();
    </script>
</body>
 
</html>
0
6 / 6 / 0
Регистрация: 27.10.2014
Сообщений: 120
19.11.2017, 22:08  [ТС] 9
8Observer8, спасибо большое
0
4187 / 2294 / 387
Регистрация: 05.10.2013
Сообщений: 6,394
Записей в блоге: 177
19.11.2017, 22:12 10
Цыпленок Цыпа, на здоровье! Подпишитесь, если интересно: Небольшие примеры на WebGL
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
19.11.2017, 22:12

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь или здесь.

Тупик
Помогите разобраться:включаю компьютер сразу грузится в БИОС - На вкладку Advanced и в разделе CPU...

Тупик
Доброго времени суток всем. Передо мной поставили задачу, реализовать тупик! Я прочитал и вызубрил...

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

Зашел в тупик!
Имеется задача http://********/index.asp?main=task&amp;id_task=234 . Имеется ее решение: #include...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.