• Стоит ли изучать фронтенд сразу по методологии БЭМ?

    OlegCherr
    @OlegCherr
    Запрограммлю всё что угодно (Web/Android)
    Если взять основные принципы бэм и доработать эту методологию под себя, то становится возможным её использование практически в любых проектах.
    Вот моя реализация: AzaBEM – лаконичная модификация БЭМ-методологии.
    Использую данный подход уже несколько лет. Разработка стала очень приятной.
    Ответ написан
    Комментировать
  • Где искать заказы java-разработчику (web, энтерпрайз)?

    Vapaamies
    @Vapaamies
    Психанул и снес свои ответы козлам, не отмечающим…
    Мне кажется, что энтерпрайз и фриланс — непересекающиеся множества.
    Ответ написан
    Комментировать
  • Где искать заказы java-разработчику (web, энтерпрайз)?

    begemot_sun
    @begemot_sun
    Программист в душе.
    Да все там же, не ищите Java-заказы. Ищите задачи, которые можете выполнить.
    Ответ написан
    Комментировать
  • Как не волноваться на собеседовании?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    Ходить на «тренировочные» собеседования раз в полгода, чтобы это не казалось чем-то из ряда вон выходящим.
    Ответ написан
    3 комментария
  • Как пояснить клиенту что такое технический долг и рефакторинг?

    kumaxim
    @kumaxim
    Web-программист
    Для начала скажите зачем Вы вообще хотите рефакторить код? Моральное удовлетворение?! Технический долг?! Вам что, приятнее трахаться с функциями в коде, чем со своей девушкой?

    Работает код - не трогайте его, пусть дальше работает.

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

    Вообще где-то я видел мнение(тут на тостере или на codenet) что клиенту вообще не надо знать, что ты занимаешься рефакторингом, с чем лично я согласен. Ты показываешь ему свои почасовые отчеты, клиент видит что ты работаешь, все. Остальное уже те мелочи, от которых ты его избавляешь как специалист.
    Ответ написан
    2 комментария
  • Как пояснить клиенту что такое технический долг и рефакторинг?

    zolt85
    @zolt85
    Программист
    Рефачить или нет, исключительно Ваша инициатива, платить за нее Вам не будут, уговорить на это Вы никого не сможете. Так что если проект интересный или прибыльный, то нужно делать хорошо себе. Переписывать места с которыми больше всего проблем. Если нет(не интересный проект, не прибыльный), то не надо за него браться. И тут не особо важно сами Вы начинали проект, или взяли чужой на аутсорс.

    Работаю в кровавом Java Enterprise. Тут рефакторинг не прекращается, он подобен ремонту в советской квартире. И влиять на заказчика получается только "бантиками", т.е. говорим, смотри какой клевый отчет мы забабахаем тебе! А сами думаем, под эту дудку, зарефачить наш механизм построения отчетов.
    Как-то так)
    Ответ написан
    Комментировать
  • Как пояснить клиенту что такое технический долг и рефакторинг?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Клиент понимает только цифры, ему плевать на качество кода ровно до той поры, пока поддержка кода не станет ему в копеечку лишнюю. Приведите ему реальные доводы ЗА рефакторинг выражающиеся профитом в денежном эквиваленте и вуаля. Ну а если этих доводов нет - только личное мироощущение, то нужен ли рефакторинг?

    Ну и коль уж мы про цифры, клиентов и технический долг, а как вы убедили клиента оплачивать вам время на написание тестов? Вы включаете это во время разработки при оценке стоимости? Что мешает заложить и рефакторинг критических мест. Вы не пишите тесты? Тогда о каком рефакторинге имеет смысл вести разговор? Тогда доводы должны быть просто железобетонные, что бы не тратить время на фул-тэст и поиск регрессий.
    Ответ написан
    1 комментарий
  • Android разработка. Так Java ли?

    @kamiLLxiii
    Android-разработчик
    Перевел свой андроид проект на Kotlin. Поначалу было непривычно и не очень понятно как писать код, но в целом он предоставляет больше возможностей, чем Java. Другое дело, что он еще в процессе разработки и может сильно меняться, а релиз в этом году маловероятен. Если не страшно пускать в продакшен, то пожалуйста - на мой Kotlin стоит того, чтоб на нем писать.
    Ответ написан
    2 комментария
  • Java junior developer кратчайший путь с нуля до реальной работы?

    @adsky13
    Программист, исследователь методом тыка
    Как говорил мне один великий программист из США(уехавший туда из бывшего СССР), что хватит изучать языки, читать книги, начинай делать проект, ставишь цель и стремишься.
    Керниган Ритчи: Хочешь научиться программировать?! начни программировать

    P.S. Если хочешь могу помочь в развитии, пиши в личку, сброшу аську
    Ответ написан
    14 комментариев
  • Так ли хорош Python в сравнении с R для data mining?

    @polyhedron
    Data Analyst | Data Scientist
    Я использую оба языка, и, признаться, R мне нравится больше. И вы правы, что там есть пакеты абсолютно для всего. Но Python обладает рядом преимуществ, главным из которых является развитая экосистема языка. Преимущества Python очень хорошо описаны тут. Вообще, в этом блоге есть много интересных статей как по Python, так и по R. Что касается deep learning, то для Python есть замечательная библиотека Theano.
    Я бы порекомендовал сосредоточиться на Python, но R также не забывать на случай если понадобятся методы, не реализованные в Python, или будете работать с людьми, знающими только R.
    Ответ написан
    Комментировать
  • Какое перспективное направление в программировании для фриланса и иммиграции?

    @Gems
    Не парьтесь и никого не слушайте. Масса всегда будет говорить, что у вас ничего не получится. Я знаю уникумов, уехавших по job offer'у в Штаты, не имея профильного IT-образования.
    Становитесь хорошим специалистом по какой-то теме и бомбите подряд все компании своим CV.

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

    Очень важно для вас иметь хороший английский. Это крайне важно. Чтобы вы понимали и вас хорошо понимали.
    Ответ написан
    Комментировать
  • Java junior developer кратчайший путь с нуля до реальной работы?

    @lstdayofhmnty
    Если станешь зачитываться теорией - провал тебе обеспечен. Читай и по изученному усиленно пиши код(просто "поглядывать" не катит), иначе далеко не уедешь.
    Не надо тебе больше литературы и ресурсов, не прыгай с одного обучающего материала на другой без крайней на то необходимости, не распыляйся.
    Добавь практику к изучаемому материалу как можно скорее и на ней же сосредоточься, Джавараш подойдёт.
    Загляни на досуге на Гетджаваджоб, рекомендовать не могу - не счупал, но такое есть и вроде у некоторых выстреливает.
    Ответ написан
    2 комментария
  • Видео с устройством простейшего процессора?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    арифметические бинарные действия почти вручную тут.
    https://www.facebook.com/video.php?v=8675489699423...

    Вряд ли это именно то, что вы ищете, но это пояснение почему в устройствах система вычисления двоичная.
    Ответ написан
    1 комментарий
  • Есть ли основные правила супер оптимизации?

    gbg
    @gbg Куратор тега Программирование
    Любые ответы на любые вопросы
    Главный вопрос - а что мы оптимизируем? Память? Скорость? Размер программы? Легкость модификации? Тут как в RPG - качаем силу, персонаж тупеет; Увеличили скорость - сожрали кучу памяти. И так далее.
    Ответ написан
    Комментировать
  • Есть ли основные правила супер оптимизации?

    ErmIg
    @ErmIg
    Программист
    Есть развернутый ответ для С++ кода, но его можно обобщить и на другие языки и платформы:

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

    1) Важно понимать, что алгоритмическая оптимизация практически всегда может дать лучший эффект, чем программная. Так, если алгоритм имеет сложность O(n^2), то на больших исходных данных он при любой оптимизации будет медленнее, чем неоптимизированный алгоритм сложности O(n). Впрочем, при выборе алгоритма, опираться только на его сложность не стоит: если объем исходных данных не велик, то вполне может оказаться, что алгоритм со сложностью O(n^2) будет работать быстрее, чем с O(n).
    2) Очень важно повторное использование (кеширование) промежуточных данных, вычисленных в программе – ибо быстрее всего выполняется работа, которую не надо делать. Тем не менее, не надо чрезмерно кешированием увлекаться – если объем кэшируемых данных слишком велик, то это может отрицательно сказаться на общей производительности программы (некоторые данные быстрее вычислять на лету, чем считывать из памяти).
    3) Следует избегать излишнего копирования данных (например, передавать сложные типы данных по ссылке, а не по значению).
    4) По возможности следует избегать условных операторов во вложенных циклах. Так как условные переходы, вызываемые такими операторами, плохо обрабатываются современными процессорами с конвейерной архитектурой.
    5) Данные в памяти, которые используются алгоритмами, должны по возможности лежать упорядочено, и использоваться последовательно. Это позволит процессору их эффективно кешировать. Важно помнить, что доступ к кэшу процессора значительнее быстрее, чем к оперативной памяти.
    6) Если алгоритмы это позволяют, то возможно стоит реализовать их параллельное исполнение (в отдельных потоках или процессах). Это позволит эффективно задействовать современные многоядерные процессы.
    7) В некоторых случаях (например обработка изображений) большого эффекта можно достичь применением специализированных расширений процессора (SSE, SSE2, AXX, AVX2 и другие). Стоит отметить, что большинство современных компиляторов (GCC, MSVS, ICC) поддерживают непосредственное использование данных расширений непосредственно из С++ кода при помощи специальных встроенных функций (intrinsics). Минусами такого подхода является потеря переносимости (впрочем, эта проблема решается наличием разных веток программы под разные процессоры) и значительное усложнение программы.
    8) Также большого эффекта можно достичь применением специализированных ускорителей, например GPU (технологии CUDA, OpenCL). Минусами таких решений являются потеря универсальности и значительное усложнение программы, а также то, что на специализированных ускорителях, как правило, хорошо работает далеко не каждый алгоритм.
    Ответ написан
    Комментировать
  • Что перспективнее в плане собственного и дальнейшего развития F# или Go?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    Посмотрите список проектов на F# на github и список проектов на Go.

    Go - в последнее время ..... В основном я так понимаю он для web идет.

    Его часто используют в web, но целевое назначение языка намного шире.

    Для чего он может понадобиться программисту .Net?

    Что бы не использовать .NET наверное))
    Ответ написан
    Комментировать
  • В чем польза изучения PHP сегодня?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    1. Даст ли изучение PHP больше пользы, понимания работы WEBа и разработки в нем, чем к примеру, Django, Ruby?

    Если ваша цель - понять принципы вэба в кратчайшие сроки - php вполне для этого ок, но только этого языка МАЛО, web имеет и frontend сторону. *Django - это того, не язык.

    2. Предпочитается ли PHP сегодня, и будет ли предпочтителен на будущее для разработок не мелких сайтов, а сложных проектов, учитывая его развитие(наверное)?

    Facebook, VKontakte - это маленькие проекты?))

    3. Что я, или многое ли, упущу в плане проф. развития, если не буду изучать PHP, а перейду сразу на другие серверные языки, а возможно и, - Основы программ.- основы С - JS - Динамические Django/Ruby - далее?

    Не мешайте в одну кучу компилируемый язык общего назначения (С), событийный скриптовый язык (JS), фреймворк (Django) и скриптовый язык (Ruby)). Они предназначены для разных задач.

    Не будет ли проблем с удаленной работой(фултайм) и муки совести, что возможно поддался общему негативному фону относительно PHP, и пропустил его?

    Все зависит от вас. Если вы станете отличным спецом RoR, или NodeJS, или Django - проблем с поиском работы не будет.
    Дело в том, что хотя и php-шников много, хороших специалистов найти очень не просто. Банально на собеседовании на синьйора спрашиваешь: в каких ситуациях стоит использовать "AR, в каких Repository", или "какие негативные последствия могут быть при использовании FK в high load проекте", а в ответ тишина. Куча народу считает себя гуру JS, а когда спрашиваешь что-то, что не делает jQuery(библиотека) - полное непонимание.

    Резюмируя выше сказанное: php-не центр всея web, это интсрумент и он подходит под вполне конкретные задачи, под кучу других задач он не подходит. Вы можете спокойно зарабатывать на хлеб с маслом в web разработке не зная при этом php. Вам всего то нужно стать хорошим специалистом своего дела.
    Ответ написан
    9 комментариев
  • Как прокачаться и научиться языку программирования\аналитики R?

    Absolem
    @Absolem
    Я качаюсь на DataCamp на бесплатных курсах. Начинал с курса Try R от CodeSchool.com.
    Дальше Специализация Data Science на coursera.org, можно всё проходить бесплатно.
    Ответ написан
    Комментировать
  • Как прокачаться и научиться языку программирования\аналитики R?

    Добавлю, там же на курсере есть пачка курсов по анализу данных:
    https://www.coursera.org/jhu
    Сам так начал программировать на R, еще можно взглянуть на udacity -- они очень не плохи, там же есть курс на pandas -- этакая смесь python и R.

    В качестве практики можно начать писать статьи на хабр по этой теме. Все данные стараюсь собрать в одном и том же месте для всеобщего пользования: https://github.com/SergeyParamonov/HabraData

    Народ на хабре такое воспринимает более менее положительно, там же можно получить фидбек (в виде комментов от знающих товарищей)
    habrahabr.ru/company/dmlabs/blog/219679
    habrahabr.ru/post/236759
    habrahabr.ru/company/dmlabs/blog/218607
    Ответ написан
    Комментировать