Pure Coder
787 subscribers
189 photos
30 videos
8 files
150 links
⭕️آدرس سایت:
https://purecoder.ir

⭕️گروه پرسش و پاسخ:
@purecoder_gp

⭕️پشتیبانی:
@PureCoder_support
@MohammadTaherri
Download Telegram
اگه بخواین یه تست برای فانکشن زیر بنویسید، چطوری مینویسید:

public int Add(int first, int second)
{
return first + second;
}

🤔🤔🤔
@purecoder_ir
Pure Coder
اگه بخواین یه تست برای فانکشن زیر بنویسید، چطوری مینویسید: public int Add(int first, int second) { return first + second; } 🤔🤔🤔 @purecoder_ir
نیازی به تست نوشتن برای این فانکشن نیست 😝

یعنی اگه توی یه پروژه ای چنین چیزی داشتی نیازی به تست نداره.

انقدر ساده هست که جایی برای خطا و اشتباه کردن نداره.

🔥کد کمتر، زندگی بهتر.
(تست هم کد محسوب میشه)

👻برای سوال مصاحبه خوبه👻

@purecoder_ir
هوش مصنوعی امروزه دقیقن انسان رو توی همون راستایی که داره حرکت میکنه تقویتش میکنه.

اگه یه انسان دانا، با دانش و متخصص ازش استفاده کنه، در مدت زمان کمتر به تولید محصول باکیفیت تر کمک میکنه.

اگه یه انسان خنگ، احمق و غیر متخصص ازش استفاده کنه هم در همون جهت به تولید یه محصول آشغال کمک میکنه. چون کار اون آدم تولید آشغال بوده و هوش مصنوعی هم کمکش میکنه.

سعی کن در درجه ی اول متخصص باشی و خنگ نباشی.

@purecoder_ir
وقتی میبینم بعد این همه داد و فریاد که انقدر اضافه کاری نکنید و توی آپ های موبایل این معماری ها رو به کار نبرید و هنوز یه عده آموزشش میدن (اشتباه هم آموزش میدن) و یه عده هم با اشتیاق استفاده میکنن.😜

@purecoder_ir
چیزی که گوگل برای معماری آپ های فلاتری پیشنهاد داده یک معماری لایه ای هست که وقتی بیزینس لاجیک داشته باشید یه چیزی شبیه به معماری هایی مثل کلین میشه (حتمن نباید اسمش آورده بشه...شبیهن) و وقتی که بیزینس لاجیک نداشته باشید یک معماری دو لایه خواهد بود.

همون چیزی که بارها می‌گفتیم که در عدم حضور بیزینس لاجیک (که توی اکثر اپ های موبایل رایجع) نیاری به لایه ها و کارهای اضافی نیست👍

امید است که پند بگیرید.

@purecoder_ir
کدوم پترن به اضافه کردن Middleware به پروسه ی اصلی کمک میکنه ؟
Anonymous Quiz
10%
Visitor
24%
Adapter
12%
Decorator
6%
Command
48%
نمیدونم، دیدن جواب
همیشه توی هر دوره ی آموزشی(با هر عنوانی، دوره برنامه نویسی، پکیج موفقیت و ...) ده تا بیست درصد افراد شرکت کننده موفق میشن. (در مورد درصد دقیق میشه بحث کرد و محل بحث فعلی ما نیست)

این ۲۰ درصد موفق، نشون دهنده ی خوب بودن دوره ی مورد نظر نیستن، چرا که این ها در هر صورت و با یکم بالا پایین موفق میشدن.

حالا من یه دوره درست میکنم و بعد از اتمام اون دوره ۲۰ درصد موفق رو بولد میکنم و میکنم توی چشم مخاطب و هیچ حرفی از ۸۰ درصدی که هیچی نشدن نمیزنم.

همه هم میگن عجب دوره ای، بهتر از این نمیشه 😳😳😳

@purecoder_ir
اگه در حین کلین کردن و ریفکتور کردن کد فهمیدیم که کاری که داریم در جهت کلین و خوانا تر کردن کد انجام میدیم، پرفورمنس رو یکم خراب میکنه، تکلیف چیه؟

مارتین فاولر میگه به ریفکتور کردنت ادامه بده و کدت رو کلین کن و بعدش اگه واقعن مشکل پرفورمنس داشتی حلش کن‌.

باب مارتین و Kent Beck میگن مشکلات پرفورمنسی رو تا خودشون رو نشون ندادن، الکی خودتو درگیرش نکن.

🔥در کل در مورد پرفورمنس نباید به صورت حسی عمل کنیم و بخوایم وسواس زیاد به خرج بدیم، باید اجازه بدیم هر موقع واقعن خودشو نشون داد، اقدام کنیم‌.

🔥این به معنای بد کد زدن نیست، فقط وسواس نداشته باشیم. در هر صورت تجربه های قبلی میتونن خیلی کمک کننده باشن.

🔥بعضی مواقع ممکنه بهبود پرفورمنس باعث بشه کد یکم ناخواناتر بشه. (ممکنه)

@purecoder_ir
Pure Coder pinned Deleted message
😱تقلید

