Loading...
Loading...
const algorithms = { sort: (arr) => arr.sort((a, b) => a - b), search: (arr, target) => { return arr.findIndex(x => x === target); } };
interface Portfolio { projects: Project[]; skills: string[]; experience: number; } type Status = 'active' | 'archived';
async function deployProject(id: string) { const validated = await validate(id); if (validated) { return deploy(id); } throw new Error('Validation failed'); }
class CodeMaster { constructor(private skills: string[]) {} async learn(newSkill: string) { this.skills.push(newSkill); return this.practice(newSkill); } }
const developer = { name: 'Admin', skills: ['React', 'TypeScript', 'Next.js'], passion: 'Building amazing things', coffee: Infinity };
const algorithms = { sort: (arr) => arr.sort((a, b) => a - b), search: (arr, target) => { return arr.findIndex(x => x === target); } };
interface Portfolio { projects: Project[]; skills: string[]; experience: number; } type Status = 'active' | 'archived';
async function deployProject(id: string) { const validated = await validate(id); if (validated) { return deploy(id); } throw new Error('Validation failed'); }
class CodeMaster { constructor(private skills: string[]) {} async learn(newSkill: string) { this.skills.push(newSkill); return this.practice(newSkill); } }
const developer = { name: 'Admin', skills: ['React', 'TypeScript', 'Next.js'], passion: 'Building amazing things', coffee: Infinity };
export default function App() { const [state, setState] = useState({ loading: false, data: null, error: null }); return <Portfolio {...state} />; }
async function deployProject(id: string) { const validated = await validate(id); if (validated) { return deploy(id); } throw new Error('Validation failed'); }
function buildPortfolio() { const projects = await fetchProjects(); return projects.map(project => ({ ...project, status: 'deployed' })); }
interface Portfolio { projects: Project[]; skills: string[]; experience: number; } type Status = 'active' | 'archived';
import { useMemo, useCallback } from 'react'; const optimized = useMemo(() => { return expensiveOperation(data); }, [data]);
export default function App() { const [state, setState] = useState({ loading: false, data: null, error: null }); return <Portfolio {...state} />; }
async function deployProject(id: string) { const validated = await validate(id); if (validated) { return deploy(id); } throw new Error('Validation failed'); }
function buildPortfolio() { const projects = await fetchProjects(); return projects.map(project => ({ ...project, status: 'deployed' })); }
interface Portfolio { projects: Project[]; skills: string[]; experience: number; } type Status = 'active' | 'archived';
import { useMemo, useCallback } from 'react'; const optimized = useMemo(() => { return expensiveOperation(data); }, [data]);
Last updated: January 1, 2025
By accessing and using this website, you accept and agree to be bound by the terms and provision of this agreement. If you do not agree to abide by the above, please do not use this service.
Permission is granted to temporarily view the materials on Erfan Karimi's Portfolio website for personal, non-commercial transitory viewing only. This is the grant of a license, not a transfer of title, and under this license you may not:
You agree to use the website only for lawful purposes and in a way that does not infringe the rights of, restrict or inhibit anyone else's use and enjoyment of the website. Prohibited behavior includes:
All content on this website, including but not limited to text, graphics, logos, images, and software, is the property of Erfan Karimi or its content suppliers and is protected by copyright and other intellectual property laws. You may not reproduce, distribute, modify, or create derivative works from any content without express written permission.
The materials on Erfan Karimi's Portfolio website are provided on an 'as is' basis. Erfan Karimi makes no warranties, expressed or implied, and hereby disclaims and negates all other warranties including, without limitation, implied warranties or conditions of merchantability, fitness for a particular purpose, or non-infringement of intellectual property or other violation of rights.
In no event shall Erfan Karimi or its suppliers be liable for any damages (including, without limitation, damages for loss of data or profit, or due to business interruption) arising out of the use or inability to use the materials on this website, even if Erfan Karimi or an authorized representative has been notified orally or in writing of the possibility of such damage.
The materials appearing on this website could include technical, typographical, or photographic errors. Erfan Karimi does not warrant that any of the materials on its website are accurate, complete, or current. Erfan Karimi may make changes to the materials contained on its website at any time without notice.
Erfan Karimi has not reviewed all of the sites linked to this website and is not responsible for the contents of any such linked site. The inclusion of any link does not imply endorsement by Erfan Karimi. Use of any such linked website is at the user's own risk.
Erfan Karimi may revise these terms of service for its website at any time without notice. By using this website you are agreeing to be bound by the then current version of these terms of service.
These terms and conditions are governed by and construed in accordance with applicable laws. Any disputes relating to these terms and conditions will be subject to the exclusive jurisdiction of the courts of the applicable jurisdiction.
If you have any questions about these Terms of Service, please contact us through our contact page.