• Кто такой программист 1С?

    DMGarikk
    @DMGarikk
    Lead Software Developer
    Программист 1С это человек оркестр, умеет программировать (с точки зрения обычных программистов очень своеобразным образом), знает бухучёт, документооборот, бизнеспроцессы, консультировать пользователей по работе программ и по бухучёту (например получить задание - настроить расчёт НДФЛ, потратить подня - высянить что это уже реализовано и внушить это заказчику, обучить заказчика этим пользоваться)
    И да, это всё в одиночку...никаких вам аналитиков, консультантов постановщиков задач, тех.писателей...и с зарплатой ниже обычного code-monkey
    ==
    советую идти в обычные программеры, и не соваться в этот желтый ад.
    и хотя и там есть очень интересные задачи, вы осложните себе переход в обычные программеры оттуда
    Ответ написан
    6 комментариев
  • Стоит ли заключать договор?

    @mletov
    Вы не забыли часом, что предприниматель еще и риски несет на тот случай, если проект не выстрелит.
    Если видите себя наемным рабочим, то претендуйте на гарантированную зарплату, но не на двиденды с проекта. Если видите себя сооучредителем и партнером (если заказчику, конечно, это надо) - претендуйте на дивиденды, но не на зарплату, т е если проект окажется убыточным, то вообще ни копейки не получите, а даже если и начнет приносить прибыль, то до этого момента придется работать бесплатно. А то вы хитрый, и на елку влезть...
    Ответ написан
    Комментировать
  • PHP фреймворк для начинающего разработчика?

    Wolfnsex
    @Wolfnsex Куратор тега PHP
    Если не хочешь быть первым - не вставай в очередь!
    Фреймворков в целом, которые достигли должного уровня популярности и народного признания - не так уж много (если говорить о PHP-фреймворках).

    Для начинающего, с целью понять сущность MVC, "пощупать" некоторые аспекты фреймворка, такие например, как загрузка библиотек и пр. подобности, я бы порекомендовал Вам CodeIgniter. Отличная документация, довольно много людей, кто сможет Вам ответить на возникающие вопросы, есть документация на русском. А так же, минимальное количество "лишнего" из коробки, например, шаблонизаторов (которые Вы можете самостоятельно подключить, если очень хочется).

    После этого фреймворка, промежуточным, можно было бы считать Kohana, но, он что-то то "умирает", то снова "воскресает"... С документацией на него, по моему, всё так же плохо (читай "не очень хорошо") как и всегда... но, по нему есть несколько неплохих видео-уроков.

    Суда же можно отнести Yii, на мой взгляд, он застрял где-то между "большими" и "маленькими" фреймворками. Маленьким его уже не назовёшь, по ряду признаков, а до большого и целостного - он ещё не дотягивает. Но, он довольно популярен на просторах бывшего СССР (по понятным для многих причинам), в виду чего имеет довольно большое русскоговорящее сообщество и целую толпу ярых фанатов.

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

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

    P.S. Я понимаю, что Вы спрашивали "какой фреймворк учить первым?", а не какие они бывают вообще. Но, дабы предостеречь Вам от вопросов типа "какой фреймворк учить вторым?" или "почему Symfony в роли первого фреймворка так тяжело изучать?" и массы прочих подобных - озвучил одни из самых популярных фреймворков в мире веб-разработок в ракурсе PHP.
    Ответ написан
    1 комментарий
  • Хорошая практика для Python?

    @Cnfc19932
    Full-stack web developer
    Какие книги?Вы о чем вообще, 2016 год за окном.Просто берете и пишите код.Берите любую задачу и пробуйте ее реализовать, никакие книги не помогут
    Ответ написан
    9 комментариев
  • Как лучше (проще и красивее) реализовать произведение комплексных и действительных чисел?

    Нужно понимать, что не существует операций между комплексными и действительными числами в математике. Действительные числа неявно приводятся к комплексным, и операции уже выполняются над комплексными числами.
    C++ позволяет вам так делать, достаточно определить конструктор с 1 параметром.

    Complex(double _r): Complex(_r, 0){}

    Теперь любые числовые литералы и типы, которые могут быть неявно приведены к double, так же могут быть неявно приведены к Complex. Теперь можно писать следующее:
    Complex(1,2) + 1;

    Остаётся другая проблема. Операторы объявлены как функции-члены, что позволяет их использовать лишь тогда, когда левый операнд - комплексное число. Такое выражение не скомпилируется:
    1 + Complex(1,2)

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

    #include <iostream>
    using namespace std;
    
    class Complex {
    	public:
    		Complex(double _r, double _i): r(_r), i(_i){}
    		Complex(double _r): Complex(_r, 0){}
    		
    		friend Complex operator + (const Complex &left, const Complex &right);
    
    	private:
    		double r,i;
    };
    
    Complex operator + (const Complex &left, const Complex &right) { //Friend function
    	return Complex(left.r + right.r, left.i + right.i);
    }
    
    int main() {
    	Complex a = 4;
    	Complex b(1,2);
    	int c = 5;
    	a+b;       // OK
    	3+b;       // OK
    	a+123.0f;  // OK
    	c+a;       // OK
    	return 0;
    }
    Ответ написан
    5 комментариев
  • Администрирование Linux - актуально ли?

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

    Придумайте себе сеть организации. С доменами Active Directory, с внутренней почтой (сначала, допустим, на linux/FreeBSD/postfix/dovecot, а потом -- на Exchange, или наоборот), с внутренними DNS и DHCP-серверами.

    С файловыми серверами, доступ к которым на уровне доменных учётных записей и групп распределяется. И запилите эту сеть на виртуальных машинах. Несколько виртуальных серверов Windows/Unix, парочку клиентских станций с виндой/линуксом.

    Поднимите свой веб-сервер, нарисуйте на нём простенький веб-сайт на базе какой-нибудь популярной CMS типа Joomla, Wordpress, чо-там-ещё-нынче-модно.

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

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

    Факультативно -- можете поднять в удалённом филиале так называемый RoDC -- read-only domain controller :-)

    Вот когда всё это запилите, то приходите за новым заданием.

    А если же не собираетесь валить из города, или нет никакой вообще возможности устроиться в контору с юниксами и нано-технологиями, то лучше переориентироваться на программерство. Программерам найти удалённую работу значительно проще, чем админам.
    Ответ написан
    6 комментариев
  • Что можно написать на Node.js?

    MarcusAurelius
    @MarcusAurelius Куратор тега Node.js
    автор Impress Application Server для Node.js

    Часто применяется для:

    1. Локальные приложения и утилиты командной строки
    • Сборщики и трансляторы
    • Пакетная обработка и сценарии отложенной обработки
    • Скрипты, CLI (интерфейсы командной строки)
    • Генерация документации, отложенное формирование отчетов
    • Сценарии тестирования для других систем

    2. Серверы
    • Серверы веб-приложений и SPA
    • Серверы и API для мобильных приложений
    • Любые другие веб-API (RPC, JSON, REST)
    • Серверы сообщений и трансляция событий (чаты, игры, интерактив)
    • Заплаты на уже готовые системы, написанные на других языках, для реализации вебсокетов, SSE, лонг-пулинга и т.д., т.е. для затыкания дыр, для решения проблем в узких местах уже работающих систем.

    3. Клиенты
    • Оконные приложения (nw.js, node-webkit)
    • Кравлеры, парсеры и сбор данных

    4. Железо
    • Программирование микроконтроллеров (arduino, espruino, tessel)
    • Промышленная автоматизация

    Редко применяется (но подходит) для:
    • CMS, публикация контента (просто ниша уже занята и в этой задаче нода не дает чего-то принципиально нового или сверх соблазнительного).
    • Массовая электронная коммерция и торговля (не применяется для массовых движков магазинов, но используется отдельными крупными компаниями для торговых и платежных задач в качестве дополнительного средства к уже имеющемуся ПО, по сути закрывает узкие места).

    И плохо подходит:
    • Вычисления и моделирование, со скоростью математических операций нода и JS, как не типизированный язык, не дают хороших показателей
    • Научные приложения (по тем же причинам)
    Ответ написан
    10 комментариев