@purecoder_ir
تیم های مختلف یک سازمان نباید انقدری بزرگ بشن که مدیریت تیم و ارتباط و هماهنگی بین اعضای تیم سخت بشه.

توی آمازون از این قانون دم دستی استفاده میکنن 👆👆

@purecoder_ir
بنظرت input validation (ورودی های کاربر) چه لاجیکی‌ محسوب میشه؟
(میتونه آپ بکند باشه و مثلن body متد post رو در نظر بگیریم، یا آپ فرانت باشه و ...)
(اگه توضیحی داری کامنت بگذار)
Anonymous Poll
67%
Presentation Logic
11%
Datasource Logic
22%
Domain Logic
🔗 سایت👇
https://purecoder.ir

🆔کانال👇
@purecoder_ir

🆔گروه👇
@purecoder_gp

🆔پشتیبانی👇
@PureCoder_support
توسعه ی نرم افزار مثل کار متخصص های زیبایی نیست که یه قالب دارن و همه آدم ها رو یه شکل درست میکنن، باید هر جایی متناسب با خودش تصمیم گیری و عمل بشه. اینکه یه شابلون داشته باشیم و همه چیز رو شبیه هم دربیاریم، اینجا پذیرفته نیست.

@purecoder_ir
🔥Declarative UI Frameworks

jetpack compose
@Composable
fun MyComponent(
displayString: String
) {
Text(displayString)
}

swiftui
struct MyComponent: View {
var displayString: String
var body: some View {
Text(displayString)
}
}

Flutter
class MyComponent extends StatelessWidget {
final String displayString;

MyComponent({required this.displayString});

@override
Widget build(BuildContext context) {
return Text(displayString);
}
}

🔥بنظرم فلاتر با فاصله ی زیاد قشنگتره و زبان دارت، زبانی مناسبتر برای این هدف

🟢شما هم میتونید نظرتون رو بگید...

@purecoder_ir
🔥Backend Frameworks

Asp.net Core
[Route("api/[controller]")]
[ApiController]
public class GreetingController : ControllerBase
{
// GET api/greeting
[HttpGet]
public IActionResult Get()
{
return Ok("Hello from ASP.NET Core!");
}
}


Laravel
class GreetingController extends Controller
{
// GET /api/greeting
public function index()
{
return response()->json('Hello from Laravel!');
}
}

Route::get('greeting', [GreetingController::class, 'index']);


Spring Boot
@RestController
public class GreetingController {

// GET /api/greeting
@GetMapping("/api/greeting")
public String getGreeting() {
return "Hello from Spring Boot!";
}
}



@purecoder_ir
🔥Backend Frameworks

Vania
class GreetingController extends Controller
{
// GET /api/greeting
Future index() async
{
retuen Response.html('Hello From Vania');
}
}

Route.get('/greeting',GreetingController().index);

Nestjs
@Controller('api')
export class GreetingController {
@Get('greeting')
getGreeting(): string {
return 'Hello from NestJS!';
}
}

Ruby on Rails
class GreetingController < ApplicationController
def greeting
render json: { message: 'Hello from Ruby on Rails!' }
end
end

Rails.application.routes.draw do
get 'api/greeting', to: 'greeting#greeting'
end


@purecoder_ir
🔥 Test Frameworks

XUnit (C#)

public class CalculatorTests
{
[Fact]
public void Add_TwoNumbers_ReturnsSum()
{
// Arrange
var a = 2;
var b = 3;

// Act
var result = Add(a, b);

// Assert
Assert.Equal(5, result);
}

private int Add(int x, int y)
{
return x + y;
}
}


JUnit (JAVA)
class CalculatorTests {

@Test
void add_TwoNumbers_ReturnsSum() {
// Arrange
int a = 2;
int b = 3;

// Act
int result = add(a, b);

// Assert
assertEquals(5, result);
}

private int add(int x, int y) {
return x + y;
}
}

Dart
void main() {
test('add_TwoNumbers_ReturnsSum', () {
// Arrange
final a = 2;
final b = 3;

// Act
final result = add(a, b);

// Assert
expect(result, equals(5));
});
}



بهترین و مدرن ترین گزینه xunit هست. JUnit وصله پینه زیاد داره و با فرهنگ حال و حاضر مچ نیست‌، ولی قابل قبوله و همچنان یه گزینه خوب محسوب میشه.

دارت شبیه JUnit هست.

@purecoder_ir
انیمیشن ها توی فلاتر از کدوم پترن استفاده میکنن ؟
Anonymous Quiz
10%
Decorator
12%
Composite
36%
Observer
4%
Visitor
38%
نمیدونم، دیدن جواب
توی فریمورک های موبایل مثل فلاتر یا کامپوز یا ... برای چیزایی مثل باتن ها، onClicked یا onPressed یا ... داریم که وقتی روشون tap میشه یه کاری انجام بدن.
اینجا از چه پترنی استفاده میشه؟
Anonymous Quiz
9%
Proxy
23%
Template Method
27%
Observer
16%
Command
25%
نمیدونم،‌ دیدن جواب