• Какой SSD поставить в Macbook Pro Retina 13 early 2015, модель A1502?

    DevMan
    @DevMan
    самое простое - купить совместимый SSD или оригинальный диск. их немного, но они есть.

    если охота играться с переходниками на м2, то их производители зачастую указывают список совместимых и проблемных дисков.
    Ответ написан
    2 комментария
  • Какой SSD поставить в Macbook Pro Retina 13 early 2015, модель A1502?

    @lunoxod2002
    Переходник Sintech M.2 nVME SSD Card for Upgrade MacBook Air(2013-2017) PRO(Late 2013-2015) и SDD Corsair MP510 2Tb. На Macbook Pro 15 2015 mid - заметный прирост скорости, но греется сильно в стресс-тестах.
    DIY - медные пластинки 1мм толщиной на термоклее на чипах памяти и контроллере.
    Ответ написан
    1 комментарий
  • После восстановления поврежденной базы возникает "Ошибка формата потока". Как исправить ситуацию?

    @LollyFox
    1. Сначала сделайте копию базы, скопировав всю папку. В дальнейшем все манипуляции с базой делайте на её копии, а ещё лучше на копии копии, т.к. любой из способов восстановления может навредить и дальнейшее восстановление сделать невозможным. При переходе к другому способу возвращайтесь к исходной копии.

    2. Удалите из каталога с копией базы все папки и файлы, оставив только 1Cv8.1CD

    3. Если конфигуратор запускается, то попробуйте сделать штатную выгрузку информационной базы в файл 1Cv8.dt и её загрузку из файла в новый чистый каталог.

    4. Используйте утилиту chdbfl.exe, но осторожно, т.к. она может как помочь, так и угробить базу окончательно. Если не поможет, то обязательно откатитесь к исходной копии.

    5. Если конфигурация типовая, то попробуйте загрузить конфигурацию из CF файла полной неповрежденной конфигурации такого же релиза.

    6. В теории есть утилита Tool_1CD, но для неподготовленного пользователя она практически бесполезна, лучше обратиться к специалистам.
    Ответ написан
    Комментировать
  • Какой SSD поставить в Macbook Pro Retina 13 early 2015, модель A1502?

    lamer350
    @lamer350
    กำลังสูงสุด
    Никита, приветствую.
    Переходник нужен вот такой, это первый магаз что выпал из гугла, можете поискать такой же но в другом месте по названию. Есть на али они за 3-5$, то же самое. Скорость не режут.

    Касательно вашего выбора SSD:
    1. WD сразу откидайте. Очень плохой вариант, я не знаю чем вы занимаетесь но он под нагрузкой тупо может выключится, поясню - если запустить многопоточный парсинг в mysql - повышается нагрузка на диск и он тухнет. Видимо контроллер не справляется или он перегревается просто. Разбираться даже не было интересно.
    2. Самсунг 970 Evo неудачная модель и брать ее нельзя ни при каких обстоятельствах сейчас, они быстро обновили ее до 970 evo PLUS! (Модель MZ-V7S500BW). Именно на 1Тб вроде хорошая модель, не так проседает скорость после кеша... Но будьте готовы к тому что вы не сможете установить на него сразу mac OS (это худший сценарий), в лучшем случае просто после установки будет скорость меньше чем заявлено! В чем проблема: во многих поставках версия прошивки самая первая без поддержки mac OS и прошивку легко можно обновить через официальный софт самсунга но ТОЛЬКО ПОД ВИНДОЙ. Тоисть, вам нужен либо ПК под рукой с m2 слотом или устанавливать винду на макбук только чтобы обновить прошивку! Но в 95% случаев это придется делать все равно! Я ставил 2 таких диска (970 evo pro но на 256 и 512) то на первом не повезло и пришлось искать ПК для обновления прошивки так как mac os просто зависала на какой то минуте при установке и не двигалось или могло файлы скопировать, но перезагружаться постоянно уже на шагах настройки, второй раз скорость была на 3000 на запись, а только 1800... и проседала после заполнения кеша SLC до 200)

    От себя отмечу хороший SSD m2: XPG SX8200 Pro 1 TB
    За бугром очень популярный для установки на Apple технику.

    UPD. И как писал DevMan лучше купить оригинальную память Apple, она дороже не просто так. Поясню: У вашего макбука например у SSD скорость на запись в районе 1500 если я не ошибаюсь и после заполнения кеша SLC скорость падает всего до 900-1000. Самсунг же при красивых цифрах в 3000 на последовательную запись - падает после заполнения кеша до 600-700, это в 5 раз меньше заявленной!
    Ответ написан
    4 комментария
  • Как правильно работать с robots.txt в django?

    idegree
    @idegree
    Senior Workaround Developer
    Комментировать
  • Сколько стоит час веб-разработчика-фрилансера?

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

    erge
    @erge
    Примус починяю
    выпишите все ваши потребности и траты за месяц, заложите так же откладывание в заначку и... налоги, если платите.
    и допустим эта сумма 60 000 руб
    в месяце ~20 рабочих дней, продуктивно работаем допустим по 4 часа, остальное это саморазвитие и пр. пр. пр.
    итого стоимость часа ~ 60 000 / 20 / 4 = 750 руб. (получается ниже этой суммы работать как бы не айс)
    эта цифра должна быть в диапазоне общерыночной, иначе вы просто не найдете заказ.

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

    как-то так...
    Ответ написан
    Комментировать
  • Сколько стоит час веб-разработчика-фрилансера?

    longclaps
    @longclaps
    Базовая ставка - один.
    Далее идут повышающие коэффициенты:
    • знаю HTML+CSS - 1.5
    • знаю jQuery - 1.2
    • знаю C++ - 2.8
    • знаю Python - 4
    • знаю множество алгоритмов и структур данных - 100500
    • знаю основы ООП - 42
    • математическая подготовка есть - 3.1415

    Коэффициенты суммируются, а вовсе не перемножаются, как алчно думают некоторые.
    Итак, вы можете приступать!
    Ответ написан
    3 комментария
  • Сколько стоит час веб-разработчика-фрилансера?

    Jump
    @Jump
    Системный администратор со стажем.
    Сколько стоит час веб-разработчика-фрилансера?
    Ровно столько за сколько он готов работать.
    Ответ написан
    Комментировать
  • Сколько стоит час веб-разработчика-фрилансера?

    @deliro
    Ты веcь такой кругом молодец, то знаешь, это знаешь. А теперь представь себе среднестатистический проект, который должен приносить бизнесу деньги. За две недели работы ты едва напишешь хлипкий CRUD для данных, неправильно смаппив бизнес-сущности в объекты ORM, ещё через месяц натянешь какой-то слайдер на jQ, попутно захватив 2мб JS кривых библиотек, а через два заказчик поставит тебе плохую оценку, потому что твой ценник он оплатил не за то, что ему нужно, а потому что ты знаешь монады, которые ему даром не сдались.

    А теперь давай представим простого программиста. Из алгоритмов он с трудом вспоминает сортировку пузырьком, а двусвязный список — предел его знаний о структурах данных, и даже этим списком он пользовался два раза в жизни. Хаскель он никогда не видел в глаза, C++ учил только в школе, вместо этого пишет неэффективный код на PHP. И у него есть опыт. За день он распишет сущности, за второй сделает универсальный CRUD, на третий день поднимет фронт на React'е с SSR. Да, внутренности проекта будут "медленными". Вместо O(logN) что-то будет выполняться за O(N) или даже O(N^2), но всем похер. Пока всё работает на приемлемом уровне — бизнес радуется.

    Кстати, к чему эта поучительная лапша? Я хотел сказать, что всеми этими модными словами можно пугать друзей и преподавателей, но в реальной жизни все алгоритмы уже реализованы, все типы данных уже подобраны оптимально. Знать их полезно для себя (чтобы мозг не атрофировался), но не для работы. Для работы тебе нужны такие навыки как:

    * Оптимальный баланс между говнокодом и идеальным кодом
    * Оптимальный баланс между скоростью разработки и оптимизацией кода
    * Оптимальный баланс между поддерживаемым кодом и костылями
    * Умение использовать те инструменты, с которыми ты работаешь. Опять же, для того, чтобы писать быстро, при этом имея минимальное количество говнокода и обеспечивая максимальную поддерживаемость (в пределах сроков). Например, можешь выкинуть в помойку свой Vim, как бы круто ты себя не чувствовал, разрабатывая в консольном редакторе, если продукты от JetBrains позволят за это же время сделать что-то лучше или чего-то больше
    * Чувство "знаю больше менеджеров". Это то чувство, когда тебе кажется, что "вот эта фича скоро изменится" и надо сделать архитектуру заранее более гибкой. Или "вот эту фичу мы через месяц выпилим" и не надо тратить на неё силы — напиши костыль и через месяц с чистой совестью удали его
    * Знания, как сделать ту или иную фичу. Потому что фичи повторяются (немного видоизменяясь) от проекта к проекту. И если ты сделал что-то за два дня, в следующий раз ты похожее сделаешь за три часа

    Что касается инструментов, выбери любой полноценный фреймворк, который умеет решать 90%+ потребностей "из коробки": Symfony, Django, Laravel

    Всякие "минималистичные" поделия вроде Falcon, Flask (в PHP не знаю, я на питоне пишу) оставь хипстерам. Пусть они говорят: "Мой фалкон такой быстрый, он написан на Cython". Тебя это не должно волновать, потому что бизнес с твоей скоростью разработки уже заработал достаточно денег, чтобы купить ещё десять серверов, пока фалконисты неделю гуглили, как прикрутить миграциии и запустить юнит-тесты на VPSке за пять баксов.
    Ответ написан
    5 комментариев
  • Классификация почтовых серверов?

    TROODON
    @TROODON
    Если нет нужны в корпоративной тайне, забудьте и используйте SMTP известных серверов (Яндекс.Почта, Google Apps) и радуйтесь жизни. И скорость достаточная, и с почтой можно делать всё что хочешь и места хватит и спам фильтр гарантированно не будет шалить (тонкая настройка грелистов, анализаторов, установка приоритета писем, пытаясь найти оптимальный уровень), это ужасное и гиблое дело и с очередями попроще.

    Сам использую dbmail + exim4 + spamassassin + calm + roundcube.
    Пробовал так же dovecot, sendmail

    Если вы пользуетесь Debian'ом, то он идёт в базовом наборе приложений, для минимальной настройки под ваш сервер достаточно настроить через dpkg-reconfigure, есть возможность разбиения конфига на множество файлов (для более удобной навигации по настройкам), по скорости и надёжности, имхо, он примерно одинаков и с postfix и с sendmail. Особенно хочу отметить хорошую интеграцию с различными системами фильтрации и анализаторов.

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

    P.S. Почему-то в процессе настройки почтового сервера у меня всегда возникало уйма сюрпризов, которые не бывали при настройке какого либо другого серверного ПО.
    Ответ написан
    2 комментария
  • Классификация почтовых серверов?

    VBart
    @VBart
    В свое время выбирал между exim и postfix. Остановился на exim и ни разу с тех пор не пожалел. Очень стабильный. Конфигурационный синтаксис легко читается, но в то же время настолько гибкий, что можно буквально запрограммировать в конфигурации всё что угодно. Для почтового сервера это достаточно важно, так у меня 85% спама срезается только лишь с помощью мощной системы всевозможных правил и проверок. А авторизация пользователей происходит запросом к PostgreSQL таблице, которую использует и Dovecot, таким образом получается полная интеграция между MTA-LDA и всё очень удобно прописывается из одного места. Доставляет мгновенно, кушает при этом мало, так что я бы назвал его прямым аналогом nginx. Есть модуль Яндекс спам-обороны, а также прекрасно интегрируется с ClamAV из коробки. DKIM, SPF — само собой. Имеется исчерпывающая документация и Wiki с примерами: exim.org/docs.html wiki.exim.org
    Ответ написан
    3 комментария
  • Классификация почтовых серверов?

    alekciy
    @alekciy
    Вёбных дел мастер
    Крайне рекомендую postfix, тем более для изучения есть очень хороший перевод на русский по данному серверу: Postfix. Подробное руководство

    Несмотря на то, что поначалу меня смущало, что он разбит на ряд независимых по сути программ (в отличие от того же exim), т.е. в top нет единого процесса «почтовый сервер», но ознакомившись с ним более детально, особенно с архитектурой пришел к выводу, что это идеальный почтовик. Поэтому лично для себя давно уже вопрос выбора почтовика не возникает.
    Ответ написан
    3 комментария
  • Система мониторинга: RRDtool VS Zabbix?

    prox
    @prox
    zabbix — мониторинг на ура (более 1000 хостов, сервисов)
    cacti (rrd) — графики нагрузки сети (для наглядности)
    munin (rrd) — графики нагрузки OS
    Ответ написан
    Комментировать
  • Как отключить автоматический перевод названий и описаний видео на русский язык на YouTube?

    @bazeel_z
    В связанном гугл аккаунте нужно добавить языки которые знаешь, тогда названия на этих языках не будут автоматически переводиться5fd089e0a769c607717413.png
    Ответ написан
    5 комментариев
  • Существуют ли аналоги Jiffy и aTimeLogger под WINDOWS?

    sindrom
    @sindrom
    Попробуйте toggl.com
    Есть десктопный клиент для всех ОС
    Ответ написан
    1 комментарий
  • Откуда информация о быстрой порче SSD?

    @Erelecano
    Админю сервера, починяю примуса.
    Байки из прошлого, которые повторяют недалекие люди.
    Для старых SSD байки про перезапись были справедливы, но это касалось самых первых SSD.
    SSD последних 4 лет надежней хардов. Я с 1 января 2013 года использую SSD в качестве основного системного диска, на нем же живет и своп. За это время я похоронил два жестких диска(один WD и один Toshiba), а SSD по прежнему живет и не кашляет.
    Ответ написан
    Комментировать
  • Знания Junior php разработчика?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    что должен знать идеальный джуниор (мое личное мнение):

    - Сетевой стэк. Нужно иметь хотя бы базовое представление о том как с сервером общаются. Ну то есть не нужно лезть в дебри, но понимать что такое HTTP или чем TCP от UDP отличается - нужно. В целом это пара часов чтения википедии.
    - GIT или любая другая распределенная VCS. Базовые навыки, что бы хотя бы понимал что есть git revert или git rebase, что такое фичабрэнчи и примерное представление как это работает и зачем надо.
    - Базовые основы unix. Ну то есть что бы не пугаться таких вещей как ssh хотя бы.
    - PHP. Без этого никуда. Он должен понимать что такое слабая динамическая типизация (не заучивать табличку кастов типов, а понимать плюсы и минусы, такая же история с приоритетами операторов - не заучивать а знать как избегать проблем с чтением кода)
    - Понимать что код чаще читают чем пишут, а потому не экономить 5 минут на написании кода, а писать так, чтобы сэкономить 30 минут человеку, разбирающемуся в куске кода.
    - Знать базовые вещи в плане безопасности. XSS и как защищаться, SQL инъекции и как защищаться, CSRF, MITM. Понимать что такое NDA, что данные пользователей - секретная информация. Как хэшировать пароли (не md5 а password_hash) и почему это важно.
    - Знать SQL. Глубоких знаний не требуется, нужно лишь понимание того, что такое нормальная форма, желательно разобраться с вопросом денормализации данных. Идеально иметь хотя бы базовые представления о том как работать с NoSQL решениями.
    - Процедурное программирование: почему глобальные переменные порождают сложность, что такое состояние, как можно использовать классы для изоляции состояния и т.д. Инкапсуляция. Инварианты, пост/пред условия, сохранение целостности...
    - Разделение ответственности. Это один из важнейших принципов, и упрощать все это до "mvc фреймворк" слегка неправильно. Вы должны понимать что от чего отделяете и главное зачем.
    - Автоматические тесты. Джуниор должен знать что это такое и иметь хотя бы минимальный опыт их написания. Должен понимать разницу между юнит и интеграционными тестами. Быть знакомым с пирамидой тестирования.
    - Уметь решать стандартные задачи не задавая слишком много вопросов. Например регистрацию пользователя по email-у вы должны написать, или авторизацию через соц сети, или комментарии, или новостную ленту.
    - Уметь дебажить. xdebug, blackfire и тд.

    В целом где-то за годик весь этот список можно влегкую покрыть с нуля.

    p.s. Я в списке специально не указывал ООП, поскольку всеравно первые пару лет у разработчиков выходит процедурщина на классах. Это не плохо, но того что в моем списке более чем должно хватать для решения стандартных задач. Но термины вроде "инкапсуляция/полиморфизм/наследование" требуются в обязательном порядке подавляющем количеством интервьюверов, а стало быть знать это надо. Единственное что - рекомендую в свободное время глубже погрузиться в этот вопрос а не тупо заучивать формулировки.

    Так же вещи вроде docker джуниорам знать не обязательно просто потому, что их врядли допустят сходу к управлению инфраструктурой. А так пару неделек на изучение и вперед.
    Ответ написан
    12 комментариев
  • Как выбирать направление архитектуры ООП приложения?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    и как отдельный класс-синглтон


    Зачем? Зачем сингелтон? Ответте на вопрос когда это нужно?

    Есть ли практики, которым следует придерживаться, чтобы сделать правильную и простую архитектуру?


    - Разделение ответственности - важный принцип инженерного дела в принципе.
    - Принципы SOLID - хорошо дают понять как работать с зависимостями и делать декомпозицию системы. Сильно пересекается с инкапсуляцией, полиморфизмом и разделением ответственности.
    - Паттерны GRASP - эдакая смесь принципов и паттернов, описывают нюансы цикла жизни объектов и их взаимодействия друг с другом.
    - Закон Деметры - про инкапсуляцию.
    - CQRS - подход по разделению операций записи и операций чтения. Естественно подход такой не работает если вам надо реализовать атомарную запись и чтение, но это минимальный набор задач.
    - Рефакторинг. Он нужен всегда. Его нужно делать по чуть-чуть когда видно что "уже мешает" или "можно было сделать лучше". Ну то есть это не переписывание всего и вся большими кусками, а маленькие изменения которые с течением времени эволюционно меняют архитектуру проекта. Возможно только если код покрыт тестами, это отдельная жирная тема.

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

    https://en.wikipedia.org/wiki/Category:Programming...
    Ответ написан
    2 комментария
  • Где осуществлять валидацию пользовательского ввода в архитектуре MVC?

    Fesor
    @Fesor
    Full-stack developer (Symfony, Angular)
    Давайте размышлять что такое валидация и зачем она нам нужна:

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

    Такие правила как "у пользователя должен быть уникальный email" могут быть проверены только там, где достаточно информации. Например - некий репозиторий пользователей, или DAO. При попытке "сохранить" мы уже делаем проверку. Или мы можем делать это просто повесив ограничение на уникальность на уровне базы данных. Это уже не столь важно.

    Различие тут в том, что все это будет вызывать ошибки. То есть мы не сможем вогнать систему в "невалидное состояние" но пользователь не сможет получить список ошибок, которые он совершил вводя какие-то данные. Все что он получит - отдельные ошибки.

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

    В простых случаях, когда данные из запроса втупую мэпятся на "модель данных", мы можем проверять уже результат. Но в случае с логикой сложнее CRUD это уже не выйдет. Точнее это уже чуть сложнее. К примеру мы передали несуществующий айдишник связанной сущности. Мы запросим данные, получим нул, и валидатор выдаст нам что-то вроде "Извините, но вот эта штука обязательна к заполнению". А пользователь такой "чтааа? Я ж заполнил!" Вот если бы ему приходило сообщение мол "Выбранная вами штука не существует" - тогда ладно, но подавляющее большинство так не запаривается.

    Словом... тут нужно исходить не из "где это делается в MVC" а из "а кому это нужно и какие цели вы приследуете".

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

    Нельзя из букв "M", "V" и "C" составить слово вечность. Именно по этой причине MVC как подход для организации GUI уже лет 20 как не используется в чистом виде.
    Ответ написан
    Комментировать